温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-08 06:26:58 来源:ITPUB博客 阅读:152 作者:千锋云计算 栏目:云计算

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

创建练习文件

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

文件编辑器 gedit

文件编辑器 vi, vim, nano

vi编辑器工作模式


云计算开发入门课程:Linux重器 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

思考题:

从光标处删除至命令行首

从光标处删除至命令行尾

 


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI