리눅스 ls 명령어 자주 쓰는 옵션 정리

명령줄 인터페이스 환경인 리눅스에서 ls는 가장 많이 쓰는 명령어 중 하나입니다. 경로에 있는 파일이나 디렉토리 리스트를 확인할 때 필수적으로, 습관적으로 사용하기 때문입니다. 그만큼 사용 가능한 옵션도 상당히 많습니다. 옵션을 모두 나열하는 것보다는 실무에서 유용하게 자주 사용할 수 있는 옵션 조합을 정리해봤습니다.

ls

파일 용량을 기준으로 내림차순 정렬

ls -lhS

이 옵션은 경로 내 있는 파일들의 용량을 확인하고 싶을 때 유용하게 사용할 수 있습니다. 용량을 기준으로 정렬해주기 때문에 어떤 파일이 가장 큰지 한눈에 들어옵니다.

  • I : 파일, 디렉토리 정보와 함께 세로로 리스트를 출력합니다. ll 명령어와 동일한 기능을 합니다.
  • h : 파일 크기를 키로바이트(K), 메가바이트(M), 기가바이트(G) 단위로 출력합니다.
  • S : 파일을 크기를 기준으로 내림차순으로 정렬합니다.

[예시]

[root@localhost mysql]# ls -lhS
total 1.7G
-rw-r--r--. 1 root root  865M Oct 22 19:25 mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
-rw-r--r--. 1 7155 31415 484M Sep 14 01:30 mysql-community-debuginfo-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 263M Sep 14 01:34 mysql-community-test-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  65M Sep 14 01:31 mysql-community-server-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  25M Sep 14 01:32 mysql-community-server-debug-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  17M Sep 14 01:28 mysql-community-client-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 4.1M Sep 14 01:31 mysql-community-embedded-compat-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2.6M Sep 14 01:29 mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2.2M Sep 14 01:31 mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 1.9M Sep 14 01:30 mysql-community-devel-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 1.6M Sep 14 01:31 mysql-community-libs-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 670K Sep 14 01:31 mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 647K Sep 14 01:29 mysql-community-common-8.0.31-1.el7.x86_64.rpm

하위 디렉토리를 포함해서 출력

ls *

*옵션을 사용하면 현재 위치를 기준으로 하위 디렉토리를 함께 출력해줍니다. 찾는 폴더나 파일이 어디 있는지 확인할 때 직관적으로 확인할 때 쓸만합니다. 원하는 폴더를 찾을 때 하나하나 들어가 볼 필요가 없습니다. 물론 위치가 전혀 감이 안 잡힐 땐 find 명령어가 더 편할 겁니다.

 

[예시]

[root@localhost sys]# ls *
bus:
ac97         container     hid    machinecheck  nd     pci_express  serio        typec       xen
acpi         cpu           i2c    mdio_bus      node   platform     snd_seq      usb
clockevents  edac          iio    memory        nvmem  pnp          spi          usb-serial
clocksource  event_source  ishtp  mipi-dsi      pci    scsi         thunderbolt  workqueue

class:
ata_device  devcoredump     hmm_device   misc           ppdev         sound          typec
ata_link    dma             hwmon        msr            pwm           spi_host       usbmon
ata_port    dmi             i2c-adapter  nd             raw           spi_master     vc
backlight   drm             input        net            rtc           spi_transport  vtconsole
bdi         drm_dp_aux_dev  iommu        pci_bus        scsi_device   thermal        watchdog
block       gpio            leds         pcmcia_socket  scsi_disk     tpm
bsg         graphics        mdio_bus     powercap       scsi_generic  tpmrm
cpuid       hidraw          mem          power_supply   scsi_host     tty

참고로 ls -R 명령어는 현재 있는 위치에서 최하위 디렉토리와 파일까지 모두 출력합니다. 그러나 이 명령어는 오히려 너무 많은 정보를 출력하기 때문에 잘 안쓰게 되는 거 같습니다.

마지막 수정일 기준으로 내림차순 정렬

ls -ltr
또는
ll -tr

이 옵션은 수정일을 기준으로 파일을 정렬할 때 사용합니다. 예를 들어, 로그 파일이 실시간 수정되는 모습을 ls -ltr로 반복해서 조회할 수 있습니다.

  • I : 파일, 디렉토리 정보와 함께 세로로 리스트를 출력합니다. ll 명령어와 동일한 기능을 합니다.
  • t : 파일이 수정된 시간을 출력합니다.
  • r : 반대로 출력합니다. 오름차순 내림차순을 지정하는 옵션으로 볼 수 있습니다.
[root@localhost mysql]# ls -ltr
total 1769752
-rw-r--r--. 1 7155 31415  16916168 Sep 14 01:28 mysql-community-client-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   2633904 Sep 14 01:29 mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415    662344 Sep 14 01:29 mysql-community-common-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 507228688 Sep 14 01:30 mysql-community-debuginfo-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   1961680 Sep 14 01:30 mysql-community-devel-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   4216960 Sep 14 01:31 mysql-community-embedded-compat-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   2218812 Sep 14 01:31 mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415   1582440 Sep 14 01:31 mysql-community-libs-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415    685968 Sep 14 01:31 mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  67166828 Sep 14 01:31 mysql-community-server-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415  25248244 Sep 14 01:32 mysql-community-server-debug-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 275570172 Sep 14 01:34 mysql-community-test-8.0.31-1.el7.x86_64.rpm
-rw-r--r--. 1 root root  906106880 Oct 22 19:25 mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
반응형

댓글

Designed by JB FACTORY