ls 명령어
Linux1분 읽기
ls
$ ls [options] [file ...]
피연산자의 종류에 따라 요청한 정보를 표시한다. 피연산자가 없다면 현재 디렉토리의 정보를 표시한다.
- 디렉토리: 해당 디렉토리에 포함된 파일들의 정보
- 파일: 해당 파일의 정보
자주 사용되는 옵션
| 옵션 | 설명 |
|---|---|
-l | 긴 목록 형식으로 표시한다. 파일의 상세 정보(권한, 소유자, 크기, 수정 시간 등)를 확인할 수 있다. |
-a | 숨김 파일(.으로 시작하는 파일)까지 모두 표시한다. |
-h | 파일 크기를 KB, MB, GB로 사람이 읽기 쉽게 표시한다. |
-t | 파일을 최종 수정 시간 순서로 정렬한다. 최근 파일을 찾을 때 유용하다. |
-S | 파일을 크기 순으로 정렬한다. |
-R | 하위 디렉토리까지 재귀적으로 모두 표시한다. |
-F | 파일 유형을 구분할 수 있는 기호를 추가한다. 디렉토리는 /, 실행 파일은 *, 심볼릭 링크는 @이다. |
-i | 파일의 inode 번호를 표시한다. 하드 링크 관계를 확인할 때 유용하다. |
-d */ | 현재 디렉토리 내의 디렉토리만 표시한다. |
긴 형식
-l 옵션이 주어지면 각 파일에 대해 다음의 정보가 표시된다.
- 파일 모드
- 링크 수
- 소유자 이름
- 그룹 이름
- 파일의 바이트 수
- 마지막 수정 날짜
- 파일명
$ ls -l
drwxr-xr-x 2 user group 4096 Mar 15 14:30 Documents
# 1 |2| 3 | 4 | 5 | 6 | 7
파일 모드
파일 모드는 파일의 유형과 권한으로 구성된다. 유형, 소유자 권한, 그룹 권한, 기타 사용자 권한 순이다.
유형
| 그룹 권한
| |
- ---
drwxr-xr-x ...
--- ---
| |
| 기타 사용자 권한
소유자 권한
유형
-: 일반 파일b: 블록 특수 파일c: 문자 특수 파일d: 디렉토리l: 심볼릭 링크p: FIFO (named pipe)s: 소켓w: 화이트아웃
권한
권한은 3개의 문자로 표시된다. 순서대로 읽기, 쓰기, 실행 권한을 의미한다.
1. 읽기 권한
r: 파일을 읽을 수 있다.-: 파일을 읽을 수 없다.
2. 쓰기 권한
w: 파일을 쓸 수 있다.-: 파일을 쓸 수 없다.
3. 실행 권한
x: 파일이 실행 가능하거나, 디렉토리 내부에 접근할 수 있다.-: 파일을 실행할 수 없거나, 디렉토리 내부에 접근할 수 없다.
특수 권한
setuid (set user ID)
- 표시: 소유자의 실행 권한 위치(3번째)
- 의미: 파일을 실행할 때, 실행하는 사용자의 권한이 아닌 파일 소유자의 권한으로 실행됨
s: 실행 권한이 있을 때S: 실행 권한이 없을 때
setgid (set group ID)
- 표시: 그룹의 실행 권한 위치(6번째)
- 의미: 파일을 실행할 때, 실행하는 사용자의 그룹이 아닌 파일 그룹의 권한으로 실행됨
s: 실행 권한이 있을 때S: 실행 권한이 없을 때
sticky bit
- 표시: 기타 사용자의 실행 권한 위치(9번째)
- 의미: 주로 디렉토리에 사용되고, 디렉토리 내부 파일은 소유자만 삭제할 수 있음
t: 실행 권한이 있을 때T: 실행 권한이 없을 때