菜鸟笔记
提升您的技术认知

菜鸟教程

rapidjson 构造数组将函数实现放在头文件中RapidJSON解析和生成Json绝对路径和相对路径gcc 优化选项 -O1 -O2 -O3 -Os 优先级Python求一个整数位数的方法python中判断数字位数的几种方法python计算分位数查看hive的版本如何查看hadoop的版本elasticsearch查看所有indexsublime 列模式 列编辑shell遍历目录下所有文件http-parser解析http报文详解supervisor守护工具配置lnmp为已有站点手动更新ssl证书记录java 最长回文、最长回文子串ssh免密码登录为Linux内核开启BBR加速frp服务开机自启x86架构下,页面大小为什么是4K?如何限制对象只能建立在堆上或者栈上进程间通信的方式SyntaxError: Non-ASCII character '\xe5'TCP 连接半关闭问题ucontext 协程库代码分析python中yield的用法详解为PHP7.0安装redis扩展ucontext 简单协程库ImportError: No module named cv2的完美解决方法HashMap扩容全过程关于HashMap常见面试考点(底层原理+扩容机制)DOS批处理中的字符串处理详解(字符串截取)Linux下如何查找.sh后缀的文件core文件出现“is not a core dump: File format not recognized”的原因和解决方法(看/proc/pid/limits)记一次docker问题定位(perf,iostat等性能分析)Protocol Buffers 2.5.0 安装python 使用thrift序列化与反序列化对象PHP的base64_decode乱码linux中后台运行 java -jarLinux常用命令--文件搜索Linux常用命令--文件基础操作与文件权限变更Linux常用命令--软件包管理之(RPM包管理)Linux常用命令--文件编辑与查看Linux常用命令--文件压缩与挂载Linux常用命令--系统管理Linux常用命令--系统管理之(用户管理、用户组管理)Linux常用命令--系统管理之(进程管理、定时任务、系统监控)Linux常用命令--软件包管理之(服务管理)Linux常用命令--软件包管理之(yum与源码包安装)Linux初窥:Linux下SSH免密码登录配置如何查看CentOS7的版本信息Linux环境变量文件介绍Linux下Tomcat的安装与配置CentOS解决-bash: vim: command not found10 个提高效率的 Linux 命令别名shell比较浮点数和整数crontab 30秒执行一次Python中字典合并的四种方法shell查看CPU 硬盘 内存使用率Python 四大主流 Web 编程框架python:web后台框架简单实现如何使用 BRPC Dummy Serverlist、vector使用erase()时需要注意的地方——迭代器失效容器删除元素后迭代器失效_STL源码剖析——vector容器STL的erase()陷阱-迭代器失效总结.bashrc中定义实用的别名和函数

Linux常用命令--文件编辑与查看

阅读 : 183

目录

vi

命令模式与编辑模式

命令模式

编辑模式

cat

tac

more

less

head

tail

vi

命令用途:vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。 vi编辑器支持命令模式和编辑模式,要正确使用vi编辑器就必须熟练掌握这两种模式的切换。  

命令语法:vi [文件名]

命令模式与编辑模式

命令模式:在Shell提示符后输入vi命令,会自动进入命令模式。此时,从键盘上输入的任何字符都会被当作命令来解释。

编辑模式:在vi命令模式下,输入插入命令(a、i、o)或替换命令(r)可以从命令模式进入编辑模式。在编辑模式下,从键盘上输入的所有字符都会被当做该文件的正文内容。

命令模式

在vi命令模式下,提供了许多非常实用的辅助命令,可以帮助我们更加方便的对文件进行编辑,例如:设置行号、跳转到指定行、移动到行首或行尾和撤销操作等。

命令 作用
:set nu 设置行号
:set nonu 取消行号
gg 跳转至第一行
G 跳转至最后一行
nG 跳转至第n行
:n 跳转至第n行
$ 移动到光标所在行的行尾
0 移动到光标所在行的行首
u 撤销上一步的操作

如何删除?

命令 作用
x 删除光标所在处的字符
nx 从光标所在处的字符开始, 连续删除n个字符
dd 删除光标所在行
ndd 从光标所在行开始,连续删除n行
dG 删除光标所在行直到文件末尾的内容
D 删除光标所在处到行尾的内容
:n1,n2d 删除第n1行到第n2行的内容

如何复制和剪切?

