当前位置: 首页 > article >正文

Linux的基础开发工具

1.软件包管理器

1.软件包

以前在Linux下载安装文件,通常是下载到程序的源码,并进行编译,得到可执行程序。

但是过于麻烦,就把常用的软件提前编译好,做成软件包放在一个服务器上,通过包管理器可以方便的获取编译好的软件包,进行安装。

软件包和软件包管理器就像“APP”和“应用商店”关系

yum(Yellow dog Updater,Modified)是Linux下非常常用的一种包管理器

Ubuntu:主要使用apt(Advanced Package Tool)作为其包管理器。作为其包管理器,apt同样提供了自动解决依赖关系,下载和安装软件的功能

 1.2Linux的软件生态

为什么会有人免费特定社区提供软件,并且发布提供云服务器让他人下载?

  1. 推广产品或服务:企业或个人开发者可能会通过提供免费软件来吸引用户,增加产品的知名度和用户基础。这种方式可以帮助他们在市场上获得竞争优势,并通过口碑传播吸引更多用户。

  2. 社区支持和贡献:开发者或公司可能出于对社区的支持和贡献精神,提供免费的软件和资源。这可以增强社区的凝聚力,鼓励知识共享和协作。

  3. 教育和研究:免费软件和云服务器可以作为教育资源,帮助学生和研究人员学习和实验新技术,而无需承担高昂的成本。

  4. 获取反馈和改进:通过免费提供软件,开发者可以获得用户反馈,这有助于改进产品。用户在实际使用中的反馈对于产品迭代和优化至关重要。

  5. 建立用户基础:免费提供软件可以作为吸引用户的手段,一旦用户基础建立起来,可以通过提供增值服务或功能来实现盈利。

  6. 开源文化:在开源社区中,共享和协作是核心价值。开发者可能会免费提供软件,以促进技术的发展和创新。

  7. 云服务提供商的策略:云服务提供商可能会提供免费的云服务器,以吸引新用户试用他们的服务。这可以作为吸引新客户的策略,一旦用户开始使用,他们可能会因为便利性或服务的可靠性而继续使用并支付额外的服务费用。

  8. 社会责任:一些公司可能会出于社会责任的考虑,提供免费的软件或服务,以支持社会公益项目或帮助那些资源有限的个人或组织。

 

 

软件包依赖问题(下载软件还需要依赖其它的东西才能正常运行)

 

镜像源(把国外站点拷贝到国内,通过拷贝的网址可以下载到国外的软件)

 epel(扩展版,但不一定稳定)

sudo yum install -y epel-release 

2.yum具体操作

1-3-1查看软件包

通过yum list命令可以罗列出当前一共有那些软件包,因为包的数目非常多,所以需要用grep命令筛选出我们关注的包

Last login: Wed Nov 20 20:38:53 2024 from 183.233.227.32
root@iZbp1be068ksa92vuf0kbdZ:~# apt list | grep lrzsz

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

lrzsz/jammy,now 0.12.21-10 amd64 [installed]
root@iZbp1be068ksa92vuf0kbdZ:~# apt list | grep lrzsz

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

lrzsz/jammy,now 0.12.21-10 amd64 [installed]
root@iZbp1be068ksa92vuf0kbdZ:~# apt list search lrzsz
Listing... Done
lrzsz/jammy,now 0.12.21-10 amd64 [installed]

1-3-2安装软件

通过yum,我们可以通过简单的一条指令完成gcc的安装

 Censtos

sudo yum install -y lrzsz

Ubuntu

sudo apt install -y lrzsz

注意:complete表示安装完成

1-3-3卸载软件

Centos

sudo yum remove [-y] lrzsz

 Ubuntu

sudo apt remove [-y] lrzsz

1-4Centos安装源路径

root@iZbp1be068ksa92vuf0kbdZ:~# cat /etc/apt/sources.list #标准源
ll etc/apt/sources.list.d/ #扩展源

deb http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security main restricted
# deb-src http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security main restricted
deb http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security universe
# deb-src http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security universe
deb http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security multiverse
# deb-src http://mirrors.cloud.aliyuncs.com/ubuntu jammy-security multiverse

 3.编译器Vim

Linux编译器-Vim的使用

vi/vim的区别简单说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且有一些新的特性。

vim的基本概念

主要的三种模式:命令模式(command mode),插入模式(Insert mode)和低行模式(last line mode)。

命令模式:

控制屏幕光标的移动,字符,字或行的删除,移动复制某区段以及进入Insert mode 下,或者到last line mode

插入模式:

只有在insert mode下,才可以文字输入,按Esc键可以回到命令行模式

低行模式:
文件保存或者退出,也可以进行文件替换,找字符串,列出行号等操作。

 


http://www.kler.cn/a/406079.html

相关文章:

  • 汽车加油行驶问题-动态规划算法(已在洛谷AC)
  • Mybatis-Day3
  • Redis原理及应用
  • 影响电阻可靠性的因素
  • GRU (门控循环单元 - 基于RNN - 简化LSTM又快又好 - 体现注意力的思想) + 代码实现 —— 笔记3.5《动手学深度学习》
  • 6. Spring Cloud Gateway网关超详细内容配置解析说明
  • dockerfile构建Nginx镜像练习二(5-2)
  • 代码随想录第三十八天
  • Pulid:pure and lightning id customization via contrastive alignment
  • 华为HCCDA云技术认证--数据库服务
  • 上海乐鑫科技总代理商ESP32-C5,2.45GHz双频Wi-Fi6,高效连接更安全
  • 向量数据库FAISS之六:如何让FAISS更快
  • Memecoin市场热潮:破圈与挑战并存
  • 基于现金红包营销活动的开源 AI 智能名片与 S2B2C 商城小程序融合发展研究
  • HARCT 2025 新增分论坛6:基于机器人的智能处理控制
  • vue2 src_Todolist消息订阅版本
  • 15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
  • 使用Faiss构建音频特征索引并计算余弦相似度
  • 基于机器视觉的表面缺陷检测
  • MySQL慢查询怎么解决
  • 动态规划-用集合的角度推导状态转移方程 — 最长上升子序列(LIS)
  • MCU通过APB总线与FPGA 数据交互(实现JATG 模块的控制)
  • Matlab|计及调峰主动性的风光水火储多能系统互补协调优化调度
  • C#里演示使用路径类Path
  • 2022 年中高职组“网络安全”赛项-海南省省竞赛任务书-1-B模块B-1-Windows操作系统渗透测试
  • Matlab函数中的隐马尔可夫模型