首页 / 操作系统 / Linux / Linux系统中ls命令的常见用法整理
ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令。我们每天都在频繁地使用ls命令,即使我们可能没有意识也从来用不到所有可用的选项。本文中,我们将讨论下一些基本的ls命令并且覆盖尽可能多的有关参数来讲解。1. 不带任何选项列出文件 不带选项的ls命令来光秃秃地列出文件和目录,我们是不能看到像文件类型、大小、修改日期和时间、权限以及链接这样具体的信息的。 复制代码 代码如下:# ls 0001.pcapDesktopDownloads index.html install.log.syslogPicturesTemplates anaconda-ks.cfgDocumentsfbcmd_update.phpinstall.logMusic PublicVideos2 带 –l 选项列出文件列表 你看,ls -l(-l是字母不是“1”)就能展示出是文件还是目录,它的大小、修改日期和时间、文件或目录的名字以及文件的属主和它的权限。 复制代码 代码如下: # ls -l total 176 -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap -rw-------. 1 root root1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root4096 Jul 31 02:48 Documents drwxr-xr-x. 4 root root4096 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 root4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root4096 Jul 31 02:48 Videos3. 浏览隐藏文件 列出所有文件包括以‘.’开头的隐藏文件。 复制代码 代码如下:# ls -a ..bashrcDocuments .gconfdinstall.log .nautilus .pulse-cookie .. .cache Downloads .gnome2install.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 .libreofficePictures.tcshrc .bash_history.dbus.fbcmd.gvfs.local.pkiTemplates .bash_logout Desktopfbcmd_update.php.ICEauthority.mozillaPublicVideos .bash_profile.digrc .gconfindex.html Music .pulse.wireshark4. 用 -lh 选项来以易读方式列出文件 用-lh组合选项,以易读方式来显示大小。 复制代码 代码如下: # ls -lh total 176K -rw-r--r--. 1 root root683 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 root21K Aug 12 12:42 fbcmd_update.php -rw-r--r--. 1 root root46K Jul 31 09:58 index.html -rw-r--r--. 1 root root48K Jul 31 02:17 install.log -rw-r--r--. 1 root root12K 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 Videos5. 以尾部以‘/’字符结尾的方式列出文件和目录 使用 ls 命令的 -F 选项,会在每个目录的末尾添加“/”字符显示。 复制代码 代码如下:# ls -F 0001.pcapDesktop/Downloads/index.html install.log.syslogPictures/Templates/ anaconda-ks.cfgDocuments/fbcmd_update.phpinstall.logMusic/Public/Videos/6. 倒序列出文件 ls -r 选项能以倒序方式显示文件和目录。 复制代码 代码如下: # ls -r Videos PublicMusic install.logfbcmd_update.phpDocumentsanaconda-ks.cfg TemplatesPicturesinstall.log.syslogindex.html Downloads Desktop0001.pcap7. 递归列出子目录 ls -R 选项能列出非常长的目录树,来看看示例输出: 复制代码 代码如下: # ls -R total 1384 -rw-------. 1 root root33408 Aug8 17:25 anaconda.log -rw-------. 1 root root30508 Aug8 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 lighttpd7858 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 root0 Aug 12 03:17 access.log -rw-r--r--. 1 root root390 Aug 12 03:17 access.log-20120812.gz8. 以修改时间倒序列出 带-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 root1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root4096 Jul 31 02:48 Videos drwxr-xr-x. 2 root root4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root4096 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 root4096 Aug 16 02:55 Downloads -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap9. 按文件大小排序 带-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 root4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root4096 Jul 31 02:48 Documents drwxr-xr-x. 4 root root4096 Aug 16 02:55 Downloads drwxr-xr-x. 2 root root4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root4096 Jul 31 02:48 Videos -rw-------. 1 root root1586 Jul 31 02:17 anaconda-ks.cfg -rw-r--r--. 1 root root 683 Aug 19 09:59 0001.pcap10. 显示文件或目录的索引节点号 我们有时候可以看到一些数字打印在文件或目录名之前,带-i选项就能列出文件或目录的索引节点号。 复制代码 代码如下: # ls -i 20112 0001.pcap23610 Documents 23793 index.html23611 Music 23597 Templates 23564 anaconda-ks.cfg23595 Downloads22 install.log 23612 Pictures23613 Videos 23594 Desktop23585 fbcmd_update.php 35 install.log.syslog23601 Public11. 显示ls命令的版本 查看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.12. 显示帮助页面 列出ls命令的选项帮助页面。 复制代码 代码如下: # ls --help Usage: ls [OPTION]... [FILE]...13. 列出目录信息 用ls -l命令列出/tmp目录下的文件,其中-ld参数可以只显示/tmp目录的信息。 复制代码 代码如下: # ls -l /tmp total 408 drwx------. 2 narad narad 4096 Aug2 02:00 CRX_75DAF8CB7768 -r--------. 1 rootroot384683 Aug4 12:28 htop-1.0.1.tar.gz drwx------. 2 rootroot4096 Aug4 11:20 keyring-6Mfjnk drwx------. 2 rootroot4096 Aug 16 01:33 keyring-pioZJr drwx------. 2 gdm gdm 4096 Aug 21 11:26 orbit-gdm drwx------. 2 rootroot4096 Aug 19 08:41 pulse-gl6o4ZdxQVrX drwx------. 2 narad narad 4096 Aug4 08:16 pulse-UDH76ExwUVoU drwx------. 2 gdm gdm 4096 Aug 21 11:26 pulse-wJtcweUCtvhn -rw-------. 1 rootroot 300 Aug 16 03:34 yum_save_tx-2012-08-16-03-34LJTAa1.yumtx</p><p># ls -ld /tmp/ drwxrwxrwt. 13 root root 4096 Aug 21 12:48 /tmp/14. 显示文件的UID和GID 用ls -n命令来显示文件和目录的UID(译者注:userid,用户ID)和GID(译者注:groupid,组ID)。 复制代码 代码如下: # ls -n total 36 drwxr-xr-x. 2 500 500 4096 Aug2 01:52 Downloads drwxr-xr-x. 2 500 500 4096 Aug2 01:52 Music drwxr-xr-x. 2 500 500 4096 Aug2 01:52 Pictures -rw-rw-r--. 1 500 500 12 Aug 21 13:06 tmp.txt drwxr-xr-x. 2 500 500 4096 Aug2 01:52 Videos15. ls命令和它的别名 我们给ls命令设置如下别名之后,当我们执行ls命令的时候它会默认执行-l选项并且像上文提到的那样显示长列表。 复制代码 代码如下:# alias ls="ls -l" 注意:我们可以通过不加任何参数的alias命令来看到目前系统中可用的所有alias设置,当然它们同时也可以unalias来取消。 复制代码 代码如下: # 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" 删除一项之前定义的alias设置,只需用unalias命令即可。 复制代码 代码如下: # unalias ls
收藏该网址