리눅스/리눅스 명령어

명령어 ls

씨실과 날실 2018. 10. 24. 09:30


ls 명령어는 cp, mkdir, chmod, chown 등과 함께 굉장히 빈번하게 쓰게 되는 터미널 명령어이다.

ls 명령은 디렉토리 및 파일의 목록과 그에 관련한 속성 정보들을 표시하는 명령어이다.

오늘 포스트를 위해 study 계정 안에 간단한 구조의 디렉토리와 파일들을 생성하였다. 생성 내용은 아래 그림을 참고하자.

study 계정 폴더 안에 study라는 강의용 폴더를 만들고 그 안에 하위 폴더 하나와 파일 5개(하나는 숨김파일, 또 다른 하나는 하위 폴더 안에)를 만들어 두었다.

아래와 같이 명령어를 쳐서 프롬프트 작업 디렉토리를 바꿔어 주자.

study@study-VirtualBox:~$ cd ./study
study@study-VirtualBox:~/study$ 

stduy 디렉토리에서 ls 명령어를 쳐보자.

study@study-VirtualBox:~/study$ ls
study01  test01.txt  test02.txt  test_image.jpg
study@study-VirtualBox:~/study$ 

하위 폴더 하나와 텍스트파일 2개, 이미지 파일 하나가 검색된다.

그럼 하위 디렉토리 내 파일 목록까지 검색해보자.

study@study-VirtualBox:~/study$ ls -R
.:
study01  test01.txt  test02.txt  test_image.jpg

./study01:
test04.txt
study@study-VirtualBox:~/study$ 

하위 디렉토리 안에 무슨 파일이 있는지 알려준다.

그럼 숨김 파일까지 모두 드러나도록 해보자.

study@study-VirtualBox:~/study$ ls -a
.  ..  .test00.txt  study01  test01.txt  test02.txt  test_image.jpg
study@study-VirtualBox:~/study$ 

아까는 없던 .test00.txt 파일이 추가 되었다. 파일명 앞에 .(점)이 붙어 있으면 숨김파일이라는 뜻이다. 숨김파일을 만들 때 파일명 앞에 .(점)을 붙여주면 자동으로 숨김속성으로 생성된다. (여기서는 하위 디렉토리 내 파일 목록은 나타나지 않는다. 하위 디렉토리 내 파일 목록을 보여주려면 앞서 다룬 것처럼 옵션 -R을 붙여 주어야 한다.)

이제 디렉토리와 파일의 속성이 드러나도록 해보자. ls 명령어 옵션 중 이 옵션을 가장 빈번하게 쓰게 될 것인다.

study@study-VirtualBox:~/study$ ls -l
합계 152
drwxr-xr-x 2 study study   4096 10월 23 22:31 study01
-rw------- 1 root  root       5 10월 18 11:27 test01.txt
-rwxrwxrwx 1 root  root       5 10월 23 21:54 test02.txt
-rw-r--r-- 1 study study 136430 10월  5 16:45 test_image.jpg
study@study-VirtualBox:~/study$ 

일단 합계라 나온 부분은 해당 디렉토리의 도든 파일 크기의 합계를 알려주는 것이다. 결코 파일 개수를 알려주는 것이 아니므로 헷갈리지 말자.

그 아래 4개 줄이 나오는데 맨 위 d로 시작하는 첫 줄은 하위 디렉토리의 속성을 보여주는 것이다.

그 아래 -(줄표)로 시작되는 3개의 줄은 각 파일의 속성을 보여 주는 것이다.

ls -l 명령을 통해 우리는 디렉토리와 파일에 대하여 총 8개의 속성 정보를 알 수 있다.

합계 밑의 첫번째 줄과 세번째 줄을 통해 이것들이 나타내는 것에 대해 알아보자.

기본적으로 이 줄이 알려주는 내용은 다음과 같다.

해당 목록의 속성 / 소유자 권한 / 그룹 권한 / 기타 권한 / 링크 개수 / 소유자 / 그룹 / 파일크기 / 생성 일시 / 해당 목록의 이름

첫번째 줄과 세번째 줄을 예를 들어 알아보자.

