玩转Linux中的隐藏文件与文件夹
什么是隐藏文件?
在结束这篇教程前,我们有必要聊一聊 隐藏文件(和文件夹)。在 Linux 系统中,它们通常被用来存放用户的个人设置和程序的配置文件。将它们隐藏起来,主要是为了让你的文件目录看起来更整洁,避免被一大堆你不常直接操作的配置文件所干扰。
其实,隐藏文件并没有什么特殊之处,它的“魔法”全在于文件名:只要一个文件或文件夹的名字以点(.
)开头,它就会被自动隐藏起来。
让我们来亲自实践一下。首先,确保你还在我们之前创建的练习目录中:
cd /tmp/tutorial
ls
现在,我们用 mv
命令给 combined.txt
改个名,在前面加一个点:
mv combined.txt .combined.txt
ls
执行 ls
后,你会发现 combined.txt
文件“消失”了!其实它还在那里,只是被隐藏了起来。
如何操作隐藏文件?
虽然看不见,但我们依然可以像操作普通文件一样与它交互,只要在指定文件名时,记得带上那个点 .
即可。
# 读取隐藏文件的内容
cat .combined.txt
# 创建一个隐藏目录
mkdir .hidden
# 将隐藏文件移动到隐藏目录中
mv .combined.txt .hidden
# 查看移动后的隐藏文件内容
less .hidden/.combined.txt
如何查看隐藏文件?
那么,我们如何才能看到这些被隐藏起来的文件和目录呢?答案是使用 ls
命令的 -a
参数。这里的 -a
代表“all”,也就是显示全部文件。
让我们来对比一下效果:
# 看不到任何东西,因为 .hidden 目录本身是隐藏的
ls
# 使用 -a 参数,所有隐藏文件和目录都现身了!
ls -a
# 尝试查看隐藏目录的内容,但因为里面的文件也是隐藏的,所以看不到东西
ls .hidden
# 结合使用 -a 参数,就能看到隐藏目录里的隐藏文件了
ls -a .hidden
当你运行 ls -a
时,你会注意到输出中多了两个特殊的身影:.
和 ..
。它们其实是目录的快捷方式:
.
代表当前目录。..
代表上一级目录。
我们之前安装的 tree
命令也支持类似的用法,同样是使用 -a
参数来显示所有内容:
# tree 命令默认不显示隐藏文件
tree
# 使用 -a 参数后,隐藏的 .hidden 目录和文件就都显示出来了
tree -a
隐藏文件的真正用途
现在,让我们回到你的个人主目录(Home Directory)来看一个真实的例子。
# 切换回主目录
cd
# 试着对比下面两个命令的输出
ls
ls -a
是不是被 ls -a
的输出吓了一跳?原来你的主目录里“藏”着这么多文件!你可以用 wc -l
命令来统计一下数量,感受会更直观:
ls -a | wc -l
小提示:
|
是管道符,它将前一个命令(ls -a
)的输出结果,作为后一个命令(wc -l
,统计行数)的输入。
这些隐藏文件和目录,正是 Linux 系统存放你个人配置的地方。比如你的终端样式、软件设置、登录信息等。这种设计非常巧妙:系统级别的通用配置通常存放在 /etc
目录下,而每个用户可以在自己的主目录中,通过这些隐藏的配置文件来覆盖或定制自己的专属设置,从而实现系统设置与用户设置的分离。
通常你不需要频繁地和这些文件打交道,但当你需要按照某些教程配置软件时,可能会遇到类似“请进入 .config
目录”或“请编辑 ~/.bashrc
文件”的指令。现在,你就明白这是怎么一回事了,即使在图形文件管理器中看不到它们,你也知道该如何找到并操作它们。
清理工作
我们的教程已经接近尾声。在离开前,我们应该保持一个好习惯:将系统恢复到我们来之前的状态。首先,请确保你已经回到了主目录(可以运行 pwd
检查,如果不在,就运行 cd
回去)。
现在,让我们删除之前用于实验的目录,并检查它是否已被彻底清理:
# -r 参数表示递归删除,它会删除目录本身以及目录内的所有内容
rm -r /tmp/tutorial
# 检查一下 /tmp 目录,确认 tutorial 目录已经不见了
ls /tmp
作为最后的步骤,让我们关闭终端。虽然直接点击窗口的关闭按钮也可以,但更专业的做法是“登出”当前的 shell 会话。你可以使用 logout
命令,或者更快捷的键盘快捷键 Ctrl + D。
如果你打算经常使用终端,记住这两个快捷键会极大提高你的效率:Ctrl + Alt + T 快速打开终端,Ctrl + D 快速关闭。这会让终端感觉就像一个可以被你召之即来、挥之即去的得力助手。