Git, Linux, Docker, SQL, Vim, HTTP, CSS, 정규표현식 등 개발 필수 명령어 220개를 한눈에 정리. 검색, 복사, 북마크 지원.
Git, Linux, Docker, SQL, Vim, HTTP 상태코드, CSS Flexbox/Grid, 정규표현식 총 8개 분야의 220개 명령어가 수록되어 있습니다.
네, 각 명령어 옆의 복사 버튼을 클릭하면 클립보드에 바로 복사됩니다. 자주 쓰는 명령어는 북마크하여 빠르게 찾을 수 있습니다.
Git, Linux, Docker, SQL, Vim, HTTP 상태코드, CSS Flexbox/Grid, 정규표현식 총 8개 분야의 220개 명령어가 수록되어 있습니다.
네, 각 명령어 옆의 복사 버튼을 클릭하면 클립보드에 바로 복사됩니다. 자주 쓰는 명령어는 북마크하여 빠르게 찾을 수 있습니다.
Git, Linux, Docker, SQL 등 8개 분야 220개 개발 필수 명령어
git init새 Git 저장소를 초기화합니다
git clone <url>원격 저장소를 복제합니다
git status작업 디렉토리의 상태를 확인합니다
git add <file>파일을 스테이지에 추가합니다
git add -p변경사항을 부분별로 스테이지에 추가합니다
git commit -m "<message>"스테이지된 변경사항을 커밋합니다
git commit --amend마지막 커밋을 수정합니다
git branch브랜치 목록을 확인합니다
git branch <name>새 브랜치를 생성합니다
git branch -d <name>브랜치를 삭제합니다 (병합된 경우만)
git checkout <branch>브랜치를 전환합니다
git switch <branch>브랜치를 전환합니다 (checkout 대체)
git merge <branch>브랜치를 현재 브랜치에 병합합니다
git rebase <branch>현재 브랜치를 대상 브랜치 위로 재배치합니다
git push로컬 커밋을 원격에 업로드합니다
git pull원격 변경사항을 가져와 병합합니다
git fetch원격 변경사항을 가져오되 병합하지 않습니다
git remote -v원격 저장소 목록을 확인합니다
git remote add <name> <url>원격 저장소를 추가합니다
git reset --soft HEAD~1마지막 커밋을 취소하고 변경사항은 유지합니다
git reset --hard HEAD~1마지막 커밋을 취소하고 변경사항도 삭제합니다
git revert <commit>특정 커밋을 취소하는 새 커밋을 생성합니다
git stash변경사항을 임시 저장합니다
git stash pop임시 저장한 변경사항을 복원합니다
git cherry-pick <commit>특정 커밋을 현재 브랜치에 적용합니다
git log --oneline커밋 히스토리를 한 줄씩 확인합니다
git diff스테이지되지 않은 변경사항을 확인합니다
git show <commit>특정 커밋의 상세 정보를 확인합니다
git blame <file>파일의 각 줄을 마지막으로 수정한 사람을 확인합니다
git reflogHEAD의 이동 기록을 확인합니다 (복구용)
git tag <name>태그를 생성합니다 (버전 표시용)
git config --global user.name "<name>"Git 사용자 이름을 설정합니다
git bisect start이진 탐색으로 버그 발생 커밋을 찾습니다
git clean -fd추적되지 않는 파일과 디렉토리를 삭제합니다
git archive --format=zip HEAD -o archive.zip현재 커밋을 ZIP 아카이브로 내보냅니다
ls -la파일 목록을 상세히 표시합니다 (숨김 파일 포함)
cd <directory>디렉토리를 이동합니다
pwd현재 디렉토리 경로를 표시합니다
mkdir -p <directory>디렉토리를 생성합니다 (중간 경로 포함)
rm -rf <path>파일/디렉토리를 강제 재귀적으로 삭제합니다
cp -r <source> <dest>파일/디렉토리를 복사합니다
mv <source> <dest>파일/디렉토리를 이동하거나 이름을 변경합니다
touch <file>빈 파일을 생성하거나 수정 시간을 변경합니다
find <path> -name "<pattern>"파일을 이름 패턴으로 검색합니다
locate <filename>파일 데이터베이스에서 빠르게 검색합니다
cat <file>파일 내용을 출력합니다
head -n <N> <file>파일의 처음 N줄을 출력합니다
tail -f <file>파일의 끝부분을 실시간으로 추적합니다
less <file>파일을 페이지 단위로 읽습니다
grep -rn "<pattern>" <path>파일에서 문자열을 재귀적으로 검색합니다
sed -i 's/old/new/g' <file>파일에서 문자열을 치환합니다
awk '{print $1, $3}' <file>텍스트 필드를 추출하고 처리합니다
sort <file>파일 내용을 정렬합니다
uniq연속된 중복 줄을 제거합니다
wc -l <file>파일의 줄 수를 세니다
chmod <permissions> <file>파일 권한을 변경합니다
chown <user>:<group> <file>파일 소유자를 변경합니다
chgrp <group> <file>파일 그룹을 변경합니다
ps aux실행 중인 모든 프로세스를 표시합니다
top시스템 리소스 사용량을 실시간으로 모니터링합니다
kill -9 <PID>프로세스를 강제 종료합니다
nohup <command> &터미널 종료 후에도 프로세스를 실행 유지합니다
ssh <user>@<host>원격 서버에 SSH 접속합니다
scp <file> <user>@<host>:<path>원격 서버로 파일을 복사합니다
curl <url>URL에서 데이터를 전송/수신합니다
wget <url>파일을 다운로드합니다
ping <host>호스트의 네트워크 연결을 확인합니다
netstat -tulpn열려있는 포트와 연결을 확인합니다
df -h디스크 사용량을 확인합니다
du -sh <path>디렉토리 크기를 확인합니다
free -h메모리 사용량을 확인합니다
uname -a시스템 정보를 표시합니다
whoami현재 로그인된 사용자 이름을 표시합니다
tar -czf <archive>.tar.gz <files>tar.gz 압축 파일을 생성합니다
tar -xzf <archive>.tar.gztar.gz 압축을 해제합니다
zip -r <archive>.zip <files>ZIP 압축 파일을 생성합니다
unzip <archive>.zipZIP 압축을 해제합니다
docker run -d -p <host>:<container> <image>컨테이너를 백그라운드로 실행합니다
docker ps실행 중인 컨테이너 목록을 표시합니다
docker stop <container>컨테이너를 정지합니다
docker start <container>정지된 컨테이너를 시작합니다
docker rm <container>컨테이너를 삭제합니다
docker exec -it <container> <command>실행 중인 컨테이너에서 명령을 실행합니다
docker logs -f <container>컨테이너 로그를 실시간으로 확인합니다
docker inspect <container>컨테이너의 상세 정보를 확인합니다
docker build -t <name>:<tag> .Dockerfile에서 이미지를 빌드합니다
docker pull <image>레지스트리에서 이미지를 다운로드합니다
docker push <image>이미지를 레지스트리에 업로드합니다
docker images로컬 이미지 목록을 표시합니다
docker rmi <image>이미지를 삭제합니다
docker tag <image> <new-tag>이미지에 새 태그를 추가합니다
docker volume create <name>볼륨을 생성합니다
docker volume ls볼륨 목록을 표시합니다
docker network create <name>커스텀 네트워크를 생성합니다
docker network ls네트워크 목록을 표시합니다
docker compose up -d모든 서비스를 백그라운드로 시작합니다
docker compose down모든 서비스를 정지하고 컨테이너를 제거합니다
docker compose build모든 서비스 이미지를 빌드합니다
docker compose logs -f <service>서비스 로그를 실시간으로 확인합니다
docker compose psCompose 서비스 상태를 확인합니다
docker compose exec <service> <command>실행 중인 서비스에서 명령을 실행합니다
SELECT column1, column2 FROM table_name;테이블에서 데이터를 조회합니다
SELECT * FROM table WHERE condition;조건에 맞는 데이터만 조회합니다
SELECT * FROM table ORDER BY column ASC|DESC;결과를 정렬합니다
SELECT column, COUNT(*) FROM table GROUP BY column;데이터를 그룹별로 집계합니다
SELECT column, COUNT(*) FROM table GROUP BY column HAVING COUNT(*) > N;그룹화된 결과에 조건을 적용합니다
INSERT INTO table (col1, col2) VALUES (val1, val2);테이블에 새 데이터를 삽입합니다
UPDATE table SET column = value WHERE condition;기존 데이터를 수정합니다
DELETE FROM table WHERE condition;조건에 맞는 데이터를 삭제합니다
CREATE TABLE table_name (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);새 테이블을 생성합니다
ALTER TABLE table_name ADD column_name datatype;테이블 구조를 변경합니다
DROP TABLE table_name;테이블을 삭제합니다
SELECT * FROM a INNER JOIN b ON a.id = b.a_id;두 테이블의 일치하는 행만 결합합니다
SELECT * FROM a LEFT JOIN b ON a.id = b.a_id;왼쪽 테이블의 모든 행과 일치하는 오른쪽 행을 결합합니다
SELECT * FROM a RIGHT JOIN b ON a.id = b.a_id;오른쪽 테이블의 모든 행과 일치하는 왼쪽 행을 결합합니다
SELECT * FROM a FULL OUTER JOIN b ON a.id = b.a_id;양쪽 테이블의 모든 행을 결합합니다
SELECT col FROM table1 UNION SELECT col FROM table2;두 쿼리 결과를 합칩니다 (중복 제거)
SELECT COUNT(*) FROM table;행의 개수를 세니다
SELECT SUM(col), AVG(col) FROM table;합계와 평균을 계산합니다
SELECT MIN(col), MAX(col) FROM table;최솟값과 최댓값을 구합니다
CREATE INDEX idx_name ON table(column);인덱스를 생성하여 조회 속도를 높입니다
CREATE VIEW view_name AS SELECT ...;뷰를 생성합니다 (가상 테이블)
CREATE TRIGGER trigger_name
AFTER INSERT ON table
FOR EACH ROW ...;트리거를 생성합니다 (이벤트 기반 자동 실행)
SELECT DISTINCT column FROM table;중복을 제거하고 고유값만 조회합니다
SELECT * FROM table LIMIT N OFFSET M;결과의 개수를 제한하고 페이징합니다
SELECT CASE WHEN condition THEN 'A' ELSE 'B' END FROM table;조건별 값을 분기합니다 (IF-ELSE)
SELECT COALESCE(column, default_value) FROM table;NULL이면 기본값을 반환합니다
SELECT * FROM table WHERE col IN (SELECT col FROM other_table);서브쿼리를 사용하여 조건을 지정합니다
SELECT * FROM a WHERE EXISTS (SELECT 1 FROM b WHERE b.a_id = a.id);서브쿼리 결과가 존재하는지 확인합니다
SELECT col, ROW_NUMBER() OVER (ORDER BY col) FROM table;윈도우 함수로 순위/누적값을 계산합니다
i커서 위치에서 입력 모드로 전환
a커서 다음 위치에서 입력 모드로 전환
o아래에 새 줄을 추가하고 입력 모드로 전환
v / V비주얼 모드 (문자/줄 단위 선택)
Esc노멀 모드로 복귀
h / j / k / l왼쪽 / 아래 / 위 / 오른쪽 이동
w / b다음 / 이전 단어로 이동
0 / $줄의 처음 / 끝으로 이동
gg / G파일의 처음 / 끝으로 이동
Ctrl+d / Ctrl+u반 페이지 아래 / 위로 스크롤
x커서 위치의 문자를 삭제
dd현재 줄을 삭제 (잘라내기)
yy현재 줄을 복사 (yank)
p붙여넣기
u실행 취소 (Undo)
Ctrl+r다시 실행 (Redo)
ciw현재 단어를 삭제하고 입력 모드로 전환
/<pattern>패턴을 검색합니다
n / N다음 / 이전 검색 결과로 이동
:%s/old/new/g파일 전체에서 문자열을 치환합니다
:w파일을 저장합니다
:qVim을 종료합니다
:wq저장하고 종료합니다
:q!저장하지 않고 강제 종료합니다
qa ... q매크로를 레지스터 a에 녹화합니다
@a레지스터 a의 매크로를 실행합니다
100 Continue요청의 초기 부분이 수신되었으며 계속 요청해도 됩니다
101 Switching Protocols서버가 프로토콜 전환을 승인했습니다 (WebSocket 등)
200 OK요청이 성공적으로 처리되었습니다
201 Created요청이 성공하여 새 리소스가 생성되었습니다
204 No Content요청이 성공했지만 반환할 내용이 없습니다
301 Moved Permanently리소스가 영구적으로 이동되었습니다
302 Found리소스가 임시적으로 이동되었습니다
304 Not Modified리소스가 변경되지 않아 캐시된 버전을 사용합니다
400 Bad Request잘못된 요청입니다 (구문 오류, 유효성 검증 실패)
401 Unauthorized인증이 필요합니다 (로그인 필요)
403 Forbidden권한이 없습니다 (인증되었지만 접근 불가)
404 Not Found리소스를 찾을 수 없습니다
405 Method Not Allowed허용되지 않는 HTTP 메서드입니다
408 Request Timeout요청 시간이 초과되었습니다
409 Conflict요청이 현재 서버 상태와 충돌합니다
413 Payload Too Large요청 본문이 너무 큽니다
422 Unprocessable Entity구문은 올바르지만 의미적으로 처리할 수 없습니다
429 Too Many Requests요청이 너무 많습니다 (Rate Limit 초과)
500 Internal Server Error서버 내부 오류가 발생했습니다
502 Bad Gateway게이트웨이/프록시 서버가 잘못된 응답을 받았습니다
503 Service Unavailable서비스를 사용할 수 없습니다 (유지보수/과부하)
504 Gateway Timeout게이트웨이 시간 초과입니다
display: flex;플렉스 컨테이너를 활성화합니다
flex-direction: row | column | row-reverse | column-reverse;플렉스 아이템의 배치 방향을 설정합니다
justify-content: flex-start | center | flex-end | space-between | space-around | space-evenly;주 축(main axis) 방향 정렬을 설정합니다
align-items: stretch | flex-start | center | flex-end | baseline;교차 축(cross axis) 방향 정렬을 설정합니다
flex-wrap: nowrap | wrap | wrap-reverse;플렉스 아이템의 줄바꿈을 설정합니다
gap: 16px;플렉스/그리드 아이템 간 간격을 설정합니다
flex-grow: 1;아이템이 남은 공간을 차지하는 비율을 설정합니다
flex-shrink: 0;아이템이 축소되는 비율을 설정합니다 (0=축소 불가)
flex-basis: 200px;아이템의 기본 크기를 설정합니다
align-self: auto | flex-start | center | flex-end | stretch;개별 아이템의 교차 축 정렬을 설정합니다
display: grid;그리드 컨테이너를 활성화합니다
grid-template-columns: repeat(3, 1fr);그리드 열(column) 구조를 정의합니다
grid-template-rows: auto 1fr auto;그리드 행(row) 구조를 정의합니다
grid-area: header;아이템을 명명된 그리드 영역에 배치합니다
grid-column: 1 / 3;아이템이 차지하는 열 범위를 설정합니다
place-items: center;그리드 아이템을 셀 안에서 가운데 정렬합니다
grid-auto-flow: row | column | dense;그리드 아이템의 자동 배치 방향을 설정합니다
grid-gap: 16px 24px;그리드 행/열 간격을 설정합니다 (gap과 동일)
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));반응형 그리드 레이아웃을 만듭니다 (minmax)
order: -1 | 0 | 1;플렉스/그리드 아이템의 시각적 순서를 변경합니다
.줄바꿈을 제외한 임의의 문자 1개와 일치
^문자열의 시작과 일치
$문자열의 끝과 일치
*앞의 패턴이 0회 이상 반복
+앞의 패턴이 1회 이상 반복
?앞의 패턴이 0회 또는 1회
{n,m}앞의 패턴이 n회~m회 반복
[abc]문자 클래스 — 대괄호 안의 문자 중 하나와 일치
(pattern)캡처 그룹 — 패턴을 그룹화하고 캡처
a|bOR — 왼쪽 또는 오른쪽 패턴과 일치
\특수 문자를 이스케이프하여 리터럴로 일치
\d숫자 1개와 일치 ([0-9]와 동일)
\w단어 문자 1개와 일치 ([a-zA-Z0-9_]와 동일)
\s공백 문자 1개와 일치 (스페이스, 탭, 줄바꿈)
\b단어 경계와 일치 (단어의 시작/끝)
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}이메일 주소 패턴
https?:\/\/[\w\-]+(\.[\w\-]+)+[\/\w\-._~:/?#[\]@!$&'()*+,;=%]*URL 패턴 (HTTP/HTTPS)
01[016789]-?\d{3,4}-?\d{4}한국 휴대폰 번호 패턴
\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\bIPv4 주소 패턴 (0.0.0.0 ~ 255.255.255.255)
\d{4}[-/]\d{2}[-/]\d{2}날짜 패턴 (YYYY-MM-DD 또는 YYYY/MM/DD)