ls命令是Linux中最常用的命令之一。如果没猜错的话ls命令是入门者进入Linux Box命令提示符时使用的第一个命令。
我们可能不知道也不会使用所有可用的ls选项,但我们每天都会频繁使用ls命令。在本文中,我们将讨论基本的ls命令,我们尽量覆盖更多的参数。
ls没有以裸露格式列出文件和目录的选项,因此我们将无法查看详细信息,例如文件类型,大小,修改的日期和时间,权限和链接等。
# ls
| 0001.pcap | Desktop | Downloads | index.html | install.log.syslog | Pictures | 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 -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 
 | 
检查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命令。
原文:https://www.cnblogs.com/WeiLian1024/p/11842816.html