본문 바로가기
C.W.K.
Stream
Lesson 03 of 12 · published

ls를 제대로 쓰는 플래그

~12 min · ls, flags, macos

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

-lah 다음에 익힐 것

ls -lah로 자세한 목록과 숨김 항목을 보는 법은 이미 알지. 이제 정렬과 표시 방식을 바꾸는 플래그를 익히면, 간단한 확인 작업은 find까지 꺼내지 않고 ls만으로 끝낼 수 있어.

원하는 순서로 정렬해

  • -t를 붙이면 수정 시각이 가장 최근인 항목부터 보여 줘.
  • -tr는 그 순서를 뒤집어서 최근 항목을 맨 아래에 둬. 그래서 ls -tr | tail을 실행하면 가장 최근에 바뀐 항목을 바로 집어낼 수 있어.
  • -S는 크기가 큰 항목부터 정렬해. ls -lhS | head는 어느 파일이 공간을 많이 차지하는지 빠르게 확인할 때 유용해.
  • GNU ls-X는 확장자 기준으로 정렬해. macOS의 기본 BSD ls에는 없는 옵션이야.

목록에 무엇을 표시할지 정해

  • -1을 붙이면 항목을 한 줄에 하나씩 출력해서 다음 명령으로 넘기기 쉬워져.
  • -F는 디렉터리 뒤에 /, 실행 파일 뒤에 *, 심볼릭 링크 뒤에 @를 붙여 종류를 구분해 줘.
  • -d는 디렉터리 안을 펼치지 않고 디렉터리 자체만 보여 줘. ls -d */을 쓰면 하위 디렉터리 이름만 볼 수 있어.
  • -i는 inode 번호를 표시하므로 여러 이름이 같은 파일을 가리키는 하드 링크를 추적할 때 쓸 수 있어.
  • 출력에 색을 넣으려면 BSD 계열에서는 -G, GNU 계열에서는 --color=auto를 사용해.

숨김 항목은 -a-A가 다르게 보여

-a는 숨김 항목뿐 아니라 현재 디렉터리를 뜻하는 .과 부모 디렉터리를 뜻하는 ..까지 포함해. 그 둘을 제외한 숨김 항목만 보고 싶다면 보통 -A가 더 편해.

필요한 만큼 시각을 자세히 표시해

기본 ls -l은 오래된 파일에는 연도를, 최근 파일에는 시각을 표시해. GNU ls에서는 ls -l --time-style=full-iso로 ISO 8601 형식의 자세한 시각을 볼 수 있고, macOS의 BSD ls에서는 ls -lT를 사용하면 돼.

정렬 기준과 시간 열을 함께 읽어

ls -lt가 보여 주는 시각은 보통 수정 시각이야. 파일을 만든 시각이나 메타데이터가 바뀐 시각과는 다를 수 있어. 오래된 파일을 찾거나 자동 정리할 때는 화면에 보이는 시간 열만 믿지 말고 어떤 시각을 기준으로 삼는지 명시해.

사람용 목록을 파서로 쓰지 마

ls 출력은 색, 로케일, 공백과 줄바꿈이 든 파일명 때문에 기계 처리가 깨질 수 있어. 스크립트에서 파일을 순회하려면 글로브, find -print0, 언어의 파일 API처럼 항목의 경계를 보존하는 방법을 써.

Code

디스크 누가 잡아먹어?·bash
ls -lhS ~/Downloads | head
# 가장 큰 디렉터리 찾기
du -sh * 2>/dev/null | sort -h | tail
서브디렉터리 이름만·bash
ls -d */
# 숨김 디렉터리도 포함
ls -d .*/ */ 2>/dev/null

External links

Exercise

홈 디렉터리에서 ls -tr | tail, ls -lhS | head, ls -d */, ls -lA를 차례로 실행해 각 명령이 어떤 질문에 답하는지 적어 봐. 마지막에는 ls -lhSr ~/Downloads | tail로 큰 다운로드 항목이 아래에 오는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.