반응형
포스트 목적
명령어/팁 들을 모아두는 포스트 입니다. 내용 수정 시 해당 날짜로 갱신되어 업로드 됨을 원칙으로 합니다..
docker
# Docker 이미지 관련 명령어
# Dockerfile을 사용하여 새로운 이미지를 빌드합니다.
# -t 플래그로 이미지 이름과 태그를 지정합니다.
docker build -t <image_name>:<tag> .
# Docker Hub 또는 다른 레지스트리에서 이미지를 가져옵니다.
docker pull <image_name>:<tag>
# Docker Hub 또는 다른 레지스트리로 이미지를 업로드합니다.
docker push <image_name>:<tag>
# 로컬에 존재하는 Docker 이미지의 목록을 표시합니다.
# -a 플래그를 사용하면 모든 이미지(중간 이미지 포함)를 표시합니다.
docker images -a
# 로컬에서 Docker 이미지를 삭제합니다.
docker rmi <image_name>:<tag>
# Docker 컨테이너 관련 명령어
# 새로운 컨테이너를 생성하고 실행합니다.
# -d 플래그: 컨테이너를 백그라운드에서 실행합니다. (Detached 모드)
# -p 플래그: 호스트의 포트를 컨테이너의 포트에 매핑합니다. (<host_port>:<container_port> 형식)
# --name 플래그: 컨테이너에 이름을 지정합니다.
# <image_name>:<tag>는 사용할 Docker 이미지를 지정합니다.
docker run -d \
-p <host_port>:<container_port> \ # 호스트 포트를 컨테이너 포트에 매핑합니다. 예: 8080:80
--name <container_name> \ # 컨테이너에 이름을 지정합니다. 예: my_container
<image_name>:<tag> # 사용할 이미지와 태그를 지정합니다. 예: my_image:latest
# 실행 중인 컨테이너의 목록을 표시합니다.
docker ps
# 모든 컨테이너(실행 중 및 중지된 것 포함)의 목록을 표시합니다.
# -a 플래그를 사용하면 중지된 컨테이너도 포함하여 표시합니다.
docker ps -a
# 실행 중인 컨테이너를 중지합니다.
docker stop <container_id>
# 중지된 컨테이너를 시작합니다.
docker start <container_id>
# 컨테이너를 재시작합니다.
docker restart <container_id>
# 중지된 컨테이너를 삭제합니다.
docker rm <container_id>
# 실행 중인 컨테이너에서 명령어를 실행합니다.
# -it 플래그로 상호작용 모드와 터미널을 할당합니다.
docker exec -it <container_id> /bin/bash
# Docker 볼륨 관련 명령어
# 새로운 Docker 볼륨을 생성합니다.
docker volume create <volume_name>
# 로컬의 Docker 볼륨 목록을 표시합니다.
docker volume ls
# Docker 볼륨을 삭제합니다.
docker volume rm <volume_name>
# Docker 네트워크 관련 명령어
# 새로운 Docker 네트워크를 생성합니다.
docker network create <network_name>
# Docker 네트워크의 목록을 표시합니다.
docker network ls
# Docker 네트워크를 삭제합니다.
docker network rm <network_name>
# 컨테이너를 특정 네트워크에 연결합니다.
docker network connect <network_name> <container_id>
# 컨테이너를 특정 네트워크에서 분리합니다.
docker network disconnect <network_name> <container_id>
# Docker 이미지 관리 명령어
# Docker 이미지에 태그를 추가합니다.
docker tag <source_image>:<source_tag> <target_image>:<target_tag>
# Docker 객체(컨테이너, 이미지, 볼륨 등)의 자세한 정보를 표시합니다.
docker inspect <object_name>
# Docker 로그 및 모니터링 명령어
# 실행 중인 컨테이너의 로그를 표시합니다.
docker logs <container_id>
# 실행 중인 컨테이너의 실시간 성능 데이터를 표시합니다.
docker stats
# Docker 시스템 관리 명령어
# Docker 시스템의 디스크 사용량을 표시합니다.
docker system df
# 사용하지 않는 Docker 객체를 정리합니다.
# -a 플래그로 모든 사용되지 않는 데이터(컨테이너, 이미지, 네트워크, 볼륨)를 삭제합니다.
# --volumes 플래그로 사용되지 않는 볼륨도 함께 삭제합니다.
docker system prune -a --volumes
# 추가 플래그 설명
# -d, --detach: 컨테이너를 백그라운드에서 실행합니다.
# -p, --publish: 호스트와 컨테이너 간의 포트를 매핑합니다. <host_port>:<container_port>
# -it: 상호작용 모드 및 터미널을 할당합니다.
# --name: 컨테이너에 이름을 지정합니다.
# --rm: 컨테이너 종료 시 자동으로 삭제합니다.
# -a, --all: 모든 항목(컨테이너, 이미지 등)을 표시합니다.
# -q, --quiet: ID만 출력합니다.
# --filter: 특정 조건으로 필터링합니다.
# --format: 출력 결과를 특정 형식으로 포맷합니다.
VSCODE 사용자 코드 조각
psql 명령어
##일반
\copyright PostgreSQL 사용법 및 저작권 정보 표시
\crosstabview [칼럼들] 쿼리를 실행하고, 피봇 테이블 형태로 자료를 보여줌
\errverbose 최대 자세히 보기 상태에서 최근 오류를 다 보여줌
\g [(OPTIONS)] [FILE] 쿼리 실행 (결과는 지정한 파일로, 또는 |파이프로);
\g 명령에서 인자가 없으면 세미콜론과 같음
\gdesc 쿼리를 실행하지 않고 그 결과 칼럼과 자료형을 출력
\gexec 쿼리를 실행하고, 그 결과를 각각 실행 함
\gset [PREFIX] 쿼리 실행 뒤 그 결과를 psql 변수로 저장
\gx [(OPTIONS)] [FILE] \g 명령과 같으나, 출력을 확장 모드로 강제함
\q psql 종료
\watch [SEC] 매 초마다 쿼리 실행
##도움말
\? [commands] psql 역슬래시 명령어 설명
\? options psql 명령행 옵션 도움말 보기
\? variables psql 환경 설정 변수들에 설명 보기
\h [NAME] SQL 명령 구문 도움말, 모든 명령을 표시하려면 * 입력
##쿼리 버퍼
\e [FILE] [LINE] 외부 편집기로 쿼리 버퍼(또는 파일) 편집
\ef [FUNCNAME [LINE]] 외부 편집기로 해당 함수 내용 편집
\ev [VIEWNAME [LINE]] 외부 편집기로 해당 뷰 정의 편집
\p 쿼리 버퍼의 내용 표시
\r 쿼리 버퍼 초기화(모두 지움)
\w FILE 쿼리 버퍼를 파일에 기록
##입력/출력
\copy ... 클라이언트 호스트에 있는 자료를 SQL COPY 명령 실행
\echo [-n] [STRING] 문자열을 표준 출력에 기록 (-n 줄바꿈 없음)
\i FILE 파일에서 명령 실행
\ir FILE \i 명령과 같으나, 경로가 현재 위치 기준 상대적
\o [FILE] 모든 쿼리 결과를 파일 또는 |파이프로 보냄
\qecho [-n] [STRING] 문자열을 \o 출력 스트림에 기록 (-n 줄바꿈 없음)
\warn [-n] [STRING] 문자열을 stderr에 기록 (-n 줄바꿈 없음)
##조건문
\if EXPR 조건문 시작
\elif EXPR else if 구문 시작
\else 조건문의 그 외 조건
\endif 조건문 끝
##정보보기
(옵션: S = 시스템 개체 표시, + = 추가 상세 정보)
\d[S+] 테이블, 뷰 및 시퀀스 목록
\d[S+] NAME 테이블, 뷰, 시퀀스 또는 인덱스 설명
\da[S] [PATTERN] 집계 함수 목록
\dA[+] [PATTERN] 접근 방법 목록
\dAc[+] [AMPTRN [TYPEPTRN]] 연산자 클래스 목록
\dAf[+] [AMPTRN [TYPEPTRN]] 연산자 부류 목록
\dAo[+] [AMPTRN [OPFPTRN]] 연산자 부류 소속 연산자 목록
\dAp[+] [AMPTRN [OPFPTRN]] 연산자 가족에 포함된 지원 함수 목록
\db[+] [PATTERN] 테이블스페이스 목록
\dc[S+] [PATTERN] 문자셋 변환자 목록
\dconfig[+] [PATTERN] 환경설정 매개변수 목록
\dC[+] [PATTERN] 자료형 변환자 목록
\dd[S] [PATTERN] 다른 곳에서는 볼 수 없는 객체 설명을 보여줌
\dD[S+] [PATTERN] 도메인 목록
\ddp [PATTERN] 기본 접근권한 목록
\dE[S+] [PATTERN] 외부 테이블 목록
\des[+] [PATTERN] 외부 서버 목록
\det[+] [PATTERN] 외부 테이블 목록
\deu[+] [PATTERN] 사용자 매핑 목록
\dew[+] [PATTERN] 외부 데이터 래퍼 목록
\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]] [agg/normal/procedure/trigger/window 단일] 함수 목록
\dF[+] [PATTERN] 텍스트 검색 구성 목록
\dFd[+] [PATTERN] 텍스트 검색 사전 목록
\dFp[+] [PATTERN] 텍스트 검색 파서 목록
\dFt[+] [PATTERN] 텍스트 검색 템플릿 목록
\dg[S+] [PATTERN] 롤 목록
\di[S+] [PATTERN] 인덱스 목록
\dl[+] 큰 개체 목록, \lo_list 명령과 같음
\dL[S+] [PATTERN] 프로시져 언어 목록
\dm[S+] [PATTERN] materialized 뷰 목록
\dn[S+] [PATTERN] 스키마 목록
\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]] 연산자 목록
\dO[S+] [PATTERN] collation 목록
\dp [PATTERN] 테이블, 뷰 및 시퀀스 액세스 권한 목록
\dP[itn+] [PATTERN] 파티션 릴레이션 목록 [인덱스/테이블만] [n=nested]
\drds [ROLEPTRN [DBPTRN]] per-database 롤 설정 목록
\dRp[+] [PATTERN] 복제 발행 목록
\dRs[+] [PATTERN] 복제 구독 목록
\ds[S+] [PATTERN] 시퀀스 목록
\dt[S+] [PATTERN] 테이블 목록
\dT[S+] [PATTERN] 데이터 형식 목록
\du[S+] [PATTERN] 롤 목록
\dv[S+] [PATTERN] 뷰 목록
\dx[+] [PATTERN] 확장 모듈 목록
\dX [PATTERN] 확장 통계 정보 목록
\dy[+] [PATTERN] 이벤트 트리거 목록
\l[+] [PATTERN] 데이터베이스 목록
\sf[+] 함수이름 함수 정의 보기
\sv[+] 뷰이름 뷰 정의 보기
\z [PATTERN] \dp와 같음
##큰 개체
\lo_export LOBOID FILE 큰 개체를 파일로 저장
\lo_import FILE [COMMENT] 파일에서 큰 개체 가져오기
\lo_list[+] 큰 개체 목록
\lo_unlink LOBOID 큰 개체 삭제
##출력 형식
\a 정렬되지 않은 출력 모드와 정렬된 출력 모드 전환
\C [STRING] 테이블 제목 설정 또는 값이 없는 경우 설정 안 함
\f [STRING] unaligned 출력에 대해 필드 구분자 표시 또는 설정
\H HTML 출력 모드 전환(현재 off)
\pset [이름 [값]] 테이블 출력 옵션 설정
(border|columns|csv_fieldsep|expanded|fieldsep|
fieldsep_zero|footer|format|linestyle|null|
numericlocale|pager|pager_min_lines|recordsep|
recordsep_zero|tableattr|title|tuples_only|
unicode_border_linestyle|unicode_column_linestyle|
unicode_header_linestyle)
\t [on|off] 행만 표시(현재 off)
\T [STRING] HTML <table> 태그 속성 설정 또는 비었는 경우 설정 안 함
\x [on|off|auto] 확장된 출력 전환 (현재 off)
##연결
\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} 새 데이터베이스에 접속 (현재 "postgres")
\conninfo 현재 데이터베이스 접속 정보 보기
\encoding [ENCODING] 클라이언트 인코딩 표시 또는 설정
\password [USERNAME] 사용자 암호를 안전하게 변경
##운영 체제
\cd [DIR] 현재 작업 디렉터리 변경
\getenv PSQLVAR ENVVAR 환경 변수값을 psql 변수값으로
\setenv NAME [VALUE] 환경 변수 지정 및 해제
\timing [on|off] 명령 실행 시간 전환(현재 off)
\! [COMMAND] 셸 명령 실행 또는 대화식 셸 시작
##변수
\prompt [TEXT] NAME 사용자에게 내부 변수를 설정하라는 메시지 표시
\set [NAME [VALUE]] 내부 변수 설정 또는 미지정 경우 모든 변수 목록 표시
\unset NAME 내부 변수 설정 해제(삭제)
psql 명령어 옵션
사용법:
psql [OPTION]... [DBNAME [USERNAME]]
일반 옵션:
-c, --command=COMMAND 하나의 명령(SQL 또는 내부 명령)만 실행하고 끝냄
-d, --dbname=DBNAME 연결할 데이터베이스 이름(기본 값: "Administrator")
-f, --file=FILENAME 파일 안에 지정한 명령을 실행하고 끝냄
-l, --list 사용 가능한 데이터베이스 목록을 표시하고 끝냄
-v, --set=, --variable=NAME=VALUE
psql 변수 NAME을 VALUE로 설정
(예, -v ON_ERROR_STOP=1)
-V, --version 버전 정보를 보여주고 마침
-X, --no-psqlrc 시작 파일(~/.psqlrc)을 읽지 않음
-1 ("one"), --single-transaction
명령 파일을 하나의 트랜잭션으로 실행
-?, --help[=options] 이 도움말을 표시하고 종료
--help=commands psql 내장명령어(\문자로 시작하는)를 표시하고 종료
--help=variables 특별 변수들 보여주고, 종료
입출력 옵션:
-a, --echo-all 스크립트의 모든 입력 표시
-b, --echo-errors 실패한 명령들 출력
-e, --echo-queries 서버로 보낸 명령 표시
-E, --echo-hidden 내부 명령이 생성하는 쿼리 표시
-L, --log-file=FILENAME 세션 로그를 파일로 보냄
-n, --no-readline 확장된 명령행 편집 기능을 사용중지함(readline)
-o, --output=FILENAME 쿼리 결과를 파일(또는 |파이프)로 보냄
-q, --quiet 자동 실행(메시지 없이 쿼리 결과만 표시)
-s, --single-step 단독 순차 모드(각 쿼리 확인)
-S, --single-line 한 줄 모드(줄 끝에서 SQL 명령이 종료됨)
출력 형식 옵션:
-A, --no-align 정렬되지 않은 표 형태의 출력 모드
--csv CSV (쉼표-분리 자료) 테이블 출력 모드
-F, --field-separator=STRING
unaligned 출력용 필드 구분자 설정(기본 값: "|")
-H, --html HTML 표 형태 출력 모드
-P, --pset=VAR[=ARG] 인쇄 옵션 VAR을 ARG로 설정(\pset 명령 참조)
-R, --record-separator=STRING
unaligned 출력용 레코드 구분자 설정
(기본 값: 줄바꿈 문자)
-t, --tuples-only 행만 인쇄
-T, --table-attr=TEXT HTML table 태그 속성 설정(예: width, border)
-x, --expanded 확장된 표 형태로 출력
-z, --field-separator-zero
unaligned 출력용 필드 구분자를 0 바이트로 지정
-0, --record-separator-zero
unaligned 출력용 레코드 구분자를 0 바이트로 지정
연결 옵션들:
-h, --host=HOSTNAME 데이터베이스 서버 호스트 또는 소켓 디렉터리
(기본값: "로컬 소켓")
-p, --port=PORT 데이터베이스 서버 포트(기본 값: "5432")
-U, --username=USERNAME 데이터베이스 사용자 이름(기본 값: "Administrator")
-w, --no-password 암호 프롬프트 표시 안 함
-W, --password 암호 입력 프롬프트 보임(자동으로 처리함)
pg_dump 명령어(옵션)
## 사용법:
pg_dump [옵션]... [DB이름]
## 일반 옵션들:
-f, --file=파일이름 출력 파일 또는 디렉터리 이름
-F, --format=c|d|t|p 출력 파일 형식(사용자 지정, 디렉터리, tar,
일반 텍스트(초기값))
-j, --jobs=개수 덤프 작업을 병렬 처리 함
-v, --verbose 작업 내역을 자세히 봄
-V, --version 버전 정보를 보여주고 마침
-Z, --compress=0-9 출력 자료 압축 수위
--lock-wait-timeout=초 테이블 잠금 시 지정한 초만큼 기다린 후 실패
--no-sync fsync 작업 생략
-?, --help 이 도움말을 보여주고 마침
## 출력 내용을 다루는 옵션들:
-a, --data-only 스키마 빼고 자료만 덤프
-b, --blobs Large Object들도 함께 덤프함
-B, --no-blobs Large Object들을 제외하고 덤프함
-c, --clean 다시 만들기 전에 데이터베이스 개체 지우기(삭제)
-C, --create 데이터베이스 만드는 명령구문도 포함시킴
-e, --extension=PATTERN 지정한 확장 모듈들만 덤프 함
-E, --encoding=인코딩 지정한 인코딩으로 자료를 덤프 함
-n, --schema=PATTERN 지정한 SCHEMA들 자료만 덤프
-N, --exclude-schema=PATTERN 지정한 SCHEMA들만 빼고 모두 덤프
-O, --no-owner 일반 텍스트 형식에서
개체 소유권 복원 건너뛰기
-s, --schema-only 자료구조(스키마)만 덤프
-S, --superuser=NAME 일반 텍스트 형식에서 사용할 슈퍼유저 사용자 이름
-t, --table=PATTERN 지정한 이름의 테이블들만 덤프
-T, --exclude-table=PATTERN 지정한 테이블들만 빼고 덤프
-x, --no-privileges 접근 권한 (grant/revoke) 정보는 덤프 안 함
--binary-upgrade 업그레이드 유틸리티 전용
--column-inserts 칼럼 이름과 함께 INSERT 명령으로 자료 덤프
--disable-dollar-quoting $ 인용 구문 사용안함, SQL 표준 따옴표 사용
--disable-triggers 자료만 복원할 때 트리거 사용을 안함
--enable-row-security 로우 보안 활성화 (현재 작업자가 접근할 수
있는 자료만 덤프 함)
--exclude-table-data=PATTERN 해당 테이블 자료는 덤프 안함
--extra-float-digits=NUM 기본 extra_float_digits 값 바꿈
--if-exists 객체 삭제 시 IF EXISTS 구문 사용
--include-foreign-data=패턴
지정한 패턴과 일치하는 외부 서버의 외부
테이블 자료를 포함
--inserts COPY 대신 INSERT 명령으로 자료 덤프
--load-via-partition-root 상위 테이블을 통해 하위 테이블을 로드함
--no-comments 코멘트는 덤프 안함
--no-publications 발행 정보는 덤프하지 않음
--no-security-labels 보안 라벨 할당을 덤프 하지 않음
--no-subscriptions 구독 정보는 덤프하지 않음
--no-table-access-method 테이블 접근 방법은 덤프하지 않음
--no-tablespaces 테이블스페이스 할당을 덤프하지 않음
--no-toast-compression TOAST 압축 방법은 덤프하지 않음
--no-unlogged-table-data 언로그드 테이블 자료는 덤프하지 않음
--on-conflict-do-nothing INSERT 구문에 ON CONFLICT DO NOTHING 옵션 추가
--quote-all-identifiers 예약어가 아니여도 모든 식별자는 따옴표를 씀
--rows-per-insert=NROWS 한 INSERT 명령으로 입력할 로우 수; --inserts
옵션을 사용한 것으로 가정 함
--section=SECTION 해당 섹션(pre-data, data, post-data)만 덤프
--serializable-deferrable 자료 정합성을 보장하기 위해 덤프 작업을
직렬화 가능한 트랜잭션으로 처리 함
--snapshot=SNAPSHOT 지정한 스냅샷을 덤프 함
--strict-names 테이블이나 스키마를 지정했을 때 그 패턴에 맞는
객체가 적어도 하나 이상 있어야 함
--use-set-session-authorization
SET SESSION AUTHORIZATION 명령을 ALTER OWNER 명령
대신 사용하여 소유권 설정
## 연결 옵션들:
-d, --dbname=DBNAME 덤프할 데이터베이스
-h, --host=HOSTNAME 접속할 데이터베이스 서버 또는 소켓 디렉터리
-p, --port=PORT 데이터베이스 서버의 포트 번호
-U, --username=NAME 연결할 데이터베이스 사용자
-w, --no-password 암호 프롬프트 표시 안 함
-W, --password 암호 입력 프롬프트 보임(자동으로 처리함)
--role=ROLENAME 덤프 전에 SET ROLE 수행
psql 사용 예제(모음집 링크)
리눅스 명령어
# YUM 패키지 관리자 명령어
sudo yum install [package_name] # 패키지 설치
sudo yum remove [package_name] # 패키지 제거
sudo yum update [package_name] # 패키지 업데이트
sudo yum upgrade # 시스템의 모든 패키지를 최신 상태로 업그레이드
sudo yum search [keyword] # 키워드를 사용하여 패키지 검색
sudo yum list # 시스템에 설치된 모든 패키지 목록 표시
sudo yum list installed # 설치된 패키지 목록 표시
sudo yum info [package_name] # 패키지 정보 표시
# 일반적인 리눅스 환경 관리자 명령어
sudo apt-get install [package_name] # 패키지 설치 (Debian/Ubuntu 기반)
sudo apt-get remove [package_name] # 패키지 제거 (Debian/Ubuntu 기반)
sudo apt-get update # 패키지 목록 업데이트 (Debian/Ubuntu 기반)
sudo apt-get upgrade # 시스템의 모든 패키지를 최신 상태로 업그레이드 (Debian/Ubuntu 기반)
sudo dnf install [package_name] # 패키지 설치 (Fedora 기반)
sudo dnf remove [package_name] # 패키지 제거 (Fedora 기반)
sudo dnf update # 시스템의 모든 패키지를 최신 상태로 업그레이드 (Fedora 기반)
sudo zypper install [package_name] # 패키지 설치 (openSUSE 기반)
sudo zypper remove [package_name] # 패키지 제거 (openSUSE 기반)
sudo zypper update # 시스템의 모든 패키지를 최신 상태로 업그레이드 (openSUSE 기반)
# 파일 및 디렉토리 관리
ls # 현재 디렉토리의 파일 및 디렉토리 목록 표시
cd [directory] # 지정된 디렉토리로 이동
pwd # 현재 작업 디렉토리의 경로 표시
mkdir [directory_name] # 디렉토리 생성
touch [file_name] # 빈 파일 생성 또는 파일 타임스탬프 업데이트
rm [file_name] # 파일 삭제
rm -r [directory_name] # 디렉토리 및 하위 디렉토리 및 파일 삭제
cp [source] [destination] # 파일 또는 디렉토리 복사
mv [source] [destination] # 파일 또는 디렉토리 이동 또는 이름 변경
cat [file_name] # 파일 내용 출력
less [file_name] # 파일 내용을 페이지 단위로 출력 (더 많은 옵션 사용 가능)
grep [pattern] [file_name] # 파일에서 패턴 매칭 검색
chmod [permissions] [file_name] # 파일 권한 변경
chown [user:group] [file_name] # 파일 소유자 및 그룹 변경
# 시스템 관리
sudo systemctl [command] [service_name] # 시스템 서비스 관리 (systemd 기반)
systemctl status [service_name] # 서비스 상태 확인
systemctl start [service_name] # 서비스 시작
systemctl stop [service_name] # 서비스 중지
systemctl restart [service_name] # 서비스 재시작
systemctl enable [service_name] # 부팅 시 서비스 자동 시작 설정
systemctl disable [service_name] # 부팅 시 서비스 자동 시작 해제
# 네트워크 관리
ifconfig # 네트워크 인터페이스 정보 표시
ip addr # 네트워크 인터페이스 정보 표시 (iproute2 패키지 설치 필요)
ping [host] # 호스트에 ICMP 패킷을 보내서 도달 가능성 확인
netstat -tuln # 열려 있는 포트 및 네트워크 연결 상태 표시
iptables # 방화벽 규칙 관리
# 프로세스 관리
ps # 현재 실행 중인 프로세스 목록 표시
ps aux # 모든 사용자의 프로세스 목록 표시
top # 시스템 상태 및 프로세스 목록 실시간 모니터링
kill [process_id] # 프로세스 종료
killall [process_name] # 특정 이름의 모든 프로세스 종료
pkill [process_name] # 특정 이름의 프로세스 종료
# 사용자 및 그룹 관리
who # or w 현재 접속한 사용자 계정 조회
useradd [username] # 새 사용자 계정 생성
userdel [username] # 사용자 계정 삭제
passwd [username] # 사용자 암호 변경
groupadd [groupname] # 새 그룹 생성
groupdel [groupname] # 그룹 삭제
usermod -aG [groupname] [username] # 사용자를 그룹에 추가
# 시스템 정보 확인
uname -a # 시스템 정보 표시
hostname # 호스트 이름 표시
df -h # 디스크 사용량 표시
free -h # 메모리 사용량 표시
uptime # 시스템 부팅 시간 및 부하 표시
# 파일 내용 검색 및 편집
grep [pattern] [file] # 파일에서 패턴 매칭 검색
sed 's/old_text/new_text/g' [file] # 파일에서 텍스트 치환
awk '{print $1}' [file] # 파일에서 필드 추출 및 출력
vi [file] # Vi 에디터로 파일 열기
nano [file] # Nano 에디터로 파일 열기
# 압축 및 해제
tar -cvf [archive.tar] [directory] # 디렉토리를 tar 아카이브로 압축
tar -xvf [archive.tar] # tar 아카이브 해제
gzip [file] # 파일 압축
gunzip [file.gz] # 파일 압축 해제
zip [archive.zip] [file1] [file2] # 파일을 zip 아카이브로 압축
unzip [archive.zip] # zip 아카이브 해제
# 프로세스 모니터링 및 리소스 사용량 확인
htop # 대화형 프로세스 모니터링 및 시스템 리소스 확인
atop # 시스템 리소스 사용량과 프로세스 상세 정보 확인
iotop # 디스크 I/O 사용량 모니터링
nload # 네트워크 사용량 모니터링
# 시스템 로그 확인
tail -f /var/log/syslog # 시스템 로그 파일의 마지막 내용 실시간 확인
journalctl # systemd 저널을 통한 시스템 로그 확인
# 프로세스 백그라운드 실행 관리
nohup [command] & # 프로세스를 백그라운드에서 실행하고 터미널 종료 시에도 유지
jobs # 현재 백그라운드 작업 목록 표시
bg [job_number] # 중지된 작업을 백그라운드로 이동
fg [job_number] # 백그라운드 작업을 전경으로 이동
# 디스크 관리
du -sh [directory] # 디렉토리 크기 확인
df -h # 디스크 사용량 및 가용 공간 확인
# 파일 및 디렉토리 탐색
find [directory] -name [filename] # 디렉토리에서 특정 파일 찾기
locate [filename] # 파일 시스템 데이터베이스에서 파일 찾기
which [command] # 커맨드의 위치 확인
# 프로세스 관리
pstree # 현재 실행 중인 프로세스 트리 표시
killall -9 [process_name] # 프로세스 강제 종료
pkill -9 [process_name] # 특정 프로세스 강제 종료
# 네트워크 관리
ifconfig # 네트워크 인터페이스 정보 표시
ip addr # 네트워크 인터페이스 정보 표시 (iproute2 패키지 설치 필요)
netstat -tuln # 열려 있는 포트 및 네트워크 연결 상태 표시
nc -l -p [port_number] # 특정 포트로 들어오는 네트워크 연결 수신 대기
wget [URL] # 원격 파일 다운로드
curl [URL] # 원격 파일 다운로드 및 전송
# 시스템 관리
shutdown # 시스템 종료
reboot # 시스템 재부팅
date # 현재 날짜와 시간 표시 및 설정
hostnamectl # 호스트 이름 및 시스템 설정 확인 및 변경
# 프로세스 우선순위 및 관리
nice [command] # 프로세스에 우선순위 부여
renice [priority] [process_id] # 실행 중인 프로세스의 우선순위 변경
# 시스템 리소스 모니터링
vmstat # 시스템 가상 메모리 상태 모니터링
mpstat # 다중 프로세서 활용 상태 모니터링
sar # 시스템 활동 보고서 생성 및 확인
iostat # 디스크 및 I/O 활동 모니터링
dmesg # 시스템 메시지 확인 (시스템 로그에 기록됨)
# 파일 및 디렉토리 압축
bzip2 [file] # 파일 압축 (bzip2 알고리즘 사용)
bunzip2 [file.bz2] # bzip2로 압축된 파일 해제
xz [file] # 파일 압축 (xz 알고리즘 사용)
unxz [file.xz] # xz로 압축된 파일 해제
# 시스템 정보 및 구성 확인
lsb_release -a # 리눅스 배포판 정보 표시
lscpu # CPU 정보 표시
lsblk # 블록 장치 정보 표시
lshw # 시스템 하드웨어 정보 표시
# 파일 및 디렉토리 크기 확인
du -sh [directory] # 디렉토리 크기 확인
du -h --max-depth=1 # 현재 디렉토리 내 파일 및 디렉토리 크기 확인
# 시스템 자원 모니터링
htop # 대화형 프로세스 모니터링 및 시스템 리소스 확인
glances # 시스템 자원 모니터링 도구
# 프로세스 관리
pgrep [process_name] # 프로세스 이름으로 PID 검색
pkill -f [pattern] # 패턴과 일치하는 프로세스 강제 종료
# 사용자 및 그룹 관리
adduser [username] # 새 사용자 추가
deluser [username] # 사용자 삭제
addgroup [groupname] # 새 그룹 추가
delgroup [groupname] # 그룹 삭제
# 네트워크 관리
iptraf-ng # 대화형 네트워크 모니터링 및 트래픽 분석
ss -tuln # 시스템에서 열린 소켓 및 포트 확인
arp -a # ARP 캐시 테이블 확인
# 프로세스 관리
ps aux | grep [process_name] # 프로세스 이름으로 검색하여 프로세스 목록 표시
top -p [PID] # 특정 PID의 프로세스 상태 및 사용률 모니터링
# 디스크 관리
sync # 버퍼 내용을 디스크에 동기화
badblocks # 디스크 블록 검사 및 검사
# 시스템 보안
ufw # Uncomplicated Firewall 설정
chkrootkit # 루트킷 검사 유틸리티
윈도우 명령어(cmd 나 powershell )
# 파일 및 디렉토리 관리
dir # 현재 디렉토리의 파일 목록 표시
cd [directory] # 디렉토리 변경
mkdir [directory_name] # 디렉토리 생성
del [file_name] # 파일 삭제
rmdir [directory_name] # 디렉토리 삭제
copy [source] [destination] # 파일 복사
move [source] [destination] # 파일 이동 또는 이름 변경
rename [old_name] [new_name] # 파일 또는 디렉토리 이름 변경
# 시스템 정보 및 설정
systeminfo # 시스템 정보 표시
hostname # 컴퓨터 이름 표시 또는 설정
ipconfig # 네트워크 인터페이스 정보 표시
ping [host] # 호스트에 ICMP 패킷을 보내서 도달 가능성 확인
netstat # 네트워크 연결 및 포트 상태 표시
# 시스템 관리
shutdown # 시스템 종료
shutdown /r # 시스템 재부팅
tasklist # 현재 실행 중인 프로세스 목록 표시
taskkill /F /IM [process_name] # 프로세스 강제 종료
schtasks # 작업 스케줄러 관리
# 사용자 및 그룹 관리
net user # 사용자 계정 관리
net group # 그룹 관리
# Windows 기능 관리
control # 제어판 열기
msconfig # 시스템 구성 유틸리티 열기
# 파일 내용 및 검색
type [file_name] # 파일 내용 출력
findstr [pattern] [file_name] # 파일에서 패턴 매칭 검색
more [file_name] # 파일 내용 페이징하여 출력
find [directory] -name [filename] # 디렉토리에서 특정 파일 찾기
# 디스크 관리
chkdsk # 디스크 검사 및 오류 복구
diskpart # 디스크 파티션 관리 유틸리티
format [drive_letter] /FS:NTFS # 드라이브 포맷 (NTFS 파일 시스템 사용)
defrag [drive_letter] # 드라이브 조각모음 실행
# 네트워크 관리
ipconfig /all # 모든 네트워크 인터페이스 정보 표시
netstat -a # 모든 활성 네트워크 연결 및 포트 상태 표시
nslookup [domain_name] # 도메인에 대한 DNS 정보 조회
arp -a # ARP 캐시 테이블 표시
# 사용자 및 그룹 관리
net user [username] # 사용자 계정 정보 표시 및 관리
net localgroup [groupname] # 로컬 그룹 정보 표시 및 관리
# 시스템 리소스 모니터링
taskmgr # 작업 관리자 열기
perfmon # 성능 모니터링 도구 열기
# 시스템 정보 및 설정
systeminfo # 시스템 정보 표시
hostname # 컴퓨터 이름 표시 또는 설정
# 시스템 및 보안 관리
systeminfo # 시스템 정보 표시
sfc /scannow # 시스템 파일 검사 및 복구
gpedit.msc # 그룹 정책 편집기 열기
regedit # 레지스트리 편집기 열기
msconfig # 시스템 구성 유틸리티 열기
taskmgr # 작업 관리자 열기
eventvwr # 이벤트 뷰어 열기
services.msc # 서비스 관리자 열기
control panel # 제어판 열기
# Windows 관련 정보 표시
ver # Windows 버전 정보 표시
echo %USERNAME% # 현재 사용자 이름 표시
echo %USERPROFILE% # 현재 사용자 프로필 경로 표시
# 환경 변수 관리
set # 모든 환경 변수 표시
set [variable_name]=[value] # 환경 변수 설정
echo %variable_name% # 특정 환경 변수 값 표시
# 기타 유틸리티
mspaint # 그림판 열기
calc # 계산기 열기
notepad # 메모장 열기
# 복사 및 이동
xcopy [source] [destination] /S /E # 디렉토리 및 하위 디렉토리 및 파일 복사
robocopy [source] [destination] /MIR # 디렉토리 동기화 및 복사
# 배치 파일 스크립트 작성
echo [text] >> [file_name.bat] # 배치 파일에 텍스트 추가
call [file_name.bat] # 다른 배치 파일 실행
# 서비스 관리
sc query # 서비스 목록 표시
sc start [service_name] # 서비스 시작
sc stop [service_name] # 서비스 중지
sc config [service_name] start=auto # 서비스 자동 시작 설정
# 레지스트리 관리
reg query [key] # 레지스트리 항목 조회
reg add [key] /v [value_name] /t [data_type] /d [value_data] /f # 레지스트리 항목 추가
reg delete [key] /v [value_name] /f # 레지스트리 항목 삭제
# Windows 업데이트 관리
wuauclt /detectnow # 업데이트 감지
wuauclt /showwuforce # 사용 가능한 업데이트 표시
wuauclt /updatenow # 업데이트 설치
# 이벤트 로그 관리
wevtutil qe [log_name] # 이벤트 로그 항목 표시
wevtutil cl [log_name] # 이벤트 로그 지우기
# PowerShell 명령어 실행
powershell [command] # PowerShell 명령어 실행
# 디스크 관리
diskmgmt.msc # 디스크 관리자 열기
cleanmgr # 디스크 클린업 실행
# 디바이스 및 드라이버 관리
devmgmt.msc # 장치 관리자 열기
pnputil /enum-drivers # 설치된 드라이버 목록 표시
driverquery # 시스템에 설치된 드라이버 목록 표시
# 네트워크 설정
ipconfig /flushdns # DNS 캐시 비우기
ipconfig /renew # DHCP에서 IP 주소 갱신
netsh interface show interface # 네트워크 인터페이스 정보 표시
# Windows 자동화 및 스크립팅
schtasks # 작업 스케줄러 설정 및 관리
regedit /s [file_name.reg] # 레지스트리 스크립트 파일 적용
gpupdate /force # 그룹 정책 업데이트 강제 적용
# 파일 압축 및 해제
compact [file_or_directory] # 파일 또는 디렉토리 압축 설정
compact /u [file_or_directory] # 파일 또는 디렉토리 압축 해제
# 시스템 보안 및 로깅
auditpol /get /category:* # 시스템 감사 정책 확인
auditpol /set /category:* /success:enable /failure:enable # 감사 정책 설정
# Windows 업데이트 관리
wuaucitl /detectnow # Windows 업데이트 감지
wuaucitl /reportnow # Windows 업데이트 보고
wuaucitl /resetauthorization # Windows 업데이트 인증 재설정
# 복구 및 복구 환경 관리
reagentc /info # 복구 환경 설정 정보 표시
reagentc /disable # 복구 환경 비활성화
reagentc /enable # 복구 환경 활성화
# Windows 이벤트 로그 관리
eventvwr # 이벤트 뷰어 열기
wevtutil el # 사용 가능한 이벤트 로그 목록 표시
# 디스크 관리
fsutil volume diskfree [drive_letter]: # 디스크 공간 정보 표시
fsutil behavior query disabledeletenotify # TRIM 지원 상태 확인
# Windows 업데이트 관리
wuauclt /showwuforce # 사용 가능한 업데이트 표시
wuauclt /updatenow # 업데이트 검사 및 설치
dism /online /cleanup-image /scanhealth # 시스템 파일 검사
# 시스템 리소스 모니터링
perfmon # 성능 모니터링 도구 열기
tasklist /svc # 실행 중인 서비스와 해당 프로세스 목록 표시
# Windows 관리도구 열기
dsa.msc # Active Directory 사용자 및 컴퓨터 열기
compmgmt.msc # 컴퓨터 관리 열기
certmgr.msc # 인증서 관리자 열기
# 시스템 정보 및 구성 관리
msinfo32 # 시스템 정보 표시
dxdiag # DirectX 진단 도구 열기
control.exe # 제어판 열기
ms-settings: # 설정 앱 열기
# Windows 보안 설정 관리
gpedit.msc # 그룹 정책 편집기 열기
secpol.msc # 로컬 보안 정책 열기
# Windows 액세서리 및 도구
calc # 계산기 열기
charmap # 문자 맵 열기
mstsc # 원격 데스크톱 연결 열기
notepad # 메모장 열기
snippingtool # 스니핑 도구 열기
# Windows 설치 및 업데이트 관리
ms-settings:windowsupdate # Windows 업데이트 설정 열기
wusa /uninstall /kb:[KB_number] # 특정 업데이트 제거
dism /online /get-packages # 시스템에 설치된 패키지 목록 표시
# 디바이스 관리
devmgmt.msc # 장치 관리자 열기
diskmgmt.msc # 디스크 관리자 열기
# Windows 자동화 및 스크립팅
shutdown /r /t [seconds] /f /d [reason_code] # 시스템 재부팅
shutdown /s /t [seconds] /f /d [reason_code] # 시스템 종료
# Windows 서비스 관리
services.msc # 서비스 관리자 열기
net start [service_name] # 서비스 시작
net stop [service_name] # 서비스 중지
Nginx 명령어(연관 포함)
# Nginx 명령어 스니펫(리눅스)
# 1. Nginx 시작 - systemd
sudo systemctl start nginx
# 2. Nginx 정지 - systemd
sudo systemctl stop nginx
# 3. Nginx 재시작 - systemd
sudo systemctl restart nginx
# 4. Nginx 설정 파일 재로드 - systemd
sudo systemctl reload nginx
# 5. Nginx 상태 확인 - systemd
sudo systemctl status nginx
# 6. Nginx 시작 - SysVinit 또는 Upstart
sudo service nginx start
# 7. Nginx 정지 - SysVinit 또는 Upstart
sudo service nginx stop
# 8. Nginx 재시작 - SysVinit 또는 Upstart
sudo service nginx restart
# 9. Nginx 프로세스 확인
ps aux | grep nginx
# 10. Nginx 설정 검사
sudo nginx -t
# 11. Nginx 설정 파일 위치 확인
sudo nginx -V | grep -oP ' --conf-path=\K[^ ]+'
# 12. Nginx 로그 파일 확인 - 액세스 로그
tail -f /var/log/nginx/access.log
# 13. Nginx 로그 파일 확인 - 에러 로그
tail -f /var/log/nginx/error.log
# 14. Nginx 버전 확인
nginx -v
## Nginx 전체 삭제
# nginx 실행 종료
sudo systemctl stop nginx
# nginx 패키지 삭제
sudo yum remove nginx
# 잔재 파일 및 캐시 삭제
sudo rm -rf /etc/nginx
sudo rm -rf /var/log/nginx
sudo rm -rf /var/cache/nginx
Git 명령어
## 일반적인 명령어
add #파일 내용을 인덱스에 추가
am #메일박스에서 일련의 패치를 적용
archive #지정된 트리의 파일을 아카이브로 생성
bisect #버그를 도입한 커밋을 이진 검색하여 찾음
branch #브랜치 나열, 생성 또는 삭제
bundle #아카이브를 통해 객체와 참조 이동
checkout #브랜치 전환 또는 작업 트리 파일 복원
cherry-pick #기존 커밋에서 도입된 변경 사항 적용
citool #git-commit의 그래픽 대안
clean #작업 트리에서 추적되지 않는 파일 삭제
clone #새 디렉터리에 저장소 복제
commit #저장소에 변경 사항 기록
describe #사용 가능한 참조를 기반으로 객체에 사람이 읽을 수 있는 이름 부여
diff #커밋 간, 커밋 및 작업 트리 등의 변경 사항 표시
fetch #다른 저장소에서 객체와 참조 다운로드
format-patch #이메일 제출을 위한 패치 준비
gc #불필요한 파일 정리 및 로컬 저장소 최적화
gitk #Git 저장소 브라우저
grep #패턴과 일치하는 행 출력
gui #Git의 휴대용 그래픽 인터페이스
init #빈 Git 저장소 생성 또는 기존 저장소 재초기화
log #커밋 로그 표시
maintenance #Git 저장소 데이터를 최적화하기 위한 작업 실행
merge #두 개 이상의 개발 히스토리를 병합
mv #파일, 디렉터리 또는 심볼릭 링크 이동 또는 이름 변경
notes #개체 노트 추가 또는 검사
pull #다른 저장소 또는 로컬 브랜치에서 가져오기 및 통합
push #연관된 객체와 함께 원격 참조 업데이트
range-diff #두 커밋 범위 비교 (예: 브랜치의 두 버전)
rebase #다른 베이스 팁 위에 커밋 다시 적용
reset #현재 HEAD를 지정된 상태로 재설정
restore #작업 트리 파일 복원
revert #기존 커밋 취소
rm #작업 트리 및 인덱스에서 파일 제거
scalar #대규모 Git 저장소 관리 도구
shortlog #'git log' 출력 요약
show #다양한 유형의 개체 표시
sparse-checkout #추적 파일의 하위 집합으로 작업 트리 축소
stash #더러운 작업 디렉터리의 변경 사항을 숨김
status #작업 트리 상태 표시
submodule #서브모듈 초기화, 업데이트 또는 검사
switch #브랜치 전환
tag #GPG로 서명된 태그 개체를 만들거나 나열, 삭제 또는 확인
worktree #여러 작업 트리 관리
## 부수적인 명령어 / 조작기
config #저장소 또는 전역 옵션 가져오기 및 설정
fast-export #Git 데이터 내보내기
fast-import #빠른 Git 데이터 가져오기를 위한 백엔드
filter-branch #브랜치 재작성
mergetool #병합 충돌 해결 도구 실행
pack-refs #효율적인 저장소 액세스를 위해 헤드와 태그 패킹
prune #객체 데이터베이스에서 모든 접근할 수 없는 객체 제거
reflog #reflog 정보 관리
remote #추적되는 저장소 세트 관리
repack #언팩된 객체를 저장소에 패킹
replace #객체를 대체하는 refs 생성, 나열 또는 삭제
## 부수적인 명령어 / 조사자
annotate #파일 라인에 커밋 정보 주석
blame #각 파일 라인을 마지막으로 수정한 리비전 및 작성자 표시
bugreport #버그 보고서를 제출할 사용자 정보 수집
count-objects #언팩된 개체 수 및 디스크 소비량 계산
diagnose #진단 정보를 위한 zip 아카이브 생성
difftool #일반적인 diff 도구를 사용하여 변경 사항 표시
fsck #데이터베이스의 객체 연결성 및 유효성 검사
gitweb #Git 웹 인터페이스 (Git 저장소에 대한 웹 프론트 엔드)
help #Git에 대한 도움말 정보 표시
instaweb #gitweb에서 작업 중인 저장소 즉시 브라우징
merge-tree #인덱스 또는 작업 트리를 건드리지 않고 병합 수행
rerere #충돌 해결 기록 재사용
show-branch #브랜치 및 해당 커밋 표시
verify-commit #커밋의 GPG 서명 확인
verify-tag #태그의 GPG 서명 확인
version #Git에 대한 버전 정보 표시
whatchanged #각 커밋이 도입한 변경 사항과 함께 로그 표시
##타인과 상호 작용하기
archimport #GNU Arch 저장소를 Git으로 가져오기
cvsexportcommit #단일 커밋을 CVS 체크아웃으로 내보내기
cvsimport #다른 SCM에서 데이터 구할 수 있도록 함
cvsserver #Git의 CVS 서버 에뮬레이터
imap-send #stdin에서 수신된 패치 모음을 IMAP 폴더로 전송
p4 #Perforce 저장소에서 가져오고 제출하기
quiltimport #현재 브랜치에 quilt 패치세트 적용
request-pull #보류 중인 변경 사항에 대한 요약 생성
send-email #이메일로 패치 모음을 전송
svn #Subversion 저장소와 Git 간의 양방향 작업
##저수준 명령어 / 저장소 동기화
daemon #Git 저장소를 위한 매우 간단한 서버
fetch-pack #다른 저장소에서 누락된 객체 수신
http-backend #Git을 통한 HTTP 서버 측 구현
send-pack #Git 프로토콜을 통해 객체를 다른 저장소로 푸시
update-server-info #덤 서버를 위해 보조 정보 파일 업데이트
##저수준 명령어 / 내부 도우미
check-attr #gitattributes 정보 표시
check-ignore #gitignore / 제외 파일 디버그
check-mailmap #연락처의 정규 이름과 이메일 주소 표시
check-ref-format #참조 이름이 잘 형성되었는지 확인
column #열에 데이터 표시
credential #사용자 자격 증명 검색 및 저장
credential-cache #임시로 암호를 메모리에 저장하는 도우미
credential-store #디스크에 자격 증명 저장 도우미
fmt-merge-msg #병합 커밋 메시지 생성
hook #git 후크 실행
interpret-trailers #커밋 메시지에서 구조화된 정보 추가 또는 구문 분석
mailinfo #단일 이메일 메시지에서 패치 및 저작권 추출
mailsplit #간단한 UNIX mbox 분할 프로그램
merge-one-file #git-merge-index와 함께 사용할 표준 도우미 프로그램
patch-id #패치에 대한 고유 ID 계산
sh-i18n #셸 스크립트를 위한 Git의 i18n 설정 코드
sh-setup #다양한 Git 셸 스크립트 설정 코드
stripspace #불필요한 공백 제거
## 사용자를 대상으로 하는 저장소, 명령어 및 파일 인터페이스
attributes #경로별로 속성 정의
cli #Git 명령줄 인터페이스 및 관례
hooks #Git에서 사용하는 후크
ignore #추적되지 않는 파일을 의도적으로 무시하기 위한 규정
mailmap #저자/커미터 이름 및/또는 이메일 주소 매핑
modules #서브모듈 속성 정의
repository-layout #Git 저장소 레이아웃
revisions #Git에 대한 리비전 및 범위 지정
개발자를 대상으로 하는 파일 형식, 프로토콜 및 다른 인터페이스
format-bundle #번들 파일 형식
format-chunk #청크 기반 파일 형식
format-commit-graph #Git 커밋 그래프 형식
format-index #Git 인덱스 형식
format-pack #Git 팩 형식
format-signature #Git 암호 서명 형식
protocol-capabilities #프로토콜 v0 및 v1 기능
protocol-common #여러 프로토콜에 공통된 것들
protocol-http #Git HTTP 기반 프로토콜
protocol-pack #팩이 와이어를 통해 전송되는 방식
protocol-v2 #Git 와이어 프로토콜, 버전 2
외부 명령어
askpass
askyesno
credential-helper-selector
credential-manager
credential-manager-ui
flow
lfs
update-git-for-windows
반응형
'나만의 모음집' 카테고리의 다른 글
[모음집] IT 용어 모음집 (0) | 2024.05.06 |
---|---|
[나만의 모음집] VSCODE 사용자 코드 조각 아카이브 (0) | 2024.04.30 |
git 명령어를 모아두는 아카이브 (1) | 2024.04.10 |
[성능최적화 모음집] 웹 성능을 최적화하기 위한 방법을 정리해서 모아둡니다. (0) | 2024.04.03 |
[모음집] 유용한 CSS 속성을 모아두는 아카이브 (0) | 2024.04.03 |