- Published on
2025.08.28
[모두의 리눅스] - 05. 파일 조작의 기본
5.1. mkdir 명령어: 디렉터리 만들기
mkdir [옵션] <작성할 디렉터리 이름>
$ mkdir name
리눅스는 디렉터리와 파일을 동일하게 다루어, 같은 이름으로 만들 수 없다.
중첩된 디렉터리를 만들려고 할 때, 중간 경로가 없으면 에러를 발생시키나 -p옵션을 추가해 디렉터리를 한 번에 만들 수 있다.
$ mkdir docs/2025/08 # 2025가 없다면 에러 발생
$ mkdir -p docs/2025/08 # 2025와 08 디렉터리를 한 번에 생성
5.2. touch 명령어: 파일 만들기
touch <생성할 파일1> <생성할 파일2> ...
touch 명령어로 내용이 없는 빈 파일을 생성하며, 여러 개를 만들 수도 있음
$ touch newfile
원래 touch 명령어는 파일의 타임스탬프 갱신을 위한 명령어인데, 대상이 되는 파일이 존재하지 않으면 새롭게 파일을 만든다.
5.3. rm과 rmdir: 파일과 디렉터리 삭제하기
rm [옵션] <삭제할 파일1> <삭제할 파일2> ...
rm명령어는 파일을 삭제할 수 있고, 여러 파일을 한번에 지울 수도 있다. Tab으로 자동 완성 기능을 사용할 수도 있다.
$ rm newfile
$ rm file1 file2 file3 # 세 개의 파일 삭제
$ rm *.html # 확장자가 .html인 파일 모두 삭제
rm명령어로 디렉터리를 삭제하려고 하면 에러 메세지가 출력된다. 디렉터리를 지우려면 재귀적으로 디렉터리 트리를 삭제하는 -r 옵션을 지정해야 한다.
$ rm dir1
rm: 'dir1'을 지울 수 없음: 디렉터리입니다
$ rm -r dir1 # 하위 디렉터리와 파일까지 전부 삭제
윈도나 맥과 달리 리눅스는 확인하는 과정 없이 파일이 곧바로 삭제된다. i 옵션을 추가하면 확인 메세지가 출력된다.
$ rm -i file1
rm: 일반 파일 'file1'을 제거할까요?
rmdir <디렉터리 이름>
rmdir명령어는 빈 디렉터리를 삭제하는 명령어다. 빈 디렉터리가 아니라면 에러를 출력한다.
5.4. cat 명령어: 파일 내용 출력하기
cat [옵션] <파일 이름>
cat명령어로 파일 내용을 출력할 수 있다.
$ touch newfile
$ cat newfile
$ # touch 명령어로 만들어 비어 있는 파일이라 출력되지 않음
$ cat file1 file2 # 파일 여러 개를 연결해 출력할 수 있음
n을 옵션으로 지정하면 행 번호가 함께 출력된다
$ cat -n file
1 ...
2 ...
3 ...
4 ...
인자로 파일을 지정하지 않고 실행하면 입력을 그대로 출력하는 상태가 되는데, Ctrl + d로 종료할 수 있다.
5.5. less 명령어: 스크롤 표시하기
less [옵션] <파일 이름>
less명령어로 파일 내용을 화면 단위로 출력해 스크롤하며 볼 수 있다. 사용할 수 있는 단축키는 다음과 같다.
| 명령어 | 동작 |
|---|---|
| space, f, Ctrl + v | 한 화면 아래로 스크롤 |
| b, Alt + v | 한 화면 위로 스크롤 |
| j, Ctrl + n, Enter | 한 행 아래로 스크롤 |
| k, Ctrl + p | 한 행 위로 스크롤 |
| q | 명령어 종료 |
/를 입력하면 문자열을 검색할 수 있다.
| 명령어 | 동작 |
|---|---|
| /문자열 | 문자열을 아래 방향으로 검색 |
| ?문자열 | 문자열을 위 방향으로 검색 |
| n | 다음 검색 결과로 이동 |
| N | 이전 검색 결과로 이동 |
5.6. cp 명령어: 파일과 디렉터리 복사하기
cp [옵션] <복사할 파일> ... <복사할 위치>
$ touch file1
$ cp file1 file2 # file1을 file2로 복사
$ cp file1 dir1 # 파일을 특정 디렉터리로 복사
$ cp file1 file2 file3 dir2 # 파일 3개를 dir2로 복사
cp로 복사할 때 같은 이름의 파일이 존재하면 경고 없이 덮어쓴다. 경고 전 확인하려면 -i옵션을 사용.
디렉터리를 복사하려고 하면 에러가 발생하며, -r옵션을 지정하면 복사할 수 있다.
5.7. mv 명령어: 파일 이동하기
mv [옵션] <이동할 파일> ... <이동할 위치>
mv명령어는 파일을 이동한다. cp와 비슷하게 동작하는데, 잘라내기, 붙여넣기와 같이 동작
5.8. ln 명령어: 링크 만들기
ln [옵션] <링크할 파일> <링크 이름>
리눅스는 파일에 별명을 붙일 수 있는데, 이를 링크라 한다. 하드 링크와 심볼릭 링크 두 가지가 있는데, 주로 심볼릭 링크가 사용된다.
윈도의 바로가기와 비슷한 개념으로, 하드 링크로 만든 파일은 양쪽 다 원본 파일이 되고, 심볼링 링크로 만든 파일은 원본 파일에 대한 정보가 담긴 특수 파일이다.