[IT 알아보기]/IT 소식

[리눅스명령어/1강] ls 사용

이호스트ICT 2009. 9. 8. 11:56

1. 기 능
파일시스템의 파일 목록을 보여준다.

2. 문 법
  ls [ 옵션 ][ 파일명(들) ]

3. 옵 션
-a : 도트로 시작되는 이름을 가진 파일명도 전부 보여준다.
-C : 가로 순서로 나열하여 출력한다.
-x : 세로 순서로 나열하여 출력한다.
-d : 현재 디렉토리에 대한 정보를 출력한다.
-l : 각 파일들에 대한 소유자, 권한, 갱신일 등의 자세한 정보를 출력한다.
-s : 파일이 얼마나 많은 디스크 블록을 차지하고 있는가를 보여준다.
-t : 파일 갱신일 순서대로 정렬한다.
-u : 엑세스(access)한 날짜 순서대로 정렬한다.
-c : inode가 마지막 바뀐 시간 순서대로 정렬한다.
-r : 정렬된 순서의 역으로 출력한다.
-i : 파일의 inode 번호를 보여준다.
-F : 파일의 특성을 쉽게 알 수 있는 문자를 나타낸다. 는 실행 가능한 파일을, /는 디렉토리 이름을 의미한다. @는 심볼릭 링크를 나타내고, =는 소켓(socket)을 나타낸다. 하지만 여러분의 리눅스는 기본적으로 이러한 특성을 보여줄 것이다.
-R : 현 디렉토리의 내용은 물론이고 서브 디렉토리의 내용까지 전부 보여준다.

4. 사용 방법 및 정보

가) l 옵션에서 볼수 있는 정보

파일 퍼미션, 링크갯수, 소유자, group, 파일 크기, 날짜, 파일명등을 알 수있다.
[root@ls ]# ls -l total 380 -rw-r--r--  1 root root 344028  3월 11 15:09 hanterm-xf-3-1.6.src.rpm
lrwxrwxrwx  1 root root   3594  3월 11 15:08 shm -> testshm
-rw-r--r--  1 root root   3594  3월 11 15:08 shmarray1.c
drwxr-xr-x  2 root root   4096  3월 11 15:09 test
-rwxr-xr-x  1 root root  11393  3월 11 15:08 testshm


위 그림에서 test에 대한 부분을 살펴 보면 다음과 같은 정보를 알수 있다.

퍼미션 링크갯수 소유권 파일크기 날짜 파일명
user group
drwxr-xr-x 2 root root 4096 3월 11일 15:09 test

퍼미션 / 소유권의 개념에 대해서 인터넷을 통한 검색으로 찾아보기 바랍니다.
total은 ls 로 표시된 파일 크기의 합계이다.
파일 부분에 “->"은 링크가 걸렸다는 것을 의미합니다.
shm -> testshm 라는 것은 shm = testshm이라는 등식이 성립합니다. 결국 shm를 편집/실행 등과 같은 행위를 하였을 경우 testshm 부분에 편집/실행이 된다는 의미입니다.

링크에 대한 개념을 좀 더 알고 싶다면 검색을 통해서 찾아보기 바랍니다.

나) -F 옵션에서 알 수 있는 정보
[root@ls ]# ls -F
hanterm-xf-3-1.6.src.rpm  shm@ shmarray1.c  test/  testshm*

위에 옵션에서의 -F를 참조하십시요. “*”는 실행가능한 파일입니다.

다) 유용한 옵션
-h 옵션은 byte 단위로 출력되는 것을 사람들이 알기 쉬운 Kbyte, Mbyte, Gbyte 형태로 표시해 준다.
[root@ls ]# ls -lh total 380K
-rw-r--r--  1 root root 336K  3월 11 15:09 hanterm-xf-3-1.6.src.rpm
lrwxrwxrwx  1 root root    11  3월 11 15:08 shm -> testshm
-rw-r--r--  1 root root  3.6K  3월 11 15:08 shmarray1.c
drwxr-xr-x  2 root root  4.0K  3월 11 15:09 test
-rwxr-xr-x  1 root root   12K  3월 11 15:08 testshm  

위에서 보듯이 ls -l 옵션과는 다르게 파일 크기가 Kbyte 단위로 변경된 것을 볼 수 있다.

-a 옵션은 디렉토리의 숨김파일까지 전부 표시해준다. [root@ls ]# ls -alh
total 404K
drwxr-xr-x   3 root root 4.0K  3월 11 15:45 .
drwxr-xr-x  30 root root 4.0K  3월 11 15:07 ..
-rw-r--r--   1 root root 3.6K  3월 11 15:45 .shmarray1.c
-rw-r--r--  1 root root 336K  3월 11 15:09 hanterm-xf-3-1.6.src.rpm
lrwxrwxrwx  1 root root    11  3월 11 15:08 shm -> testshm
-rw-r--r--  1 root root  3.6K  3월 11 15:08 shmarray1.c
drwxr-xr-x  2 root root  4.0K  3월 11 15:09 test
-rwxr-xr-x  1 root root   12K  3월 11 15:08 testshm

위에서 그 동안 나타나지 않았던 ".shmarray1.c"가 숨겨져 있던 파일입니다.

위의 설명은 전부 현재 자신이 위치한 디렉토리의 정보만을 가져왔다. 다른 위치의 디렉토리의 정보를 볼려고 하면 ls -alh /dir 형태로 치면 /dir의 파일 정보를 볼 수 있다.

5. 마치면서

위의 내용보다 좀 더 자세한 것을 사항을 알려면 man 페이지를 이용하기를 추천합니다.
쉘 상에서 “man ls”라고 치면 옵션에 대한 설명들을 좀 더 많이 볼 수 있습니다.