Linux 入门教程(五):文件系统与文件操作全面解析
本次教程,我们从 Linux 文件系统的架构说起,逐步过渡到文件和文件夹的基本操作,包括创建、移动、复制和删除。Linux 的文件系统是整个操作系统的“骨架”,理解它是掌握 Linux 的第一步!
Linux 文件系统的架构
Linux 的文件系统采用 树状结构,所有内容都挂载在一个根目录 / 下。从根目录开始,一切皆是文件,包括硬件设备、配置文件、程序以及普通文件和目录。
主要目录解析:
/:根目录,一切开始的地方。/home:普通用户的家目录,用户个人文件储存地。/root:超级用户(root)的家目录。/bin和/sbin:存放系统必需的二进制可执行文件,比如ls和mkdir。/sbin主要为管理员提供工具。/etc:存放系统配置文件,比如网络配置文件和服务启动脚本。/var:动态数据存储目录,比如日志文件和缓存数据。/tmp:临时文件目录,系统重启后会清空。/usr:用户程序和文件的存放地,包括常用软件包和库文件。/dev:存放设备文件,例如硬盘、鼠标等硬件都以文件形式存在。/proc:虚拟文件系统,提供内核和进程的运行时信息。
了解这些目录的作用有助于你在操作系统中游刃有余。
创建文件和文件夹
Linux 中,一切操作都从文件和文件夹开始。两个常用命令 mkdir 和 touch 是你的入门伙伴。
mkdir:创建目录
mkdir 是 make directory 的缩写,用于创建目录。
基本用法:
mkdir 目录名
例子:创建名为 example 的目录:
mkdir example
创建多级目录:
如果要一次性创建多层嵌套的目录,比如 dir1/dir2/dir3:
mkdir -p dir1/dir2/dir3
选项 -p 会自动创建中间层级,避免报错。
touch:创建文件
touch 是一个“万能文件制造机”,它的主要作用是创建空文件或更新文件时间戳。
基本用法:
touch 文件名
例子:创建名为 file.txt 的文件:
touch file.txt
一次创建多个文件:
touch file1.txt file2.txt file3.txt
更新文件时间戳: 如果文件已存在,touch 会更新文件的访问时间和修改时间。
移动、复制和删除文件
Linux 中对文件的基本操作都通过 mv、cp 和 rm 实现。掌握这些命令,你就能像“搬运工”一样自由操控文件和目录。
mv:移动或重命名文件
基本用法:
移动文件:
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 源文件 目标路径 例子:将
file.txt复制到example目录:cp file.txt example/ 复制目录:
使用-r(递归)选项复制整个目录:cp -r dir1/ dir2/
注意事项:
默认情况下,
cp不会提示是否覆盖文件。如果想要安全些,使用-i选项:cp -i file.txt example/
rm:删除文件或目录
rm 是 remove 的缩写,用于删除文件或目录。
基本用法:
删除文件:
rm 文件名 例子:删除
file.txt:rm file.txt 删除目录:
使用-r选项递归删除目录:rm -r dir1/ 强制删除:
添加-f选项,忽略警告信息直接删除:rm -rf dir1/
警告:rm -rf 是危险操作,请务必确认路径无误!有个经典段子就是:
rm -rf /
它会删除系统的根目录,导致系统彻底崩溃(现代系统通常会保护 / 目录,但还是不要轻易尝试)。
一些实用的补充知识
如何查看文件大小?
使用ls -lh可以以人类可读的形式(MB、GB 等)查看文件大小:ls -lh file.txt 如何确认文件是否存在?
使用ls检查文件或目录是否存在:ls 文件名或目录名 如果没有任何输出,说明它不存在。
误删除文件怎么办?
如果误删文件并且没有备份,可以尝试恢复工具(如
extundelete)。平时养成备份的好习惯,比如使用
rsync或cp备份重要文件。
为什么不能直接用 GUI 操作?
虽然图形界面方便,但命令行更加灵活且适合批量操作。比如,你可以用find和rm结合删除某类特定文件,这在图形界面中非常麻烦。
实战练习
创建一个名为
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 冒险吧!
转载
评论区