菜鸟科技网

mac ls命令有哪些常用参数?

ls 是 list 的缩写,是 macOS 和其他类 Unix 系统(如 Linux)中最基本、最常用的命令之一,它的主要作用是列出目录中的内容。

mac ls命令有哪些常用参数?-图1
(图片来源网络,侵删)

基本用法

打开你的“终端”(Terminal)应用程序,然后就可以使用 ls 命令了。

列出当前目录的内容

直接输入 ls 并按回车,会列出当前工作目录下的所有文件和文件夹。

# 示例输出
Applications    Documents       Downloads       Movies
Library     Pictures        Desktop     Public

列出指定目录的内容

你可以在 ls 后面加上一个路径,来列出该目录下的内容。

# 列出用户主目录下的 Documents 文件夹内容
ls ~/Documents
# 列出根目录下的 Applications 文件夹内容
ls /Applications

常用选项(Flags)

ls 命令的真正威力在于它的各种选项,选项通常以一个短横线 开头。

mac ls命令有哪些常用参数?-图2
(图片来源网络,侵删)

-l:长格式列表

这是最常用的选项之一,它会以详细列表的形式显示信息,每一行代表一个文件或目录,包含以下信息:

  • 文件类型和权限-rw-r--r--drwxr-xr-x
  • 硬链接数:通常为1。
  • 所有者:文件或目录的拥有者。
  • 所属组:文件或目录所属的用户组。
  • 大小:文件大小(以字节为单位)。
  • 最后修改日期和时间
  • 名称:文件或目录的名称。
ls -l

示例输出解析:

drwxr-xr-x@ 5 myuser  staff   160 Oct 26 10:30 Documents
-rw-r--r--@ 1 myuser  staff  12345 Oct 25 15:22 report.txt
  • d:这是一个目录 (directory),如果是普通文件,则显示为 。
  • rwxr-xr-x:分别是所有者、组、其他用户的权限。
  • 5:硬链接数。
  • myuser:所有者。
  • staff:所属组。
  • 160:大小(字节)。
  • Oct 26 10:30:最后修改时间。
  • Documents / report.txt:名称。

-a:显示所有文件

默认情况下,ls 会隐藏以 开头的文件(这些是隐藏文件或系统文件)。-a 选项会显示所有文件,包括这些隐藏文件。

ls -a

示例输出:

mac ls命令有哪些常用参数?-图3
(图片来源网络,侵删)
.           ..          .DS_Store       Applications
Documents       Library     ...
  • 代表当前目录。
  • 代表上级目录。
  • .DS_Store.gitignore 等就是隐藏文件。

-h:人性化显示文件大小

当与 -l 一起使用时,-h 选项会将文件大小从字节转换为更易读的单位,如 K (KB), M (MB), G (GB)。

ls -lh

示例输出:

total 64
drwxr-xr-x@ 5 myuser  staff   160B Oct 26 10:30 Documents
-rw-r--r--@ 1 myuser  staff   12K Oct 25 15:22 report.txt
drwxr-xr-x@ 2 myuser  staff   4.0K Oct 26 11:00 Pictures
  • 160B, 12K, 0K160, 12288, 4096 更直观。

-t:按修改时间排序

默认情况下,文件是按字母顺序排序的。-t 选项会根据文件的最后修改时间进行排序,最新的文件会显示在最前面。

ls -t

-r:反向排序

这个选项会反转排序的顺序,与 -t 一起使用时,最旧的文件会显示在最前面。

ls -tr

-S:按文件大小排序

这个选项会根据文件大小进行排序,从大到小。

ls -lS

组合使用选项

你可以将多个选项组合在一起使用,这是 ls 命令最常见和最强大的用法。

列出所有文件的详细信息(包括隐藏文件)

这是最经典的组合,几乎在所有开发和管理工作中都会用到。

ls -la

或者

ls -al

(选项的顺序通常不重要)

按时间排序并人性化显示大小

ls -lhtr
  • l: 长格式
  • h: 人性化大小
  • t: 按时间排序(新到旧)
  • r: 反向排序(最终效果为:旧到新)

在 macOS 上的特殊之处

默认使用 ls -G (彩色显示)

在 macOS 的默认 Shell (Zsh) 中,ls 命令默认就带上了 -G 选项,它会用不同的颜色来区分不同类型的文件,使其更易于阅读:

  • 蓝色:目录
  • 黑色/白色:普通文件
  • 绿色:可执行文件
  • 黄色:设备文件
  • 青色:符号链接

如果你不想使用颜色,可以使用 -F 选项(在 macOS 上效果类似)或者 CLICOLOR 环境变量来禁用。

使用 GNU ls (通过 gnubin)

macOS 自带的 ls 是 BSD 版本的,功能与 Linux 上的 GNU 版本略有不同(GNU ls 默认不支持 --color=auto),很多习惯 Linux 的用户更喜欢 GNU 版本。

你可以通过 Homebrew 安装 coreutils 包来获得 GNU 版本的命令,安装后,GNU ls 会被命名为 gls

# 安装 coreutils
brew install coreutils
# 使用 GNU ls
gls --color=auto -la

安装后,你还可以将 gnubin 目录添加到你的 PATH 中,这样 ls 命令就会优先指向 GNU 版本。


实用技巧

使用管道 和 less 分页查看非常多时,屏幕会一闪而过,你可以使用管道 将 ls 的输出传递给 less 命令进行分页查看。

ls -la | less

less 界面中,你可以使用上下箭头、jk 来滚动,按 q 退出。

使用通配符 进行模糊匹配

你可以使用 来匹配任意数量的字符。

# 列出所有以 .log 结尾的文件
ls *.log
# 列出所有以 "Doc" 开头的文件或文件夹
ls Doc*

总结表格

选项 全称 功能 示例
-l --format=long 以长格式(详细列表)显示 ls -l
-a --all 显示所有文件,包括隐藏文件 ls -a
-h --human-readable 人性化显示文件大小 (K, M, G) ls -lh
-t --sort=time 按修改时间排序(新到旧) ls -t
-r --reverse 反向排序结果 ls -tr
-S --sort=size 按文件大小排序(大到小) ls -lS
-F --classify 在文件名后添加类型标识( for dir, for exec) ls -F
-G (macOS only) 彩色输出 ls (默认开启)
-d --directory 只列出目录本身,不列出其内容 ls -d */

掌握 ls 命令是使用 macOS 终端的第一步,也是最重要的一步,从简单的 ls 开始,逐步尝试组合不同的选项,你会发现它非常强大且高效。

分享:
扫描分享到社交APP
上一篇
下一篇