Shell命令编辑与查找文件

  • 编辑文件:使用vim或vi
  • vim和vi的区别
  • vim和vi命令的使用流程
  • 在编辑器里快速移动
  • 查找文件



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


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shell