🧡Linux命令之 ls
ls 命令在linux使用中是非常频繁并且简单的
ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。
$ ls --help
或者
$ man ls
用法:ls [选项]... [文件]...
列出给定文件(默认为当前目录)的信息。
如果不指定 -cftuvSUX 中任意一个或--sort 选项,则根据字母大小排序。
必选参数对长短选项同时适用。
-a, --all 不隐藏任何以 . 开始的项目
-A, --almost-all 列出除 . 及 .. 以外的任何项目
--author 与 -l 同时使用时,列出每个文件的作者
-b, --escape 以 C 风格的转义序列表示不可打印的字符
--block-size=大小 与 -l 同时使用时,将文件大小以此处给定的大小为
单位进行缩放;例如:“--block-size=M”;
请参考下文的大小格式说明
-B, --ignore-backups 不列出任何以 ~ 字符结束的项目
-c 与 -lt 共同使用时:根据 ctime 排序并显示
ctime(文件状态最后更改的时间);
与 -l 共同使用时:显示 ctime 并按照名称排序;
其它情况:按照 ctime 排序,最新的最前
-C 每栏由上至下列出项目
--color[=WHEN] 控制是否使用带颜色的输出;WHEN 可以是
“always”(默认缺省值)、“auto”或
“never”;更多信息请见下文
-d, --directory 当遇到目录时列出目录本身而非目录内的文件
-D, --dired 产生适合 Emacs 的 dired 模式使用的结果
-f 不进行排序,-aU 选项生效,禁用 -ls --color
-F, --classify 加上文件类型的指示符号(*/=@| 其中一个)
--file-type 类似,但不后缀‘*’字符
--format=关键字 交错 -x,逗号分隔 -m,水平 -x,长 -l,
单栏 -1,详细 -l,垂直 -C
--full-time 类似 -l --time-style=full-iso
-g 类似 -l,但不列出所有者
--group-directories-first
在文件前分组目录;
此选项可与--sort 一起使用,但是一旦使用
--sort=none (-U) 将禁用分组
-G, --no-group 以一个长列表的形式,不输出组名
-h, --human-readable 与 -l 和 -s 一起,以易于阅读的格式输出文件
大小(例如 1K 234M 2G等)
--si 同上面类似,但是使用 1000 为基底而非 1024
-H, --dereference-command-line
跟随命令行列出的符号链接
--dereference-command-line-symlink-to-dir
跟随命令行列出的指向目录的符号链接
--hide=PATTERN 隐藏符合 shell PATTERN 模式的项目
(-a 或 -A 将覆盖此选项)
--hyperlink[=WHEN] 文件名使用超链接;WHEN 可以是“always”
(缺省时的默认选项)、“auto”或
“never”
--indicator-style=方式 指定在每个项目名称后加上指示符号方式:
none(默认)、slash(-p)、
file-type(--file-type)以及 classify(-F)
-i, --inode 显示每个文件的索引编号(inode 号)
-I, --ignore=模式 不显示任何匹配指定 shell <模式>的项目
-k, --kibibytes 默认使用 1024 字节的块显示磁盘使用量;
只用于 -s 和每个目录的总计
-l 使用较长格式列出信息
-L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-n, --numeric-uid-gid 类似 -l,但列出用户和组的 ID 号
-N, --literal 输出未经引号括起的项目名称
-o 类似 -l,但不列出有关组的信息
-p, --indicator-style=slash
对目录附加“/”作为指示符号
-q, --hide-control-chars 以“?”字符代替无法打印的字符
--show-control-chars 原样显示无法打印的字符(这是默认行为,除非被调用
本程序的名称是“ls”而且是在终端中进行输出)
-Q, --quote-name 将条目名称括上双引号
--quoting-style=方式 使用指定引用的方式显示条目的名称:
literal, locale, shell, shell-always,
shell-escape, shell-escape-always, c, escape
(该选项优先于 QUOTING_STYLE 环境变量的配置)
-r, --reverse 逆序排列
-R, --recursive 递归显示子目录
-s, --size 以块数形式显示每个文件分配的尺寸
-S sort by file size, largest first
--sort=WORD sort by WORD instead of name: none (-U), size (-S),
time (-t), version (-v), extension (-X)
--time=WORD with -l, show time as WORD instead of default
modification time: atime or access or use (-u);
ctime or status (-c); also use specified time
as sort key if --sort=time (newest first)
--time-style=TIME_STYLE 使用 -l 时显示的时间/日期格式;请见下面
TIME_STYLE 的相关内容
-t sort by modification time, newest first
-T, --tabsize=COLS assume tab stops at each COLS instead of 8
-u 同 -lt 一起使用:按照访问时间排序并显示;
同 -l 一起使用:显示访问时间并按文件名排序
其它:按照访问时间排序,最新的最靠前
-U 不进行排序;按照目录顺序列出项目
-v 在文本中进行数字(版本)的自然排序
-w, --width=COLS 设置输出宽度为 COLS 对应的值。0 代表无限制
-x 逐行列出项目而不是逐栏列出
-X 根据扩展名按字母顺序排序
-Z, --context 输出每个文件的所有安全上下文信息
-1 每行只列出一个文件。与 -q 或 -b 共用时避免 '\n'
--help 显示此帮助信息并退出
--version 显示版本信息并退出
$ ls -a
. .. .bash_history .bash_logout .bashrc .cache .config .profile sources.list .ssh .sudo_as_admin_successful
$ ls -l
总用量 4
-rw-r--r-- 1 root root 690 4月 27 22:14 sources.list
$ ls /
bin deb etc lib lib64 lost+found mnt proc run snap swap.img tmp var
boot dev home lib32 libx32 media opt root sbin srv sys usr
$ ls -lha | grep ^d
drwxr-xr-x 5 lyear lyear 4.0K 4月 27 22:14 .
drwxr-xr-x 3 root root 4.0K 4月 27 12:52 ..
drwx------ 2 lyear lyear 4.0K 4月 27 12:53 .cache
drwx------ 3 lyear lyear 4.0K 4月 27 12:53 .config
drwx------ 2 lyear lyear 4.0K 4月 27 12:52 .ssh
$ ls -lha | grep ^-
-rw------- 1 lyear lyear 969 4月 27 22:06 .bash_history
-rw-r--r-- 1 lyear lyear 220 2月 25 2020 .bash_logout
-rw-r--r-- 1 lyear lyear 3.7K 2月 25 2020 .bashrc
-rw-r--r-- 1 lyear lyear 807 2月 25 2020 .profile
-rw-r--r-- 1 root root 690 4月 27 22:14 sources.list
-rw-r--r-- 1 lyear lyear 0 4月 27 12:55 .sudo_as_admin_successful
$ ls A*
ls: 无法访问 'A*': 没有那个文件或目录
$ ls -lh *.list
-rw-r--r-- 1 root root 690 4月 27 22:14 sources.list
$ ls -lR /bin
$ ls -AF