【Linux】工具:yum软件安装、yum源配置更新;vim编辑器常用模式、命令集、【超推荐】vim自动化配置C++IDE;gcc / g++编译器命令、编译过程
yum、vim、gcc/g++,一站式配齐,含命令集。
工具Ⅰ
1. yum – 软件安装
- yum 是Linux下非常常用的一种包管理器,可供下载软件包. 主要应用在Fedora, RedHat, Centos等发行版上。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 之间的关系。
- 这些软件管家要下载软件,是必须得知道各个软件的下载地址的,一般都是内置下载链接。(比如放在配置文件中)
- yum 就有一个这样的 配置文件,我们叫他 yum 源,存放在我们的
/etc/yum.repos.d路径下
(repos 为 repository 仓库的简写,d 为 dir 目录)
-
关键字 搜索 软件:
[sodu] yum list | grep 关键字(最常用)
或者yum search 关键字(排版很死亡,用的比较少) -
用 root 安装 软件:
[sodu] yum [选项] install 软件名(此时是精准匹配的) -
用 root 删除 软件:
[sodu] yum [选项] remove 软件名 -
直接完成指令,不进行系统交互提示:
-y
通常我们希望在 Linux 下安装的软件,所有人都能使用,所以我们不会把软件下载到自己的用户下。
这时候,需要我们切换成 root 身份,当然直接使用 sodu 提升该行命令的权限是最好的!root 会把软件存在特定的文件夹中。
1.1 yum 源 配置
我们所正在使用的 yum 源,可能依据云服务器的不同而使用不同的源。可以通过一系列指令进行配置更改。yum 源配置文件可以通过网络搜索得到。
🌰这里举例,把 CentOS 默认的 yum 源,修改为 mirrors.aliyun.com
操作步骤如下:
👣1. 备份老的 yum 源: cd /etc/yum.repos.d 进入目录,备份 yum 源配置文件 CentOS-Base.repo
mv CentOS-Base.repo backup_CentOS-Base.repo
# 不进入目录则输入:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/230410_CentOS-Base.repo
👣2. 下载新的 yum 源: 保持在上述目录位置,下载 163 的 yum 源配置文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
# 如果显示没有 wget 命令,用下面这个,yum 源更新后可以装一个 wget
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
👣3. 重命名: 将新下载的 yum 源,改成原来系统的默认名
mv CentOS7-7.repo CentOS-Base.repo
👣4. 更新缓存: 先将 yum 缓存重新清空,再将 yum 源重新加载
yum clean all
yum makecache
配置完毕!
1.2 从 扩展 yum 源中下载软件
我们刚刚所说配置 yum 源,更多的是官方的软件源,如国内的一些镜像源:阿里、163、华为、腾讯,如果你的云服务器是来自某一家,大概率是可以直接使用 yum 源,不需要进行重新配置。
但是如果我们想要安装的软件,在官方的软件源中找不到,有可能在扩展的 yum 源中:epel.repo,此时下载方法入下:
👣step1:
# 根据我们的 base yum 源,帮我们找到和他匹配的扩展 yum 源
sodu yum install -y epel-release
👣step2:
sudo yum install -y 软件名
2. vim – 编辑器
vim 是一款多模式的编辑器,常用五种,最常用的实际只有三种
2.1 vim 的模式及转换
普通模式 / 命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段
插入模式(Insert mode):文字输入
底行模式(Last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作
替换模式(Replace mode)
视图模式(Visual mode)
-
进入命令模式:
-
输入命令
vim testvim.c打开 vim 默认进入 命令模式,当前目录下没有同名文件会新建一个 命令模式 -> 插入模式:
-
按键
i,界面左下角出现 – INSERT – 字样,此时转化成插入模式,光标不移动。 -
按键
a,进入插入模式,同时光标向后移动一个 -
按键
o,进入插入模式,同时光标向下移动一排 -
按键
s,进入插入模式,同时删除光标所在字符 命令模式 -> 底行模式:
-
按键
shift+:,左下出现冒号字样,可以进行保存退出等操作 命令模式 -> 替换模式:
-
shift+r,左下出现 – REPLACE – 字样,此时转化成替换模式 任意模式 -> 命令模式:
-
按键
[ESC],此时模式提醒消失,返回了命令模式
2.2 vim 的命令集
注意:命令中出现的 n 都是数字
🎯底行模式下:
-
🎗️退出保存
-
q:不保存只退出 -
q!:强制退 -
w:只保存(可以撤销之前的命令) -
wq:写入并退出(再次打开不可撤销之前的命令) -
wq!:强制保存并退出 -
!命令行命令:返回 执行命令行 的命令,但是不退出 vim 🎗️文本文件编辑
-
set nu / set noun:设置 行号、去掉行号 -
/xxx:字符串 查找 -
%s/当前字符串/替换字符串/g:查找并 替换 字符串 -
vs 文件名:将输入文件 分屏 至左侧,如当前目录下没有找到该文件,会自动创建一个 -
ctrl + ww:切换光标 到另一个分屏界面
🎯命令模式下(大部分指令):
-
🎗️复制粘贴
-
u:撤销 命令 -
ctrl + r:对撤销进行撤销 -
yy / nyy:复制 当前光标所在行、复指当前行在内及之下的指定若干行 -
dd / ndd:剪切 当前光标所在行、剪切当前行在内及之下的指定若干行。(如果只 dd 不粘贴,就是删除) -
p / np:粘贴 一行、粘贴内容相同的 n 行,到当前光标所在行之下 🎗️光标定位
-
gg:将光标定位到 文档开始 -
shift + g:将光标定位到 文档结尾 -
n shift + g:将光标定位到文档 指定行 -
shift + 4:将光标定位到文本 行的结尾 -
shift + 6:将光标定位到文本 行的开始 -
n b / n w:按单词为单位,进行前后移动,b 向前,w 向后 -
h / j / k / l:光标移动,h 左、j 下、k 上、l 右 🎗️字符编辑
-
shift + ~:快速 大小写切换 -
r / nr:替换 一个字符、替换若干个相同字符 -
shift + r:切换为替换模式 -
x / nx:行内删除光标位置,删除光标后面 n 个字符 -
n + shift + x:向前删除
2.3 vim 的配置
一个用户一个 vim 配置。
自己配置:网上有很多命令用来配置,大家可以按需设置,流程如下。但其实不太推荐自己去配置,因为涉及很多插件冲突和路径问题。(不想看这个可以跳到下一小节 自动化配置)
- 👣 进入用户目录下,创建配置文件
.vimrc
touch .vimrc
- 👣 打开配置文件
vim .vimrc
样例:
# vim 编辑器的插入模式下,输入如下
"行号
set nu
"干啥的
syntax enable
"当前行高亮
set cursorline
"用空格来替换 Tab
set expandtab
"设置所有的 Tab 和缩进为 4 个空格
set tabstop=4
"按退格键时可以一次删掉 4 个空格
set softtabstop=4
set smarttab
"自动缩进
set autoindent
"开启新行时智能自动缩进
set smartindent
"设定 << 和 >> 命令移动时的宽度为 4
set shiftwidth=4
"设置编码格式
set encoding=utf-8
"设置终端格式
set termencoding=utf-8
"括号自动补齐
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap < <><ESC>i
🚩【推荐】自动化配置
本文提供一个自动化配置,取自🔗将 vim 打造成 C++ IDE,目前只支持 centos 7.x,步骤如下:
-
👣在需要配置的账号下,输入
cd ~ -
👣再输入下面指令(建议复制),进行脚本安装
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
- 👣安装完成后,按照提示,输入指令,配置生效:
source ~./.bashrc
3. gcc / g++ – 编译器
gcc 和 g++ 的选项是重叠的,gcc 是专门针对 C 语言的编译器、g++ 是专门针对 C++ 的编译器。这里以编译 C 语言的 gcc 为例进行讲解。
3.1 程序的翻译
本小节会讲述,程序翻译的过程,及翻译过程的留存。
1. 👣 预处理:头文件展开、条件编译、宏替换、去注释…
(预处理完毕,此时还是 C 语言)
-E:进行程序翻译,预处理完成,就停下来
# 直接输入会打印到屏幕上,不方便查看,我们 -o 到一个 .i 文件里
gcc -E mytest.c -o mytest.i
2. 👣 编译:编译成 C 语言的 汇编语言
-S:进行程序翻译,编译完成,就停下来(会生成一个 .s 汇编文件
# 可以从 .c 开始翻译,这里默认在一个测试下,接着做的
# 可以 -o 自定义名
# 会生成一个 .s 文件
gcc -S mytest.i
3. 👣 汇编:汇编语言 -> 可重定位的目标二进制文件(是不可以被执行的,bin.obj),只把我们自己的代码进行翻译形成二进制目标文件
-c:进行程序翻译,汇编完成,就停下来(会生成一个 .o 二进制文件
gcc -c mytest.o
4. 👣 链接:将我们自己形成的 .obj 文件和库文件某种合并,形成可执行程序
ldd:查询可执行程序对其他 动态库 的依赖sudo yum install glibc-static -y libstdc++-static:安装 c 语言和 C++ 的静态库
3.2 gcc 的命令
gcc 文件名.c:将 .c 文件编译成可执行文件 a.out
gcc 文件名 -o 执行文件名:将指定文件编译成自定义名称的可执行文件(-o 也可以放在前面,但是其后需要紧跟执行文件名称)
-E -S -c:转成 预处理、编译、汇编 文件,具体使用见 3.1,
记不住命令顺序的一定记得,看看你的键盘左上角 ^▽^,[ESc]
生成的文件顺序:.i .s .o,我们可以助记作镜像文件的后缀名 .iso
🥰如果本文对你有些帮助,请给个赞或收藏,你的支持是对作者大大莫大的鼓励!!(✿◡‿◡) 欢迎评论留言~~
更多推荐




所有评论(0)