Linux VI/VIM练习
1.将/etc/passwd 复制到/root/目录下,并重命名为test.txt2.用vim打开test.txt并显示行号3.分别向下、向右、向左、向右移动5个字符,分别向下、向上翻两页4.把光标移动到第10行,让光标移动到行末,再移动到行首,移动到test.txt文件的最后一行,移动到文件的首行5.搜索文件中出现的 root 并数一下一共出现多少个,不区分大小写搜索6.把从第一行到第三行出现的
·
- 练习一
- 1.将/etc/passwd 复制到/root/目录下,并重命名为test.txt
- cp -r /etc/passwd /root/test.txt
- 2.用vim打开test.txt并显示行号
- vim test.txt
- 显示行号 :set nu
- 3.分别向下、向右、向左、向右移动5个字符,分别向下、向上翻两页
- 4.把光标移动到第10行,让光标移动到行末,再移动到行首,移动到test.txt文件的最后一行,移动到文件的首行
- 光标移动到第10行 10gg
- 光标移动到行末 end或$
- 再移动到行首 home 或^
- 移动到test.txt文件的最后一行 G
- 移动到文件的首行 gg
- 5.搜索文件中出现的 root 并数一下一共出现多少个,不区分大小写搜索
- /root root出现了4次
- 6.把从第一行到第三行出现的root 替换成linux,然后还原上一步操作
- :1,3s/root/linux/g
- 还原上一步操作 u
- 8.把整个文件中所有的root替换成linux
- :%s/root/linux/g
- 9.把光标移动到20行,删除本行,还原上一步操作
- 把光标移动到20行 20gg 删除本行 dd 还原上一步操作 u
- 20行已删除
- 10.删除第19行,还原上一步操作
- 先把光标移动到第19行 19gg 再删除光标所在的行 dd 还原上一步操作 u
- 已删除第19行
- 11.删除从5行到10行的所有内容,还原上一步操作
- 光标移动到第5行(5gg) 从第五行到10行总共有6行内容 6dd
- 已删除从5行到10行的所有内容
- 12.复制2行并粘贴到11行下面,还原上一步操作(按两次u)
- 光标先移动到11行 11gg
- 输入2yy 复制2行内容
- 最后输入P 就可以把复制的两行内容粘贴到11行下面
- 13.复制从11行到15行的内容并粘贴到8行上面,还原上一步操作(按两次u)
- 在末行模式下 输入 :11,15y (复制11行到15行的内容)
- 光标移动到第八行 8gg 最后输入P
- 14.把13行到18行的内容移动文件的尾部,还原上一步操作(按两次u)
- 先删除13行到18行的内容 先把光标移动到第13行 (13gg) 13行到18行共有6行命令 (6dd)
- 再把光标移动到文件最后一行 (G) 最后一行的行尾($) 最后输入(P ) 粘贴13行到18行的内容
- 15.光标移动到首行,把/sbin/nologin改成/bin/bash
- 光标移动到首行 ^
- 把/sbin/nologin改成/bin/bash :%s$/sbin/nologin$/bin/bash
- 16.在第一行下面插入新的一行,并输入"# Hello!"
- 在第一行下面 也就是第二行
- 光标移动到第二行 1gg 输入i 进入输入模式 回车
- 输入# hello
- 17.保存文档并退出
- 保存文档并退出 :wq!
- 练习二
- #示例文件
- # cat >> proxy.conf <<EOF
- server {
- Listen 8080;
- Server_Name
- www.example.org;
- location / {
- proxy_pass http://127.0.0.1:8080;
- proxy_set_header Host $http_host;
- proxy_set_header X-Forward-for;
- proxy_intercept_errors on;
- proxy_next_upstream error timeout;
- proxy_next_upstream_timeout 3s;
- proxy_next_upstream_tries 2;
- error_page 500 502 403 404 = /proxy_error.html;
- }
- location = /proxy_error.html {
- root /code/proxy;
- }
- }
- EOF
- #完成以下操作
- 1.使用vim打开proxy.conf文件
- vim proxy.conf
- 2.修改Listen为listen小写,并将8080修改为80
- 进入输入模式 (i) 把光标移动到需要需要的位置,直接进行修改
- 3.修改Server_Name为server_name小写。
- (一)进入输入模式 (i) 把光标移动到需要需要的位置,直接进行修改
- (二)进入末行模式(:)输入:%s/Server_Name/server_name/g
- 4.修改www.example.org为edu.softeem.com
- (一)进入输入模式 (i) 把光标移动到需要需要的位置,直接进行修改
- (二)进入末行模式(:)输入:%s/www.example.org/edu.softeem.com/g
- 5.在server_name行下插入一行 root /code;
- 光标移动到server_name后点击回车,会新建一行
- 直接输入root /code;
- 5.复制5-14行的内容,然后将其粘贴到14行下面
- 5-14行 共有10行的内容
- 在命令模式下 光标移动到第5行(5gg)输入(10yy )
- 光标移动到14行(14gg)行尾($) 输入(P)就会把内容粘贴到14行的下面
- 6.删除与proxy_set_header相关的两行全部删除
- 先查找与proxy_set_header相关的两行
- /proxy_set_header
- 使用块视图将proxy_set_header相关的两行删除
- 将光标移动到proxy_set_header相关的第一行
- 使用Ctrl+V 选中proxy_set_header相关的两行 输入dd 删除proxy_set_header相关的两行
- 7.如上操作完成后,在13-20行前面加上#号
- 将光标移动到13行 (13gg)
- 使用Ctrl+V 使用行视图
- 选中13-20行 (20gg)
- shift+i (进入输入模式)
- 输入#
- 两次esc
- 8.删除21-23的行,然后保存当前文件
- 将光标移动到21行
- 使用Ctrl+V 使用行视图
- 选中21-23行 (23gg)
- 输入dd 删除
- 保存 :q!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)