Linux 入门教程(五):文件系统与文件操作全面解析
本次教程,我们从 Linux 文件系统的架构说起,逐步过渡到文件和文件夹的基本操作,包括创建、移动、复制和删除。Linux 的文件系统是整个操作系统的"骨架",理解它是掌握 Linux 的第一步!
Linux 文件系统的架构 {#linux-%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%9E%B6%E6%9E%84}
Linux 的文件系统采用 树状结构 ,所有内容都挂载在一个根目录 /
下。从根目录开始,一切皆是文件,包括硬件设备、配置文件、程序以及普通文件和目录。
主要目录解析:
-
/
:根目录,一切开始的地方。 -
/home
:普通用户的家目录,用户个人文件储存地。 -
/root
:超级用户(root
)的家目录。 -
/bin
和/sbin
:存放系统必需的二进制可执行文件,比如ls
和mkdir
。/sbin
主要为管理员提供工具。 -
/etc
:存放系统配置文件,比如网络配置文件和服务启动脚本。 -
/var
:动态数据存储目录,比如日志文件和缓存数据。 -
/tmp
:临时文件目录,系统重启后会清空。 -
/usr
:用户程序和文件的存放地,包括常用软件包和库文件。 -
/dev
:存放设备文件,例如硬盘、鼠标等硬件都以文件形式存在。 -
/proc
:虚拟文件系统,提供内核和进程的运行时信息。
了解这些目录的作用有助于你在操作系统中游刃有余。
创建文件和文件夹 {#%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9}
Linux 中,一切操作都从文件和文件夹开始。两个常用命令 mkdir
和 touch
是你的入门伙伴。
mkdir
:创建目录 {#mkdir%EF%BC%9A%E5%88%9B%E5%BB%BA%E7%9B%AE%E5%BD%95}
mkdir
是 make directory 的缩写,用于创建目录。
基本用法:
mkdir 目录名
例子:创建名为 example
的目录:
mkdir example
创建多级目录 :
如果要一次性创建多层嵌套的目录,比如 dir1/dir2/dir3
:
mkdir -p dir1/dir2/dir3
选项 -p
会自动创建中间层级,避免报错。
touch
:创建文件 {#touch%EF%BC%9A%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6}
touch
是一个"万能文件制造机",它的主要作用是创建空文件或更新文件时间戳。
基本用法:
touch 文件名
例子:创建名为 file.txt
的文件:
touch file.txt
一次创建多个文件:
touch file1.txt file2.txt file3.txt
更新文件时间戳 : 如果文件已存在,touch
会更新文件的访问时间和修改时间。
移动、复制和删除文件 {#%E7%A7%BB%E5%8A%A8%E3%80%81%E5%A4%8D%E5%88%B6%E5%92%8C%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6}
Linux 中对文件的基本操作都通过 mv
、cp
和 rm
实现。掌握这些命令,你就能像"搬运工"一样自由操控文件和目录。
mv
:移动或重命名文件 {#mv%EF%BC%9A%E7%A7%BB%E5%8A%A8%E6%88%96%E9%87%8D%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6}
基本用法:
-
移动文件:
mv 源文件 目标目录
例子:将
file.txt
移动到example
目录:mv file.txt example/
-
重命名文件 :
如果目标是文件名,mv
就相当于重命名工具:mv old_name.txt new_name.txt
小技巧:
-
如果目标目录中已有同名文件,
mv
默认会覆盖它而不提示。添加-i
(interactive)选项可避免意外覆盖:mv -i file.txt example/
cp
:复制文件或目录 {#cp%EF%BC%9A%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95}
基本用法:
-
复制文件:
cp 源文件 目标路径
例子:将
file.txt
复制到example
目录:cp file.txt example/
-
复制目录 :
使用-r
(递归)选项复制整个目录:cp -r dir1/ dir2/
注意事项:
-
默认情况下,
cp
不会提示是否覆盖文件。如果想要安全些,使用-i
选项:cp -i file.txt example/
rm
:删除文件或目录 {#rm%EF%BC%9A%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95}
rm
是 remove 的缩写,用于删除文件或目录。
基本用法:
-
删除文件:
rm 文件名
例子:删除
file.txt
:rm file.txt
-
删除目录 :
使用-r
选项递归删除目录:rm -r dir1/
-
强制删除 :
添加-f
选项,忽略警告信息直接删除:rm -rf dir1/
警告 :
rm -rf
是危险操作,请务必确认路径无误!有个经典段子就是:
rm -rf /
它会删除系统的根目录,导致系统彻底崩溃(现代系统通常会保护 /
目录,但还是不要轻易尝试)。
一些实用的补充知识 {#%E4%B8%80%E4%BA%9B%E5%AE%9E%E7%94%A8%E7%9A%84%E8%A1%A5%E5%85%85%E7%9F%A5%E8%AF%86}
-
如何查看文件大小?
使用ls -lh
可以以人类可读的形式(MB、GB 等)查看文件大小:ls -lh file.txt
-
如何确认文件是否存在?
使用ls
检查文件或目录是否存在:ls 文件名或目录名
如果没有任何输出,说明它不存在。
-
误删除文件怎么办?
-
如果误删文件并且没有备份,可以尝试恢复工具(如
extundelete
)。 -
平时养成备份的好习惯,比如使用
rsync
或cp
备份重要文件。
-
-
为什么不能直接用 GUI 操作?
虽然图形界面方便,但命令行更加灵活且适合批量操作。比如,你可以用find
和rm
结合删除某类特定文件,这在图形界面中非常麻烦。
实战练习 {#%E5%AE%9E%E6%88%98%E7%BB%83%E4%B9%A0}
-
创建一个名为
test
的目录:mkdir test
-
在目录中创建多个文件:
touch test/file1.txt test/file2.txt test/file3.txt
-
将文件
file1.txt
移动到上一级目录并重命名为new_file1.txt
:mv test/file1.txt new_file1.txt
-
复制
file2.txt
到上一级目录:cp test/file2.txt ./
-
删除
test
目录及其所有内容:rm -r test
通过这些练习,你就能掌握 Linux 文件操作的基本技能!下一步,我们将探索文件权限与用户管理,继续你的 Linux 冒险吧!
转载 https://bbs.deepin.org/zh/post/283082