🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## ls命令 [TOC] >[info] ls命令用来显示目标列表,在Linux中是使用率较高的命令。 ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。 ### 语法 `ls (选项) (参数)` ### 选项 >[success] -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出); -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项; **-l**:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列; -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符; -b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出; -c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间; **-d**:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表; -f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果; -i:显示文件索引节点号(inode)。一个索引节点代表一个文件; --file-type:与“-F”选项的功能相同,但是不显示“*”; -k:以KB(千字节)为单位显示文件大小; -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; -m:用“,”号区隔每个文件和目录的名称; -n:以用户识别码和群组识别码替代其名称; -r:以文件名反序排列并输出目录内容列表; -s:显示文件和目录的大小,以区块为单位; -S 根据文件大小排序 –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项; -u 配合  -lt:显示访问时间而且依访问时间排序 配合  -l:显示访问时间但根据名称排序,否则:根据访问时间排序 -U 不进行排序;依文件系统原有的次序列出项目 -v 根据版本进行排序 -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值 -x 逐行列出项目而不是逐栏列出 -X 根据扩展名排序 -t:用文件和目录的更改时间排序; -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; -R:递归处理,将指定目录下的所有文件及子目录一并处理; --full-time:列出完整的日期与时间; --color[=WHEN]:使用不同的颜色高亮显示不同类型的。 ### 参数 目录:指定要显示列表的目录,也可以是具体的文件。 ## 实例 ### 显示当前目录下非隐藏文件与目录 命令:`ls` 输出: ~~~ [root@localhost ~]# ls anaconda-ks.cfg Desktop install.log install.log.syslog ~~~ ### 显示当前目录下包括影藏文件在内的所有文件列表 ~~~ [root@localhost ~]# ls -a . .chewing .gnome install.log.syslog .tcshrc .. .cshrc .gnome2 .metacity .thumbnails anaconda-ks.cfg Desktop .gnome2_private .mozilla .Trash .bash_history .dmrc .gstreamer-0.10 .mysql_history .viminfo ~~~ ### 输出长格式列表 命令:`ls -l` 输出: ~~~ [root@localhost ~]# ls -l 总计 56 -rw------- 1 root root 1150 07-08 20:30 anaconda-ks.cfg drwxr-xr-x 2 root root 4096 07-08 12:35 Desktop -rw-r--r-- 1 root root 26609 07-08 20:29 install.log -rw-r--r-- 1 root root 4257 07-08 20:28 install.log.syslog ~~~ ### 水平输出文件列表 命令:`ls -m` 输出: ~~~ [root@localhost /]# ls -m bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, net, opt, proc, root, sbin, selinux, srv, sys, test, tmp, usr, var ~~~ ### 最近修改的文件显示在最上面 命令:`ls -t` 输出: ~~~ [root@localhost /]# ls -t tmp dev misc sys data bin mnt opt var usr lost+found srv test net etc proc root lib sbin home boot selinux media ~~~ ### 递归显示文件 命令:`ls -R` 输出: ~~~ [root@localhost ~]# ls -R .: anaconda-ks.cfg Desktop install.log install.log.syslog ./Desktop: ~~~ ### 打印文件列表的UID和GID信息 命令:`ls -n` 输出: ~~~ [root@localhost /]# ls -n 总计 154 drwxr-xr-x 2 0 0 4096 09-10 16:30 bin drwxr-xr-x 4 0 0 1024 07-08 20:25 boot drwxr-xr-x 2 0 0 4096 09-12 18:17 data drwxr-xr-x 10 0 0 3820 09-14 09:10 dev drwxr-xr-x 99 0 0 12288 09-14 09:10 etc drwxr-xr-x 4 0 0 4096 08-01 10:46 home drwxr-xr-x 13 0 0 4096 09-10 16:30 lib drwx------ 2 0 0 16384 07-08 20:22 lost+found drwxr-xr-x 2 0 0 4096 2010-01-27 media ... ~~~ ### 列出文件的文件和文件夹详细信息 命令:`ls -lh` 输出: ~~~ [root@localhost /]# ls -lh 总计 154K drwxr-xr-x 2 root root 4.0K 09-10 16:30 bin drwxr-xr-x 4 root root 1.0K 07-08 20:25 boot drwxr-xr-x 2 root root 4.0K 09-12 18:17 data drwxr-xr-x 10 root root 3.8K 09-14 09:10 dev ... ~~~ ### 显示文件夹信息 命令: `ls -ld 目录名` 输出: ~~~ [root@localhost /]# ls -ld /etc/ drwxr-xr-x 99 root root 12288 09-14 13:37 /etc/ ~~~ ### 按时间列出文件和文件夹详细信息 命令:`ls -lt` 输出: ~~~ [root@localhost /]# ls -lt 总计 154 drwxr-xr-x 99 root root 12288 09-14 13:37 etc drwxrwxrwt 4 root root 4096 09-14 10:15 tmp drwxr-xr-x 2 root root 4096 09-14 09:49 test drwxr-xr-x 10 root root 3820 09-14 09:10 dev drwxr-xr-x 2 root root 0 09-14 09:10 net drwxr-xr-x 2 root root 0 09-14 09:10 misc drwxr-xr-x 11 root root 0 09-14 09:09 sys dr-xr-xr-x 116 root root 0 09-14 09:09 proc drwxr-xr-x 2 root root 4096 09-12 18:17 data drwxr-x--- 18 root root 4096 09-11 15:41 root drwxr-xr-x 2 root root 4096 09-10 16:30 bin ~~~ ### 按修改时间列出文件和文件夹详细信息 命令:`ls -lrv` 输出: ~~~ [root@localhost /]# ls -lrv 总计 154 drwxr-xr-x 21 root root 4096 07-08 20:28 var drwxr-xr-x 14 root root 4096 07-08 20:23 usr drwxrwxrwt 4 root root 4096 09-14 10:15 tmp drwxr-xr-x 2 root root 4096 09-14 09:49 test drwxr-xr-x 11 root root 0 09-14 09:09 sys drwxr-xr-x 2 root root 4096 2010-01-27 srv drwxr-xr-x 2 root root 4096 07-08 20:22 selinux ~~~ ### 按照特殊字符进行分类 命令:`ls -F` 输出: ~~~ [root@localhost nginx-1.2.9]# ls -F auto/ CHANGES.ru configure* html/ Makefile objs/ src/ CHANGES conf/ contrib/ LICENSE man/ README ~~~ ### 列出文件并标记颜色分类 命令:`ls --color=auto` 输出: ~~~ [root@localhost nginx-1.2.9]# ls --color=auto auto CHANGES.ru configure html Makefile objs src CHANGES conf contrib LICENSE man README ~~~ ## 命令扩展 ### 显示彩色目录列表 打开/etc/bashrc, 加入如下一行: `alias ls="ls --color"` 下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下: >[success] 1. 蓝色-->目录 > 2. 绿色-->可执行文件 > 3. 红色-->压缩文件 > 4. 浅蓝色-->链接文件 > 5. 灰色-->其他文件