Shell命令编辑与查找文件

简介:   如今,Linux 系统的大多数配置仍通过编辑纯文本文件来完成。甚至当使用图形工具处理配置文件时,也无法完全完成使用纯文本文件所完成的工作。其结果是有时还是需要使用一种文本编辑器来手工配置文件。同样,一些文档文件类型(比如 HTML 和 XML)也是可以手工进行编辑的纯文本文件。

 如今,Linux 系统的大多数配置仍通过编辑纯文本文件来完成。甚至当使用图形工具处理配置文件时,也无法完全完成使用纯文本文件所完成的工作。其结果是有时还是需要使用一种文本编辑器来手工配置文件。同样,一些文档文件类型(比如 HTML 和 XML)也是可以手工进行编辑的纯文本文件。


  在成为成熟的程序员之前,需要学会使用一种纯文本编辑器。事实上,大多数专业的Linux服务器甚至没有提供图形界面,而仅使用非图形文本编辑器来编辑纯文本配置文件。


编辑文件:使用vim或vi


vim和vi的区别


 Vim(Vi IMproved)和Vi(Visual Editor)都是文本编辑器,它们有一些相似之处,但也有一些重要的区别。Vim是Vi的现代化版本,它保留了Vi的基本编辑概念,但提供了更多的功能和灵活性,适用于更广泛的文本编辑需求。对于需要频繁进行文本编辑的人员,Vim通常是一个更好的选择,但对于只需偶尔编辑文本的用户来说,Vi可能足够了解决基本的编辑任务。


就我的工作使用来说,能够使用命令行正常编辑文件就可以了,想要提升的话,再多了解一些命令来让自己高效的编辑文件,说实话大块文件和项目用命令行操作文件不如用可视化界面


vim和vi命令的使用流程


  Vi的基本流程:


1. 打开文件:


  • 打开终端窗口,并输入以下命令来启动Vi并打开一个文件:


vi 文件名


  其中,"文件名"是要编辑的文件的名称。如果文件不存在,Vi将创建一个新文件。


2. 进入Vi的正常模式:


  • 当第一次打开文件时,Vi会进入正常模式。在正常模式下,无法直接输入文本,但可以执行各种命令。


3. 切换到插入模式:


  • 要开始编辑文本,需要切换到插入模式。在正常模式下,按下以下任一键来进入插入模式:


  • i:在当前光标位置之前插入文本。


  • I:在当前行的行首插入文本。


  • a:在当前光标位置之后插入文本。


  • A:在当前行的行尾插入文本。


  • o:在当前行的下方插入新的一行,并进入插入模式。


  • O:在当前行的上方插入新的一行,并进入插入模式。


4. 编辑文本:


  • 在插入模式下,可以像在常规文本编辑器中一样输入和编辑文本。键入所需的文本。


5. 退出插入模式:


  • 要退出插入模式并返回正常模式,按下Esc键。


6. 保存文件:


  • 在正常模式下,要保存文件,可以输入以下命令:


:w


  或者,如果想另存为新文件,可以使用:


:w 文件名


7. 退出Vi:


  • 要退出Vi并返回终端,可以在正常模式下输入以下命令:


:q


  如果已经对文件进行了更改并想保存这些更改,使用以下命令:


:wq


  如果要强制退出而不保存更改,可以使用:


:q!


  这只是Vi的基本使用流程。Vi还有许多高级命令和功能,可以用于搜索、替换、剪切、复制等操作。要深入了解Vi的功能,建议查看Vi的帮助文档或参考在线教程。刚开始可能会有点陌生,但随着练习,您将变得越来越熟练。


在编辑器里快速移动


 · CtrH+f—向前翻页,一次一页。


 · Ctrl+b——向后翻页,一次一页。


 · Ctrl+d—一次向前翻半页。


 · Ctrl+u——次向后翻半页。


 · G—转到文件的最后一行。


 · 1G—转到文件的第一行。


 · 35G—转到任意行号(此时为35)。


查找文件


  find 是一个强大的Linux命令,用于在文件系统中查找文件和目录。它可以按照不同的条件搜索文件,并且可以根据需要执行各种操作。以下是 find 命令的基本用法:


find [起始目录] [匹配条件] [操作]


[起始目录]:指定从哪个目录开始搜索文件,默认是当前目录。


[匹配条件]:用于指定搜索文件的匹配条件,例如文件名、文件类型、大小、修改时间等等。


[操作]:可以在找到文件后执行的操作,常见的操作包括 -print(将文件名打印到标准输出)、-delete(删除找到的文件)、-exec(执行自定义命令)等。


  以下是一些常见的 find 命令示例:


  1. 查找当前目录及其子目录下所有文件和目录:


find


  2. 在指定目录(例如 /home/user)中查找所有文件和目录:


find /home/user


  3. 查找所有以 .txt 结尾的文件:


find /path/to/search -name "*.txt"


  4. 查找所有大于1MB的文件:


find /path/to/search -size +1M


  5. 查找最近7天内修改过的文件:


find /path/to/search -mtime -7


  6. 查找并删除所有 .bak 文件:


find /path/to/search -name "*.bak" -delete


  7. 执行自定义命令来处理找到的文件(例如复制到另一个目录):


find /path/to/search -name "*.jpg" -exec cp {} /path/to/destination \;


  在上述示例中,{} 表示 find 找到的每个文件的占位符,\; 表示 -exec 命令的结束标记。


  在使用 find 命令时要小心,确保了解操作的影响,特别是在使用 -delete-exec 命令时,以免不小心删除或修改重要文件。

相关文章
|
6天前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
4天前
|
Unix Shell Linux
常见的shell命令
shell常用命令
19 11
|
6天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
7天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
16 5
|
1天前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
7 0
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
4天前
|
监控 Unix Shell
shell脚本编程学习
shell脚本编程
22 12
|
7天前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
10天前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
26 2
|
1月前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
43 17