rhcsa(3){包括vim命令的操作}

一,关于vim的操作

1、进入 vim 编辑器

vim 编辑器,可以新建文件也可以修改文件,命令为:vim /usr/local/con.cfg

如果这个文件,以前是没有的,则为新建,则下方有提示为新文件,如果文件已存在,则没有提示。

进入编辑器后,我们先按“i”,即切换到“插入”状态。就可以通过上下左右移动光标或空格、退格及回车等进行编辑内容,和Windows是一样的了。

2、退出 vim 编辑器的方法及区别

当文本编辑结束之后,通常需要退出编辑器,退出编辑器又分为4种情况:保存退出、正常退出、不保存退出及强制退出。

① 保存退出

当我们编辑或修改好了文件内容,我们当然要保存并退出然后下一步了。这时,我们要按键盘左上角的“ESC”,留意到了没有?左下角的插入状态不见了,此时进入了命令模式

然后这时,我们输入“冒号”,即“:”(不含双引号),在下方会出现冒号,等待输入命令,输入“wq”,功能如下:

w:write,写入

q:quit,退出

再回车,就保存退出了。其实,保存退出还有二个方法:

A:在最后输入命令时,直接输入“x”,也是一样的,即:x=wq。

B:最快捷的方法:按了ESC后,直接按 shift+zz 或者切换到大写模式按 ZZ ,就可以保存退出了,即是按两下大写的Z。

我们可以用查看命令 cat 查看其内容:cat /usr/local/con.cfg。

② 正常退出

正常退出有个前提条件是:打开的文本文件在内容上没有被改动过。按了ESC后再输入“冒号”,在输入命令时,直接输入“q”。

③ 不保存退出

很多时候打开了文件或者修改了一些地方,才发现错了,需要不保存退出。先按ESC,再输入“冒号”,在输入命令时,直接输入“q!”。

④ 强制退出

不太常用的操作,先按ESC,再按“冒号”,在输入命令时,直接输入“!”,退出后,会有提示!


2、通过vim编辑器来替换

vi/vim 中可以使用 :s 命令来替换字符串。

:s/well/good/ 替换当前行第一个 well 为 good

:s/well/good/g 替换当前行所有 well 为 good

:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good

:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good

:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

:s#well/#good/# 替换当前行第一个 well/ 为 good/

:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin

 

二,关于链接

cp命令的选项:

​           -a: 拷贝所有

​           -d: 保留链接

​            -f: 强制覆盖不询问

​                执行了之后发现-f没有起作用,alias cp=> 查看cp的别名  cp='cp -i'

​            -r: 递归拷贝

​            -l:拷贝,把文件复制一份,加了-l之后,相当于创建了一个链接指向这个文件

命令执行完成后,可以通过一个环境变量来查看命令是否执行成功

```
echo $?  #输出上一次命令执行完成之后返回状态码
0:执行成功
非0:代表执行失败
```

mv: 移动(剪切的功能), move:移动

rm: 经常会用到的。指学习的时候,如果以后你进入企业/项目之后,慎用rm。因为rm提供了强制删除。

​       remove: 移除

命令格式: rm [选项] 文件或目录以及路径

**查看命令别名: alias 命令, 修改命令的别名:alias 命令='命令 [选项]',例:alias cp='cp -i', 别名失效:unalias**

-i: 删除提示信息,需要手动确认

-f: force 强制

-r: recursive 递归

**不能直接删除目录:如果要删除目录使用-r,递归去删除。原因是目录中可能有文件或者子目录**

在删除目录 的时候,如果目录中文件过多,而且你使用-i选项,就会出现 很多提示信息,而且需要手动确认。

解决办法:rm -rf 目录

删除多个文件或目录: rm [选项]  目录1 目录2 .....

**省略号的用法: touch file{1..5} =>  创建文件file1 file2 file3 file4 file5, 所以1..5代表的就是连续的数字1-5。另外一种file{1,5}: 代表1和5**

新建链接:

ln: link(链接)

命令格式:ln [选项] 源文件 链接文件

ln 源文件 链接文件: 这种方式创建的是硬链接

ln -s 源文件 链接文件: 这种方式创建的是软链接 , -s: symbolics 符号的意思

```
# 不带选项的ln,为link_file创建了link_1链接文件
[root@rhcsa link_test]# ln link_file link_1
# 但是使用ls -l查看,发现link_1还是普通文件
[root@rhcsa link_test]# ls -l
total 0
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_1
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_file
# 使用stat查看文件详细信息的时候。 links是2
[root@rhcsa link_test]# stat link_file 
  File: link_file
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 3325079     Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)


[root@rhcsa link_test]# ln link_file link_1
[root@rhcsa link_test]# man ln
[root@rhcsa link_test]# ln -s link_file link_2
[root@rhcsa link_test]# ls -l
total 0
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_1
lrwxrwxrwx. 1 root root 9 Mar 26 01:44 link_2 -> link_file #链接文件:通过建立符号链接来的。
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_file

```

硬链接和符号链接的区别

```
1.建立时候的区别: 硬链接建立后,就是一个普通, 而符号链接(软链接)就是一个链接文件
2.硬链接只能对文件建立,不能针对目录,软链接对目录和文件都可以
3.具有硬链接关系的两个文件名指向的是硬盘上同一块空间, 软链接:类似于我们windows的快捷方式,即一个文件指向的是另一个文件
4.删除:硬链接删除link_1或者link_file,另一方文件仍然有效,只是Links减一
       如果是软链接,删除了源文件后link_file,链接文件就失效了

[root@rhcsa link_test]# ls -l
total 0
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_1
lrwxrwxrwx. 1 root root 9 Mar 26 01:46 link_2 -> link_file
-rw-r--r--. 2 root root 0 Mar 26 01:38 link_file
[root@rhcsa link_test]# rm -rf link_file 
[root@rhcsa link_test]# ls -l
total 0
-rw-r--r--. 1 root root 0 Mar 26 01:38 link_1
lrwxrwxrwx. 1 root root 9 Mar 26 01:46 link_2 -> link_file

```

![image-20220326115904327](https://s2.loli.net/2022/03/26/JvPmhfEqg4I7N1L.png)
 

具体操作我已经做了图片库供诸君查阅
图片合集(3.26)_在世界的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值