Ubuntu 必备命令 ls -al:完美掌握 Linux 隐藏文件与权限!

概述

在 Linux 及 Ubuntu 终端环境中,最基础且最重要的命令莫过于用于查看文件和目录的 ls。本文将结合实操示例,详细介绍如何利用 ls -al 选项一目了然地查看文件权限、所有者以及以点(.)开头的隐藏文件。

1. ls 基本用法与文件详细信息查看 (ls, ls -l)

为了创建并进入用于 ls 命令实操的专属目录,请执行 mkdir -p ~/ls_demo && cd ~/ls_demo 命令。

mkdir -p ~/ls_demo && cd ~/ls_demo

为了准备实操所需的示例文件,请使用 touch file1.txt file2.txt 命令创建空文件。

touch file1.txt file2.txt

ls 命令用于列出当前目录中的文件和目录列表。
⚙️ [主要选项]

-a : 列出包括以点(.)开头的文件和目录在内的所有项目。
-l : 显示文件权限、所有者、文件大小等详细信息。
-h : 以易读单位(KB、MB、GB)显示文件大小。
-t : 按最近修改时间从新到旧排序并输出。
-S : 按文件大小由大到小排序并显示列表。

ls

ls -l 命令以列表形式输出文件权限、所有者、容量、修改时间等各项目的详细信息。

ls -l

2. 包含隐藏文件和隐藏目录的全量查看 (ls -a, ls -al)

为了进行隐藏文件实操,请执行 touch ~/ls_demo/.hidden_file 命令,创建一个文件名开头带点(.)的 .hidden_file 空文件。

touch ~/ls_demo/.hidden_file

为了进行隐藏目录实操,请执行 mkdir -p ~/ls_demo/.config_dir 命令,创建一个目录名开头带点(.)的 .config_dir 目录。

mkdir -p ~/ls_demo/.config_dir

ls -a ~/ls_demo 命令用于列出包含以点(.)开头的隐藏文件和隐藏目录在内的所有项目。
运行结果中可以看到,包含当前目录(.)和上级目录(..)在内,前面创建的 .config_dir 目录和 .hidden_file 文件均在一并输出的列表中。

ls -a ~/ls_demo

ls -al ~/ls_demo 命令以列表形式输出包含隐藏项目在内的所有文件和目录的详细信息。
运行结果中可以看到,包括隐藏项目在内的各个文件和目录的访问权限、所有者、文件大小、修改时间等均被详细输出。

ls -al ~/ls_demo

3. 人性化文件大小显示与文件排序 (ls -lh, ls -lt, ls -lS)

为了准备文件大小显示及排序实操所需的示例文件,请执行 head -c 5M /dev/urandom > ~/ls_demo/bigfile.bin 命令,生成一个大小为 5MB 的 bigfile.bin 文件。

head -c 5M /dev/urandom > ~/ls_demo/bigfile.bin

ls -lh ~/ls_demo 命令会将文件大小由字节单位转换为易读单位(KB、MB 等)并输出详细信息列表。
运行结果中可以看到,bigfile.bin 文件的大小不再以字节表示,而是直观地显示为 5.0M 形式。

ls -lh ~/ls_demo

ls -lt ~/ls_demo 命令按最近修改时间的先后顺序对文件和目录列表进行排序,并输出详细信息。
运行结果中可以看到,最近创建或修改的项目被优先显示在列表顶部。

ls -lt ~/ls_demo

ls -lS ~/ls_demo 命令按文件大小由大到小的顺序对列表进行排序并输出详细信息。
运行结果中可以看到,目录中体积最大的文件会被优先依次列出。

ls -lS ~/ls_demo

4. 层级目录结构可视化 (使用 tree 命令)

为了进行子目录结构可视化实操,请执行 mkdir -p ~/ls_demo/subdir1/nested 命令,创建一个具有层级结构的目录。

mkdir -p ~/ls_demo/subdir1/nested

为了在刚创建的嵌套目录内部添加示例文件,请执行 touch ~/ls_demo/subdir1/nested/file3.txt 命令。

touch ~/ls_demo/subdir1/nested/file3.txt

为了进行 tree 命令可视化实操,请执行 sudo apt-get update -qq && sudo apt-get install -y tree 命令安装相关软件包。

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

tree -a ~/ls_demo 命令以树状图形式可视化输出包含隐藏文件和隐藏目录在内的指定目录的完整层级结构。
运行结果中可以看到,从 .config_dir.hidden_file 等隐藏项目到子目录中的 subdir1/nested/file3.txt,目录与文件之间的包含关系一目了然。

tree -a ~/ls_demo

至此,我们已经利用 Ubuntu 必备命令 ls -al 简要了解了查看隐藏文件以及 Linux 文件权限结构的方法。
希望你能根据今天学到的内容,构建出更加安全、高效的 Linux 环境。