0、写在前言
说明 | 并没有列出所有的选项,只是列出常用的选项。如果以后有用到没有记录的选项,会对该博客进行更新和维护。 |
联系方式 | QQ:1369929127 Email:zhanglianghhh@163.com |
1、概述
ls命令,列出目录的内容
2、命令格式
ls [OPTION]... [FILE]...
3、常用命令参数
只列出常用的选项
-a, --all ※※※列出所有的文件【即包括隐藏文件】
[oldboy@oldboy ~]$ ls -l
总用量 4
drwxrwxr-x 2 oldboy oldboy 4096 4月 13 13:04 dir1
-rw-rw-r-- 1 oldboy oldboy 0 4月 13 13:04 test1
[oldboy@oldboy ~]$ ls -al
总用量 28
drwx------. 3 oldboy oldboy 4096 4月 13 13:04 .
drwxr-xr-x. 3 root root 4096 4月 11 23:42 ..
-rw------- 1 oldboy oldboy 144 4月 13 00:53 .bash_history
-rw-r--r--. 1 oldboy oldboy 18 7月 24 2015 .bash_logout
-rw-r--r--. 1 oldboy oldboy 176 7月 24 2015 .bash_profile
-rw-r--r--. 1 oldboy oldboy 124 7月 24 2015 .bashrc
drwxrwxr-x 2 oldboy oldboy 4096 4月 13 13:04 dir1
-rw-rw-r-- 1 oldboy oldboy 0 4月 13 13:04 test1
-A,--almost-all ※※ 列出隐藏文件,但是不包括 . 和 ..
[oldboy@oldboy ~]$ ls -Al
total 20
-rw------- 1 oldboy oldboy 144 Apr 13 00:53 .bash_history
-rw-r--r--. 1 oldboy oldboy 18 Jul 24 2015 .bash_logout
-rw-r--r--. 1 oldboy oldboy 176 Jul 24 2015 .bash_profile
-rw-r--r--. 1 oldboy oldboy 124 Jul 24 2015 .bashrc
drwxrwxr-x 2 oldboy oldboy 4096 Apr 13 13:04 dir1
-rw-rw-r-- 1 oldboy oldboy 0 Apr 13 13:04 test1
--author 和-l 使用,打印每个文件的作者
[oldboy@oldboy ~]$ ls -l
total 4
drwxrwxr-x 2 oldboy oldboy 4096 Apr 13 13:04 dir1
-rw-rw-r-- 1 oldboy root 0 Apr 13 13:04 test1
[oldboy@oldboy ~]$ ls -l --author
total 4
drwxrwxr-x 2 oldboy oldboy oldboy 4096 Apr 13 13:04 dir1
-rw-rw-r-- 1 oldboy root oldboy 0 Apr 13 13:04 test1
-c ※ 经常和 -lt一起使用:根据改变时间排序显示。
和-l使用时,显示文件的ctime(文件属性的最后改变时间,而不是文件内容的最后修改时间)。示例如下:
[oldboy@oldboy ~]$ ls -l test1
total 4
-rw-rw-r-- 1 oldboy root 0 Apr 13 13:04 test1
[oldboy@oldboy ~]$ ls -lc
total 4
-rw-rw-r-- 1 oldboy root 0 Apr 13 13:10 test1
如果再加上 -t 选项,那么根据时间排序【时间倒序】。而不是自然排序【字典排序】
[oldboy@oldboy ~]$ ls -lt # 修改时间排序
total 4
-rw-rw-r-- 1 oldboy oldboy 0 Apr 13 13:17 test0
drwxrwxr-x 2 oldboy oldboy 4096 Apr 13 13:04 dir1
-rw-rw-r-- 1 oldboy root 0 Apr 13 13:04 test1
[oldboy@oldboy ~]$ ls -lct # 改变时间排序
total 4
-rw-rw-r-- 1 oldboy oldboy 0 Apr 13 13:17 test0
-rw-rw-r-- 1 oldboy root 0 Apr 13 13:10 test1
drwxrwxr-x 2 oldboy oldboy 4096 Apr 13 13:04 dir1
--color[=WHEN] 输出字带有颜色 【值为:always、never、auto】
[root@oldboy ~]# alias
alias cp='cp -i'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
-d, --directory ※※※※※显示对应的目录本身信息,而不是目录中的内容
[oldboy@oldboy ~]$ ls -l /home/oldboy/
total 4
drwxrwxr-x 2 oldboy oldboy 4096 Apr 13 13:04 dir1
-rw-rw-r-- 1 oldboy oldboy 0 Apr 13 13:17 test0
-rw-rw-r-- 1 oldboy root 0 Apr 13 13:04 test1
-rw-rw-r-- 1 oldboy oldboy 0 Apr 13 13:17 test2
lrwxrwxrwx 1 oldboy oldboy 5 Apr 13 13:30 test4 -> test0
[oldboy@oldboy ~]$ ls -ld /home/oldboy/
drwx------. 3 oldboy oldboy 4096 Apr 13 13:30 /home/oldboy/
-f 不排序。可以使用 -aU, 不能使用-ls--color
[oldboy@oldboy ~]$ ls -f # 无序
.. test0 .bashrc . test4 test2 .bash_profile .bash_history dir1 .bash_logout test1
[oldboy@oldboy ~]$ ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc dir1 test0 test1 test2 test4
-F, --classify ※※※※ 为条目追加指示符【*/=>@| 其中的一种】。如果是目录,则追加 /
[root@oldboy ~]# ls -F /dev/
MAKEDEV@ fb0 lp0 ram0 root@
agpgart fd@ lp1 ram1 rtc@
block/ full lp2 ram10 rtc0
bsg/ fuse lp3 ram11 scd0@
btrfs-control hidraw0 mapper/ ram12 sda
bus/ hpet mcelog ram13 sda1
--full-time 和 -l --time-style=full-iso 一样
[root@oldboy ~]# ls --full-time
total 56
-rw-------. 1 root root 1133 2016-04-09 18:01:37.173998958 +0800 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 2016-04-09 18:01:25.390998960 +0800 install.log
-rw-r--r--. 1 root root 5890 2016-04-09 17:59:55.926999022 +0800 install.log.syslog
drwxr-xr-x 2 root root 4096 2016-04-12 18:57:01.839801816 +0800 oldboy
-rw-r--r--. 1 root root 102 2016-03-14 00:35:37.087003525 +0800 oldboy.txt
-rw-r--r-- 1 root root 887 2016-04-13 15:27:31.722373507 +0800 ssl.key
-g 就像 -l ,但是不会列出 属主
[oldboy@oldboy ~]$ ls -l
总用量 28
drwxrwxr-x 2 oldboy oldboy 4096 4月 13 23:08 aaa
-rw-rw-r-- 1 oldboy oldboy 1 4月 13 21:00 test0
-rw-rw-r-- 1 oldboy root 0 4月 13 13:04 test1 # 有属主
drwxrwxr-x 3 oldboy oldboy 4096 4月 15 11:06 tools
[oldboy@oldboy ~]$
[oldboy@oldboy ~]$
[oldboy@oldboy ~]$ ls -g
总用量 28
drwxrwxr-x 2 oldboy 4096 4月 13 23:08 aaa
-rw-rw-r-- 1 oldboy 1 4月 13 21:00 test0
-rw-rw-r-- 1 root 0 4月 13 13:04 test1 # 没有属主
drwxrwxr-x 3 oldboy 4096 4月 15 11:06 tools
-h, --human-readable 和-l一起使用,打印大小以人们一看懂的方式。(比如: 1K 234M 2G)
[root@oldboy ~]# ll
total 56
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
[root@oldboy ~]# ll -h
total 56K
-rw-------. 1 root root 1.2K Apr 9 18:01 anaconda-ks.cfg # 注意区别
-rw-r--r--. 1 root root 22K Apr 9 18:01 install.log
-i, --inode 打印每个文件的inode 索引
[root@oldboy ~]# ls -i
21098 anaconda-ks.cfg
13 install.log
[root@oldboy ~]# ls -li
total 56
21098 -rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
13 -rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
-k 就像 --block-size=1K ;请仔细看下面的例子
[root@oldboy ~]# ll -hk
total 56
-rw-------. 1 root root 2 Apr 9 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22 Apr 9 18:01 install.log
-rw-r--r--. 1 root root 6 Apr 9 17:59 install.log.syslog
drwxr-xr-x 2 root root 4 Apr 12 18:57 oldboy
-rw-r--r--. 1 root root 1 Mar 14 00:35 oldboy.txt
[root@oldboy ~]# ll -h
total 56K
-rw-------. 1 root root 1.2K Apr 9 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22K Apr 9 18:01 install.log
-rw-r--r--. 1 root root 5.8K Apr 9 17:59 install.log.syslog
drwxr-xr-x 2 root root 4.0K Apr 12 18:57 oldboy
-rw-r--r--. 1 root root 102 Mar 14 00:35 oldboy.txt
-l 长格式打印
[root@oldboy ~]# ls -l
total 60
drwxr-xr-x 2 root root 4096 Apr 15 18:51 aaa
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
-rw-rw-r-- 1 root root 1 Apr 13 21:00 test0
lrwxrwxrwx 1 root root 5 Apr 13 13:30 test4 -> test0
上面的7列信息分别为:
第一列:第一个字符代表文件类型
-:普通文件(f)
d:目录文件
b:块设备文件(block)
c:字符设备文件(character)
l:符号链接文件(symboliclink file)
p:命令管道文件(pipe)
s:套接字文件(socket)
后面9位是该文件权限:每三位一组 rwx(读写执行), - 代表没有这个权限。
第二列:文件的硬链接次数。普通文件至少一次链接,目录至少两次链接(分别为 . ..)
第三列:文件的属主
第四列:文件的属组,即用户组
第五列:文件大小,单位是字节
第六列:文件最近修改时间,修改文件意味着对其文件内或子目录的增添和修改
第七列:文件名
对于目录来说 rwx
其中 r :代表读取目录中的内容
w:删除、修改目录里面文件名的权限【必须配合 x 执行才可以】
x:代表能否进入到目录里面去
-m 使用逗号分隔
[oldboy@oldboy ~]$ ls -m
AAA.txt, aaa.tem, aaac, bbb
-n,--numeric-uid-gid 就像-l ,但是显示属主和属组的数字,而不是名称
[root@oldboy ~]# ls -l
total 60
drwxr-xr-x 2 root root 4096 Apr 15 18:51 aaa
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
[root@oldboy ~]# ls -n
total 60
drwxr-xr-x 2 0 0 4096 Apr 15 18:51 aaa
-rw-------. 1 0 0 1133 Apr 9 18:01 anaconda-ks.cfg
-p, --indicator-style=slash 如果是目录,则追加 /
[oldboy@oldboy ~]$ ll -p
total 36
-rw-rw-r-- 2 oldboy oldboy 9 Apr 16 19:37 BBB.txt
-rw-rw-r-- 1 oldboy oldboy 0 Apr 15 18:57 aaa.tem
drwxrwxr-x 2 oldboy oldboy 4096 Apr 15 18:58 aaac/
drwxrwxr-x 2 oldboy oldboy 4096 Apr 13 23:08 bbb/
drwxrwxr-x 3 oldboy oldboy 4096 Apr 13 23:08 ccc/
-r, --reverse 反向排序
[root@oldboy ~]# ls -l
total 60
drwxr-xr-x 2 root root 4096 Apr 15 18:51 aaa
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
[root@oldboy ~]# ls -lr
total 60
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Apr 15 18:51 aaa
-R, --recursive ※※※※※※递归列出 【请仔细查看下面的例子,很清楚,明白】
[root@oldboy ~]# ls -lR
.:
total 60
drwxr-xr-x 2 root root 4096 Apr 15 19:03 aaa
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
./aaa:
total 0
-rw-r--r-- 1 root root 0 Apr 15 19:03 test
-rw-r--r-- 1 root root 0 Apr 15 19:03 test2
-s, --size 打印每个文件所占用【被分配】的block大小。
[root@oldboy ~]# ll -sh /var/log/
total 2.3M
4.0K drwxr-xr-x. 2 root root 4.0K Apr 9 18:06 ConsoleKit
8.0K -rw-------. 1 root root 4.5K Apr 9 18:01 anaconda.ifcfg.log
24K -rw-------. 1 root root 23K Apr 9 18:01 anaconda.log
32K -rw-------. 1 root root 31K Apr 9 18:01 anaconda.program.log
152K -rw-------. 1 root root 150K Apr 9 18:01 anaconda.storage.log
-S 根据文件大小排序
[root@oldboy ~]# ll -hS
total 60K
-rw-r--r--. 1 root root 22K Apr 9 18:01 install.log
-rw-r--r--. 1 root root 5.8K Apr 9 17:59 install.log.syslog
drwxr-xr-x 2 root root 4.0K Apr 15 19:03 aaa
-rw-------. 1 root root 1.2K Apr 9 18:01 anaconda-ks.cfg
-rw-r--r-- 1 root root 951 Apr 13 15:26 xxx.key
--time-style=STYLE 和-l 一起使用。 STYLE:full-iso, long-iso, iso, locale
[root@oldboy ~]# ll --time-style=full-iso #推荐
total 60
drwxr-xr-x 2 root root 4096 2016-04-15 19:03:55.099493719 +0800 aaa
-rw-------. 1 root root 1133 2016-04-09 18:01:37.173998958 +0800 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 2016-04-09 18:01:25.390998960 +0800 install.log
[root@oldboy ~]# ll --time-style=long-iso #推荐
total 60
drwxr-xr-x 2 root root 4096 2016-04-15 19:03 aaa
-rw-------. 1 root root 1133 2016-04-09 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 2016-04-09 18:01 install.log
[root@oldboy ~]# ll --time-style=iso
total 60
drwxr-xr-x 2 root root 4096 04-15 19:03 aaa
-rw-------. 1 root root 1133 04-09 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 04-09 18:01 install.log
[root@oldboy ~]# ll --time-style=locale
total 60
drwxr-xr-x 2 root root 4096 Apr 15 19:03 aaa
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
[root@oldboy ~]# ll
total 60
drwxr-xr-x 2 root root 4096 Apr 15 19:03 aaa
-rw-------. 1 root root 1133 Apr 9 18:01 anaconda-ks.cfg
-rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
-t 根据修改时间排序【时间倒序】
[root@oldboy ~]# ll -t
total 60
drwxr-xr-x 2 root root 4096 Apr 15 19:03 aaa
-rw-r--r-- 1 root root 887 Apr 13 15:27 ssl.key
-rw-r--r-- 1 root root 951 Apr 13 15:26 xxx.key
[root@oldboy ~]# ll -rt # 时间正序
total 60
-rw-r--r-- 1 root root 951 Apr 13 15:26 xxx.key
-rw-r--r-- 1 root root 887 Apr 13 15:27 ssl.key
drwxr-xr-x 2 root root 4096 Apr 15 19:03 aaa
-u 访问时间。和 -lt 一起使用代表:根据访问时间排序
[root@oldboy ~]# ll -t
total 60
drwxr-xr-x 2 root root 4096 Apr 15 19:03 aaa
-rw-r--r-- 1 root root 887 Apr 13 15:27 ssl.key
drwxr-xr-x 2 root root 4096 Apr 12 18:57 oldboy
-rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
[root@oldboy ~]# ll -ut
total 60
-rw-r--r--. 1 root root 22179 Apr 15 19:15 install.log
drwxr-xr-x 2 root root 4096 Apr 15 19:04 aaa
drwxr-xr-x 2 root root 4096 Apr 15 19:03 oldboy
-rw-r--r-- 1 root root 887 Apr 13 15:27 ssl.key
4、常用示例
1、可以同时查看多个文件
[root@oldboy ~]# ls -l ssl.key xxx.key # 支持同时查看多个文件
-rw-r--r-- 1 root root 887 Apr 13 15:27 ssl.key
-rw-r--r-- 1 root root 951 Apr 13 15:26 xxx.key
2、支持通配符
注意:是通配符而不是正则
[root@oldboy ~]# ls -l install*
-rw-r--r--. 1 root root 22179 Apr 9 18:01 install.log
-rw-r--r--. 1 root root 5890 Apr 9 17:59 install.log.syslog
[root@oldboy ~]# ls -l *.key
-rw-r--r-- 1 root root 887 Apr 13 15:27 ssl.key
-rw-r--r-- 1 root root 951 Apr 13 15:26 xxx.key
更多示例参见上面选项中的示例
5、命令所在位置和类型
[root@oldboy ~]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@oldboy ~]# type ls
ls is aliased to `ls --color=auto'
6、另请参见