- 조건에 맞는 파일을 한 번에 찾고 처리
- 출력 결과를 다음 명령의 입력으로 연결
- 같은 작업을 스크립트로 반복
- 원격 서버에 GUI 없이 접속해 작업
이 파트에서 다루는 내용
폐쇄망에서는 터미널이 검색엔진이자 도구상자입니다
보안 때문에 AI도 인터넷 검색도 막힌 환경이 있습니다. 공공, 금융, 방산 개발 현장이 대표적입니다. 이런 곳에서 문제가 생기면 물어볼 곳이 없습니다.
그래서 터미널을 다루는 능력이 결정적입니다. '어제 바뀐 설정 파일 찾기', '어느 프로세스가 포트를 잡고 있는지 확인', '수십만 줄 로그에서 오류만 뽑기' 같은 일을, 검색 없이 손으로 해결할 수 있어야 합니다.
이 코스는 화려한 명령을 외우는 자료가 아닙니다. 없으면 막히는 최소한의 도구와, 그것을 조합해 스스로 답을 찾는 사고방식을 다룹니다.
터미널 도구는 수십 년째 거의 그대로입니다. 한 번 익히면 버전이 바뀌어도, 검색이 막혀도 계속 쓸 수 있습니다. 이 코스가 다른 코스와 달리 오래 유효한 이유입니다.
셸은 명령을 해석해 실행하는 프로그램입니다
터미널은 창이고, 그 안에서 명령을 받아 실행하는 것이 셸입니다. 리눅스에서는 대개 bash나 zsh를, Windows에서는 PowerShell을 씁니다.
명령은 대부분 같은 형태입니다. 명령어, 옵션, 대상 순서입니다. 이 구조를 알면 처음 보는 명령도 형태로 짐작할 수 있습니다.
터미널은 항상 어떤 디렉터리에 서 있습니다. 명령은 특별히 지정하지 않으면 그 위치를 기준으로 동작합니다. 지금 어디에 있는지 아는 것이 첫걸음입니다.
/ 로 시작하면 최상위부터의 절대 경로, 그렇지 않으면 현재 위치 기준의 상대 경로입니다. . 은 현재, .. 은 상위 디렉터리입니다.
~ 는 내 홈 디렉터리를 가리킵니다. ~/logs 는 어디에 있든 내 홈 아래 logs 를 뜻합니다.
pwd지금 어느 디렉터리에 있는지 출력ls -la숨김 파일까지 자세히 목록 표시cd /var/log지정한 디렉터리로 이동cd ..상위 디렉터리로 이동cd -직전에 있던 디렉터리로 되돌아가기ls -l /var/log
│ │ └─ 대상: 어디에 적용할지
│ └───── 옵션: 어떻게 동작할지 (- 로 시작)
└──────── 명령어: 무엇을 할지
# 옵션은 묶을 수 있습니다
ls -l -a = ls -la
# 대부분의 명령은 도움말을 내장하고 있습니다
ls --help
man ls--help 와 man 은 검색이 막힌 환경에서 가장 중요한 두 가지입니다. Part 9에서 자세히 다룹니다.
파일을 보고 옮기고 지웁니다
파일 조작은 가장 기본이면서 사고가 나기 쉬운 영역입니다. 특히 삭제와 덮어쓰기는 되돌릴 수 없으므로 습관이 중요합니다.
rm 은 휴지통을 거치지 않습니다. 특히 rm -rf 는 경로를 잘못 쓰면 통째로 사라집니다. 실행 전에 대상을 ls 로 먼저 확인하는 습관이 안전합니다.
> 는 기존 내용을 지우고 덮어씁니다. 중요한 파일에 실수로 쓰면 원본이 사라집니다. 이어 붙이려면 >> 를 씁니다. Part 2에서 다룹니다.
설정 파일을 고치기 전에 .bak 사본을 만들어 둡니다. 되돌릴 방법을 먼저 확보하는 것이 폐쇄망에서 특히 중요합니다.
cat app.log파일 내용 전체 출력. 짧은 파일에만less app.log긴 파일을 페이지 단위로 확인. q 로 종료head -n 50 app.log앞부분 50줄만 확인tail -n 50 app.log끝부분 50줄만 확인. 최근 로그 볼 때cp app.yml app.yml.bak수정 전 백업. 되돌릴 수 있게 하는 습관mv old.log archive/파일 이동 또는 이름 변경rm app.log파일 삭제. 휴지통 없이 즉시 사라짐rm -rf logs/디렉터리 통째 삭제. 대상 확인 필수되돌릴 수 없는 명령은 실행 전에 한 번 더 확인합니다. rm 대상을 먼저 ls 로 보고, 덮어쓰기 전에 백업을 만듭니다. 검색으로 복구법을 찾을 수 없는 환경일수록 예방이 유일한 안전장치입니다.
입력을 줄이면 실수도 줄어듭니다
터미널을 빠르게 다루는 사람은 타이핑이 빠른 것이 아니라 적게 칩니다. 몇 가지 기능만 익혀도 오타와 실수가 크게 줄어듭니다.
파일명이나 명령을 반쯤 치고 Tab 을 누르면 나머지를 채웁니다. 오타를 막고, 존재하지 않는 경로를 미리 알 수 있습니다.
이전에 친 명령을 위 화살표로 불러옵니다. Ctrl+R 로 과거 명령을 검색할 수도 있습니다.
- Ctrl+A: 줄 맨 앞으로
- Ctrl+E: 줄 맨 끝으로
- Ctrl+U: 커서 앞부분 전체 삭제
- Ctrl+C: 실행 중인 명령 중단
자동완성과 히스토리는 편리하지만, rm 이나 덮어쓰기를 히스토리에서 무심코 다시 실행하면 위험합니다. 되돌릴 수 없는 명령은 매번 대상을 확인합니다.