dir 列出目录内容

作用

dir(directory)列出目录内容。

列出有关文件的信息(默认情况下为当前目录)。如果未指定 -cftuvSUX 或 --Sort,则按字母顺序对条目进行排序。

提示:该命令只需了解,实际上使用 ls 代替。

语法

dir [<OPTION>]... [<FILE>]...

参数

  • -a, --all  不隐藏任何以 . 开始的项目。

  • -A, --almost-all  列出除 . 及 .. 以外的任何项目。

  • --author  与 -l 同时使用时列出每个文件的作者。

  • -b, --escape  以八进制溢出序列表示不可打印的字符。

  • --block-size=SIZE  在打印之前按 SIZE 缩放尺寸。如 --block-size=M 以 1,048,576 bytes 为单位打印。SIZE 格式参见下文。

  • -B, --ignore-backups

  • 不列出以 ~ 结尾的隐含条目。

  • -c  与 -lt 一起:排序并显示 ctime(上次的时间文件状态信息的修改)。与 -l 一起: 显示 ctime 并按名称排序,否则按 ctime 排序,最新的在前。

  • -C  每栏由上至下列出项目。

  • --color[=WHEN]  控制是否使用色彩分辨文件。WHEN 可以是 "never"(默认)、"always"或"auto"其中之一。

  • -d, --directory  当遇到目录时列出目录本身而非目录内的文件。

  • -D, --dired  产生适合 Emacs 的 dired 模式使用的结果。

  • -f  不进行排序,-aU 选项生效,-lst 选项失效。

  • -F, --classify  加上文件类型的指示符号(*/=@| 其中一个)

  • --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 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G)。

  • --si  同上面类似,但是使用 1000 为基底而非 1024。

  • -H, --dereference-command-line  跟随命令行列出的符号链接。

  • --dereference-command-line-symlink-to-dir  跟随命令行列出的目录的符号链接。

  • --hide=PATTERN  隐藏符合 PATTERN 模式的项目(-a 或 -A 将覆盖此选项)。

  • --indicator-style=WORD  指定在每个项目名称后加上指示符号方式:none (默认),classify (-F),file-type (-p)。

  • -i, --inode  显示每个文件的 inode 号。

  • -I, --ignore=PATTERN  不显示任何符合指定 Shell PATTERN 的项目。

  • -k  即 --block-size=1K。

  • -l  使用较长格式列出信息。

  • -L, --dereference  当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息。

  • -m  所有项目以逗号分隔,并填满整行行宽。

  • -n, --numeric-uid-gid  类似 -l,但列出 UID 及 GID 号。

  • -N, --literal  输出未经处理的项目名称 (如不特别处理控制字符)。

  • -o  类似 -l,但不列出有关组的信息。

  • -p, --indicator-style=slash  对目录加上表示符号 "/"。

  • -q, --hide-control-chars  以"?"字符代替无法打印的字符。

  • --show-control-chars  直接显示无法打印的字符 (这是默认方式,除非调用的程序名称是"ls"而且是在终端输出结果)

  • -Q, --quote-name  将条目名称括上双引号。

  • --quoting-style=方式  使用指定的 quoting 方式显示条目的名称:literal、locale、shell、shell-always、c、escape。

  • -r, --reverse  逆序排列。

  • -R, --recursive  递归显示子目录。

  • -s, --size  以块数形式显示每个文件分配的尺寸。

  • -S  根据文件大小排序。

  • --sort=WORD  按 WORD 而非名称排序:无 (-U)、大小 (-S)、时间(-t)、版本 (-v)、扩展名 (-X)。

  • --time=WORD  和-l 同时使用时显示WORD 所代表的时间而非修改时间:atime、access、use、ctime 或status;加上 --sort=time 选项时会以指定时间作为排序关键字。

  • --time-style=STYLE  和 -l 同时使用时根据STYLE 代表的格式显示时间:full-iso、iso、locale、posix-iso、+FORMAT。FORMAT 即是"date"所用的时间格式;如果 FORMAT 是 FORMAT1<换行>FORMAT2,FORMAT1 适用于较旧的文件而FORMAT2 适用于较新的文件;如果 STYLE 以"posix-"开头,则STYLE 仅在POSIX 语系之外生效。

  • -t  根据修改时间排序。

  • -T, --tabsize=COLS  指定制表符(Tab)的宽度,而非 8 个字符。

  • -t  按修改时间排序,最新的在前。

  • -T, --tabsize=COLS  假设制表符在每个 COLS 处停止,而不是默认的 8。

  • -u  同 -lt 一起使用:按照访问时间排序并显示。同 -l 一起使用:显示访问时间并按文件名排序。其他:按照访问时间排序。

  • -U  不进行排序;按照目录顺序列出项目。

  • -v  在文本中进行数字(版本)的自然排序。

  • -w, --width=COLS  自行指定萤幕宽度而不使用目前的数值。

  • -x  逐行列出项目而不是逐栏列出。

  • -X  根据扩展名排序。

  • -1  每行只列出一个文件。

  • --help  显示此帮助信息并退出。

  • --version  显示版本信息并退出。

示例

(1)列出当前目录的内容:

hxstrive@localhost:~$ dir
Hello.java  mysql8

(2)列出 "/var" 里所有内容的详细信息:

hxstrive@localhost:~$ dir -l /var
total 0
drwxr-xr-x 1 root root   512 Apr 18  2022 backups
drwxr-xr-x 1 root root   512 Apr  4 10:29 cache
drwxrwxrwt 1 root root   512 Oct 26  2022 crash
drwxr-xr-x 1 root root   512 Apr  4 10:29 lib
drwxrwsr-x 1 root staff  512 Apr 18  2022 local

(3)列出目录的内容,带有颜色以区分不同类型的文件:

hxstrive@localhost:~$ dir --color
Hello.java  mysql8

(4)不隐藏任何以 . 开始的项目,即隐藏文件:

hxstrive@localhost:~$ dir -a
.   .bash_history  .bashrc   .motd_shown  .sudo_as_admin_successful  Hello.java
..  .bash_logout   .lesshst  .profile     .viminfo                   mysql8

更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号