在学习linux过程中,我们常常会遇到某些指令用不了的时候,原因除了权限问题外,还有可能是你当前的linux环境并没有安装相应的软件包。而在Linux下载安装软件的办法有两个,一个是先下载所需软件的源代码然后编译,得到可执行程序之后再安装。这种方法无疑是繁琐且麻烦的,所以就有人把一些常用的软件提前编译好,做成软件包(可以理解为windows上的安装程序)并放在服务器上,通过包管理器可以很方便的获取到这个已经编译好的软件包,直接进行安装,这是另一种方法,也是我们常用的一种方法。软件包就像是“APP",而软件包管理器就好像是”应用商店“。
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种软件包管理器. 主要应用在Fedora, RedHat,Centos等发行版上.
其实yum安装软件的本质就是在其源配置文件中找到目标软件的链接(URL),再到这个链接中去下载所需软件。
运行以下命令以查看系统中的Yum源配置文件(需要root)
cat /etc/yum.repos.d/*.repo
也可以直接进入/etc/yum.repos.d目录查看配置文件
/etc/yum.repos.d/*.repo表示的是/etc/yum.repos.d目录下的所有以.repo后缀结尾的文件内容,每一个文件都代表着一个yum源配置。从中我们可以看到每个yum源配置的详细信息,包括名称、URL、启用状态等。
sz
和rz
是一对用于在linux系统中进行文件传输的命令行工具,。它们通常用于通过串口或SSH等连接在远程计算机上进行文件的上传(rz)和下载(sz)。
yum -y install lrzsz
从windows机器上传文件到linux机器中
考虑以下指令
rz
sz 某个文件
由于yum的所有操作都需要联网,就跟我们手机下载软件一样需要保持网络流畅。
可以通过ping指令来检测网络是否流畅
ping www.baidu.com
其原理就是去访问某个 www.baidu.com,然后发送一个ICMP 请求并等待响应,如果得到的响应数据正常,说明网络是顺畅的。
我们通过yum list命令可以罗列出当前本地一共有多少软件包,由于数量可能非常多,我们需要使用grep命令筛选出目标软件包。
考虑以下指令
yum list | grep 某个软件包
如果对grep或者 | 指令有问题的同学可以去我上一篇博客里面去了解一下
Linux基本指令总结(二)-CSDN博客
那么查看到的这一行的信息的各个字段分别代表什么意思呢?
yum remove 某个软件包
注意yum指令都需要root权限,如果是普通用户则需要使用sudo提权。
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xshell、 window、mac os、windows。
Vim
是一款强大的文本编辑器,它基于Vi
(另一款流行的文本编辑器)并提供了许多增强的功能。以下是一些Vim
的基本概念:
1、普通/命令/正常模式(Normal Mode):默认模式,用于控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode,在该模式下,按键执行命令而非输入文本。在该模式下按 “i” 是切换到插入模式,按 “shift + ;” (等于按 “:”)切换到底行模式。
2、插入模式(Insert Mode):该模式用于输入编辑文本。按”Esc"键返回到命令模式。
3、末行模式(Last line Mode):又叫底行模式。该模式下可进行文件的保存或者退出,也可以进行文本替换、找字符串、列出行号等操作,按”Esc"键返回到命令模式。在该模式下输入help vim-modes可以查找所有的模式。
值得注意的是,要想进入其它模式只能在命令模式中切换,比如在插入模式无法直接切换到底行模式,只能先按Esc回到命令模式再按i进入插入模式。
在底行模式 输入help vim-modes
使用以下命令使用vim编辑文件
vim + 某个文件
进入vim处于的是命令模式
序号 | 命令 | 所处模式 | 含义 |
1 | a/i/o | 命令模式 | 切换到插入模式 |
2 | 按左上角的Esc键 | 任何模式 | 切换到命令模式 |
3 | “shift + ;”,等价于输入“:” | 命令模式 | 切换到底行模式 |
以下命令均在命令模式中执行
命令 | 含义 |
h、j、k、l | 对应光标的左上下右的移动 |
G(shift+g) | 移动到文章的最后 |
$ | 移动到光标所在行的“行尾" |
^ | 移动到光标所在行的“行首" |
w | 光标跳到下个字的开头 |
e | 光标跳到下个字的字尾 |
b | 光标回到上个字的开头 |
#l | 光标移到该行的第#个位置,如:5l,56 |
gg | 进入到文本开始 |
ctrl+b | 屏幕往“后”移动一页 |
ctrl+f | 屏幕往“前”移动一页 |
ctrl+u | 屏幕往“后”移动半页 |
ctrl+d | 屏幕往“前”移动半页 |
命令 | 含义 |
x | 每按一次,删除光标所在位置的一个字符 |
#x | 例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符 |
X(shift+x) | 大写的X,每按一次,删除光标所在位置的“前面”一个字符 |
#X | 例如,「6X」表示删除光标所在位置的“前面(包含自己在内)”6个字符 |
dd | 删除光标所在行 |
#dd | 从光标所在行开始删除#行 |
命令 | 含义 |
yw | 将光标所在之处到字尾的字符复制到缓冲区中 |
#yw | 复制#个字到缓冲区 |
yy | 复制光标所在行到缓冲区 |
#yy | 例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字 |
p | 将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。 |
命令 | 含义 |
r | 替换光标所在处的字符 |
R | 替换光标所到之处的字符,直到按下「ESC」键为止 |
u | 撤销,回到上一个操作 |
ctrl+r | 撤销的恢复 |
c#w | 更改光标所在处的字到字尾处 |
ctrl+g | 例如,「c3w」表示更改3个字 |
#G | 例如,「15G」,表示移动光标至文章的第15行行首 |
以下命令在底行模式进行
命令 | 含义 |
set nu | 列出行号 |
# | 一个数字,跳转到#行 |
/关键字 | 查找关键字,按n往后继续查找 |
?关键字 | 查找关键字,按n往下一个关键字处查找 |
w | 保存文件 |
q | 退出 |
wq | 保存并退出 |
q! | 强制退出 |
wq! | 强制保存并退出 |
w! | 强制保存 |
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
打开自己目录下的.vimrc文件,执行 vim .vimrc
可以看到,之所以我的vim看起来非常的”华丽“,是因为在vimrc里面已经配置好了各种命令。在我们打开vim时,会先读取vimrc里面的命令并生效,比如如果我们在里面配置了”set nu“显示行号的命令,在我们打开vim的时候就会自动显示行号了,非常方便。
配置选项比较多,大家可以去自行查阅。当然我们也可以使用插件。
1.安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
2.在~/.vimrc 中添加: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
3.安装文件浏览器和窗口管理器插件: WinManager
4.下载winmanager.zip,2.X版本以上的
5.解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到~/.vim/plugin
6.在~/.vimrc 中添加 let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle
7.然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输入"wm"