千家信息网

云计算开发入门课程:Linux重器 vi编辑器

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,云计算开发入门课程:Linux重器 vi编辑器讲解:创建练习文件[root@tianyun ~]# ll -a > list.txt文件编辑器 gedit文件编辑器 vi, vim, nanovi编辑
千家信息网最后更新 2026年11月02日云计算开发入门课程:Linux重器 vi编辑器

云计算开发入门课程:Linux重器 vi编辑器讲解:

创建练习文件

[root@tianyun ~]# ll -a > list.txt

文件编辑器 gedit

文件编辑器 vi, vim, nano

vi编辑器工作模式



命令模式:

a. 光标定位

hjkl

0 $

gg G

3G 进入第三行

/string (n N 可以循环的) 快速定位到某一行

/^d

/txt$

b. 文本编辑(少量)

y 复制 yy 3yy ygg yG (以行为单位)

d 删除 dd 3dd dgg dG (以行为单位)

p 粘贴

x 删除光标所在的字符

D 从光标处删除到行尾

u undo撤销

^r redo重做

r 可以用来修改一个字符

c. 进入其它模式

a 进入插入模式

i 进入插入模式

o 进入插入模式

A 进入插入模式

: 进入末行模式(扩展命令模式)

v 进入可视模式

^v 进入可视块模式

V 进入可视行模式

R 进入替换模式

插入模式:

^P

可视块模式:

块插入(在指定块前加入字符): 选择块,I 在块前插入字符, ESC

块替换: 选择块,r 输入替换的字符

块删除: 选择块,d | x

块复制: 选择块,y

扩展命令模式:

a. 保存退出

:10 进入第10行

:w 保存

:q 退出

:wq 保存并退出

:w! 强制保存

:q! 不保存并退出

:wq! 强制保存退出

:x 保存并退出 ZZ

b. 查找替换

:范围 s/old/new/选项

:1,5 s/root/yang/ 从1-5行的root 替换为yang

:5,$ s/root/yang/ $表示最后一行

:1,$ s/root/yang/g = :% s/root/yang/g %表示全文 g表示全局

:% s#/dev/sda#/var/ccc#g

:,8 s/root/yang/ 从当前行到第8行

:4,9 s/^#// 4-9行的开头#替换为空

:5,10 s/.*/#&/ 5-10前加入#字符 (.*整行 &引用查找的内容)

c. 读入文件/写文件(另存为)

:w 存储到当前文件

:w /tmp/aaa.txt 另存为/tmp/aaa.txt

:1,3 w /tmp/2.txt

:r /etc/hosts 读入文件到当前行后

:5 r /etc/hosts 读入文件到第5行后

d. 设置环境

临时设置:

:set nu 设置行号

:set ic 不区分大小写

:set ai 自动缩进

:set list 显示控制字符

:set nonu 取消设置行号

:set noic

永久的环境: 修改vim环境配置文件

/etc/vimrc 影响所有系统用户

~/.vimrc 影响某一个用户

# vim ~/.vimrc

set ic

set nu

删除一定要使用相对路径,不要使用绝对路径

# vim -O /etc/hosts /etc/hostname ^ww切换

# cp /etc/hosts hosts1

# vimdiff /etc/hosts hosts1

==================================================================

创建文件

[root@localhost ~]# touch aa.txt

[root@localhost ~]# touch aa.txt cc.txt tt.txt

[root@localhost ~]# touch abc{1..10}.txt

[root@localhost ~]# touch {a,b,c}{1..3}.txt

创建目录

[root@localhost ~]# mkdir abc

[root@localhost ~]# mkdir abcd abce abcf

[root@localhost ~]# mkdir abc{1..5}

[root@localhost ~]# mkdir -p /root/aa/cc

[root@localhost ~]# mkdir -pv /root/aa/cc -p 递归 -v 显示过程

复制 cp

cp 源文件地址 目标地址

[root@localhost ~]# cp /root/abc1.txt /tmp/

[root@localhost ~]# cp /root/abc1.txt /tmp/test.txt 复制过程中重命名

复制目录

[root@localhost ~]# cp -r /root/abcd/ /tmp/

[root@localhost ~]# cp -r /root/abcd/ /tmp/aaa 重命名

剪切 mv

cp 源文件地址 目标地址

[root@localhost ~]# mv /root/tt.txt /tmp/

[root@localhost ~]# mv /root/tt.txt /tmp/back.txt

移动目录

[root@localhost ~]# mv /root/abcf/ /tmp/

[root@localhost ~]# mv /root/abcf/ /tmp/back

删除 rm rmdir

rmdir 只能删除空目录

rm

[root@localhost ~]# rm aa.txt

[root@localhost ~]# rm -f cc.txt

[root@localhost ~]# rm -rf abce/

[root@localhost ~]# rm -rf a1.txt a2.txt

[root@localhost ~]# rm -rf *.txt

[root@localhost ~]# rm -rf abc*

[root@localhost ~]# rm -rf *

[root@localhost ~]# rm -rf /install.log

查看文件内容

head

[root@localhost ~]# head /root/install.log

[root@localhost ~]# head -n 20 /root/install.log

