一,关于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博客