一天学一个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=WORD word可选 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 显示mtime mtime排列
ls -c 不显示ctime ctime排列 ls --time=ctime
ls -cl 显示ctime 以文件名排列 ls -l --time=ctime
ls -clt 显示ctime ctime排列 ls -lt --time=ctime
ls -u 不显示atime atime排列 ls --time=atime
ls -ul 显示atime 以文件名排列 ls -l --time=atime
ls -ult 显示atime atime排列 ls -lt --time=atime

使用样例
图18

19、ls --sort=WORD

WORD 可选nonetimesizeextensionversion

图19

三、Enjoy!

原文地址:https://www.cnblogs.com/amnotgcs/p/12694364.html