1.vi
光标快速移动快捷方式
纵向移动: gg(定位到行首) G(定位到行尾) ngg
横向移动: 0/^ $
移动光标转为编辑状态
i I a A o O C cc
快速编辑文本内容信息
dd删除
ndd
yy 复制
nyy
p 粘贴
np
显示或取消显示行号信息
:set nu
:set nonu
u undo =ctrl + z
ctrl + r redo == ctrl + y
忽略大小写搜索信息
1. 设置方法 :set ic / 取消方法 :set noic
2. 设置方法 :set ignorecase / 取消方法 set noignorecase
3. 查找方法 /search-text\c
快速删除内容到达行尾
dG 将光标所在位置内容,到行尾信息全部删除
2.VIM(功能更加强大)
1. 取消高亮显示
/搜索一个文件中没有的信息
2. 快速移动或复制数据信息
:2,4move9 --- 将第几行到第几行的内容移动到指定行的后面
:2,4copy9 --- 将第几行到第几行的内容复制到指定行的后面
3. 文件内容信息进行修改替换
%s#oldboy#oldgirl#g --- 将文件中指定信息全部做替换
% 全部做替换
s substitute 替换
g global 将整行符合要求的字符都做替换
#要替换的信息#修改成什么信息#
替换修改文件部分内容
:2,4s#oldgirl#oldboy#g --- 将第二行到第四行内容进行替换
:12,$s#oldgirl#oldboy#g --- 将第十二行到结尾内容进行替换
4. 批量修改文件内容
01. 批量进行注释 --- 批量添加信息
第一个步骤:进入批量编辑状态(视图模式)
ctrl+v --- 进视图模式
第二个步骤:批量选中要编辑的行
方向键选择
第三个步骤:进行编辑修改
shift+i--进行单行编辑
第四个步骤:实现批量修改
按esc
5. 批量删除信息
第一个步骤:进入批量编辑状态(视图模式)
ctrl+v --- 进入试图模式
第二个步骤:批量选中要删除的列
方向键选择
第三个步骤:删除信息
按键盘字母d 或者 按键盘字母x
3.网络中常见端口号
IIS(HTTP):80
SQLServer:1433
Oracle:1521
MySQL:3306
FTP:21
SSH:22
Tomcat:8080
Telnet :23
4.vim常见错误说明
1). vim命令后面一定要接文件
vim /etc/hosts
2). vim只能编辑存在的目录中的文件
3). 编辑文件突然非正常状态退出(编辑一个文件,在没有退出前,直接断开远程连接)
5.vim编辑文件原理
01. 开始利用vim编辑一个文件
02. 需要判断编辑的文件所在目录中是否有隐藏文件(.swp)
a 拥有: 会有报错提示信息
b 没有: 进入到命令模式
03. 在命令模式就会产生临时文件
04. 进入编辑模式对文件进行编辑
05. 编辑完成之后需要确定是否正常保存退出
a 是正常退出: 从编辑状态--esc--命令模式--:wq保存退出 (将临时文件重命名)
b 非正常退出: 临时文件会永久保留
解决问题方法:
第一个步骤: 进行查看文件内容
按大写字母O
第二个步骤: 确认文件是否需要恢复
需要恢复: 重新编辑按R,恢复文件内容
不用恢复: 重新编辑按E,进行重新编辑
第三个步骤: 将临时文件进行删除
1. 按大写字母D删除文件
2. 利用rm命令删除临时文件
rm -f /oldboy/.oldboy.txt.swp
6. 查看文件信息方法
ls 查看目录中有什么数据信息
ls -l 查看文件属性信息
ls test 查看test目录中文件信息是否存在
ls -ld 查看目录属性信息
ls -la 查看目录中所有数据信息,包含隐藏文件
ls -lt 按照时间进行排序显示数据信息
ls -ltr 按照时间进行排序显示数据信息,并且是反向排序
7.查看文件内容方法
cat /oldboy/oldboy.txt --- 查看单个文件
cat /oldboy/oldboy.txt /oldboy/oldgirl.txt --- 查看多个文件
cat -n /oldboy/oldboy.txt --- 查看文件时,显示每行的行号
less /etc/service --- 一点点查看文件内容
向下逐行显示: 回车
向下逐页显示: 空格
向上逐行显示: 方向键上
向上逐页显示: 字母b
搜索信息: /搜索的字符串信息
less -N /etc/services //显示行号
按q结束查看
more /etc/service --- 点点查看文件内容
向下逐行显示: 回车
向下逐页显示: 空格
向上逐行显示: 字母f/b
head 前几行
tail 后几行
8.直接编辑文件命令方法
a 如何直接在文件中添加单行内容
echo "oldboy" >>/oldboy/oldboy.txt
显示连续的序列
echo {1..100] //输出1-100
echo{1..100..2} //输出1-100之间的奇数
b.如何直接在文件中添加多行内容
cat >> /oldboy/oldboy.txt <<EOF
>oldboy01
>oldboy02
> oldboy03
> EOF //怎么开始就怎么结束
9.过滤筛选文件内容命令
老三: grep 过滤筛选信息
老二: sed 修改替换文件内容 擅长对文件中的行进行操作
老大: awk 擅长统计分析文件内容 擅长对文件中列进行操作
grep
grep "oldboy" /oldboy/test.txt
grep -B 1 "oldgirl" /oldboy/test.txt //筛选出包括oldgirl以及其上一行的内容
grep -A 1 "oldgirl" /oldboy/test.txt //下一行
grep -C 1 "oldgirl" /oldboy/test.txt //上 下行
grep -c "oldgirl" /oldboy/test.txt //统计oldgirl信息在文件中出现了几次
sed过滤
sed -n "/oldboy/p" /oldboy/test.txt
p print 将过滤信息输出
-n 取消原文件的所有内容输出(取消默认输出)
awk过滤
awk "/oldboy/" /oldboy/test.txt
10.修改文件部分内容信息
01. sed命令 (师傅: 真正修改文件内容)
需求: 修改test.txt文件内容 将所有oldboy信息修改替换为 python
vim 替换: :%s#oldboy#python#g
sed 's#oldboy#python#g' /oldboy/test.txt
sed -i 's#oldboy#python#g' /oldboy/test.txt //不加-i 只是临时替换 对配置文件修改之前一定要先备份
02. tr命令 (徒弟: 假装修改文件内容)
tr "oldgirl" "oldboy" </oldboy/test.txt (文件信息替换乱)
前面是被替换的内容 后面是替换的
替换信息的情况: tr命令替换信息是1对1的替换
01. > 修改后的内容字符数 abcd > 123
[root@oldboyedu ~]# echo abcd|tr "abcd" "123"
1233
02. 替换的内容字符数 < 修改后的内容字符数 abc < 1234
[root@oldboyedu ~]# echo abcd|tr "abc" "1234"
123d
03. 替换的内容字符数 = 修改后的内容字符数 abcd = 1234
[root@oldboyedu ~]# echo abcd|tr "abcd" "1234"
1234
04. 极特殊情况 abcba 12345 54345
c - 3
b - 4
a - 5