인디안 보호구역

[Linux] ls (List Segments) 본문

Study/보안 공부하는 인디안

[Linux] ls (List Segments)

Indie-An 2015. 7. 13. 21:20


1. ls 명령어란?


ls (List Segments)는 POSIX[각주:1] [각주:2] 및 SUS[각주:3] [각주:4] [각주:5] [각주:6]에 규정되어 있는 유닉스 계열 운영체제의 명령어 가운데 하나이며, 파일의 목록을 표시하는 기능을 수행하는 명령어이다. 도스에서의 Dir과 유사한 명령어이다.






2. ls 명령어의 사용법


ls 명령어는 여러가지 옵션을 가지고 있다. 사용법을 모르는 명령어가 나오면, 명령어 뒤에 --help 혹은 -h 등을 넣으면 사용법을 알 수 있으니 참고해두자.



옵션은 이렇게나 많고, 또 여러개 섞어서 쓸 수도 있다. 영어라서 보기 싫으니 한국어로 써보자.



0) 기본(옵션 없음)

위와 같이 현재 디렉터리 내의 파일을 출력한다.


1) - a or A

a : 모든 파일을 다 출력한다. '.'이나 '..'와 같이 점으로 시작하는 경로파일도 모두 출력한다.

A: '.'이나 '..'를 제외하고 모든 파일을 출력한다.


2) - l or L

abc 순서대로 안하고 순서를 바꾼 것에는 다 이유가 있다.

첫째, l을 알아야 나머지 설명하기가 편하고,

둘째, 처음엔 이 옵션을 제일 많이 사용한다.

어차피 ctrl+f 로 찾으면 되는데 굳이 순서대로 할 필요가 없지 않은가?

자, 그럼 밑에 이미지를 보라.

l : 파일을 나열할 때, 자세히 출력한다.(파일의 종류, 파일 권한, 하드 링크번호, 소유자 이름, 그룹 이름, 파일크기, 파일이 만들어진 시간)

L : 심볼릭 링크파일들을 그냥 파일로 보여준다, 심볼릭 링크를 따라가 링크된 목록을 출력합니다.

심볼릭 링크는 윈도우의 '바로가기' 와 유사한 개념이다. L 옵션은 바로가기 파일의 속성을 드러내는 것이 아니라, 본래 파일의 속성을 제공한다는 뜻이다.


이렇게 l, L을 동시에 사용할 수도 있다. 만약 위의 파일 중에 심볼릭 링크파일이 있었다면 조금 다른 결과가 나왔을 것이다.



-l 옵션으로 얻게되는 자세한 정보들에 대해서.

http://indie-an.tistory.com/entry/Linux-%ED%8C%8C%EC%9D%BC%EC%9D%98-%EC%A2%85%EB%A5%98-%ED%8C%8C%EC%9D%BC-%EA%B6%8C%ED%95%9C




4) - c or C

c : 파일의 최근 변경 시간에 따라 보여준다

C : 정렬방식을 세로로 한다. (열단위로 목록을 출력한다.)


5) - d or D

d : 경로 안의 내용을 나열하지 않고 그 경로를 보여준다. 즉, 디렉토리의 내용 대신 디렉토리를 출력합니다

D : - 생략 -


6) - f or F

아무래도 파일 수가 적어서 정렬의 모습이 잘 나타나지도 않고, 다 실행파일만 있길래 디렉터리를 몇개 더 만들어봤다.

f : 경로 내용을 정렬하지 않고 디스크에 저장된 순으로 보여준다.

F : 파일 형식을 알리는 문자를 각 파일 뒤로 추가한다. 일반적으로 실행파일은 "*", 경로는 "/", 심볼릭 링크는 "@",FIFO는 "ㅣ", 소켓은 "=", 일반적인 파일은 없다. 파일의 종류 표시(*:실행파일, /:디렉토리,@:심볼릭 링크)


7) - h or H

h : 파일사이즈를 용량단위(Mb,Gb)를 붙여서 출력해 준다.

H : - 생략 -


8) - i

