ls 명령은 지정한 디렉터리의 내용을 화면에 나열해 주는 리눅스의 기본 명령어입니다. 이 글에서는 ls 명령에서 사용할 수 있는 모든 옵션과 실전 예제를 자세히 살펴봅니다.
ls 명령 주요 옵션
| 옵션 | 설명 |
|---|---|
| -a | 점(.)으로 시작하는 항목을 포함한 모든 파일을 나열 |
| -A | . 과 .. 을 제외한 모든 파일을 나열 |
| -c | 파일 변경(change) 시간 기준으로 정렬 |
| -d | 디렉터리 자체의 정보만 나열 |
| -h | 사람이 읽기 쉬운 형식(K, M 등)으로 크기 표시 |
| -H | -h와 동일하되 1024 대신 1000 단위로 계산 |
| -l | 상세(long listing) 형식으로 내용 출력 |
| -o | 그룹 정보를 제외한 상세 형식으로 출력 |
| -r | 역순으로 정렬하여 출력 |
| -s | 각 파일의 블록(block) 단위 크기 출력 |
| -S | 파일 크기 기준으로 정렬 |
| --sort | 지정한 단어(size, version, status 등) 기준으로 정렬 |
| -t | 수정(modification) 시간 기준으로 정렬 |
| -u | 마지막 접근(access) 시간 기준으로 정렬 |
| -v | 버전(version) 기준으로 정렬 |
| -1 | 한 줄에 파일 하나씩 나열 |
파일 목록 나열하기
ls 명령은 지정한 디렉터리의 내용을 나열하며, 점(.)으로 시작하는 숨김 파일(dotfile)은 기본적으로 제외됩니다. 디렉터리를 지정하지 않으면 현재 디렉터리의 내용이 출력됩니다.
나열된 파일은 기본적으로 가나다(알파벳)순으로 정렬되며, 한 줄에 모두 표시할 수 없는 경우 여러 열(column)로 정렬되어 출력됩니다.
예시:
$ ls
apt configs Documents Music workspace
bin Desktop git Pictures Public Videos
상세(Long Listing) 형식으로 파일 나열하기
ls 명령에 -l 옵션을 사용하면 지정한 디렉터리의 내용을 권한, 소유자, 크기, 수정 시간 등 상세 정보와 함께 출력할 수 있습니다. 디렉터리를 지정하지 않으면 현재 디렉터리가 기준이 됩니다.
ls -l /etc
출력 예시:
total 1204
drwxr-xr-x 3 root root 4096 Apr 21 03:44 acpi
-rw-r--r-- 1 root root 3028 Apr 21 03:38 adduser.conf
drwxr-xr-x 2 root root 4096 Jun 11 20:42 alternatives
...
최근 수정된 파일 10개 나열하기
아래 명령은 상세 형식(-l)과 시간순 정렬(-t)을 조합하여, 현재 디렉터리에서 가장 최근에 수정된 파일 최대 10개를 출력합니다.
ls -lt | head
숨김 파일(Dotfile)까지 모두 나열하기
도트 파일(dotfile)은 이름이 점(.)으로 시작하는 파일을 말합니다. 이러한 파일은 일반적으로 ls 명령에서 숨겨지며, 별도의 요청이 없으면 목록에 표시되지 않습니다. 예를 들어 아래 출력 결과에는 도트 파일이 나타나지 않습니다.
$ ls
bin pki
-a 또는 --all 옵션을 사용하면 도트 파일을 포함한 모든 파일을 나열할 수 있습니다.
예시:
$ ls -a
. .ansible .bash_logout .bashrc
.. .bash_history .bash_profile bin pki
트리(Tree) 구조로 파일 나열하기
tree 명령은 지정한 디렉터리의 내용을 트리 구조 형태로 보여 줍니다. 디렉터리를 지정하지 않으면 현재 디렉터리가 기준이 됩니다.
출력 예시:
$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
└── image.FPWTJY.png
tree 명령의 -L 옵션으로 표시 깊이를 제한할 수 있고, -d 옵션을 사용하면 디렉터리만 나열할 수 있습니다.
출력 예시:
$ tree -L 1 -d /tmp /tmp
└── evince-20965
파일 크기순으로 정렬하여 나열하기
ls 명령의 -S 옵션은 파일을 크기 내림차순으로 정렬하여 출력합니다.
$ ls -l -S ./Fruits
total 8
-rw-rw-rw- 1 root root 166703 Jan 28 00:09 apples.jpg
-rw-rw-rw- 1 root root 134270 Jan 28 00:09 kiwis.jpg
-rw-rw-rw- 1 root root 30134 Jan 28 00:09 bananas.jpg
여기에 -r 옵션을 함께 사용하면 정렬 순서가 반대로 바뀌어 오름차순으로 표시됩니다.
$ ls -l -S -r ./Fruits
total 8
-rw-rw-rw- 1 root root 30134 Jan 28 00:09 bananas.jpg
-rw-rw-rw- 1 root root 134270 Jan 28 00:09 kiwis.jpg
-rw-rw-rw- 1 root root 166703 Jan 28 00:09 apples.jpg
마무리
이번 글에서는 ls 명령을 활용해 파일을 나열하는 다양한 옵션들을 살펴보았습니다. 각 옵션을 조합하면 원하는 형식과 순서로 파일 목록을 손쉽게 확인할 수 있으니, 실무에서 적극적으로 활용해 보시기 바랍니다.