Linux的基础开发工具
1.软件包管理器
1.软件包
以前在Linux下载安装文件,通常是下载到程序的源码,并进行编译,得到可执行程序。
但是过于麻烦,就把常用的软件提前编译好,做成软件包放在一个服务器上,通过包管理器可以方便的获取编译好的软件包,进行安装。
软件包和软件包管理器就像“APP”和“应用商店”关系
yum(Yellow dog Updater,Modified)是Linux下非常常用的一种包管理器
Ubuntu:主要使用apt(Advanced Package Tool)作为其包管理器。作为其包管理器,apt同样提供了自动解决依赖关系,下载和安装软件的功能
1.2Linux的软件生态
为什么会有人免费特定社区提供软件,并且发布提供云服务器让他人下载?
推广产品或服务:企业或个人开发者可能会通过提供免费软件来吸引用户,增加产品的知名度和用户基础。这种方式可以帮助他们在市场上获得竞争优势,并通过口碑传播吸引更多用户。
社区支持和贡献:开发者或公司可能出于对社区的支持和贡献精神,提供免费的软件和资源。这可以增强社区的凝聚力,鼓励知识共享和协作。
教育和研究:免费软件和云服务器可以作为教育资源,帮助学生和研究人员学习和实验新技术,而无需承担高昂的成本。
获取反馈和改进:通过免费提供软件,开发者可以获得用户反馈,这有助于改进产品。用户在实际使用中的反馈对于产品迭代和优化至关重要。
建立用户基础:免费提供软件可以作为吸引用户的手段,一旦用户基础建立起来,可以通过提供增值服务或功能来实现盈利。
开源文化:在开源社区中,共享和协作是核心价值。开发者可能会免费提供软件,以促进技术的发展和创新。
云服务提供商的策略:云服务提供商可能会提供免费的云服务器,以吸引新用户试用他们的服务。这可以作为吸引新客户的策略,一旦用户开始使用,他们可能会因为便利性或服务的可靠性而继续使用并支付额外的服务费用。
社会责任:一些公司可能会出于社会责任的考虑,提供免费的软件或服务,以支持社会公益项目或帮助那些资源有限的个人或组织。
软件包依赖问题(下载软件还需要依赖其它的东西才能正常运行)
镜像源(把国外站点拷贝到国内,通过拷贝的网址可以下载到国外的软件)
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键可以回到命令行模式
低行模式:
文件保存或者退出,也可以进行文件替换,找字符串,列出行号等操作。