vi/vim 详解、基础文件操作

  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 <

>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"

前面是被替换的内容 后面是替换的

替换信息的情况: 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

你可能感兴趣的:(vi/vim 详解、基础文件操作)