目录
1.1什么是软件包
1.2Linux软件的生态问题
1.3apt具体操作
1.3.1查看软件包
1.3.2安装软件
1.3.3卸载软件
1.4安装源
2.编辑器vim
2.1Linux编辑器-vim的使用
2.2vim的基本概念
2.3vim的基本操作
2.3.1在命令行对vim进行操作
2.3.2命令模式下对vim进行操作
2.3.3底行模式下对vim进行操作
2.3.4vim的其他操作
2.4vim的简单配置
1.1什么是软件包
在Linux下安装软件,通常是下载到程序的源代码,并进行编译,得到可执行程序。
但是这个方式也太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包,放在一个服务器上,通过包管理器可以和方便的获取到这个编译行的软件包,直接进行安装软件包和软件包管理器相当于“APP”和“应用商店”的关系。
如:
1.2Linux软件的生态问题
1.3apt具体操作
1.3.1查看软件包
apt list来查看软件包,但是太多了,会刷屏:
此时需要我们用search来筛选我们需要的软件包,如我们需要lrzsz的就:
apt search lrzszapt show lrzsz注意:
②x86_64" 后缀表⽰64位系统的安装包, "i686" 后缀表⽰32位系统安装包. 选择包时要和系统匹配.
③"el7" 表⽰操作系统发⾏版的版本. "el7" 表⽰的是 centos7/redhat7. "el6" 表⽰ centos6/redhat6.
1.3.2安装软件
通过apt我们可以通过一条很简单的命令来完成gcc的安装:
sudo apt install -y gcc需要注意的是:安装软件,要以超级用户的身份进行安装,在普通用户下安装需要用sudo来提高权限!
这句话代表gcc已安装且为最新版本!
如果想要看安装的东西在哪个目录下直接:
1.3.3卸载软件
我如果想要卸载lrzsz那么就:
sudo apt remove -y lrzsz1.4安装源
在Ubuntu下用该指令查看:
cat /etc/apt/sources.list # 标准源ll /etc/apt/sources.list.d/ # 扩展源在CentOS下用该指令查看:
$ ll /etc/yum.repos.d/ total 16 -rw-r--r-- 1 root root 676 Oct 8 20:47 CentOS-Base.repo # 标准源 -rw-r--r-- 1 root root 230 Aug 27 10:31 epel.repo # 扩展源安装扩展源:
sudo yum install -y epel-release更新安装源,在 虚拟机上可能需要,云服务器不⽤考虑,因为软件源都是国内的了。
好玩的命令:https://blog.csdn.net/xiaoxiaosutang/article/details/141053674
云服务器使用的镜像源不用更新,都是从你买的镜像自动更新的!如果想要自己更新,可以先问一下大模型要最新的镜像源,然后复制自己想要的文件链接,再sudo curl -o 你复制的链接即可。
2.编辑器vim
vi/vim键盘图
2.1Linux编辑器-vim的使用
2.2vim的基本概念
vim只有一个功能:编写代码,即编辑器(相当于Windows下的记事本),但是它是一个多模式的编辑器,平时我们只要知道下面三种模式就可以了!
①正常/普通/命令模式(Normal mode)。
在vim code.c后回车就会进入到这个模式:
下面为:
在命令模式下,我们可以控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode(后面两种模式)。
此时我们在这里可以进行任意的光标移动等:
②插⼊模式(Insert mode)
2.3vim的基本操作
.code.c.swp),不是报错,而是向你确认下一步该怎么处理。先别慌,我帮你读懂它在说什么,以及为什么会出现这个提示:当你用vim编辑code.c时,Vim 会自动在同目录下创建一个隐藏的交换文件.code.c.swp,用来临时保存你的修改,防止意外断电导致数据丢失。
出现这个提示,通常是因为:
上次编辑时 Vim 异常崩溃(比如 Xshell 突然断线,或你强行关闭了终端)。
或者你打开了两个终端窗口,同时用 Vim 编辑同一个文件。
提示信息的一行:
NEWER than swap file!
这句话的意思是:你现在磁盘上的code.c文件,比那个交换文件(.code.c.swp)还要新。
这说明,在你上次 Vi正文m 崩溃之后,你可能用其他方式修改过这个文件(比如用echo重写,或者用nano编辑过)。现在的code.c已经是更新的版本了。
🏆 推荐做法:按D(Delete it)
直接按键盘上的D(大写)。
含义:删除那个过时的交换文件
.code.c.swp。结果:Vim 会删除交换文件,然后直接打开你磁盘上最新的
code.c文件。这样既不会丢失新数据,以后也不会再弹出这个提示。
其他选项说明(供你参考)
| 按键 | 含义 | 后果 |
|---|---|---|
[0] | 以只读方式打开 | 只能看不能改,适合先检查内容。 |
E(Edit anyway) | 忽略警告,强行编辑 | 有风险。如果你强行编辑保存,可能会覆盖掉较新的文件内容。 |
R(Recover) | 恢复交换文件的内容 | 危险!因为磁盘文件更新,选这个会用旧的交换文件覆盖你最新的code.c,导致你最近的新修改丢失。千万别按! |
Q(Quit) | 退出 Vim | 什么都不做,退出后你可以手动rm .code.c.swp删除。 |
A(Abort) | 中止 | 类似退出。 |
R(Recover),因为modified: no说明交换文件里没有未保存的数据,恢复没有意义。modified: YES且NEWER than swap file!,说明是 Vim 异常崩溃留下的残留文件,交换文件比磁盘文件旧,可以安全删除。modified: no(交换文件没有修改)且(STILL RUNNING)(进程还在运行)——这意味着你很可能在另一个 Xshell 窗口(或终端标签页)中,正在用 Vim 编辑同一个code.c文件,那个 Vim 还没有关闭。Ctrl+Z只是挂起(暂停)了 Vim,并没有关闭它。它现在正安静地待在后台,所以系统才会提示process ID: 2307 (STILL RUNNING)。fg回车,就行:
Ctrl+Z(挂起):Vim 进程暂停,但还在内存里。用fg可以秒回,极其方便。
所以遇到问题就不要慌,找到自己出错的原因才能解决问题!
2.3.1在命令行对vim进行操作
如果我们想要光标在第一行,则可以:
vim code.c +1此时回车有:
在vim命令行时常用的操作就这一个。
2.3.2命令模式下对vim进行操作
命令模式下(从插入模式按ESC能进入)键盘的输入,默认被当做命令来看待,如果命令不存在,则这个命令被丢弃。
命令模式下我们可以完成快速的文本编辑!
命令模式下我们可以完成以下操作:
①进行光标的移动。
我们可以使用↑↓←→这四个方向键来移动光标,但是正规的vim应该用⼩写英⽂字⺟「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移⼀格。
如何理解hjkl分别时往左下上右呢?
h在26个字母的键盘分布hjkl的最左边,所以应该往左,同理,l在hjkl的最右边,应该往右,j可以理解为jump,向下跳,k可以理解为king,代表国王,应该向上。
②按Shift+g让光标跳到文章的最后。(即输入大写G)
③按Shift+4让光标到当前行结尾。(即输入$)
④按Shift+6让光标到当前行开头。(即输入^)
⑤按w光标跳到下个字的开头。(一个字与另外一个字用空格隔开或跳到(或跳到"后面这个解释太勉强了)(可跨行移动)
⑥按e光标跳到下个字的字尾。
⑦按b光标回到上个字的开头。
⑧按#l,光标跳到该行的第#个位置,如5l。
⑨按gg,回到文本开始的地方。
⑩按「ctrl」+「b」:屏幕往“后”移动⼀⻚ ,按「ctrl」+「f」:屏幕往“前”移动⼀⻚ ,按「ctrl」+「u」:屏幕往“后”移动半⻚ ,按「ctrl」+「d」:屏幕往“前”移动半⻚。
以下时删除文字:
①按x:每按一次,删除光标所在位置的一个字符。
②#x:删除光标所在位置包括自己以内的#个字符。
③X:每按一次,删除光标所在位置的“前面”一个字符。
④#X:删除光标所在位置不包括自己的#个字符。
⑤dd:删除光标所在行。
⑥#dd:从光标所在行开始删除#行。
⑦dd+p:剪切功能。
以下为复制:
①「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
2.3.3底行模式下对vim进行操作
chmod 000 code.c此时我们在root下进入/home/tan目录:
此时我们执行:
vim code.c虽然它最后一行提示我们:readonly,但是我们是root啊,有最高权限,可以无视规则修改:
s/printf/std::cout它会把光标所在行第一个printf替换成std::cout
如果想要把光标所在的这一行的所有的l替换成i,用:
s/l/i/g如果想要替换该文件的所有o变为e,可以:
%s/o/e/g在底行执行/int会在文件中查找所有单词为int的地方(找到的第一个的行首):
若!ls -l有:
此时我们按任意按键就能回到vim界面!
此外还可以执行很多指令操作,也就是说底行模式可以在不退出vim的情况下执行命令操作。
2.3.4vim的其他操作
此时我们:
vim hello.c它会进入vim界面:
此时,我们用:wq退出vim模式,再ls -l有:
也就是说,vim一个不存在的文件会创建一个文件。
但是我们vim helle.c,然后用:q退出有:
也就是说我们只要不保存就不会生成文件(可以试着写一些代码,如果也用:q退出还是不存在,但是此时我们需要使用q!退出,否则不能退出)。
我们还可以先在底行模式下w!再q也能创建新文件:
此外,我们还可以在底行模式下vs一个不存在的文件hellr.c(也可以vs一个已存在的文件)有:
:vs hellr.c此时我们就可以分屏操作,如果想要移动光标按Ctrl+ww即可切换到另外一个界面。
此时我们用:q(不会创建文件)和:wq(会创建文件)就能退出。
2.4vim的简单配置
vim的配置最好在普通用户下进行,不要给root账号做配置。每次在启用vim之前会在当前用户的隐藏目录的.vimrc文件(用ls -la)就可以看到隐藏文件,vim时就会载入.vimrc的内容,然后呈现某种配置效果:
因为此时没有这个文件,我们需要touch一个:
vim的配置是在做什么?
vim的基本配置,就是在修改家目录下.vimrc的内容。(我配置好的vim不会影响其他人)
这个建议各位问AI大模型,以下是一个示例:
" 基础设置 set number " 显示行号 syntax on " 开启语法高亮 set tabstop=4 " 制表符宽度为 4 set shiftwidth=4 " 自动缩进宽度为 4 set expandtab " 将 Tab 键转换为空格 set autoindent " 开启自动缩进 set mouse=a " 启用鼠标支持 " 搜索优化 set hlsearch " 高亮搜索结果 set incsearch " 边输入边搜索 set ignorecase " 搜索时忽略大小写 set smartcase " 如果搜索含大写则智能识别 " 界面优化 set cursorline " 高亮当前行 set laststatus=2 " 总是显示状态栏 set ruler " 显示光标位置配置好后vim code.c就能看到:
如果各位想要配置更多,可以去网上搜索资料进行配置。