5강 / 20강

파일 다루기 — 만들고 옮기고 지우기

mkdir · touch · cp · mv · rm, 그리고 되돌릴 수 없는 실수

파일 다루기 — 만들고 옮기고 지우기
폴더를 만들고, 복사하고, 옮기고, 지웁니다. 휴지통은 없습니다.

이제 나무에 가지를 붙이고 잘라 낼 차례입니다. 서버 관리자가 하루에 수십 번씩 쓰는 명령들이에요. 딱 여섯 개만 외우면 됩니다.

mkdir폴더 만들기make directory
touch빈 파일 만들기손끝으로 톡 건드리기
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 는 어떻게 되는가?
🤔 확인 문제
mkdir -p a/b/c 의 -p 가 하는 일은?