drwxr-xr-x 2 study study   4096 10월 23 22:31 study01

위의 첫번째 줄은 다음과 같이 끊어서 볼 수 있다.

d / rwx / r-x / r-x // 2 // study // study // 4096 // 10월 23 22:31 // study01

첫 번째는 해당 목록의 속성(디렉토리냐 파일이냐, 파일의 경우 어떤 속성의 파일이냐)

두번째 항목은 소유자의 권한

세 번째 항목은 그룹의 권한

네 번째 항목은 소유자나 해당 그룹에 속하지 않은 기타 계정의 권한

다섯 번째는 링크된 개수

여섯 번째는 소유자

일곱 번째는 그룹

여덟 번째는 파일 크기

아홉번째는 생성 일시

열 번째는 해당 목록의 이름

즉 첫번째 줄의 항목은 다음과 같은 속성들을 가지는 것이다.

디렉토리이고, 소유자는 읽고 쓰고 실행하는 모든 권한을 행사할 수 있고, 그룹은 읽고 실행만 할 수 있고 쓸 수는 없으며, 그외 기타 계정 소유자는 읽고 실행만 할 수 있을 뿐 쓰지 못한다. 해당 디렉토리의 소유자는 study고 그룹은 studydy이다. 디렉토리가 차지하고 있는 용량은 4096byte이다. 10월 23일 22시 31분에 만들어졌고, 디렉토리 이름은 study01이다.

이제 세번째 줄을 알아보자.

-rwxrwxrwx 1 root  root       5 10월 23 21:54 test02.txt

파일이고, 소유자와 그룹 그리고 그외 다른 계정 소유자 모두 읽고 쓰고 실행할 수 있다. 링크된 개수는 자기 자신 하나다. 소유자는 root이고 그룹은 root이다. 파일 크기는 5byte이다. 10월 23읽 21시 54분에 만들어졌다. 파일 이름은 test02이고 확장자는 txt이다.

ls -l은 이렇게 해당 목록에 대한 굉장히 상세한 정보를 제공한다. 특히 이 옵션이 제공하는 퍼미션 정보는 멀티유저 운영체제인 리눅스에서 굉장히 유용히 쓰인다.

참고로 이 퍼미션 정보는 chmod, chown 명령어를 다룰 때 보다 자세히 다루도록 하겠다.

폴더와 파일의 구별을 확실히 해주는 명령은 다음과 같다.

study@study-VirtualBox:~/study$ ls -F
study01/  test01.txt  test02.txt*  test_image.jpg
study@study-VirtualBox:~/study$ 

파일이 아닌 디렉토리만의 정보를 알아보고자 할 때 다음과 같이 입력한다.

study@study-VirtualBox:~$ ls -d+기타 옵션 디렉토리명
예를 들면 다음과 같다.

study@study-VirtualBox:~/study$ ls -dl study01
drwxr-xr-x 2 study study 4096 10월 23 22:31 study01
study@study-VirtualBox:~/study$ 

위의 ls 명령들을 터미널에서 실행해본 화면이다.

그외에도 많은 옵션들이 있는데 위에서 다룬 옵션이 자주 쓰이는 옵션이다. 이 옵션을 한번에 적용하려면 다음과 같이 입력하면 된다.

study@study-VirtualBox:~$ ls -laRF

그럼 아래 그림과 같이 나올 것이다.

ls 명령어에 대한 자세한 사용법은 다음 명령어로 확인할 수 있다.

study@study-VirtualBox:~$ ls --help

아래 내용은 위 명령을 입력하면 나오는 ls 명령어 사용법이다.






'리눅스 > 리눅스 명령어' 카테고리의 다른 글

시스템 중지, 종료, 재부팅 명령 - halt, poweroff, reboot, shutdown  (0) 2020.06.14
명령어 wget  (0) 2018.10.25
명령어 mkdir  (0) 2018.10.22
명령어 service  (0) 2018.10.22
명령어 apt  (0) 2018.10.20
명령어 clear  (0) 2018.10.19
명령어 cp  (0) 2018.10.19
명령어 cd  (0) 2018.10.19