在 Linux 中,ls -d 是一个非常有用的组合,它的主要作用是只列出目录本身,而不列出目录中的内容。
基本用法
ls -d <目录名>
为什么需要 -d?
默认情况下,ls 命令会列出指定目录下的文件和子目录,如果你只想查看目录本身的属性(如权限、所有者、大小等),而不想看到里面的内容,就需要使用 -d 选项。
示例
假设你有一个目录 /home/user/mydir,里面包含文件 file1.txt 和子目录 subdir。
不使用 -d(默认行为)
$ ls /home/user/mydir file1.txt subdir
输出的是目录内部。
使用 -d
$ ls -d /home/user/mydir /home/user/mydir
输出的是目录本身的路径。
结合 -l 查看详细信息
通常我们会将 -d 与 -l(长格式)结合使用,以查看目录本身的权限、所有者、大小等信息:
$ ls -ld /home/user/mydir drwxr-xr-x 2 user user 4096 Oct 10 10:00 /home/user/mydir
d表示这是一个目录。rwxr-xr-x是权限。2是硬链接数(对于目录,通常表示其子目录数量 + 2,即 和 )。
4096是目录本身的大小(不是里面所有文件的大小之和)。Oct 10 10:00是最后修改时间。
常见用途
获取目录的绝对路径:
$ ls -d /path/to/dir /path/to/dir
-
检查目录是否存在:
如果目录不存在,ls -d会报错;如果存在,则返回路径,可用于脚本中判断目录是否存在。 -
配合通配符使用:
列出当前目录下所有以log开头的目录:$ ls -ld log drwxr-xr-x 2 user user 4096 Oct 10 10:00 log_archive drwxr-xr-x 2 user user 4096 Oct 10 10:00 log_backup
| 命令 | 作用 |
|---|---|
ls dir |
列出 dir 目录下的文件和子目录 |
ls -d dir |
只列出 dir 目录本身(路径) |
ls -ld dir |
列出 dir 目录本身的详细信息(权限、所有者等) |
✅ 记忆技巧:-d 代表 “directory itself”(目录本身),而不是 “directory contents”(目录内容)。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/480997.html