[root@localhost ~]# head -20 /root/install.log

tail

[root@localhost ~]# tail /root/install.log

[root@localhost ~]# tail -20 /root/install.log

[root@localhost ~]# tail -f /var/log/messages 监控日志文件

more

[root@localhost ~]# more /root/install.log

空格向后一页 回车向后一行 b 向前一行

less

[root@localhost ~]# less /root/install.log

cat

[root@localhost ~]# cat -n /root/install.log

[root@localhost ~]# cat -n aa.txt 所有行

[root@localhost ~]# cat -b aa.txt 有效行

[root@localhost ~]# cat -n /root/install.log | less

练习:

1.创建以下目录结构?并且验证?(一条命令?)

/aa

/ \

bb/ bc/

/ \ \

ca/ cb/ cc/

[root@localhost ftp]# mkdir -pv /aa/bb/c{a,b} /aa/bb/cc

[root@localhost ftp]# mkdir -pv /aa/b{b/c{a,b},c/cc}

[root@localhost ftp]# ls -R /aa/

[root@localhost ftp]# tree /aa

/aa

├── bb

│ ├── ca

│ └── cb

└── bc

└── cc

[root@localhost ftp]# tree -L 2 / -L level

2.将/etc/man.config拷贝到ca目录 (2种写法) 当前目录时/

[root@localhost ~]# cp /etc/man.config /aa/bb/ca/

[root@localhost /]# cp etc/man.config /aa/bb/ca/

3.将ca下的man.config移动到cc目录并重命名为test.txt(2种) 当前目录bb

[root@localhost bb]# mv /aa/bb/ca/man.config /aa/bc/cc/test.txt

[root@localhost bb]# mv ca/man.config /aa/bc/cc/test.txt

4.两次拷贝同一文件到同一目录下,不出现覆盖提示

[root@localhost ~]# \cp /root/install.log /tmp/

[root@localhost bb]# /bin/cp /root/install.log /tmp/install.log

[root@localhost bb]# unalias cp

[root@localhost bb]# cp /root/install.log /tmp/install.log

5.只显示/root/install.log文件的第1001行

[root@localhost bb]# cat -n /root/install.log | head -1001 | tail -1

VIM文本编辑器

vim的3种基本模式:命令模式,输入模式,末行模式

由命令模式切换到输入模式:

a 当前字符后输入

A 当前行行尾输入

i 当前字符前输入

I 当前行行首输入

o 当前行下一行输入

O 当前行上一行输入

s 删除当前字符后输入

S 删除当前行后输入

命令模式下

u 撤销一步操作

ctrl+r 重做

复制一行 yy 粘贴p

复制50行 50yy

剪切/删除一行 dd

剪切/删除50行 50dd

^行首

$行尾

d^ 删除当前字符到行首

d$ 删除当前字符到行尾

y^

y$

替换

:s/ab/**/ 替换当前行匹配到的第一个字符串

:s/ab/**/g 替换当前行所有的匹配字符串 s 替换 g 全局

4.打开新的标签ctrl+shift+t alt+1..... 切换标签 ctrl+shift+w 关闭标签 ctrl+shift+q 关闭所有终端

#bin 下的存的是命令

使用Shell的两种方式:

输入命令 效率低 适合少量的工作

Shell Script(脚本) 效率高 适合完成复杂,重复性工作

pwd 显示当前完整目录

# 表示我们当前使用的是超级账户

$ 表示我们当前使用的是普通账户

长主机名:zhuangyao.baidu.com

输入bash命令注意事项:

输入命令:

#命令 【选项】 参数 操作符

#ls

所有命令后必须有空格(空格的个数没有上线)

tab:自动补全

没补全的原因: 命令写错 没有可执行权限

ctrl+c :中断当前的输入

常用快捷键:

Ctrl + c:终止命令

Ctrl + 上下左右: 以单词移动

移到命令行首 home

移到命令行尾 end

思考题:

从光标处删除至命令行首

从光标处删除至命令行尾


模式 命令 输入 字符 文件 目录 一行 编辑器 光标 地址 选择 标签 环境 切换 剪切 工作 移动 全局 内容 单位 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 上海挚品互联网科技有限公司 云之行互联网科技 科技互联网项目 互联网中国科技 港股互联网科技股 奇酷互联网科技 顶级互联网科技成果有哪些 贵州叶脉互联网科技有限公司所属行业 江阴互联网智能科技产品进口 崇明区互联网教育科技售后服务 互联网与医疗科技 呼和浩特新华互联网科技学院 健康食品互联网创新科技园项目 济南有互联网科技公司吗 为客找房互联网科技公司怎么样 工业互联网科技成果转化 互联网风格科技公司名称 福仕德教育科技互联网 利用互联网等科技手段 百单网互联网科技有限公司 河南云网互联网络科技有限公司 互联网是不是新科技 盈实互联网科技 甘肃拓世互联网科技有限公司 栖莱科技互联网股份有限公司 科技类公司包括互联网吗 南通创西澳互联网科技有限公司 普陀区互联网教育科技管理办法 广州全民伙伴互联网科技有限公司
0