본문 바로가기
IT.인터넷

Linux 파일 및 디렉토리 상태 출력 명령어 (ls : List Contents of Directory)

by Mr-후 2017. 8. 23.
반응형

Linux 파일 및 디렉토리 상태 출력 명령 (ls : List Contents of Directory)

 

 

ls (List Contents of  Directory) 

예전에는 MS-DOS기반으로 dir 명령을 치던 때와 최근 들어 맥북을 사용하므로서 의도하지 않게 유닉스 기반 명령을 익혀야 했고 사용하게 되었는데 그래서 그 일환으로 Linux를 공부하는 것이기도 하다. 

터미널이나 command창에서 가장 많이 사용하는 명령어인 ls 명령어에 대해서 정리한다. 

 

ls 명령은 특정 디렉토리의 파일 리스트를 확인하는 명령이다. 리눅스의 가장 기본적인 명령이며, 특정 파일들의 정렬 및 쉘 프롬프트에서 표시되는 파일명의 색을 조절하여 사용할 수도 있다. 또한 dir, vdir명령도 ls에 링크되어 있기 때문에 똑같은 역할을 한다. 

 

younghuui-MacBook-Pro:~ younghumin$ ls --help

ls: illegal option -- -

usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

 

younghuui-MacBook-Pro:~ younghumin$ 

맥북의 터미널에서 ls --help 를 해보았다. 엄청난 옵션이 있는걸 확인할 수 있다. 

유닉스 기반인 맥북에서는 dir, vdir 명령은 적용이 되지 않는 것 같다. 

ls 명령의 사용법은 다음과 같다. 

# ls [옵션][파일]

ls -a 

이 옵션은 all의 뜻으로 시스템에 숨겨져서 있는 일반 사용자에게 보이지 않는 파일을 포함한 모든 파일과 디렉토리 이름을 화면에 보여준다. 이때 화면에 출력되는 '.'과 '..'는 현재 (Current)디렉토리와 상위(Parent) 디렉토리를 뜻하는 표시이다. 

younghuui-MacBook-Pro:~ younghumin$ ls -a

. .ssh

.. .stCommitMsg

.CFUserTextEncoding .subversion

.DS_Store .vscode

.Trash AndroidStudioProjects

.android Applications

.bash_history Desktop

.bash_sessions Documents

.cups Downloads

.dropbox Dropbox

.emulator_console_auth_token Library

.freemind Movies

.gitconfig Music

.gitignore_global Pictures

.gradle Public

.hgignore_global ubpay_ios

 

.oracle_jre_usage

ls -l 

이 옵션을 가장 많이 사용하며 long이라는 의미로, 파일 및 디렉토리 표시, 접근에 대한 허가사항, 링크 수 사용자, 등록명(그룹명)과 파일의 크기 및 최종적으로 수정된 시간 등을 세부적으로 나열하여 사용자에게 더 많은 파일과 디렉토리에 관한 정보를 제공한다. 

younghuui-MacBook-Pro:~ younghumin$ ls -l

total 0

drwxr-xr-x   4 younghumin  staff   136  7 20 13:29 AndroidStudioProjects

drwx------@  4 younghumin  staff   136  7  3 11:14 Applications

drwx------+  4 younghumin  staff   136  7 18 16:10 Desktop

drwx------+ 10 younghumin  staff   340  8 21 09:17 Documents

drwx------+ 52 younghumin  staff  1768  8 23 13:17 Downloads

drwx------@ 18 younghumin  staff   612  8 21 09:17 Dropbox

drwx------@ 69 younghumin  staff  2346  7 19 16:13 Library

drwx------+  3 younghumin  staff   102  7  3 11:00 Movies

drwx------+  5 younghumin  staff   170  7  3 17:59 Music

drwx------+  6 younghumin  staff   204  8 17 16:41 Pictures

drwxr-xr-x+  5 younghumin  staff   170  7  3 11:00 Public

 

drwxr-xr-x  16 younghumin  staff   544  7 21 11:34 ubpay_ios

첫 번째 필드의 'd' 표시는 이 정보가 디렉토리라는 것을 나타내며,

'-' 표시는 파일을 뜻한다. 

또한 특수한 파일은 첫번째 필드의 첫 칼럼에 'b'(블록 형태의 특수 파일), 'c'(문자 형태의 특수파일), 'p'(pipe fifo특수파일)등으로 표현한다. 파일 및 디렉토리의 접근에 대한 허가사항은 9개의 비트를 사용하여 나타내며, 이는 소유자명, 그룹명, 기타 사용자명에 대한 읽기(r), 쓰기(w), 실행(x), 허가 금지(-) 등으로 각각 3비트씩으로 표기한다. 

두 번째 필드에서는 링크된 파일 수를 나타내는데, 일반적으로 파일들의 링크 수는 1 이다. 

세 번째 필드에서는 디렉토리나 파일을 소유하는 현재 사용자명을 나타낸다. 

네 번째 필드는 사용자가 속한 그룹명을 나타낸다. 

다섯번째 필드는 파일 및 디렉토리의 총 크기를 나타낸다. 

여섯 번째 필드는 디렉토리 및 파일이 최종적으로 수정된 시간을 나타낸다. 

마지막 필드는 파일 및 디렉토리의 이름을 나타낸다.

 

 


대표적인 ls명령의 옵션 

-t    :    파일 및 디렉토리가 최종 수정된 시간순으로 화면에 보여준다. 

-r    :    파일 및 디렉토리가 알파벳 역순으로 화면에 보여준다. 

-F    :    파일 및 디렉토리 정보를 보여주며 실행 가능한 파일은 '*'를, 디렉토리는 '/'를 붙혀서 화면에 보여준다. 

-i    :    i-node번호를 파일 또는 디렉토리 이름 앞에 표준 출력한다. 

-s    :    파일 및 디렉토리 앞에 간접 블록을 포함한 블록 수를 나타낸다. 

-u    :    파일 및 디렉토리의 최종적으로 수정된 시간 대신 사용된 시간 즉, 최종 접근시간으로 보여준다. 


   

ls의 다양한 옵션 사용 예시. 

 

출처 : Linux CentOS기초에서 활용까지

반응형