5강 / 20강
파일 다루기 — 만들고 옮기고 지우기
mkdir · touch · cp · mv · rm, 그리고 되돌릴 수 없는 실수
이제 나무에 가지를 붙이고 잘라 낼 차례입니다. 서버 관리자가 하루에 수십 번씩 쓰는 명령들이에요. 딱 여섯 개만 외우면 됩니다.
mkdir폴더 만들기make directorytouch빈 파일 만들기손끝으로 톡 건드리기cp복사하기copy — 원본은 남습니다mv옮기기 · 이름 바꾸기move — 원본이 사라집니다rm지우기remove — 되돌릴 수 없습니다cat내용 보기concatenate직접 해 봅시다. 아래를 한 줄씩 실행하면서 왼쪽 트리가 어떻게 변하는지 지켜보세요.
폴더를 만들고 들어가서 빈 파일 하나
bash
내 가상 Ubuntu 서버에서 실행
빈 파일에 내용을 넣어 봅시다. 지금은 echo 와 > 를 쓰지만,
이 > 기호의 정체는 10강에서 제대로 배웁니다.
> 는 덮어쓰기, >> 는 이어 붙이기
bash
내 가상 Ubuntu 서버에서 실행
-p 옵션 — 중간 폴더까지 한 번에
세 단계 깊이의 폴더를 만들려면 어떻게 할까요? 하나씩 세 번? 아닙니다.
-p 는 parents, 중간 폴더가 없으면 함께 만들어 줍니다
bash
내 가상 Ubuntu 서버에서 실행
cp 와 mv — 복사와 이동
둘 다 <원본> <목적지> 순서입니다. 차이는 하나. 원본이 남느냐 사라지느냐.
복사한 뒤 옮기기 — mv 하면 원래 자리에서 사라집니다
bash
내 가상 Ubuntu 서버에서 실행
폴더를 통째로 다룰 때는 -r
폴더 안에는 파일이 여러 개 들어 있죠. 그래서 재귀적으로(recursive) 처리하라고 알려 줘야 합니다.
쇼핑몰을 통째로 복사 — -r 이 없으면 거절당합니다
bash
내 가상 Ubuntu 서버에서 실행
그리고 rm — 리눅스에서 가장 위험한 명령
리눅스에는 휴지통이 없습니다. rm 으로 지운 것은 그대로 사라집니다.
"복구 프로그램 돌리면 되지 않나요?" 서버에서는 대개 안 됩니다.
지웁니다. 확인도 묻지 않고, 되돌릴 수도 없습니다.
bash
내 가상 Ubuntu 서버에서 실행
안심하고 눌러 보세요. 여기서는 아무 일도 일어나지 않습니다.
bash
내 가상 Ubuntu 서버에서 실행
🤔 확인 문제
cp memo.txt backup/ 을 실행한 뒤 memo.txt 는 어떻게 되는가?해설
cp 는 복사라 원본이 남습니다. 원본이 사라지길 원한다면 mv 를 씁니다.🤔 확인 문제
mkdir -p a/b/c 의 -p 가 하는 일은?해설
-p 는 parents입니다. 없으면 mkdir a → mkdir a/b → mkdir a/b/c 를 세 번 쳐야 합니다. 이미 있어도 오류를 내지 않는 것도 장점이라, 스크립트에서 특히 많이 씁니다.