Linux ls 命令

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、另请参见

1、Linux ls 命令

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值