15%

Alexhost 满足您的愿望

参与调查 并赢得奖品

02.09.2025
No categories

如何在Linux中列出目录?

Linux 中工作常常感觉像是在导航一个庞大的图书馆。你没有书架,只有目录(文件夹);你没有书,只有文件。作为系统管理员、开发者,甚至是好奇的初学者,要有效地工作,你需要掌握在这个结构中找到方向的基础知识。最重要的技能之一是学习如何列出目录。本文将带你了解不同的方法,解释它们的优缺点,并展示每种方法何时适用。

为什么列出目录很重要

在个人电脑上,你可能只偶尔查看一下“文档”或“下载”文件夹。然而,在服务器上,目录是日常任务的核心:

  • 系统管理:快速检查 /etc/ 或 /var/log/ 中的内容。
  • 网络托管:在 /var/www/ 中找到项目文件夹。
  • 开发:识别隐藏目录,例如 .git/ 或 .venv/。
  • 安全性:确认系统上安装和运行的内容。

简而言之:如果你不知道如何高效地列出目录,你总会感到迷失。

最简单的方法:ls

ls 命令是显示文件夹内容的默认工具。运行它而不带参数:

ls

这将显示文件和目录。如果你只想查看目录:

ls -d */

这里发生了什么:

  • -d 告诉 ls 不要深入每个目录。
  • */ 是一个 shell 模式,匹配当前文件夹中的所有目录。

但有一个限制:隐藏目录(以点开头的目录,如 .git)不会显示。

如果你还想要详细信息——权限、所有权、时间戳——运行:

ls -ld */

当你只想快速查看时使用这个,但要注意这不是脚本的最可靠方法。

更可靠的方法:find

find 就像一个搜索灯:它可以扫描你的系统,查找任何深度的目录。

从当前位置递归列出所有目录:

find . -type d

仅列出顶级目录(在 Linux、macOS、BSD 中可移植):

find . -mindepth 1 -prune -type d

如果你使用的是 GNU/Linux(大多数 VPS 发行版),可以使用更简单的版本:

find . -maxdepth 1 -type d

何时使用 find:

  • 你希望包含隐藏目录。
  • 你需要递归结果。
  • 你正在编写脚本,需要在系统之间保持一致性。

为什么不使用 ls -l | grep “^d”?

你有时会看到建议使用这个:

ls -l | grep "^d"

它过滤 ls -l 的输出,只显示目录(因为它们以 d 开头)。

但这种方法是脆弱的:

  • 不同的区域设置或颜色设置可能会破坏解析。
  • 指向目录的符号链接不会出现。
  • 不可靠用于自动化。

最好使用 find。

最佳实践

  • 对于脚本:使用 find — 可移植、一致,并且适用于隐藏目录。
  • 对于快速检查:ls -d */ 很好 — 只需记住它会忽略隐藏文件夹。
  • 对于可视结构:使用 tree。
  • 对于安全性:始终仔细检查隐藏目录 — 它们通常存储重要的配置(.ssh、.git、.config)。
  • 结论

列出目录是一项基本但重要的 Linux 技能。根据上下文,你有几种工具可用:

  • ls -d */ 用于快速检查。
  • find . -mindepth 1 -prune -type d 用于可靠的顶级结果。
  • tree -d 用于系统的可视化地图。

在 AlexHost VPS 或专用服务器上,这些命令帮助你完全控制你的环境,无论你是在部署应用程序、监控日志,还是仅仅在探索文件系统。掌握它们将为你节省时间,防止错误,并让你在任何 Linux 机器上感到如同在家。

15%

Alexhost 满足您的愿望

参与调查 并赢得奖品

Похожие записи не найдены.