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 命令时,以免不小心删除或修改重要文件。

相关文章
|
2月前
|
Shell
Shell 文件包含
10月更文挑战第5天
33 4
|
11天前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
52 7
|
16天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
31 1
|
2月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
70 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
2月前
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
21 1
|
2月前
|
Shell PHP
Shell echo命令
10月更文挑战第3天
23 0
|
7月前
|
Linux Shell Windows
4:Bash shell命令-步入Linux的现代方法
4:Bash shell命令-步入Linux的现代方法
101 0
|
Shell 数据处理 Python
Python 运行 shell 命令的一些方法
Python 运行 shell 命令的一些方法
|
Shell 数据处理 Python
Python 运行 shell 命令的一些方法
Python 运行 shell 命令的一些方法