- Published on
2025.08.16
[모두의 리눅스] - 04. 파일과 디렉터리
4.2. 리눅스의 디렉터리 구조
/
: 루트 디렉터리
윈도와의 차이
리눅스
경로(path)에서 디렉터리를 구분하기 위해/
를 사용
시스템 전체에 하나의 트리만 존재
디스크가 여러 개 있을 경우 루트 디렉터리의 어딘가에 디스크의 디렉터리가 연결(마운트)윈도우
디렉터리 구분을 위해\
를 사용
물리 디스크의 개수만큼 디렉터리 트리가 존재
각 디렉터리의 역할
파일시스템 계층구조 표준
리눅스의 디렉터리 구조는 FHS(Filesystem Hierarchy Standard)라는 표준 사양을 따름. PDF 파일
디렉터리 | 역할 |
---|---|
/bin | 명령어의 실행 파일이 배치 |
/dev | 디바이스 파일이 배치 |
/etc | 애플리케이션/리눅스의 설정 파일이 배치 |
/home | 홈 디렉터리가 배치 |
/sbin | /bin과 비슷하게 실행 파일을 포함하는 디렉터리, 관리자용 명령어 포함 |
/tmp | 임시 파일이 들어 있는 디렉터리 |
/usr | 설치한 애플리케이션의 실행 파일, 문서, 라이브러리 등을 포함 |
/var | 변화하는 데이터를 저장하기 위한 디렉터리, 로그, 메일 등이 저장 |
명령어 | 동작 |
---|---|
pwd | 현재 디렉터리를 표시 |
4.3. 절대 경로와 상대 경로
절대 경로
루트 디렉터리부터 해당 파일에 이르는 경로를 표시하는 것
상대 경로
현재 디렉터의 위치를 기준으로 표기하는 경로
.
는 현재 디렉터리..
는 부모 디렉터리
4.4. 디렉터리 이동
명령어 | 동작 |
---|---|
pwd | 현재 디렉터리 출력 |
cd | 디렉터리 변경 |
ls | 디렉터리 내 파일 출력 |
- 아무런 인자를 쓰지 않은 채
cd
명령어를 실행하면 홈 디렉터리로 이동 ~
(틸드)를 사용해도 홈 디렉터리로 이동
$ cd ~
- 틸드 확장
커맨드 라인에서 셸에 의해 틸드가 홈 디렉터리 경로로 치환되는 것
4.5. ls 명령어
- 인자를 지정하지 않으면 현재 디렉터리의 파일과 디렉터리를 출력
- 인자로 디렉터리의 경로를 지정하면 해당 디렉터리 안의 파일과 디렉터리를 출력
- 인자로 여러 경로를 지정할 수 있음
경로 확장(와일드카드/글로브)
*
(애스터리스크)와 ?
기호를 사용
기호 | 의미 |
---|---|
* | 임의의 문자열 |
? | 임의의 한 문자 |
$ ls ba* # ba로 시작하는 파일 목록을 출력
$ ls *.html # 확장자가 .html인 파일 목록을 출력
$ ls ba?? # ba로 시작하는 길이가 4인 파일 목록 출력
ls 명령어의 옵션
$ ls -l # 파일 이름과 속성, 상세 정보를 함꼐 출력
$ ls -a # 숨겨진 파일도 출력
$ ls -F # 파일 이름 뒤에 파일의 종류를 의미하는 기호를 추가해 출력
-F 옵션으로 출력되는 기호의 의미
기호 | 의미 |
---|---|
표시되지 않음 | 보통 파일 |
/ | 디렉터리 |
* | 실행 가능 파일 |
@ | 심볼릭 링크 |
4.6. 명령어의 옵션
옵션을 지정할 때는 명령어 뒤에 스페이스로 구분하여 지정
두 개 이상의 옵션을 지정할 때는 묶어서 지정해도 되고 별도로 지정해도 됨
$ ls -a -F
$ ls -aF # 동일하게 작동
명령어의 인자와 옵션을 모두 지정하는 경우는 옵션을 먼저 쓰고 인자를 작성
$ ls -a -F / # -a 옵션과 -F 옵션을 지정한 후, / 인자를 지정
옵션에 대한 인자 값을 지정하는 경우도 있음, 이 때는 스페이스를 생략할 수 있음
$ ls -w 30
$ ls -w30 # 동일하게 작동
일반적인 옵션은 하이픈 + 영숫자 한 문자의 형식이지만, --처럼 하이픈 두 개로 시작하는 옵션 형식도 존재.
이러한 형식을 롱 옵션
이라고 하는데, 롱 옵션은 다른 옵션과 혼동될 여지가 없다면 뒷부분을 생략 가능
$ ls --quote-name
$ ls --quote
$ ls --width 30 # 한 문자 옵션에 롱 옵션을 함께 제공하는 경우도 존재
$ ls --witdh30 # -w 옵션과 동일하게 작동