一天一个Linux命令– ls
Description
$ls -a //列出全部文件(包括. 和..)
$ls -A //列出全部(不包括. 和..)
$ls -author
$ls -b, –escape//列出文件和文件夹并显示C语言式的不可见字符
- 例如有一个文件夹是
a空格空格
,在加了-b后显示a\ \
$ls -B//忽略备份文件
$ls -c//和-lt搭配,按ctime排序并显示,和-l显示ctime,按名称排序
$ls –color[WHEN]//when可以使用always,never,auto
$ls -f//启用-aU,关闭-ls –color
$ls -F, –classify//在目录后面加上标记
$ls -g//类似-l,但是不显示作者
$ls -h,–human-readable//显示人类可以看懂的文件大小,需配合-s或-l使用
$ls -i, –inode//显示索引号
$ls -l //以长列表显示
$ls -L, –dereference //显示链接指向的文件,而不是链接
$ls -m//以逗号分割
$ls -o//类似-l,但是不显示用户组信息
$ls -p//在目录后面显示斜杠
$ls -R, –recursive//列出子目录
$ls -r, –reverse//逆序输出
$ls -S
$ls -t//按修改时间排列
$ls -U//不排序输出
$ls -x//横向排列
$ls -1//一列输出
more
如果只是简单地使用ls [options]
是对当前目录进行操作
要对指定目录进行操作,加上路径即可,例如
$ls /home/master -l
通配符和正则
ls命令是不支持正则表达式的,但是支持通配符
下面简要介绍下文件名的通配符
*匹配零个或多个字符
?匹配任何单个字符
~ 当前用户家目录
~username 用户家目录
~-前一个工作目录
~+ 当前工作目录
[0-9]匹配一个数字范围
[a-z]:大写和小写字母
[A-Z]:大写和小写字母
[]匹配列表中的任何的一个字符
[^]匹配列表中的所有字符以外的字符
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:alnum:]:任意数字或字母
[:space:]:空格
[:punct:]:标点符号
举例:
$ls /home/eureka/[a-z]*.c
显示目录下面文件名是小写的扩展名为.c的文件