命令 作用
yy 复制当前行
nyy 从当前行开始,连续复制n行
dd 剪切当前行
ndd 从当前行开始,连续剪切n行
p(小写) 粘贴到当前行上面
P (大写) 粘贴到当前行下面

如何搜索和替换?

命令 作用
/[匹配条件] 搜索指定字符串
n 查看下一个搜索到的匹配结果
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在第n1行到第n2行范围内替换指定字符串
:n1,n2s/^/#/g 为从第n1行到第n2行的各行行首增加#注释
:n1,n2s/^#//g 将从第n1行到第n2行的各行行首的#注释去掉
:n1,n2s/^/\/\//g 为从第n1行到第n2行的各行行首增加//注释
//为从第97行到第102行的各行行首增加#注释
:97,102s/^/#/g
//将从第97行到第102行的各行行首的#注释去掉
:97,102s/^#//g

如何保存和退出?

命令 作用
:w 保存修改
:w [另存为文件名] 另存为指定文件
:wq 保存修改并退出
ZZ 保存修改并退出
:q! 不保存修改退出
:wq! 强制保存修改并退出(对文件不具有写权限时,文件所有者及root可以使用)

导入内容、定义快捷键、起别名

命令 作用
:r ![命令] 将命令的执行结果导入到当前行下面
:map [快捷键] [命令组合] 定义快捷键(Ctrl+V+快捷键或Ctrl+V、Ctrl+快捷键)
:ab [别名] [原内容] 为指定内容起别名
//为I#<ESC>操作(在当前行的行首增加#注释)创建快捷键Ctrl+p
:map ^P I#<ESC>
//为0x操作(删除当前行行首的第一个字符)创建快捷键Ctrl+b
:map ^D 0x
//为邮箱pengjunlee@163.com字符串起别名为email 
:ab email pengjunlee@163.com

注:在vi命令模式下设置的别名和快捷键仅对本次编辑有效,若需要将别名或快捷键永久存储需在当前用户家目录中的.vimrc文件中进行配置。

编辑模式

在vi命令模式下,输入插入命令或替换命令可以从命令模式进入编辑模式。

常用的vi插入命令及其作用如下表。

命令 作用
a 在光标所在字符的后面插入内容
A 在光标所在行的行尾插入内容
i 在光标所在字符的前面插入内容
I 在光标所在行的行首插入内容
o 在光标所在行的下面插入新行
O 在光标所在行的上面插入新行

常用的vi替换命令及其作用如下表。

命令 作用
r 替换光标所在处字符
R 从光标所在处开始替换字符,按ESC结束替换

 

cat

命令用途:cat命令用来显示文件的内容。当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

命令语法:cat [-选项] [文件名]

常用选项:

-n:显示行号;

-b:和-n相似,只不过对于空白行不编号;

-s:当遇到有连续两行以上的空白行,就代换为一行的空白行; 

//显示当前目录下的NOTICE.txt文件的内容,并显示行号
cat -n ./NOTICE.txt 

tac

命令用途:逆序显示文件内容。

命令语法:tac [文件名] 

//逆序显示当前目录下的NOTICE.txt文件的内容
tac NOTICE.txt 

more

命令用途:分页显示文件内容。

命令语法:more [文件名]

操作方法:

空格键或f    向下翻页

Enter键      向下换行

q或Q         退出 

//分页显示etc目录下的services文件的内容
more /etc/services 

less

命令用途:和more相似,less命令也用来分页显示文件内容。

命令语法:less [文件名]

操作方法:

空格键或f、PageDown键         向下翻页

PageUp键                      向上翻页

Enter键、↓键                 向下换行

↑键                          向上换行

q或Q                          退出

常用选项:

-N:显示行号;  

//分页显示etc目录下的services文件,并显示行号。
less -N /etc/services 

注:在使用less命令来分页查看文件内容时,在浏览过程中输入"/要搜索的关键字"后按Enter,可以将搜索到的关键字高亮显示,使用"n"查看下一个搜索到的结果。  

head

命令用途:显示文件的前几行。

命令语法:head [-选项][文件名]

常用选项:

-n:指定要显示的行数,若不指定默认显示10行; 

//显示etc目录下的services文件的前20行。
head -n 20 /etc/services

tail

命令用途:显示文件末尾几行。

命令语法:tail [-选项][文件名]

常用选项:

-n:指定要显示的行数,若不指定默认显示10行;

-f:动态显示文件末尾内容; 

//动态显示catalina.out日志文件的末尾20行。
tail -fn 20 /tomcat/catalina/logs/catalina.out