LInux环境基础开发工具
我们在Linux学完基础的指令之后,诸如ll,cd,我们需要在linux上进行配置文件(下载),或者是进行c/c++的编程,异或是git的使用,来保管在linux系统下的文件,上传到网上代码仓库
接下来我们来一一介绍四种工具
- Linux软件包管理器yum
- Linux开发工具,Linux编译器vi/vim
- Linux编译器gcc/g++的使用
yum
我们使用的云服务器,安装的环境为CentOs,所以我们下载编译器gcc/g++等一些云服务器上没有的工具时,我们下载方法为使用yum指令
// Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. // 但是我们可以将一些常用的软件提前编辑好,做成软件包,存放在一个服务器上,通过包管理器来方便的访问,并获取这个编译好的软件包,直接进行安装 // 所以推出了yum指令,这是Linux下常用的包管理器,在CentOS上可以使用,如果是Ubuntu的话,使用apt-get 是一个效果的
使用yum必须保证当前网络是畅通的
ping www.baidu.com // Ping 是来验证当前网络是否畅通(就是能不能正常访问某一网址) www.baidu.com 任意网站即可
显示如下:
先介绍一个指令rzsz
// rzsz可以使得windows系统和Linux系统通过XShell传输文件 // 安装完毕之后可以拖拽的方式将文件传输过去
常用参数:
- -a 以文本方式传输
- -b 以二进制方式传输
- -e 对控制字符转义 可以保证文件传输正确
如果是文本文件,那就rz -a file
如果是二进制文件,使用rz -be file 确保文件传输是正确的
上述命令都需要在Linux服务器上执行
- rz从本地文件上传文件到服务器
rz -a 就会弹出对话框,从windows系统下选择需要传输的文件,确定即可传到当前目录下
- sz是从服务器中传递文件到本地
执行sz后,会弹出本地的目录,选中目录后,文件会从服务器下载到本地该目录下。
语法为:sz [选项] 文件 (这里必须加上文件)
查看软件包(当前系统)
我们可以通过yum list指令列出当前系统上的所有已经拥有的软件包,但是包的数目是比较多的,这地方我们找到一个指定的软件包(grep -i xxx)
yum list | grep -i lrzsz 查询是否安装lrzsz软件包
删除(卸载)软件
sudo yum remove lrzsz //remove 删除软件
综上所述:
Linux安装软件方式有:
- 源代码安装
- rpm安装 即Linux安装包
- yum安装 即解决安装源,安装版本,安装依赖
安装源(yum源):类似于app商店,我们通过yum到这个地方来下载,我们安装,他就把对应版本的软件安装
yum源:分为官方yum源,扩展yum源
一般来说Linux操作系统,默认配置的yum源是国外的,所以用国外的比较慢,我们可以使用国内的yum源,来替换yum源文件,但是我们使用的是云服务器,阿里已经将服务器的yum源替换
vim的使用
vim兼容vi,并添加了其他功能,指令的用法是一样的,以vim为例
常用三种模式,分别是命令模式,插入模式,底行模式
正常/普通/命令模式
可以控制屏幕光标的移动,字符、字或者行的粘贴、复制、以及删除,可以进入插入模式(输入i)也可以进入底行模式
插入模式
插入模式是正常进行文字编译的模式,使用esc键退出到命令模式,这是使用最为频繁的模式
底行模式
文件的保存和退出,也能进行文件的替换,找字符串,甚至的打开新文件,列出行号等操作,在命令模式下,输入“:”(冒号)即可进入该模式
查看你的服务器所有的vim模式
//输入指令(底行模式) help vim-modes
vim基本操作
- 进入文件编译
vim test.c //输入这条指令,默认进入命令模式 //需要进入插入模式才能进行编译
- 【命令模式】切换到【插入模式】
输入a、i、o
- 【插入模式】切换到【正常模式】
- 使用 [Esc] 键 即可切换
- 【正常模式】切换到【末行模式】
- 输入冒号即可
- 退出vim以及保存文件,是在底行模式下,w表示保存文件,q表示退出,!表示强制执行
- w(保存当前文件)
- wq(保存并退出文件)
- wq!(强制保存并退出)
- q!(强制退出,不保存)
vim正常模式命令集
我们在各种模式下都有一些快捷键,更好的进行编译和操作文件
插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件; 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字; 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。`插入模式下`
命令模式
//光标的移动 gg:定位光标到最开始行 shift+g(G):定位光标到最结尾行 n+shift+g(nG):定位光标到指定行n shift+$:表示定位光标到当前行尾 shift+^:表示定位光标到当前行开始 w,b:表示将光标按照单词进行行内跨行进行移动(移动一次跳过一个单词) h、j、k、l:表示左下上右 //复制粘贴删除 (n)yy :复制从光标所在行向下n行 (n)dd :剪切、删除(不用p不粘贴就是相当于删除了) (n)p :粘贴n行 u:撤销上一步操作 Ctrl+u:撤销之前的撤销 (和Ctrl+z差不多) shift+~表示大小写转换 (n)r:对于光标字符+之后的字符进行批量化替换 输入10r 然后在输入a,那就是从当前光标到后10个a shift+R:进入替换模式,对内容进行批量化的替换 (n)x:对光标字符之后的字符进行删除
打开多文件
在底行中,输入vs+文件,打开多个文件编辑窗口,ctrl+ww:窗口光标切换,光标在哪一个窗口,就对于哪一个窗口进行操作