Linux ls 命令
2016-04-18 11:20
639 查看
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 命令相关文章推荐
- Linux系统中ln命令创建软链接与硬链接的方法
- centos 常见软件安装
- 《循序渐进Linux》第二版纠错信息汇总,持续更新(2016年4月18日)
- 《循序渐进Linux》第二版纠错信息汇总,持续更新(2016年4月18日)
- Linux学习-杂
- 关于Linux下的写时复制
- Linux which whereis locate find的区别
- Linux学习-vi/vim常用操作
- Linux学习-常见压缩/解压缩及打包命令
- Linux系统的硬件设备驱动的底层结构讲解
- Linux学习-基础命令的操作
- Linux下打包压缩war,解压war和jar命令
- 使用sublime结合sshfs在windows下进行linux服务器远程同步开发
- Linux下TC使用说明
- Linux系统中怎么安装和使用ImageMagick软件?
- 在Linux下给mysql创建用户并分配权限及问题解决方案
- linux下IPTABLES配置详解
- Linux中基本的模式切换与用户登陆操作讲解
- Python获取linux主机ip的简单实现方法
- linux添加用户