Skip to content

文件编辑与操作

文本编辑器

Windows中编辑文件十分的方便,双击对应的文件,系统会使用相应的软件进行打开,进行编辑后保存关闭即可。但是在Linux环境下,更多使用的是命令行而不是图形化界面,所以文本编辑需要使用TUI编辑器,相比于GUI的编辑器,需要熟悉更多的图形化界面,快捷键也需要使用配置文件的形式去书写。下面简单讲讲两个常用的文本编辑器,VimNano

Nano

这个文本编辑器是相对Vim来说比较简单的一个,从这个界面入手会更简单一些

安装

正常全量安装的情况下是会默认安装的,如果没有安装使用一下命令安装即可

bash
sudo apt install nano

打开文件

在终端使用命令的形式使用nano作为编辑器打开文件,我们现在用户目录创建一个文件,暂时使用test.txt命名

bash
# 进入用户目录
cd ~

# 创建文件
touch test.txt

使用编辑器打开文件

bash
nano test.txt

如果名字太长,可以使用正则匹配的方法打开,不过要注意前缀字符串的唯一性

bash
nano t*.txt

文件编辑

打开后出现上半部分纯黑,下半部分是快捷键提示的TUI界面,我们可以先来了解一下这些快捷键

第一列:

组合键描述用途
Ctrl+GGet Help查看帮助
Ctrl+OWrite Out保存文件
Ctrl+RRead File读取文件(插入到当前文件)
Ctrl+YPrev Page上一页
Ctrl+KCut Text剪切当前行
Ctrl+CCur Pos显示光标位置

第二列:

组合键原文用途
Ctrl+XExit退出编辑器
Ctrl+JJustify段落格式化
Ctrl+WWhere Is搜索
Ctrl+VNext Page下一页
Ctrl+UUncut Text粘贴(撤销剪切)
Ctrl+TTo Spell拼写检查
现在我们在文件内写入Hello World!并保存,建议先参照上方快捷键表格和编辑器的提示完成

步骤如下:

  1. 写入:直接写入Hello World!
  2. 保存:按下快捷键Ctrl+O
  3. 退出:按下快捷键Ctrl+X

Vim

安装

正常全量安装的Ubuntu中正常会直接进行安装,没有安装的也可以使用安装命令进行安装

bash
sudo apt install vim

打开文件

使用编辑器打开文件

bash
vim test.txt

相比于Nano,这个界面会少很多的元素,快捷键不会直接显示出来,而且现在不可以直接进行编辑,所以我们需要简单了解一下这个编辑器

其中有三种模式,NormalInsertVisual,想要对文件进行编辑就需要进入Insert模式,从Normal模式进入Insert模式的方法很简单,也就是按下键盘上的i键,退出这个模式也很简单,按下键盘上的Esc

保存和退出就不使用快捷键的方式,而是通过类似于命令的字母的方式,保存是w退出是q,但是在输入之前需要先输入:唤醒命令输入的界面。其他的快捷键和命令可以参考以下表格:

功能操作说明
进入插入模式i在光标前插入
退出插入模式Esc返回普通模式
保存:w写入文件
退出:q退出编辑器
保存并退出:wq写入后退出
强制退出:q!放弃修改并退出
删除当前行dd在普通模式下
撤销操作u在普通模式下
恢复撤销Ctrl+R在普通模式下
显示行号:set number在命令模式下
搜索/关键词在普通模式下,按 n 跳转下一个

可以根据表格的快捷键尝试一下效果

文件的基本操作

里面的功能比较多,再后面会经常使用,下面直接使用表格的形式展示

文件创建与查看

功能命令示例说明
创建空文件touchtouch test.txt文件不存在则创建,存在则更新时间戳
创建多个文件touchtouch file1.txt file2.txt一次性创建多个
重定向创建>echo "Hello" > test.txt文件不存在则创建,存在则覆盖
追加内容>>echo "Hello" >> test.txt追加到文件末尾
查看全部内容catcat test.txt一次性输出所有内容
分页查看lessless test.txt适合长文件,按 q 退出
查看前几行headhead -n 10 test.txt默认显示前 10 行
查看后几行tailtail -n 10 test.txt默认显示后 10 行
实时追踪tail -ftail -f log.txt实时显示文件新增内容

文件复制与移动

功能命令示例说明
复制文件cpcp source.txt dest.txt复制文件
复制到目录cpcp test.txt /home/user/复制到指定目录
复制并保留属性cp -pcp -p source.txt dest.txt保留权限、时间等属性
移动文件mvmv test.txt /home/user/移动到指定目录
重命名mvmv old.txt new.txt同目录下即为重命名
移动并重命名mvmv test.txt /home/user/new.txt移动的同时重命名

文件删除

功能命令示例说明
删除文件rmrm test.txt删除文件
删除前确认rm -irm -i test.txt删除前提示确认
强制删除rm -frm -f test.txt不提示,直接删除
删除目录rm -rrm -r dir/递归删除目录及内容

文件查找

功能命令示例说明
按名称查找findfind /home -name "test.txt"在指定路径下按名称查找
通配符查找findfind /home -name "*.txt"匹配所有 .txt 文件
忽略大小写findfind /home -iname "test.txt"不区分大小写
按文件类型findfind /home -type f只查找文件
按大小查找findfind /home -size +10M查找大于 10MB 的文件

文件信息

功能命令示例说明
查看文件类型filefile test.txt判断文件类型
查看详细信息statstat test.txt显示大小、权限、时间等