ls 命令是 Linux 中最常用的命令之一,用于列出目录内容。它有很多选项可以修改其行为,以显示不同格式和详细程度的信息。

以下是一些最常用和最有用的 ls 命令选项:


常用 ls 选项

  • **ls**:不带任何选项,列出当前目录下的非隐藏文件和目录。

  • -l (long format):以长格式显示详细信息,包括文件权限、硬链接数量、所有者、组、文件大小、最后修改时间以及文件名。这是最常用的选项之一。

  • -a (all):显示所有文件,包括隐藏文件(以 . 开头的文件和目录)。

  • -h (human-readable):与 -l 结合使用时,以人类可读的格式显示文件大小(例如,1K234M2G),而不是字节。

  • -R (recursive):递归列出目录内容,包括所有子目录。

  • **-t**:按修改时间排序,最新修改的文件或目录会显示在前面。

  • -r (reverse):反转排序顺序。通常与 -t 或其他排序选项结合使用,例如 ls -ltr 会按修改时间逆序(最旧的在前)显示长格式列表。

  • **-S**:按文件大小排序,最大的文件或目录显示在前面。

  • -i (inode):显示文件或目录的 inode 号。

  • -d (directory):列出目录本身的信息,而不是目录下的内容。当你想查看目录的详细信息(如权限、大小等)而不是其内部文件时非常有用。

  • -F

    (classify):在文件或目录名后面添加一个指示符,以区分文件类型:

    • / 表示目录
    • * 表示可执行文件
    • @ 表示符号链接
    • | 表示 FIFO (命名管道)
    • = 表示套接字 (socket)
  • **-1**:每行显示一个文件或目录名。

  • **-m**:将文件或目录名用逗号分隔,并尽可能在一行内显示。

pwd -P (physical): 这个选项会打印出当前目录的物理路径,即使你当前是通过符号链接(symbolic link)进入的目录,它也会解析并显示符号链接所指向的真实(物理)路径,而不是符号链接本身的路径。