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