ls命令是Linux中最經常使用的命令之一。若是沒猜錯的話ls命令是入門者進入Linux Box命令提示符時使用的第一個命令。php
咱們可能不知道也不會使用全部可用的ls選項,但咱們天天都會頻繁使用ls命令。在本文中,咱們將討論基本的ls命令,咱們儘可能覆蓋更多的參數。html
ls沒有以裸露格式列出文件和目錄的選項,所以咱們將沒法查看詳細信息,例如文件類型,大小,修改的日期和時間,權限和連接等。node
# lsnginx
0001.pcapredis |
Desktopbash |
Downloadscookie |
index.htmlide |
install.log.syslogspa |
Pictures.net |
Templates
|
anaconda-ks.cfg |
Documents |
fbcmd_update.php |
install.log |
Music |
Public |
Videos |
在這裏,ls -l(-l不是字符)顯示文件或目錄,大小,修改的日期和時間,文件或文件夾的名稱以及文件的全部者及其許可。
# 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
列出全部文件,包括開頭的隱藏文件
# 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 |
結合使用-lh選項,羅列出可讀的格式而且顯示大小。
# 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
ls命令中使用-F選項,將在每一個目錄的末尾添加'/'字符。
#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/
|
如下帶有ls -r選項的命令以相反的順序顯示文件和目錄
#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
|
ls -R選項將列出很長的列表目錄樹。請參閱命令輸出示例。
# 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
與-ltr組合使用時,將顯示最新的修改文件或目錄日期。
# 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
與-lS組合使用時,按順序顯示文件大小,將首先顯示大文件。
# 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
咱們能夠看到在文件/目錄名稱以前打印了一些數字。使用-i選項可列出具備inode編號的文件/目錄。
檢查ls命令的版本。
# ls --version ls (GNU coreutils) 8.4 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. 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.
列出ls命令的幫助頁面及其選項。
# ls --help Usage: ls [OPTION]... [FILE]...
使用ls -l命令列出目錄/ tmp下的文件。其中-ld參數顯示/ 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/
顯示文件和目錄的UID和GID。與ls命令一塊兒使用選項-n。
# 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
咱們爲ls命令設置了別名,當咱們執行ls命令時,默認狀況下將使用-l選項,並顯示如前所述的長列表。
# alias ls="ls -l"
注意:經過下面的alias命令,咱們能夠看到系統中可用的別名數量,而且能夠是非別名,以下例所示。
# 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'
要刪除先前定義的別名,只需使用unalias命令。
# unalias ls
在咱們的下一篇文章中,咱們將經過示例介紹更多或高級的ls命令。