Linux环境基础开发工具的使用

news/2024/11/14 2:28:05/

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访问的就是国内镜像出来的新的配置文件

配置阿里云镜像源

  1. 备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

  1. 下载新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

  1. 清除缓存、生成缓存、升级更新

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


http://www.ppmy.cn/news/1546314.html

相关文章

汇盈策略股票杠杆交易加仓超1000亿,大幅买入这些股票

查查配分析上周,A股市场反弹,上证指数、深证成指、创业板指分别累计上涨5.51%、6.75%、9.32%。在市场反弹的情况下,Wind数据显示,截至11月8日,A股市场融资余额报17944.52亿元,创2015年7月3日以来新高,上周融资余额增加1031.35亿元。 汇盈策略但凭借其优秀的业务模式和高效的运…

智能家居的未来:AI让生活更智能还是更复杂?

内容概要 智能家居的概念源于将各种家居设备连接到互联网,并通过智能技术进行控制和管理。随着人工智能的迅速发展,这一领域也迎来了前所未有的机遇。从早期简单的遥控器到如今可以通过手机应用、语音助手甚至是环境感应进行操作的设备,智能…

【Linux】 IPC 进程间通信(三)(消息队列 信号量)

📃个人主页:island1314 🔥个人专栏:Linux—登神长阶 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 一、消息队列 💌…

sed awk 第二版学习(九)—— 高级主题

目录 一、getline 函数 1. 从输入数据流中读取 2. 从文件中读取 3. 将输入赋给一个变量 4. 从管道读取输入 二、close() 函数 三、system() 函数 四、基于菜单的命令生成器 五、直接向文件和管道输出 1. 直接输出到一个文件 2. 直接输出到一个管道 3. 处理多个文件…

ArkTS--应用状态

应用状态 应用状态相关的内容需要使用模拟器或真机调试,在API 11开始也支持preview 1.LocalStorage LocalStorage是页面级的UI状态存储,通过Entry装饰器接收参数可以在页面内共享数据 1.1 页面内共享数据 import {MyUser} from ../model/MyUser //用户对…

MySQL OnlineDDL添加字段

alter 添加字段 5.7 默认是algorithminplace以及locknone来进行DDL操作,但是添加列整个执行过程中也会部分涉及到Copy Table。 如果有碎片比较大,因为会copy表会碎片整理, 添加字段成功后有可能磁盘使用空间降低,添加过程中磁盘…

如何编写有效的Prompt模板:提升大模型性能的关键

如何编写有效的Prompt模板:提升大模型性能的关键 ​ 在大模型的应用中,编写一个好的Prompt至关重要。Prompt用于定义智能体的行为模式,正确的Prompt能帮助智能体更好地理解用户的需求并做出恰当的回应。它直接影响模型输出的质量和相关性&am…

2024强网杯Proxy

代码审计 首先分析go语言代码 package mainimport ("bytes""io""net/http""os/exec""github.com/gin-gonic/gin" )type ProxyRequest struct {URL string json:"url" binding:"req…