首页 > 代码库 > ls 命令总结
ls 命令总结
1.1 ls—list directory contents(显示目录内容)
【语法】:ls【选项】【参数】
【功能介绍】
ls指令用来显示目录列表,在Linux系统中有着较高的使用率。ls指令的输出信息可以进行颜色加亮显示,以区分不同类型的文件。
【选项说明】
-a, --all do not ignore entries starting with .
显示当前目录下包裹隐藏文件在内的所有文件列表
-l use a long listingformat
输出长格式列表
-i,--inode print the indexnumber of each file
显示文件的inode信息 索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,
具有相同的索引节点号的两个文本本质上是同一个文件(除文件名不同外)。
-m fill width with a comma separated list ofentries
水平输出文件列表
-t sort by modificationtime
修改最后一次编辑的文件最近修改的文件显示在最上面
-R,--recursive listsubdirectories recursively
显示递归文件
-n,--numeric-uid-gid like -l, but listnumeric user and group IDs
打印文件的UID和GID
-l use a long listingformat
ls -l列出文件和文件夹的详细信息
-h,--human-readable with -l, printsizes in human readable format
(e.g., 1K 234M2G)
ls -lh列出可读文件和文件夹详细信息
-d,--directory list directoryentries instead of contents,
and do notdereference symbolic links
ls -ld显示文件夹信息
-t sort by modificationtime
ls -ltr按时间列出文件和文件夹的详细信息
-F,--classify append indicator(one of */=>@|) to entries
--file-type likewise, except do not append `*‘
--format=WORD across -x, commas -m, horizontal -x,long -l,
single-column-1, verbose -l, vertical -C
--full-time like -l --time-style=full-iso
ls -F按照特殊字符文件进行分类
-C list entries bycolumns
--color[=WHEN] colorize the output. WHEN defaults to `always‘
or can be`never‘ or `auto‘. More info below
ls --color=auto列出文件并标记颜色分类
【参数说明】
目录:指定要显示列表的目录,也可以是具体的文件。
【经验技巧】
当结合管道符号“|”使用ls指令时,ls指令的输出结果送入管道后将失去彩色加亮功能。
默认情况下ls指令只能显示非隐藏文件,如果要显示所有的文件列表必须使用“-a”选项
【生产实例】
1. 如何过滤出已知当前目录下oldboy中的所有以及目录(提示:不包含oldboy目录下面目录子目录及隐藏目录,即智能是以及目录?
分析过程:要完成此题,我们首先要想如何区分目录和文件?
1、 根据颜色区分文件和目录。
2、 ls-l结果中以d开头的就是目录。
3、 通过给目录添加标识、然后再过滤出目录。
4、 通过find直接查找指定类型的文件.
5、 其实很简单,下面的ls-l结果中以d开头的就是目录,我们需要做的就是只能把这些目录打印出来,这就是我们所说的确定要做的目标或分析具体需求
方法一:
[root@zabbix-agentboot]# ls -l|grep ^d使用正则方式的^(键盘数字6上的字符),表示过滤以d开通的行
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub
drwx------. 2 rootroot 12288 Feb 26 17:57 lost+found
方法二:
[root@zabbix-agentboot]# ls -F把目录加上“/”便于区分和过滤出来,ls-p也可以让目录带斜线。
config-2.6.32-573.el6.x86_64 initramfs-2.6.32-573.el6.x86_64.img System.map-2.6.32-573.el6.x86_64
efi/ lost+found/ vmlinuz-2.6.32-573.el6.x86_64*
grub/ symvers-2.6.32-573.el6.x86_64.gz
[root@zabbix-agentboot]# ls -F|grep / 把包含斜线"/"的过滤出来就是目录了。
efi/
grub/
lost+found/
方法三:
[root@zabbix-agentboot]# ls -lF|grep /$
更精确一点的过滤,这里是把以“/”结尾的行过滤出来,$是正则的有一个符号,要拿下哟。
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi/
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub/
drwx------. 2 root root 12288 Feb 26 17:57 lost+found/
方法四:
[root@zabbix-agentboot]# find . -type d|grep -v \\.$
查找当前目录下类型为目录的文件,注意“.”表示当前目录
./efi
./efi/EFI
./efi/EFI/redhat
./grub
./lost+found
方法五:
[root@zabbix-agentboot]# ls -lF|grep /$
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi/
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub/
drwx------. 2 rootroot 12288 Feb 26 17:57 lost+found/
方法六:
[root@zabbix-agentboot]# ls -dl */
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi/
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub/
drwx------. 2 root root12288 Feb 26 17:57 lost+found/
方法七:
[root@zabbix-agentboot]# ls -l|awk ‘/^d/‘
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub
drwx------. 2 rootroot 12288 Feb 26 17:57 lost+found
[root@zabbix-agentboot]# ls -l|sed -n ‘/^d/p‘
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub
drwx------. 2 rootroot 12288 Feb 26 17:57 lost+found
[root@zabbix-agentboot]# ls -l|grep ‘^d‘
drwxr-xr-x. 3 rootroot 1024 Feb 26 18:03 efi
drwxr-xr-x. 2 rootroot 1024 Feb 26 18:05 grub
drwx------. 2 rootroot 12288 Feb 26 17:57 lost+found
本文出自 “努力本身就是一种收获” 博客,请务必保留此出处http://luoahong.blog.51cto.com/504977/1878860
ls 命令总结