二、linux目录编辑
二、linux目录编辑1.指令1.1echo基本语法echo 【选项】 【字符串/变量】重定向把默认输出的方向进行修改:重定向追加 :重定向覆盖例子以追加的方式将“abc”写入index.html文件中echo abc index.html进阶案例nginx mysql redis使用一条echo命令把上述的3行内容输入到文本中[rootlocalhost ~]# echo -e nginx\nmysql\nredis /tmp/testconfig/services.txt [rootlocalhost ~]# cat /tmp/testconfig/services.txt nginx mysql redis小结用来在屏幕上「输出文字」的命令1.2 find基本语法find 搜索路径 【条件】 【动作】【条件】-name -size -type -user举例使用find命令查找/boot中所有 以.img结尾且超过10M的文件[rootlocalhost ~]# find /boot -name *.img -size 10M /boot/initramfs-0-rescue-5718bc4c75b741b88c2745a0338254be.img /boot/initramfs-3.10.0-957.el7.x86_64.img /boot/initramfs-3.10.0-957.el7.x86_64kdump.img进阶-exec例子使用find命令查找/boot中所有 以.img结尾且超过10M的文件,并将找到的文件复制到整理目录/tmp/sorted_files/[rootlocalhost ~]# find /boot -name *.img -size 10M -exec cp {} /tmp/sorted_files/ \; [rootlocalhost ~]# ls /tmp/sorted_files initramfs-0-rescue-5718bc4c75b741b88c2745a0338254be.img initramfs-3.10.0-957.el7.x86_64.img initramfs-3.10.0-957.el7.x86_64kdump.img小结find可以匹配条件精确查看目录或文件的绝对位置1.3tailtail默认查看文件后十行内容基本语法tail 【选项】 【文件】选项-n 【数字】文件名 可以指定查看后n行-f可以实时查看文件后十行1.4wcwc 【选项】 【文件】选项-l 统计文件行数-w 统计单词个数-c 统计字节数案例统计services.txt的行数[rootlocalhost ~]# wc -l /tmp/testconfig/services.txt 3 /tmp/testconfig/services.txt1.5grep定义匹配文本中的关键词并输出关键词所在的行内容。基本语法grep 【选项】【关键词】【文本内容】选项-i:查找时忽略大小写-v:反向匹配查找条件设置查找字符用“”括起来“^n“以n为开头”n$“以n为结尾”^$“取空行案例查看access.log文件中除了包含404之外的行。[rootlocalhost log_shell]# grep -v 404 access.log 192.168.1.100 - - [29/Oct/2025:15:10:45 0800] GET /index.html HTTP/1.1 200 1234 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ……省略 192.168.1.100 - - [29/Oct/2025:15:11:05 0800] GET /sitemap.xml HTTP/1.1 200 4567 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.361.6 tar定义归档文件/释放文件基本语法tar 【选项】归档文件名 源文件或目录归档zcvf/jcvfz使用gzip压缩工具进行压缩动作j使用zbig2压缩工具进行压缩动作c创建一个归档文件v显示详细信息f进行归档操作释放zxvf/jxvfx使用gizp工具精选解压缩如果想把压缩文件解压到指定位置tar【选项】归档文件名 -C 目标文件路径案例将log_regex.tar.gz解压到/opt/abc目录里[rootlocalhost ~]# tar zxvf /root/log_regex.tar.gz -C /opt/abc log_shell/access.log log_shell/error.log log_shell/readme_doc log_shell/xuqiu1.7 more基本语法more 文件名案例查看/opt/message文件more /opt/message快捷键空格向下翻一页 回车向下翻一行 q 退出 more 查看小结more 是 Linux 中分页查看文件内容的基础命令适合查看长文本文件比直接 cat 更友好不会一次性刷屏。1.8less基本语法less 文件名例子less /opt/message选项f实时刷新跟踪日志快捷键↑ / ↓上下逐行移动 空格 / PageDown向下翻一页 PageUp向上翻一页 G 跳转到文件最后一行 gg 跳转到文件第一行 / 关键词向下搜索如 /error n搜索后查找下一个匹配项 N搜索后查找上一个匹配项 q退出 less小结less 是 Linux 里比 more 更强大、更常用的分页查看工具功能完全覆盖 more是日常查看日志、文件的首选命令。1.9head基本语法head 文件名实例head /opt/message选项n显示前n行可省略直接写要查看的行数小结head 是 Linux 中查看文件开头内容的命令默认只显示文件前 10 行专门用来快速预览文件不用打开全部内容2.vim编辑器vim 有三种模式所有操作都靠模式切换 命令模式默认刚打开文件就是这个模式只能执行复制、粘贴、删除、跳转、查找不能直接输入文字 输入模式编辑模式可以打字、修改内容从命令模式按 i 进入 末行模式用来保存、退出、设置行号等从命令模式按 : 进入基本语法vi /var/log/meassge模式切换: 命令模式 → 输入模式i 任意模式 → 命令模式Esc 命令模式 → 末行模式:保存 和 退出末行模式 :w 保存 :q 退出 :wq 保存并退出 :q! 强制退出不保存 :wq! 强制保存退出光标移动命令模式 gg 跳到第一行 G 跳到最后一行 :10或10G 跳到第10行复制 / 粘贴 / 删除命令模式 yy 复制当前行 5yy 复制5行 p 粘贴到下一行 dd 删除当前行 8dd 删除8行 u 撤销搜索命令模式 /关键词 向下搜索 n 下一个结果 N 上一个结果显示行号末行模式 :set nu 显示行号 :set nonu 隐藏行号简单使用流程 1.打开文件vim test.txt 2.按 i 进入编辑模式开始写内容 3.按 Esc 回到命令模式 4.输入 :wq 保存退出案例请使用vi编辑器完成以下任务写出操作方法复制/var/log/message 到/opt目录下跳转到第 4 行跳转到最后一行删除当前整行一次删除 8 行内容撤销刚才的删除操作复制当前行复制 3 行将复制的内容粘贴到下一行在当前行下方新开一行进入输入模式1. [rootlocalhost ~]# touch /var/log/message [rootlocalhost ~]# cp /var/log/message /opt 2. 在命令模式下输入:4,然后按回车光标会直接跳转到第 4 行。 也可以输入4G实现同样效果。 3. 在命令模式下输入G,光标会跳转到文件最后一行。 4. 在命令模式下将光标移动到要删除的行输入dd,即可删除当前光标所在的整行。 5. 在命令模式下将光标移动到要删除的起始行输入8dd 表示从当前行开始向下删除 8 行内容。 6. 在命令模式下输入u,即可撤销上一步操作多次按 u 可连续撤销。 7. 在命令模式下将光标移动到要复制的行输入yy 即可复制当前整行内容到缓冲区。 8. 在命令模式下将光标移动到要复制的起始行输入3yy 表示从当前行开始向下复制 3 行内容到缓冲区。 9. 复制内容后在命令模式下输入p,即可将缓冲区内容粘贴到当前光标所在行的下一行。 10. 在命令模式下输入o小写 o 会在当前光标所在行的下方新开一行并自动进入输入模式。小结vim 是 vi 编辑器的增强版Linux 系统默认自带是运维、开发最常用的文本编辑工具。