ls는 Linux 사용자가 알아야 하는 기본 명령 중 하나입니다.
ls 명령은 파일 시스템 내의 파일 및 디렉터리를 나열하고 이에 대한 자세한 정보를 표시합니다. GNU 핵심 유틸리티 패키지의 일부이며 모든 리눅스 배포판에 설치됩니다.
이 문서에서는 가장 일반적인 ls 옵션에 대한 실제 예제와 자세한 설명을 통해 ls 명령을 사용하는 방법을 보여 줍니다.
ls 명령 사용 방법
ls 명령의 구문은 다음과 같습니다.
ls [OPTIONS] [FILES]
옵션 및 인수 없이 사용할 경우 ls는 현재 작업 디렉토리에 있는 모든 파일의 이름 목록을 표시합니다.
파일은 터미널에 들어갈 수 있는 만큼 많은 열에 알파벳 순서로 나열됩니다.
ls
# cache db empty games lib local lock log mail opt run spool tmp
특정 디렉토리에 파일을 나열하려면 디렉토리 경로를 ls 명령에 인수로 전달합니다. 예를 들어 /etc 디렉토리의 내용을 나열하려면 다음을 입력합니다.
ls /etc
여러 개의 디렉토리와 파일을 공백으로 구분하여 전달할 수도 있습니다.
ls /etc /var /etc/passwd
함께 로그인한 사용자에게 디렉토리에 대한 읽기 권한이 없는 경우, 다음과 같은 메시지가 나타납니다.
ls /root
# ls: cannot open directory '/root': Permission denied
ls 명령에는 여러 가지 옵션이 있습니다. 아래 섹션에서는 가장 일반적으로 사용되는 옵션에 대해 살펴보겠습니다.
전체 목록 형식
ls 명령의 기본 출력에는 파일 및 디렉터리의 이름만 표시되지만 그다지 유용하지 않습니다.
-l(소문자 L) 옵션은 긴 목록 형식으로 파일을 인쇄하도록 지시합니다.
전체 목록 형식을 사용하면 다음 파일 정보를 볼 수 있습니다.
- 파일 형식
- 파일 사용 권한
- 파일에 대한 하드 링크 수
- 파일 소유자
- 파일 그룹
- 파일 크기
- 날짜 및 시간
- 파일 이름
ls -l /etc/hosts
# -rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
출력에서 가장 중요한 열에 대해 설명하겠습니다.
첫 번째 문자는 파일 형식을 나타냅니다. 이 예제에서 첫 번째 문자는 -이며, 일반 파일을 나타냅니다. 다른 파일 형식에 대한 값은 다음과 같습니다.
- - - 일반 파일
- b - 특수 파일을 차단
- c - 문자 특수 파일
- d - 디렉토리
- l - 심볼 링크
- n - 네트워크 파일
- p - FIFO
- s - 소켓
다음 9개 문자는 파일 사용 권한을 표시합니다. 처음 세 문자는 사용자를 위한 것이고, 다음 세 문자는 그룹을 위한 것이고, 마지막 세 문자는 다른 사용자를 위한 것입니다. chmod 명령을 사용하여 파일 사용 권한을 변경할 수 있습니다. 사용 권한 문자는 다음 값을 가질 수 있습니다.
- r - 파일을 읽을 수 있는 권한
- w - 파일에 쓸 수 있는 권한
- x - 파일을 실행할 수 있는 권한
- s - gid 비트를 설정
- t - 끈적끈적한 비트
이 예제에서 rw-r--r--는 사용자가 파일을 읽고 쓸 수 있고 그룹 및 다른 사용자가 파일을 읽기만 할 수 있음을 의미합니다. 권한 문자 뒤에 있는 숫자 1은 이 파일에 대한 하드 링크 수입니다.
다음 두 필드 루트는 파일 소유자 및 그룹을 표시하고 파일 크기(337)를 바이트 단위로 표시합니다. 크기를 사람이 읽을 수 있는 형식으로 인쇄하려면 -h 옵션을 사용합니다. choen 명령을 사용하여 파일 소유자를 변경할 수 있습니다.
숨김 파일을 표시
기본적으로 ls 명령에는 숨겨진 파일이 표시되지 않습니다. Linux에서 숨겨진 파일은 점(.)으로 시작하는 모든 파일입니다.
숨김 파일을 포함한 모든 파일을 표시하려면 -a 옵션을 사용합니다.
ls -la ~/
# drwxr-x--- 10 linuxize linuxize 4096 Feb 12 16:28 .
# drwxr-xr-x 18 linuxize linuxize 4096 Dec 26 09:21 ..
# -rw------- 1 linuxize linuxize 1630 Nov 18 2017 .bash_history
# drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 bin
# drwxr-xr-x 2 linuxize linuxize 4096 Jul 20 2018 Desktop
# drwxr-xr-x 4 linuxize linuxize 4096 Dec 12 2017 .npm
# drwx------ 2 linuxize linuxize 4096 Mar 4 2018 .ssh
출력을 정렬
이미 언급했듯이 기본적으로 ls 명령은 알파벳 순서로 파일을 나열하고 있습니다.
--sort 옵션을 사용하면 확장, 크기, 시간 및 버전별로 출력을 정렬합니다.
- --sort=extension (-X) - 확장자를 기준으로 알파벳 순으로 정렬
- --sort=size( -S) - 파일 크기별로 정렬
- --sort=time( -t) - 수정 시간별로 정렬
- --sort=version( -v) - 자연적 버전 번호
결과를 역 정렬 순서로 가져오려면 -r 옵션을 사용합니다.
예를 들어 /var 디렉토리의 파일을 수정 시간별로 역 정렬하려면 다음과 같이 사용합니다.
ls -ltr /var
ls 명령은 디렉터리 컨텐츠가 사용한 총 공간을 표시하지 않습니다. 디렉토리의 크기를 가져오려면 du 명령을 사용합니다.
하위 디렉토리를 재귀적으로 나열
-R 옵션은 ls 명령에 하위 디렉터리의 내용을 재귀적으로 표시하도록 지시합니다.
ls -R
'SW > 리눅스' 카테고리의 다른 글
Linux : 루프문 Until로 Bash 사용 방법, 예제, 명령어 (0) | 2021.06.20 |
---|---|
Linux : Bash Case 문 사용 방법, 예제, 명령어 (0) | 2021.06.19 |
Ubuntu 18.04 : OpenCart 설치 방법, 예제, 명령어 (0) | 2021.06.17 |
Cent OS 7 : 사용자를 추가 및 삭제하는 방법, 예제, 명령어 (0) | 2021.06.16 |
CentOS : EPEL repository 사용 설정 방법, 예제, 명령어 (0) | 2021.06.15 |