vim是一个全屏幕纯文本编辑器,是vi的增强版
不需要鼠标介入可以完成所有操作
vi打开的文件是黑白的,用vim打开在部分代码处会有高亮显示,方便排错
vim /blh/text01.txt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a6Yqaxz8-1589764111076)(F:\Typora插入的图片\1589539756639.png)]
alias vi='vim'
这样改是临时的,如果要改成永久的,需要改配置文件。
使用命令
vim /blh/text01.txt
之后进入编辑模式,此时的窗口显示为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dXtwy0aF-1589764111080)(F:\Typora插入的图片\1589541014555.png)]
现在是只读模式,要对文件进行操作的话,需要按下键盘上的i进行操作,以下是常用的命令:
其实功能都一样的,都都是对文件进行修改,只不过是按不通过的快捷键给的定位不一样。
退出:标记完成后按ESC,然后输入:进入编辑模式,可以执行一些常见操作:
:w 保存不退出
:w 新文件名
:w /blh/aaa.txt
:q 不保存退出
:wq 保存退出
:!强制
:q!强制不保存退出
:wq!强制保存退出
:set nu
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gBmhNpe0-1589764111083)(F:\Typora插入的图片\1589591053643.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YN8AXpiF-1589764111089)(F:\Typora插入的图片\1589591060324.png)]
修改默认显示则需要修改配置文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z9XuvsRH-1589764111092)(F:\Typora插入的图片\1589591237741.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iF1veV3r-1589764111093)(F:\Typora插入的图片\1589591228704.png)]
这样打开的时候就会默认显示行号了。
开启:
:syntax on
关闭:
:syntax off
查找的字符串高亮显示
:set hlsearch
查找的字符串不高亮显示:
:set nohlsearch
设置状态栏
:set ruler
关闭状态栏
:set noruler
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tX2QL0lo-1589764111095)(F:\Typora插入的图片\1589591876501.png)]
显示隐藏字符
:set list
不显示隐藏字符
:set nolist
注:windows的回车符为^MS,而linux的回车符为$
1,10s/old/new/g 替换1-10行
:1,10s/a/bbb/g
%s/old/new/g 替换整篇文档
1,10s/^/#/g 给1-10行批量添加注释
1,10s/#//g 取消添加的注释
:r 文件名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ncWD44j-1589764111097)(F:\Typora插入的图片\1589593304899.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N2CBHAa6-1589764111098)(F:\Typora插入的图片\1589593309587.png)]
:!命令
:r !命令 导入命令结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qjt3zOe0-1589764111100)(F:\Typora插入的图片\1589593470815.png)]
注:设置ctrl+p为添加注释
:map ^p I#
设置ctrl+b为取消注释
:map ^B ^x
:ab 源字符 替换的字符
vim -o 文件1 文件2 #小o为上下分配 大O为左右分配
注:上下切换为:按ctrl+w之后按键盘的上下即可切换
代码开源
源码包编译 windows下的.exe文件就是二进制包
rpm -ivh 包名
包全名:如果操作的是为未安装软件包,需要全名
包名:如果操作的是已经安装的软件包,包名就行
shell写的脚本使用人数相对较少,就不需要考虑效率。
shell:命令解释器。
echo输出命令
echo 111111
echo -n "11111" #输出后不换行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dlWG6FSy-1589764111103)(F:\Typora插入的图片\1589614438735.png)]
echo -e 11\t22 #加入e之后可以使用转义字符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JQjMYkvz-1589764111105)(F:\Typora插入的图片\1589614491404.png)]
echo -e "\e[1;31m aaaa \e[0m"
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OVJkQMK5-1589764111108)(F:\Typora插入的图片\1589614896669.png)]
脚本一般采用.sh后缀
第一个脚本
#!/bin/bash
#上句标识以下程序为shell程序
echo "hello world! "
执行:
#先赋予执行权限
chmod 755 hello.sh
#然后执行
./hello.sh
结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIFVg3mb-1589764111109)(F:\Typora插入的图片\1589615571108.png)]
或者
bash hello.sh #不推荐
历史命令,默认最大记录1000条
history
history -w #内存缓存中的文件也写入
vim .bash_history #存放历史操作命令
vim /etc/profile #记录的条数
history -c #清除历史,不建议
查看系统别名 alias
修改别名
alias #查看别名
vim /etc/.bashrc #修改别名的配置文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5EC30zVX-1589764111111)(F:\Typora插入的图片\1589617257085.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIaZjBBI-1589764111116)(file:///C:\Users\白龙辉\AppData\Local\Temp\ksohtml984\wps1.jpg)]
别名的优先级
ctrl+A | 光标移动到命令行开头 |
---|---|
ctrl+E | 光标移动到命令行尾部 |
ctrl+C | 强制终止当前命令 |
ctrl+L | 清屏 |
ctrl+U | 删除或剪切光标之前的命令 |
ctrl+K | 删除或剪切光标之后的命令 |
ctrl+Y | 粘贴 |
ctrl+R | 在历史命令中搜索 |
输出重定向
ls > aaa #把当前目录的ls结果存入文件aaa
ls >> aaa #追加
ls 2>> aaa #错误信息也记录下来
ls >> aaa 2>&1 #无论正确错误都可以保存
ls &>> aaa #也是正确错误都行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-smFz72C9-1589764111118)(F:\Typora插入的图片\1589618542959.png)]
输入重定向
文件作为输入
cd /blh ; ls #进入目录并显示
cd /blh && ls # 前面正确执行后面。前面错误后面不执行
cd /blh || ls #前面正确不执行后面,前面错误执行后面
grep "root" /etc/passwd #查找passwd文件中包含root的行
通配符 | 作用 |
---|---|
? | 匹配任意一个字符 |
* | 匹配0个或多个 |
[] | 匹配括号中任意一个 |
[-] | 匹配范围 |
[^] | 逻辑非,匹配不是括号中的字符 |
设置环境变量
export AGE=18 #声明环境变量
env #查看环境变量
env
set可以查看所有变量,而env只能查看环境变量
PATH变量是系统查找命令的路径
echo $PATH
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AvT6DsJ7-1589764111120)(F:\Typora插入的图片\1589627976578.png)]
中间是用冒号隔开的路径
量的值以最后一次赋值为准
设置环境变量
export AGE=18 #声明环境变量
env #查看环境变量
env
set可以查看所有变量,而env只能查看环境变量
PATH变量是系统查找命令的路径
echo $PATH
[外链图片转存中…(img-AvT6DsJ7-1589764111120)]
中间是用冒号隔开的路径