i : 파일 왼쪽에 색인 번호를 보여준다.  각 파일들의 색인번호(inode)를 각 행의 맨 앞에 출력한다.


9) - r or R

r : 정렬 순서를 내림차순으로 한다. 출력결과를 정열할 때에서 내림차순으로 정렬한다.(Descending)

R : 하위 경로와 그 안에 있는 모든 파일들도 나열한다. 지정한 디렉토리이하에 있는 하부디렉토리와 파일들을 모두 포함한다.(Recursive)


10) - s or S

s : 파일크기를 1KB단위로 나타낸다 POSIXLY_CORRECT 환경변수가 지정되면 512KB 단위로 지정된다.

S : 파일크기가 가장 큰 것부터 정렬해서 나열한다. 파일사이즈가 가장 큰 것부터 순서대로 나열한다.


11) - t

t : 파일 시간순으로 정렬하다. 최근 파일이 제일 먼저.


12) - u or U

u : 파일사용 시간순으로 정렬한다. 자세하게 나열할 때 시간표시는 만들어진 날짜대신 사용된 날짜를 보여준다.

U : 정렬을 하지 않고 디스크에 저장된 순서대로 보여준다.


13) - x or X

x : 정렬방식을 가로로 한다

X : 파일 확장자순으로 정렬한다. 확장자가 없는 파일이 제일 먼저 나열된다.


14) - 1

1 : 한줄에 한개의 파일만을 출력한다.




3. 정리


이번에 알아본 내용은 리눅스에서 가장 기본적인 명령어인 ls(List Segments)였다.

이와 함께 퍼미션, 링크 개념, 유저권한, 그룹권한 등에 대해서도 알아보았다.


다음번엔 퍼미션과 관련된 명령어들과 SetUID, SetGID, 파일의 소유권 등을 알아본다.

ltrace나 strace 먼저 할 수도 있고.








  1. 1) POSIX (Portable Operating System Interface)는 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 애플리케이션 인터페이스 규격이다. [본문으로]
  2. 2) IEEE (Institute of Electrical and Electronics Engineers : 전기 전자 기술자 협회)는 전기전자공학 전문가들의 국제조직이며, 주요 표준 및 연구 정책을 발전시키고 있다. [본문으로]
  3. 3) SUS (Single UNIX Specification : 단일 유닉스 규격)은 컴퓨터의 운영체제가 유닉스란 이름을 사용하기 위해 지켜야하는 표준 규격의 총칭이다. SUS는 IEEE와 오픈 그룹(The Open Group)의 표준화 작업 결과물에 바탕을 두고 있으며, 오스틴 그룹이 개발 및 유지 관리를 담당하고 있다. 단일 유닉스 규격 이전에 존재하였던 POSIX는 'ISO/IEC JTC 1'의 관리가 종료되어, 오스틴 그룹이 유지 관리 작업에 관여하고 있다. [본문으로]
  4. 4) ISO/IEC JTC 1 (International Organization for Standardization/International Electrotechnical Commission Joint Technical Committee 1)은 ISO와 IEC의 첫번째 합동 기술 위원회이다. ISO의 정보 기술 표준안과 IEC의 정보 기술 표준안의 충돌을 막음으로 정보 기술의 표준화를 보다 효율적으로 추진하는 것이 주 목적이다. [본문으로]
  5. 5) ISO (International Organization for Standardization : 국제 표준화 기구)는 여러 나라의 표준 제정 단체들의 대표들로 이루어진 국제적인 표준화 기구이다. 나라마다 다른 산업, 통상 표준의 문제점을 해결하고자 국제적으로 통용되는 표준을 개발하고 보급한다. [본문으로]
  6. 6) IEC (International Electrotechnical Commission : 국제 전기기술 위원회)는 전기, 전자, 통신, 원자력등의 분야에서 각국의 규격·표준의 조정을 행하는 국제기관이다. ISO의 전기·전자 부문을 담당하고 있다. 본부는 스위스의 제네바이며, 대한민국에서는 지식경제부 기술표준원이 이 회의의 구성원이다. [본문으로]
Comments