ls
是 Linux/Unix 系统中一个非常常用的命令,用于列出指定目录中的文件和子目录。它可以提供文件的名称、权限、大小、修改时间等信息。以下是对 ls
指令的详解,包括常见选项和使用示例。
ls [选项] [目录/文件...]
如果不指定目录,ls
会默认列出当前工作目录下的文件和目录。
ls
:列出当前目录下的文件和目录(默认不显示隐藏文件)。
ls -a
:显示所有文件和目录,包括隐藏文件(隐藏文件以.
开头)。
ls -a
输出:
. .. .hidden_file file1 file2
ls -l
:以长格式显示文件和目录信息(权限、拥有者、大小、修改时间等)。
ls -l
输出示例:
-rw-r--r-- 1 user group 12345 Jan 5 15:20 file1
drwxr-xr-x 2 user group 4096 Jan 5 15:10 dir1
长格式信息字段解释:
-
:普通文件d
:目录l
:符号链接c
:字符设备b
:块设备ls -h
:结合 -l
使用,以人类可读的形式显示文件大小(如 KB、MB)。
ls -lh
输出示例:
-rw-r--r-- 1 user group 12K Jan 5 15:20 file1
drwxr-xr-x 2 user group 4.0K Jan 5 15:10 dir1
ls -d
:仅显示目录本身,而不是其内容。
ls -d */
输出示例:
dir1/ dir2/
ls -r
:以逆序显示(按名称排序的逆序)。
ls -r
输出示例:
file2 file1 dir1
ls -t
:按修改时间排序(最近修改的文件排在最前)。
ls -lt
ls -S
:按文件大小排序(从大到小)。
ls -lS
ls -R
:递归显示目录内容(包括子目录的内容)。
ls -R
选项可以组合使用,例如:
ls -alh
:显示所有文件(包括隐藏文件),以长格式显示,并以人类可读的文件大小。
ls -alh
输出示例:
drwxr-xr-x 2 user group 4.0K Jan 5 15:10 .
drwxr-xr-x 3 user group 4.0K Jan 5 14:00 ..
-rw-r--r-- 1 user group 12K Jan 5 15:20 file1
-rw-r--r-- 1 user group 8.0K Jan 5 15:10 file2
ls -ltr
:按时间排序,以逆序显示。
ls -ltr
在长格式输出中(ls -l
),文件类型由第一列第一个字符标识:
-
:普通文件d
:目录l
:符号链接c
:字符设备文件b
:块设备文件s
:套接字文件p
:管道文件--color=auto
:为输出内容添加颜色,以区分文件、目录、链接等(很多系统默认开启)。
ls --color=auto
--sort
:按指定方式排序(替代默认的字母顺序)。
--sort=size
:按大小排序。--sort=time
:按修改时间排序。--sort=extension
:按文件扩展名排序。--full-time
:显示完整的时间戳(包括秒和年份)。
ls --full-time
-i
:显示文件的 inode 编号。
ls -i
输出示例:
123456 file1
123457 file2
列出当前目录的所有文件和子目录
ls -al
列出指定目录的内容
ls /path/to/directory
按文件大小排序
ls -lS
按最近修改时间排序并显示详细信息
ls -lt
递归列出目录内容
ls -R
显示目录中的隐藏文件
ls -a
查看文件的 inode 编号
ls -i
在许多 Linux 系统中,ls
的一些选项已经通过别名简化。例如:
alias ll='ls -alF'
:ll
显示详细信息并标识文件类型。alias la='ls -A'
:la
显示几乎所有文件(除去 .
和 ..
)。alias l='ls -CF'
:l
显示文件和目录。可以在 ~/.bashrc
或 ~/.zshrc
文件中设置自己的 ls
别名。