리눅스는 파일로 구성되며 문서, 이미지, 영상, 프로그램 등이 파일로 보존된다.
이런 데이터뿐만 아니라 시스템을 구성하는 장치도 파일로 다룬다. (ex. 하드 디스크, 키보드 등)
리눅스에서는 모든 것을 파일로 다루기 때문에 파일 조작 방법을 익히는 것이 중요하다.
이 글에서는 《모두의 리눅스》 3장 내용을 바탕으로 개념을 정리해봤다.
* 디렉터리란
여러 개의 파일을 담아서 정리할 수 있는 것이 디렉터리이다.
윈도우나 맥의 폴더 개념과 동일하다.

디렉터리 안에 있는 디렉터리를 서브 디렉터리/자식 디렉터리라고하며, 어떤 디렉터리 위에 있는 디렉터리를 부모 디렉터리라고 한다.
맨 위에 있는 / 디렉터리를 루트 디렉터리라고 한다. 모든 파일과 디렉터리의 부모를 찾아 올라가면 루트 디렉터리에 도달하게 된다.
이러한 계층구조를 트리 혹은 디렉터리 트리라고한다.
윈도우에서는 물리 디스크가 2개 있다면 디렉터리 트리도 2개이다.
하지만 리눅스는 시스템 전체에 단 하나의 트리만 가지기 때문에, 물리 디스크가 여러 개 있더라도 디렉터리 트리는 1개이다.
* 절대 경로
루트 디렉터리부터 해당 파일에 이르는 경로를 표시하는 것을 절대 경로라 한다.
파일에 대한 경로는 디렉터리 사이에 /(슬래시)를 넣어 /usr/bin/perl과 같이 표기한다.
* 상대 경로
현재 디렉터리의 위치를 기준으로 표기하는 것을 상대 경로라 한다.
상대 경로를 사용할 때는 특수 디렉터리인 .와 ..을 사용한다.
. 는 현재 디렉터리를 뜻한다.
..는 부모 디렉터리를 뜻하며, 현재 디렉터리의 위에 있는 디렉터리를 지정하기 위해 사용한다.
../../../../는 현재 디렉터리를 기준으로 4개 위의 디렉터리를 뜻한다.
* 디렉터리 이동
| 명령어 | 기능 |
| pwd | 현재 디렉터리 출력 |
| cd | 현재 디렉터리 변경 |
| ls | 디렉터리 안의 파일 출력 |
pwd로 현재 디렉터리를 확인한다.
% pwd
/home/ldk
cd로 /usr 디렉터리로 이동한다.
$ cd /usr
$ cd -p /usr/local
명령어 옵션 커맨드 라인 인자
이때 명령어 뒤에 스페이스로 구분하여 전달하는 문자열을 커맨드 라인 인자라한다.
아무런 인자를 쓰지 않은 채 cd 명령어를 실행하면 홈 디렉터리로 이동하고, ~(틸드)를 사용해도 홈 디렉터리로 이동한다.
틸드는 셸에 의해 사용자의 홈 디렉터리 경로로 치환된다. 이러한 기능을 틸드 확장이라 한다.
* 자동 완성 기능
TAB 키를 통해 명령어뿐만 아니라 경로에도 자동 완성 기능을 사용할 수 있다.
$ cd /u <-- 여기서 tab 키 입력
$ cd /usr <-- 자동 완성
* ls 명령어
파일이나 디렉터리의 목록을 출력하는 명령어
인자를 지정하지 않으면, 현재 디렉터리의 파일과 디렉터리를 출력한다.
* ls 명령어의 옵션
명령어는 - 으로 시작하는 옵션을 지정할 수 있다.
명령어의 인자와 옵션도 지정하는 경우, 먼저 옵션을 쓰고 그 뒤에 인자를 작성한다.
-l 옵션 = 파일 이름뿐만 아니라 파일의 속성과 상세 정보도 함께 출력
-a 옵션 = 숨겨진 파일도 함께 출력
-F 옵션 = 파일 이름 뒤에 파일일의 종류를 의미하는 기호를 추가해 출력. ( /은 디렉터리, *은 실행 가능 파일, @은 심볼릭 링크)
*경로 확장 기능
와일트카드 확장 또는 글로브라고 불리기도 한다.
*와 ? 기호를 사용한다.
| 기호 | 의미 |
| * | 임의의 문자열 |
| ? | 임의의 한 문자 |
'📑 스터디 > 리눅스' 카테고리의 다른 글
| [리눅스] - 파일 조작의 기본 (1) | 2025.04.23 |
|---|---|
| [리눅스] - 2장 셸(Shell)과 터미널 개념 정리 (0) | 2025.04.07 |