一天学一个Linux命令:第一天 ls
文章更新于:2020-03-02
注:本文参照 man ls 手册,并给出使用样例。
文章目录
- 一、命令之`ls`
- 二、命令实践
- 1、`ls -a` 或 `ls --all`
- 2、`ls -A` 或 `ls --almost-all`
- 3、`ls --author`
- 4、`ls -b` 或 `ls --escape`
- 5、`ls --block-size=M`
- 6、`ls -B` 或 `ls --ignore-backups`
- 7、`ls -c`
- 8、`ls -C`
- 9、`ls --color[=WHEN]`
- 10、`ls -d`
- 11、`ls -D` 或 `ls --dired`
- 12、`ls -f`
- 13、`ls -F` 或 `ls --classify`
- 14、`ls --full-time`
- 15、`ls -h` 或 `ls --human-readable`
- 16、`ls --hide=PATTERN`
- 17、`ls -l`
- 18、`ls -t`
- 19、`ls --sort=WORD`
- 三、Enjoy!
一、命令之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可选never、auto、always(默认) |
|
| -d | - -directory | 如果是目录,则列出目录自身信息,而不是他们的内容q |
| -D | - dired | 生成为 Emacs设计的dired模式输出结果 |
| -f | 不排序,相当于调用-aU,禁用-ls --color |
|
| -F | - -classify | 为每个文件添加分类指示符,*/=>@!中的一种 |
| - -file-type | 同上,但不添加* |
|
- -format=WORD |
输出显示格式化,WORD可选verbose、long、commas、horizontal、across、vertical、single-column、context |
|
| - -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-iso、long-iso、iso、locale,或者+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 -a 或 ls --all
注:列出所有文件,包括 .和 ..

2、ls -A 或 ls --almost-all
注:列出所有文件,但不包括 .和 ..

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

4、ls -b 或 ls --escape

5、ls --block-size=M

6、ls -B 或 ls --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 -D 或 ls --dired

12、ls -f

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

14、ls --full-time

15、ls -h 或 ls --human-readable

16、ls --hide=PATTERN

17、ls -l

18、ls -t
补充综合:
下表中的等价于列中的ctime可用status替换,atime可用access或use替换。
| 命令 | 显示内容 | 排列顺序 | 等价于 |
|---|---|---|---|
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 |
使用样例

19、ls --sort=WORD
WORD 可选none、time、size、extension、version

三、Enjoy!
有了计划记得推动,不要原地踏步。

浙公网安备 33010602011771号