每日一个Linux命令解析——ls

ls:ls 是 Linux 和类 Unix 系统中最常用的命令之一,用于显示目录内容。它可以列出目录中的文件、子目录,并支持多种参数来定制输出方式。这个命令大部分朋友都见过,但是你真的会用么?这个命令的选项有二三十个之多,今天我们来说几个不大部分不怎么知道但是很有用的选项和例子

一、语法

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

二、选项

  • -a, –all:不忽略以 . 开头的条目(显示隐藏文件)。
  • -A, –almost-all:不显示 . 和 ..(当前目录和上级目录)。
  • –author:与 -l 结合使用时,显示每个文件的作者。
  • -b, –escape:为非图形字符打印 C 风格的转义序列。
  • –block-size=SIZE:与 -l 结合使用时,按指定的大小单位打印文件大小,例如 –block-size=M;参见下方的 SIZE 格式。
  • -B, –ignore-backups:不列出以 ~ 结尾的备份文件。
  • -c:与 -lt 结合时,按文件状态信息的最后修改时间(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=WORD:指定输出格式:横排 -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 模式的隐含条目(被 -a 或 -A 覆盖)。
  • –hyperlink[=WHEN]:为文件名生成超链接;WHEN 可以是 ‘always’(默认如果省略),’auto’,或 ‘never’。
  • –indicator-style=WORD:根据样式 WORD 为条目名称附加指示符:none(默认)、slash (-p)、file-type (–file-type)、classify (-F)。
  • -i, –inode:打印每个文件的索引号(inode)。
  • -I, –ignore=PATTERN:不列出匹配 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=WORD:为条目名称使用 WORD 样式的引号:literal、locale、shell、shell-always、shell-escape、shell-escape-always、c、escape(覆盖 QUOTING_STYLE 环境变量)。
  • -r, –reverse:反转排序顺序。
  • -R, –recursive:递归列出子目录内容。
  • -s, –size:以块为单位打印每个文件的分配大小。
  • -S:按文件大小排序,最大的排在最前面。
  • –sort=WORD:按 WORD 而不是名称排序:none (-U)、size (-S)、time (-t)、version (-v)、extension (-X)。
  • –time=WORD:改变默认的修改时间使用方式;访问时间(-u):atime、access、use;更改时间(-c):ctime、status;创建时间:birth、creation;与 -l 结合使用时,WORD 决定显示哪种时间;与 –sort=time 结合使用时,按 WORD 排序(最新的排在最前面)。
  • –time-style=TIME_STYLE:与 -l 结合使用时的时间/日期格式;参见下方的 TIME_STYLE。
  • -t:按时间排序,最新的文件排在最前面;参见 –time。
  • -T, –tabsize=COLS:假设每个制表符宽度为 COLS 列,而不是默认的 8。
  • -u:与 -lt 结合时,按访问时间排序并显示;与 -l 结合时,显示访问时间并按名称排序;否则,按访问时间排序,最新的排在最前面。
  • -U:不排序,按目录顺序列出条目。
  • -v:在文本中自然排序(版本号排序)。
  • -w, –width=COLS:将输出宽度设置为 COLS 列,0 表明没有限制。
  • -x:按行列出条目,而不是按列。
  • -X:按文件扩展名字母顺序排序。
  • -Z, –context:打印每个文件的安全上下文。
  • -1:每行列出一个文件。避免与 -q 或 -b 结合时的换行符。

三、示例

按文件大小从大到小排列:ls -lS

按文件大小从大到小排列,以 KB (千字节)、MB (兆字节)、GB (吉字节) 等单位显示文件大小:ls -lSH

在文件最后附加号,列如文件夹会附加/:ls -lF

打印文件的inode编号:ls -li

不显示文件所有者和所属组:ls -lgG

不以名称排序以特定方式排序:ls -l –sort=time

每行打印一个文件名:ls -1(注意:这个是一,不是字母L,遍历当前目录下文件时可使用)

按时间排序,最新的文件排在最前面:ls -lt

四、总结

ls 命令是一个超级强劲的工具,能够通过各种选项显示文件和目录的信息。通过不同选项的组合,ls 可以提供详细的文件权限、大小、修改时间等信息,满足各种文件管理需求。在一些系统中已经将ls配置为显示颜色的别名。

每日一个Linux命令解析——ls

#linux命令##ls命令#

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容