Linux中的15個(gè)基本‘ls’命令示例

字號(hào):


    ls命令是Linux系統(tǒng)中最被頻繁使用的命令之一,我相信ls命令一定是你進(jìn)入一臺(tái)Linux系統(tǒng)的電腦打開命令提示符后第一個(gè)使用的命令。我們每天都在頻繁地使用ls命令,即使我們可能沒(méi)有意識(shí)也從來(lái)用不到所有可用的選項(xiàng)。本文中,我們將討論下一些基本的ls命令并且覆蓋盡可能多的有關(guān)參數(shù)來(lái)講解。
    
    1. 不帶任何選項(xiàng)列出文件
    不帶選項(xiàng)的ls命令來(lái)光禿禿地列出文件和目錄,我們是不能看到像文件類型、大小、修改日期和時(shí)間、權(quán)限以及鏈接這樣具體的信息的。
    # ls
    0001.pcap Desktop Downloads index.html install.log.syslog Pictures Templates
    anaconda-ks.cfg Documents fbcmd_update.php install.log Music Public Videos
    2 帶 –l 選項(xiàng)列出文件列表
    你看,ls -l(-l是字母不是“1”)就能展示出是文件還是目錄,它的大小、修改日期和時(shí)間、文件或目錄的名字以及文件的屬主和它的權(quán)限。
    # ls -l
    total 176
    -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
    -rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents
    drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads
    -rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php
    -rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html
    -rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log
    -rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
    3. 瀏覽隱藏文件
    列出所有文件包括以‘.’開頭的隱藏文件。
    # ls -a
    . .bashrc Documents .gconfd install.log .nautilus .pulse-cookie
    .. .cache Downloads .gnome2 install.log.syslog .netstat.swp .recently-used.xbel
    0001.pcap .config .elinks .gnome2_private .kde .opera .spice-vdagent
    anaconda-ks.cfg .cshrc .esd_auth .gtk-bookmarks .libreoffice Pictures .tcshrc
    .bash_history .dbus .fbcmd .gvfs .local .pki Templates
    .bash_logout Desktop fbcmd_update.php .ICEauthority .mozilla Public Videos
    .bash_profile .digrc .gconf index.html Music .pulse .wireshark
    4. 用 -lh 選項(xiàng)來(lái)以易讀方式列出文件
    用-lh組合選項(xiàng),以易讀方式來(lái)顯示大小。
    # ls -lh
    total 176K
    -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
    -rw-------. 1 root root 1.6K Jul 31 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Desktop
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Documents
    drwxr-xr-x. 4 root root 4.0K Aug 16 02:55 Downloads
    -rw-r--r--. 1 root root 21K Aug 12 12:42 fbcmd_update.php
    -rw-r--r--. 1 root root 46K Jul 31 09:58 index.html
    -rw-r--r--. 1 root root 48K Jul 31 02:17 install.log
    -rw-r--r--. 1 root root 12K Jul 31 02:13 install.log.syslog
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Music
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Pictures
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Public
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Templates
    drwxr-xr-x. 2 root root 4.0K Jul 31 02:48 Videos
    5. 以尾部以‘/’字符結(jié)尾的方式列出文件和目錄
    使用 ls 命令的 -F 選項(xiàng),會(huì)在每個(gè)目錄的末尾添加“/”字符顯示。
    # ls -F
    0001.pcap Desktop/ Downloads/ index.html install.log.syslog Pictures/ Templates/
    anaconda-ks.cfg Documents/ fbcmd_update.php install.log Music/ Public/ Videos/
    6. 倒序列出文件
    ls -r 選項(xiàng)能以倒序方式顯示文件和目錄。
    # ls -r
    Videos Public Music install.log fbcmd_update.php Documents anaconda-ks.cfg
    Templates Pictures install.log.syslog index.html Downloads Desktop 0001.pcap
    7. 遞歸列出子目錄
    ls -R 選項(xiàng)能列出非常長(zhǎng)的目錄樹,來(lái)看看示例輸出:
    # ls -R
    total 1384
    -rw-------. 1 root root 33408 Aug 8 17:25 anaconda.log
    -rw-------. 1 root root 30508 Aug 8 17:25 anaconda.program.log
    ./httpd:
    total 132
    -rw-r--r-- 1 root root 0 Aug 19 03:14 access_log
    -rw-r--r--. 1 root root 61916 Aug 10 17:55 access_log-20120812
    ./lighttpd:
    total 68
    -rw-r--r-- 1 lighttpd lighttpd 7858 Aug 21 15:26 access.log
    -rw-r--r--. 1 lighttpd lighttpd 37531 Aug 17 18:21 access.log-20120819
    ./nginx:
    total 12
    -rw-r--r--. 1 root root 0 Aug 12 03:17 access.log
    -rw-r--r--. 1 root root 390 Aug 12 03:17 access.log-20120812.gz
    8. 以修改時(shí)間倒序列出
    帶-ltr組合選項(xiàng)能以文件或目錄的最新修改時(shí)間的次序來(lái)顯示它們。
    # ls -ltr
    total 176
    -rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog
    -rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log
    -rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents
    -rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html
    -rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php
    drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads
    -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
    9. 按文件大小排序
    帶-lS組合選項(xiàng)能按文件從大到小的次序顯示。
    # ls -lS
    total 176
    -rw-r--r--. 1 root root 48867 Jul 31 02:17 install.log
    -rw-r--r--. 1 root root 46701 Jul 31 09:58 index.html
    -rw-r--r--. 1 root root 21262 Aug 12 12:42 fbcmd_update.php
    -rw-r--r--. 1 root root 11439 Jul 31 02:13 install.log.syslog
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents
    drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates
    drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos
    -rw-------. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg
    -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap
    10. 顯示文件或目錄的索引節(jié)點(diǎn)號(hào)
    我們有時(shí)候可以看到一些數(shù)字打印在文件或目錄名之前,帶-i選項(xiàng)就能列出文件或目錄的索引節(jié)點(diǎn)號(hào)。
    # ls -i
    20112 0001.pcap 23610 Documents 23793 index.html 23611 Music 23597 Templates
    23564 anaconda-ks.cfg 23595 Downloads 22 install.log 23612 Pictures 23613 Videos
    23594 Desktop 23585 fbcmd_update.php 35 install.log.syslog 23601 Public
    11. 顯示ls命令的版本
    查看ls命令的版本。
    # ls --version
    ls (GNU coreutils) 8.4
    Copyright (C) 2010 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Written by Richard M. Stallman and David MacKenzie.
    12. 顯示幫助頁(yè)面
    列出ls命令的選項(xiàng)幫助頁(yè)面。
    # ls --help
    Usage: ls [OPTION]... [FILE]...
    13. 列出目錄信息
    用ls -l命令列出/tmp目錄下的文件,其中-ld參數(shù)可以只顯示/tmp目錄的信息。
    # ls -l /tmp
    total 408
    drwx------. 2 narad narad 4096 Aug 2 02:00 CRX_75DAF8CB7768
    -r--------. 1 root root 384683 Aug 4 12:28 htop-1.0.1.tar.gz
    drwx------. 2 root root 4096 Aug 4 11:20 keyring-6Mfjnk
    drwx------. 2 root root 4096 Aug 16 01:33 keyring-pioZJr
    drwx------. 2 gdm gdm 4096 Aug 21 11:26 orbit-gdm
    drwx------. 2 root root 4096 Aug 19 08:41 pulse-gl6o4ZdxQVrX
    drwx------. 2 narad narad 4096 Aug 4 08:16 pulse-UDH76ExwUVoU
    drwx------. 2 gdm gdm 4096 Aug 21 11:26 pulse-wJtcweUCtvhn
    -rw-------. 1 root root 300 Aug 16 03:34 yum_save_tx-2012-08-16-03-34LJTAa1.yumtx
    # ls -ld /tmp/
    drwxrwxrwt. 13 root root 4096 Aug 21 12:48 /tmp/
    14. 顯示文件的UID和GID
    用ls -n命令來(lái)顯示文件和目錄的UID(譯者注:userid,用戶ID)和GID(譯者注:groupid,組ID)。
    # ls -n
    total 36
    drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Downloads
    drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Music
    drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Pictures
    -rw-rw-r--. 1 500 500 12 Aug 21 13:06 tmp.txt
    drwxr-xr-x. 2 500 500 4096 Aug 2 01:52 Videos
    15. ls命令和它的別名
    我們給ls命令設(shè)置如下別名之后,當(dāng)我們執(zhí)行l(wèi)s命令的時(shí)候它會(huì)默認(rèn)執(zhí)行-l選項(xiàng)并且像上文提到的那樣顯示長(zhǎng)列表。
    # alias ls="ls -l"
    注意:我們可以通過(guò)不加任何參數(shù)的alias命令來(lái)看到目前系統(tǒng)中可用的所有alias設(shè)置,當(dāng)然它們同時(shí)也可以u(píng)nalias來(lái)取消。
    # alias
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    刪除一項(xiàng)之前定義的alias設(shè)置,只需用unalias命令即可。
    # unalias ls