一天学一个Linux命令:第一天 ls

文章更新于:2020-03-02
注:本文参照 man ls 手册,并给出使用样例。

一、命令之ls

1、名字及介绍

ls -列出目录内容

ls程序主要是列出文件或目录的信息。
如果不指定参数,也就是只执行ls,则默认列出当前目录的信息,且不递归,不显示以.开头的隐藏文件。

2、语法格式

ls [选项]... [文件或目录]...

3、输出内容示例

如执行ls -l则会看到类似下图的输出,他们的含义如图。
图零

4、参数

列出关于文件的信息(默认是当前目录),当你没有指定 -cftuvSUV--sort 参数的时候按字母表顺序排列。
调用参数时,使用长格式和短格式都是合法的。

短格式长格式描述
-a- -all列出所有文件,包括以点开头的
-A- -almost-all列出所有文件,不包括以点开头的
- -author-l配合使用,列出每个文件的作者
-b- -escape以八进制溢出序列表示不可打印的字符
- -block-size=SIZE以指定的单位显示文件大小
-B- -ignore-backups不列出以~结尾的备份文件
-c配合-lt显示并以ctime排列;
配合-l显示ctime并亦文件名排列;
否则,以ctime排列,最新排第一
-C按列显示文件(和单独使用ls一个效果)
- -color[=WHEN]着色显示结果;WHEN可选neverautoalways(默认)
-d- -directory如果是目录,则列出目录自身信息,而不是他们的内容q
-D- dired生成为 Emacs设计的dired模式输出结果
-f不排序,相当于调用-aU,禁用-ls --color
-F- -classify为每个文件添加分类指示符,*/=>@!中的一种
- -file-type同上,但不添加*
- -format=WORD输出显示格式化,WORD可选verboselongcommashorizontalacrossverticalsingle-columncontext
- -full-time等价于 -l --time-style=full-iso
-g等价于-l,但是不列出文件的所有者
- - group-directories-first在所有文件之前输出目录
-G- - no-group等价于-l,但是不列出文件的组名
-h- -human-readable配合-l使用,输出像1k,23M,2G这样友好的文件大小单位
- -si同上,但使用1000进制,而不是1024进制
-H- -dereference-command-line列出符号文件的真正位置
- -dereference-command-line-symlink-to-dir列出符号目录的真正位置(存疑)
- -hide=PATTERN不列出PATTERN匹配到的文件
- -indicator-style=WORD添加指示符,可选none(default)slash(-p)file-type(- -file-type)classify(-F)
-i- - inode输出每个文件的索引数字
-I- -ignore=PATTERN不列出pattern匹配到的项
-k- -kibibytes默认以K 字节的形式表示文件的大小
-l使用长格式输出信息
-L- -dereference显示符号链接引用的文件的信息,而不是链接自身的信息
-m用逗号分割项目
-n- -numeric-uid-gid等价于-l,但显示用户id组id
-N- -literal显示原始条目名,不做特殊处理(比如控制字符)
-p- -indcator-style=slash在目录名后面添加/
-q- -hide-control-chars将非图形化字符显示为?
- -show-control-chars显示非图形化字符,是什么就显示什么
-Q- -quote-name使用双引号括起来项目名
- -quoting-style=WORDword可选 literal, locale, shell, shell-always, c, escape
-r- -reverse如果排序则反向排
-R- -recursive递归显示子目录内容
-s- -size输出文件已分配的块大小
-S以文件大小排列
- -sort=WORD根据none(-U)size(-S)time(-t)version(-v)extension(-X)排列项
- -time=WORD配合-l使用,展示访问时间 atime-u,状态时间 ctime-c,而不是默认的修改时间 mtime,
当然也可以指定以时间排序 --sort=time
- -time-style=STYLE配合-l使用,展示full-isolong-isoisolocale,或者+FORMAT,…
-t以修改时间 mtime 排列,最新的放第一
-T- -tabsize=COLS指定tab值来代指默认值 8
-u配合 -lt使用,展示并以 atime 排列;配合 -l使用,展示 atime,以文件名排列;否则,以 atime 排列
-U不排列,按目录顺序列出条目
-v文本中自然的(版本)数字排序
-w- -widdth=COLS手动指定屏幕宽度
-x以行为单位列出而非以列
-X以文件扩展名的字母顺序排列
-1按每个一行排列

SELinux 参数:

短格式长格式描述
- -lcontext显示安全内容
-Z- -context
- -scontext仅显示安全信息和文件名
- -help显示帮助信息
- -version显示版本信息

二、命令实践

1、ls -als --all

注:列出所有文件,包括 ...
图一

2、ls -Als --almost-all

注:列出所有文件,但不包括 ...

图二

3、ls --author

注1:配合 -l 使用列出文件的作者。
注2:有时候文件的作者和所有者是不一样的。

图三

4、ls -bls --escape

图四

5、ls --block-size=M

图五

6、ls -Bls --ignore-backups

图六

7、ls -c

补充:

ls -l
内容更改时间:modification time(mtime) 指文件内容发生改变的时间;
ls -l --time=ctime
状态更改时间:status time(ctime) 指文件的权限或属性发生改变的时间;
ls -l --time=atime
最近访问时间:access time(atime) 指文件最近被读取的时间;

图七

8、ls -C

图八

9、ls --color[=WHEN]

图九

10、ls -d

图十

11、ls -Dls --dired

图11

12、ls -f

图12

13、ls -Fls --classify

补充:
普通文件:没有
普通可执行文件:*
目录:/
符号链接:@
FIFOs管道文件:|
套接字文件:=
doors:>

图13

14、ls --full-time

图14

15、ls -hls --human-readable

图15

16、ls --hide=PATTERN

图16

17、ls -l

图17

18、ls -t

补充综合:
下表中的等价于列中的ctime可用status替换,atime可用accessuse替换。

命令显示内容排列顺序等价于
ls -l显示mtime以文件名排列
ls -lt显示mtimemtime排列
ls -c不显示ctimectime排列ls --time=ctime
ls -cl显示ctime以文件名排列ls -l --time=ctime
ls -clt显示ctimectime排列ls -lt --time=ctime
ls -u不显示atimeatime排列ls --time=atime
ls -ul显示atime以文件名排列ls -l --time=atime
ls -ult显示atimeatime排列ls -lt --time=atime

使用样例
图18

19、ls --sort=WORD

WORD 可选nonetimesizeextensionversion

图19

三、Enjoy!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值