Ubuntu ls 命令完全指南 - 从选项组合到实战技巧

概述

在 Linux 环境中,本文将结合实际操作带您掌握最基础也是最常用的 ls 命令的核心用法。从基本文件列表查询到查看隐藏文件、权限分析、排序以及树状视图扩展,分步梳理了在实际工作中可立即上手的必备选项。

基本文件列表查看与隐藏文件查询 (ls, ls -a)

为了创建用于 ls 命令练习的专用空间并切换到该目录,执行 mkdir -p ~/ls_practice && cd ~/ls_practice 命令。

mkdir -p ~/ls_practice && cd ~/ls_practice

为了创建用于练习的普通文本文件和隐藏属性的配置文件,执行 touch file1.txt file2.txt .hidden_config 命令。

touch file1.txt file2.txt .hidden_config

ls 命令是查看当前目录下文件和目录列表的最基本命令。
在不带任何选项执行时,仅输出普通项目,以点号(.)开头的隐藏文件会被排除。
⚙️ [主要选项]

-a : 输出包括以点号(.)开头的隐藏文件和目录在内的所有项目。
-l : 以长列表格式显示文件权限、所有者、文件大小、修改时间等详细信息。
-h : 将文件大小转换为人类易读的单位(K、M、G 等)显示(与 -l 选项配合使用)。
-t : 按文件最近修改时间的先后顺序排序输出。
-S : 按文件大小由大到小排序显示列表。
-R : 递归输出所有子目录的内容。

ls

ls -a 命令可查看当前目录下的所有项目,并一并输出以点号(.)开头的隐藏文件。
在执行结果中,包含代表当前目录的 .、代表上级目录的 .. 以及之前创建的隐藏文件 .hidden_config。

ls -a

文件详细信息与权限分析 (ls -l, ls -lh)

为了对比容量显示差异,使用 fallocate -l 10M ~/ls_practice/sample_large.dat 命令创建一个大小为 10MB 的大容量测试文件。

fallocate -l 10M ~/ls_practice/sample_large.dat

ls -l 命令以长列表格式输出文件权限、所有者、所属组、文件大小(字节单位)、最后修改时间等详细信息。
在默认设置下,文件大小以字节单位的数字显示,难以一目了然地掌握大容量文件的大小。

ls -l ~/ls_practice

ls -lh 命令结合了 -h (human-readable) 选项,将文件大小转换为 KB、MB、GB 等易读的单位后输出。
可以看到,之前创建的大容量文件的大小直观地显示为 10M,而不是一长串字节数字。

ls -lh ~/ls_practice

按时间及大小排序选项的使用 (ls -lt, ls -lS)

为了进行按时间排序的实操,需要创建一个修改时间为两天前的旧文件 old_file.txt,执行 touch -d '2 days ago' ~/ls_practice/old_file.txt 命令。

touch -d ‘2 days ago’ ~/ls_practice/old_file.txt

为了创建作为对比目标的最新时间文件 recent_file.txt,执行 touch ~/ls_practice/recent_file.txt 命令。

touch ~/ls_practice/recent_file.txt

ls -lt 命令结合了 -t 选项,按最近修改的文件降序(从新到旧)排序输出。
可以看到,刚刚创建的 recent_file.txt 位于列表最顶部,而设置为两天前时间的 old_file.txt 则显示在最后。

ls -lt ~/ls_practice

ls -lS 命令使用大写 -S 选项,按文件大小从大到小排序显示列表。
创建的 10MB 大小的 sample_large.dat 文件显示在最上方,有助于快速找出目录下占用空间较大的大文件。

ls -lS ~/ls_practice

目录结构可视化与通配符过滤 (tree, ls *.txt)

为了进行层级目录结构浏览的实操,需要创建多级子目录和示例日志文件,执行 mkdir -p ~/ls_practice/subdir/inner && touch ~/ls_practice/subdir/inner/note.log 命令。

mkdir -p ~/ls_practice/subdir/inner && touch ~/ls_practice/subdir/inner/note.log

ls ~/ls_practice/*.txt 命令利用通配符(*),只筛选并输出扩展名为 .txt 的文件。
排除了大容量数据文件和子目录,能够准确地仅查看文本文件列表。

ls ~/ls_practice/*.txt

为了以树状形式可视化查看目录结构,使用 sudo apt-get update -qq && sudo apt-get install -y tree 命令安装 tree 软件包。

sudo apt-get update -qq && sudo apt-get install -y tree

tree ~/ls_practice 命令以树状图的形式输出指定目录的子文件夹和文件结构,让人一目了然。
可以直观地查看包含嵌套的 subdir/inner/note.log 路径在内的全部文件与目录数量以及层级关系。

tree ~/ls_practice

以上简要整理了 Ubuntu 环境中实用的 ls 命令必备选项组合与实战技巧。
熟练掌握针对不同场景的选项搭配,让终端操作更加敏捷高效。