이번 글은 『모두의 리눅스 – 누구나 쉽게 시작하는 리눅스 기초』 5장을 공부하고 정리한 내용입니다.
1. mkdir : 디렉터리 생성
$ mkdir [옵션] <작성할 디렉터리 이름>
- 이미 존재하는 파일의 이름과 동일한 이름의 디렉터리 생성 불가
중첩된 디렉터리 한 번에 만들기
$ mkdir -p report/2026/04
- 중간 경로의 디렉터리가 존재하지 않으면 에러 발생
- -p 옵션을 추가하여 report, 2026, 04 디렉터리 한 번에 생성
2. touch : 파일 생성
$ touch <생성할 파일1> <생성할 파일2> ...
- touch : 내용이 없는 빈 파일 생성
- 원래 touch 명령어는 파일의 타임스탬프를 갱신하기 위한 명령어임
- 이미 존재하는 파일을 지정해도 내용이 지워지지 않음
3. rm & rmdir : 파일과 디렉터리 삭제
$ rm [옵션] <삭제할 파일1> <삭제할 파일2> ...
1. 여러 파일 삭제하기
$ rm file1 file2 file3
2. 확장자가 동일한 파일 동시에 삭제하기
$ rm *.html
- 확장자가 .html인 파일을 전부 지우는 예시 코드
3. 디렉터리 삭제하기
- -rm 명령어로 디렉터리를 지우려면 재귀적으로 디렉터리 트리를 삭제하는 옵션인 -r을 지정
- 이때 대상이 되는 디렉터리와 그 안의 파일을 전부 지우므로 주의해야 함
- 디렉터리를 지우기 전에 그 안에 중요한 파일이 없는지 확인해야 함
4. 삭제 시 주의 점
- 윈도나 맥에서는 파일을 지우더라도 휴지통에 있어서 복구할 수 있지만, 리눅스에서는 곧바로 지워짐
- -i 옵션을 붙이면 "rm: 일반 파일 'file1'를 제거할까요?"라는 확인 메시지 출력
5. 빈 디렉터리 삭제
$ rmdir <디렉터리 이름>
- rmdir : 대상 디렉터리가 빈 디렉터리가 아니면 에러 출력
- .hidden이라는 숨겨진 파일이 있는 상황에서 rmdir 명령어 사용 시 에러 발생
- ls -a 옵션으로 숨겨진 파일 확인
4. cat : 파일 내용 출력
$ cat [옵션] <파일 이름>
1. 여러 파일 출력하기
- cat 명령어는 파일 여러 개를 연결해 출력
$ cat <파일 이름1> <파일 이름2>
2. 행 번호 출력
$ cat -n /etc/crontab
3. 파일을 지정하지 않은 경우
- cat 명령어는 인자로 파일이 지정되지 않으면 키보드 입력을 그대로 화면에 출력
5. less : 스크롤 표시하기
less [옵션] <파일 이름>
- less : 지정한 파일을 화면 단위로 출력하며 위아래로 스크롤하며 파일을 볼 수 있음
- q : 종료
- Space, b : 위 아래로 이동
1. 파일 내 검색
- less로 열려 있는 파일에서 "/" 를 입력하여 문자열 검색(ctrl + F 같이)
- 명령어의 출력ㄱ 결과나 파일 내용을 확인할 때 많이 사용
6. cp 명령어 : 파일, 디렉터리 복사
$ cp [옵션] <복사할 파일>...<복사할 위치>
1. 복사&덮어쓰기
cp -i file1 file2
- -i 명령어로 복사하기 전에 같은 이름의 파일이 있는지, 덮어써도 되는지 확인
2. 디렉터리 복사
cp -r dir1 dir2
- cp 명령어로 디렉터리를 복사하려면 재귀적으로 복사하도록 -r 옵션 지정
7. mv : 파일 이동
mv [옵션] <이동할 파일>...<이동할 위치>
- -i 옵션을 지정하면 덮어쓰기 전 확인
- -r 옵션을 지정하지 않아도 디렉터리 안의 모든 파일과 디렉터리를 전부 옮길 수 있음
8. ln : 링크 만들기
ln [옵션] <링크할 파일> <링크 이름>
1. 링크란?
링크 : 파일에 별명을 붙인 것
- 하드 링크 : 한 파일 원본에 이름을 여러 개 붙이는 기능
- 양쪽 다 원본 파일이기 때문에 어느 것이 복사본인지 원본인지 구분 X
- 심볼링 링크 : 원본 파일에 대한 정보가 담긴 작은 특수 파일, 하드 링크와 달리 원본과 구별됨
- 디렉터리는 하드 링크할 수 없으며, 하드 링크는 서로 다른 디스크에 걸쳐서 만들 수 없음
- ln 명령어 사용 시 -s 옵션을 붙여 심볼릭 링크 생성
- 심볼릭 링크는 rm 명령어로 지울 수 있으며, 원본에는 어떠한 영향도 주지 않음
- 심볼릭 링크를 지우지 않은 채 원본 파일을 지우게 되면 심볼릭 링크가 깨짐
2. 링크가 유용한 경우
- 긴 경로명을 짧게
local/work/code/project/source -> source 심볼릭 링크 생성 예시
$ ln -s local/work/code/project/source source
$ cd source
- 여러 버전의 프로그램이 있는 경우
프로그램을 설치할 때 디렉터리 이름에 버전 정보를 붙여 여러 버전의 소프트웨어를 배치할 대 여러 버전을 심볼릭 링크로 관리할 때