Linux软件包管理器yum
yum是一个软件下载安装管理的客户端,相当于手机上的应用商店
Linux中软件包可能存在依赖关系,而yum会帮我们解决依赖关系的问题
Linux系统(centos)的生态
安装软件的方式:源代码安装、rpm包安装、yum安装
rpm包:是一种压缩格式,将源代码在各种不用的环境编译好。但是也可能需要安装某些库,要自己解决部分依赖关系
yum:直接解决所有依赖关系,是最简单的安装方式
yum install xxx,去远端搜索下载。说明用户的机器内部一定内置了目标服务器的地址链接
yum的相关操作
yum list | grep 名字或关键字:以列表的形式搜索符合当前系统的含有关键字的软件
sudo yum install 软件名:安装软件,或者以root安装
sudo yum remove 软件名:删除软件。加-y就直接删除,不再确定
yum本地配置
yum会根据 /etc/yum.repos.d/ 该路径下面的配置文件,来构成自己的下载链接,(根据OS版本以及要下载的软件),yum帮助下载和安装
也可以通过一些网络命令下载东西
一般的机器内置的链接地址是centos的官网,软件链接都是指向国外的,yum可能比较慢,所以需要配置。配置的本质就是更改文件或者更改文件内容,此时yum访问的就是国内镜像出来的新的配置文件
配置阿里云镜像源
- 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 清除缓存、生成缓存、升级更新
yum clean all
yum makecache
yum -y update
阿里云官方镜像站
阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
联网问题:
使用yum一般都是要联网的,同时使用云服务器也是要联网的,所以不用管这个,但如果使用的是虚拟机就可以通过 ping 指令验证:
ping www.baidu.com
lrzsz:
下载了这个指令之后,就可以支持文件从Windows拖拽到Linux,并且用指令sz下载到本地
wget:
如果源文件所在的系统没办法提供图形化界面使用sz的话,就使用wget指令实现传送文件。但是两个Linux机器要互传文件是需要安装一个ftp的,在公司里就可以用到
用法:wget ip地址:文件路径
scp:
scp远程拷贝,粘贴到本地,操作后需要选择连接并且输入密码
用法:scp ip地址:文件路径
默认以自己当前身份去拷贝,也可以自己设置
比如以root身份去拷贝scp root@ip地址:文件路径
文本编辑器vi/vim
多模式编辑器:命令模式、底行模式、插入模式
命令模式:允许使用者通过命令进行文本编辑控制
插入模式:编辑模式
底行模式:用来让vim和shell进行交互(包括但不限于shell)
vim刚打开无法输入,默认进入命令模式,此时:
输入 i ,也就是insert,就进入了插入模式进行编写
按键 esc,退回命令模式
输入 :,命令模式进入底行模式。w写入 q退出
命令模式:
esc:进入命令模式
shift+zz:(ZZ)保存并退出,不建议这个,可能会和下一个记重
ctrl + z:退出vim
直接退出,会保存成一个临时文件,之后每次打开就会弹出临时文件的窗口
可以通过D删除这个临时文件,或者R恢复,或者rm指令删除
行移动:
i:光标不变,进入插入模式
o:新起一行,进入插入模式
a:在下一个字符初,进入插入模式
yy:复制当前行。把光标放在想复制的行上,输入yy
num yy:连续复制num行
p:粘贴到当前光标的下一行
num p:粘贴num次
u:撤销
ctrl + r:撤销上一次的撤销动作
dd:删除当前行
dd + p:剪切
num dd:连续删除num行
x:删除光标后续的一个字符
num + x:删除光标后续同行的num个字符
X:(shift + x)删除光标之前的字符
num + X:删前num个
r:对光标指定的位置进行一个字符的替换
num + r:num个字符的替换
R:(shift + r)进入替换模式,直接进行文本替换
~:(shift + `)按一下切换一个字母的大小写
光标移动:
$:(shift + 4)将光标定位到当前行的最结尾
^:(shift + 6)将光标定位到当前行的最开头
gg:将光标定位到整个文本最开头
G:(shift + g)将光标定位到整个文本最结尾
num + G:将光标定位到文本第num行
hjkl:左下上右(和上下左右键相同)
n + hjkl:移动指定行或字符
w:以单词为单位进行光标后移
b:以单词为单位进行光标前移
注释:
1、ctrl + v + 上下:区域选择
shift + g:全部选择
2、shift + i:进入插入模式
输入//,注释
3、按两次esc
删注释:
1、ctrl + v + 上下
2、按 l 选多列
3、按 d 删除
底行模式:
::(shift + ;)进入底行模式
esc:回退到命令模式
q:退出
q!:强制退出,不保存退出
w:保存
wq:保存并退出
set nu:调用行号
set nonu:去掉行号
/关键字:搜索并高亮显示
!命令:不退出vim,执行shell命令
例如:!gcc test.c 、!ls -l --color、!./a.out
假如在vim中有个函数不会了,直接!man 函数,就可以不退出搜索,q回车,又回到vim了
vs test.h:打开一个新的文件
ctrl+ww:切换文件
vim的配置问题
.vimrc是一个配置项,有的话vim就会调用,没有的话vim就默认当前界面
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh