ls
는 현재 디렉토리의 파일 리스트를 보여주는 명령어이다.
ls
명령어와 함께 사용되는 여러가지 옵션을 통해 다양한 형태로 현재 디렉토리의 파일 리스트를 조회할 수 있다.
-a
는 숨김파일을 포함하여 현재 디렉토리의 모든 항목을 표시해주는 옵션이다.
-d
는 파일을 제외하고 디렉토리 정보만을 표시해주는 옵션이다.
-d
는 -l
과 함께 사용해야 한다.
-F
는 항목에 대한 정보를 좀 더 쉽게 알 수 있도록 해주는 옵션이다.
파일 종류 | 접미사 | 예시 |
---|---|---|
디렉토리 | / | dir/ |
실행파일 | * | file.sh* |
소켓 | = | socket= |
선입선출 | |(pipe) | file| |
링크 | @ | lib@ -> /usr/lib |
-l
은 각 파일의 모드, 링크 수, 소유자, 그룹, 크기(byte), 최종 수정 시간을 표시한다.
파일이 특수 파일인 경우 크기 필드에는 주 장치 번호와 부 장치 번호가 있다.
최종 수정 시간이 6개월 이전보다 더 과거이면 시간 필드가 월 날짜 연도
형식으로 표시되지만, 6개월 이내에 수정된 파일의 경우 시간 필드는 월 날짜 시간
형식으로 표시된다.
또한 링크수는 심볼 링크는 포함되지 않고 하드링크만 포함된다.
(참고로 모든 디렉토리는 기본적으로 상위 디렉토리와 현재 디렉토리 2가지의 하드 링크를 가진다)
여기에서 주의해서 봐야하는 부분은 가장 앞 부분이다.
맨 앞부분을 보면 -rw-rw-r--
와 같이 표시되는 부분을 볼 수 있다.
이 부분은 파일모드와 권한을 함께 표시해주는 부분이다.
가장 앞에 있는 부분이 파일모드, 뒤에 9자리가 권한에 속한다.
첫 번째 항목 | 의미 |
---|---|
d | 디렉토리 |
b | 블록 특수 파일 |
c | 문자 특수 파일 |
l | 기호 링크 |
선입선출(FIFO) 특수 파일 | p |
로컬 소켓 | s |
일반 파일 | - |
-m
은 디렉토리 항목들을 쉼표로 구분하여 보여준다.
-m
을 이용하면 위와같이 항목들이 쉼표로 구분되어 출력된다.
사람마다 다르겠지만 옵션없이 ls
명령어를 수행한 것 보다 가독성이 떨어지는 것 같다.
많이 사용하지 않을것 같은 옵션이다.
-R
은 하위 디렉토리의 내용까지 순차적으로 표시해준다.
위와같이 하위 디렉토리가 표시되는 것을 알 수 있다.
./bin:
은 현재 디렉토리에서 bin
디렉토리 하위에 있는 항목들을 표시하는 것이다.
-r
은 디렉토리의 항목을 역순으로 표시해준다.
-s
는 파일크기를 KB단위로 보여주고 현재 디렉토리 항목들의 파일크기 합을 보여준다.
-h
는 K, M, G단위를 사용하여 파일 크기를 사람이 보기 좋은 형태로 표시한다.
-t
는 최종 수정 시간을 기준으로 디렉토리 항목을 표시해준다. (가장 최근에 수정된 항목이 가장 위에 나타남)
-u
는 최종 액세스 시간을 기준으로 디렉토리 항목을 표시해준다,
(-t또는 -l과 함께 사용)
-c
는 최종 변경시간을 기준으로 디렉토리 항목을 표시한다(-t또는 -l과 함께 사용)
ls
는 기본적으로 수정시간
을 함께 출력한다.
이와 관련하여 수정시간, 액세스 시간, 변경시간에 대해 자세히 정리할 예정이다.
ls
와 관련된 명령어들은 ls -altr
처럼 여러가지를 조합하여 사용할 수 있는데 서로 상충되는 옵션을 사용했을 경우 마지막에 사용한 옵션이 적용된다.
ls -l --color=auto
의 Alias는 ll
이다.
숨김항목을 조회할 필요가 없는경우 ll
을 사용하면 편리하게 디렉토리 정보를 조회할 수 있다.