Linux 是一个开源、类 Unix 的操作系统,以其轻量化、高度稳定性和强大的命令行支持著称。相比图形化的系统,Linux 更强调运维自动化与高效性,其强大的命令行工具集赋予了用户极高的控制力。
无需依赖大量外部软件即可完成诸多功能,因此广泛用于服务器、嵌入式设备和开发环境中。更重要的是,Linux 拥有良好的跨平台兼容性,支持多种文件系统和硬件架构。那么今天就让我们一起学习Linux的文本编辑命令。
一、Linux 命令格式基础以及路径
在 Linux 中,命令通常遵循以下格式:
命令 [选项] [参数]
-
命令:要执行的程序或操作;
-
选项:以
-
或--
开头的控制指令,用于修改命令行为; -
参数:命令所作用的对象,如文件名、路径等。
ls -l /home
意思是列出 /home
目录下的文件,并以长格式(long format)显示详细信息。
在 Linux 中,理解路径的结构和使用方式,有助于你高效地访问、操作和管理文件和目录。
- 绝对路径:从根目录开始,一层一层地指明目录结构,绝对路径能够准确定位目标位置。例如:
/home/user1/documents/report.txt
这个路径表示从根目录 /
开始,进入 home
目录 → user1
→ documents
,再找到 report.txt
文件。
- 相对路径:是基于当前目录而言的路径。
./report.txt # 当前目录下的文件
../images/logo.png # 上一级目录的 images 子目录中的 logo.png
常见的路径符号 :
对于Linux的基本操作指令的格式,以及文件路径的相关内容我们已经掌握很不错了,这在我们学习linux的道路上已经迈出了巨大的一步,接下来我们一起走进linux的文本编辑指令世界!
二、文件与目录的操作指令
1. 创建目录与文件
题目:创建一个test目录,并在其中创建一个filetxt
mkdir test # 创建名为 test 的目录
touch test/file1.txt # 在test目录下创建空白文本文件file1.txt
-
mkdir
:make directory,用于创建新目录。 -
touch
:创建空文件
2. 文件重命名与移动
题目:将filetxt 改名为file2.txt,并在test 目录下创建一个subdir 子目录,然后将file2.txt移动到subdir目录下
mv test/file1.txt test/file2.txt # 将 file1.txt 重命名为 file2.txt
mkdir test/subdir # 创建子目录
mv test/file2.txt test/subdir/ # 移动文件到子目录中
-
mv
:move,用于移动文件或更改文件名。 -
mkdir
:再次出现,创建子目录用于分类管理文件。
3. 复制与删除文件
题目:复制file2.txt 到当前目录,并命名为file2_copy.txt,之后将file2_copy.txt删除。
cp test/subdir/file2.txt test/file2_copy.txt # 复制文件
rm -f test/file2_copy.txt # 删除文件
-
cp
:copy,用于复制文件或目录(配合-r
支持递归复制)。-
递归复制是指在复制文件或目录时,不仅复制当前目录中的文件,还会继续复制其所有子目录及其中的文件。
-
-
rm
:remove,删除文件或目录,-f
表示强制删除,跳过确认。
三、权限与所有权管理
Linux 文件系统的核心之一是权限控制机制,可以保护文件的读写执行行为。
1. 修改文件权限
题目:查看test/subdir目录的详细信息,包括权限、大小、修改时间。并给file2.txt增加执行的权限。
chmod 644 test/subdir/file2.txt # 所有者可读写,组用户和其他人只读
chmod +x test/subdir/file2.txt # 添加可执行权限
-
chmod
:change mode,更改文件或目录的权限。 -
Linux 系统使用三位数来表示不同权限组合,每一位代表一类用户的权限。
644
表示:用户(rw-),组用户(r--),其他用户(r--)。
rw-:文件所有者有读和写的权限
r--:组用户只有读权限
r--:其他人也只有读权限
- 数字和权限对照表
2. 修改文件所属用户与组
题目:将file2.txt的所有者修改为user1,组别修改为group1。
chown user1:group1 test/subdir/file2.txt
-
chown
:change owner,修改文件的所有者与所属用户组。 -
如果用户user1、和group1不存在那就创建用户和组。
groupadd group1 #创建组
useradd -g group1 user1 #创建用户并加入组
四、文件内容查看与编辑
1. 查看文件内容
题目:查看文件中的内容
cat [文件路径]
cat test/subdir/file2.txt
-
cat
:concatenate,用于查看、合并文件内容。
2. 向文件末尾追加内容
题目:在file2.txt文件下追加一句“this is world ”
echo "this is a line" >> test/subdir/file2.txt
-
echo
:输出文本。 -
>>
:表示追加重定向,不覆盖原有内容。 -
若是> :表示覆盖文件中原有内容。
3. 内容查找与提取
题目:使用grep 查看文件中是否有this这个单词。
grep “关键词” [文件路径]
grep "this" sleep.txt
-
grep
:global regular expression print,按模式查找文件中的匹配行。 -
常用于日志分析、代码搜索等场景。
4. 文件内容的输出与合并
题目:将sleep.txt 中的内容传输到新的aware.txt中。将fileA.txt中的内容增加进fileB中。
cat sleep.txt > aware.txt # 输出到新文件(覆盖原有内容)
cat fileA.txt >> fileB.txt # 将 fileA 的内容追加进 fileB
在这个的>和>>和上文的作用是一致的。
-
>
:标准重定向,覆盖写入。 -
>>
:追加写入,保留原内容。
五、文件搜索与信息查看
1. 查找文件
题目:查找以txt结尾的文件名
find . [-name] "名字中所包含的字"
find . [ -type ] f/d
find . -name "*.txt" #这里是按照文件的名称进行查找
find . -type f #按照文件类型进行查找
-
find
:强大的搜索命令,支持按名称、大小、时间等属性查找文件。 -
"*.txt"
:表示所有以.txt
结尾的文件。 -
f 是文件类型,d是目录类型
2. 查看文件或目录详细信息
题目:查看目录的权限、所有者、组别等信息。
ls -l test/subdir
-
ls
:list,显示文件列表; -
-l
:以长格式展示,包括权限、所有者、大小、时间等信息。
知识总览:
对于上面所提及的指令相关知识点汇总在这里:
结语:
通过上述命令练习,你应该能掌握Linux中文本文件编辑的核心技能。从文件管理到权限控制,再到内容操作,都是日常使用Linux系统不可或缺的基本功。
如果你正在学习Linux,建议搭建一个练习环境,把这些命令逐一实践一遍,才能真正做到“知其然,也知其所以然”。如果你对Linux感兴趣,那么就请点赞、收藏关注一下,后续我会持续更新相关内容!