Linux系统的安装
在Windows系统或者在手机中安装一个软件,只需要点击应用商城或者在浏览器官网中进行安装。但是在Linux系统中安装一个软件有三种方式:
- 源代码安装
- rpm安装——有很强的依赖关系的Linux安装包
- yum / apt安装——解决安装源,安装版本,安装依赖的关系
在手机、iPad 或笔记本上访问服务器,找到并下载其中的应用程序。
问题:公司、个人、组织出于什么目的,或者动机给我们提高软件服务呢?
-
满足市场需求,提升竞争力:通过提供优质的软件服务,企业和组织可以在竞争中占据更有利的地位,赢得更多客户的青睐。这也是提高市场份额和品牌声誉的关键途径。
-
创造收益,获得经济回报:很多软件服务是收费的,企业通过付费订阅、广告、增值服务等方式来盈利。不断优化软件服务可以吸引更多用户、增加收入来源。
-
提升用户体验:个人开发者或开源社区往往出于对用户体验的关注,希望通过改进软件服务为用户提供更高效、便捷、愉快的体验。良好的用户体验有助于留住现有用户,并吸引新用户。
-
推动技术创新和实践积累:改进软件服务的过程也有助于技术创新,帮助公司和个人积累实践经验,培养技术人才。这种积累对开发者个人或组织的长远发展非常有利。
-
建立行业声誉,树立品牌形象:不断改进软件服务有助于建立品牌的可信度和良好的行业声誉,使公司或组织被认为是可靠和技术领先的提供商。
-
实现社会影响力和公益目标:一些组织,尤其是非营利性机构和开源社区,通过提高软件服务来实现公益目标,如推广教育、普及信息技术或帮助弱势群体。这类改进往往是出于社会责任或公益心。
问题:客户端怎么知道去哪里下载?
这是由于在应用商城中,所展现的虽然只是一个按钮进行下载,但是其底层会去找这个软件的链接,并进行下载。
yum和apt就类似于应用商城,手机用户在有某方面需求的时候,会去应用商城去选择软件服务,而使用Linux的人大部分是职业的程序员,所以在职业程序员在使用Linux系统时出现某方面的需求,就会使用yum或者apt进行安装与卸载。
Linux的生态
- Linux 有一个庞大的开源社区,开发者和用户可以免费获得技术支持、共享资源、提交补丁或提出改进建议。
- 各大 Linux 发行版和开源项目都有活跃的论坛和技术支持平台,如 GitHub、Stack Overflow、Linux 社区论坛等。
虽然开源看起来是免费的,会让设计者和推动者没有利益可以追求,但是其实并非这样。开源可以使社区快速发展和完善,这样使用的人多了,就会有很多人进行投资。
Linux软件包管理器
由于本人使用的是Ubuntu,所以在使用安装卸载的时候使用的apt指令。
什么是软件包?
根据前面讲述的知识,我们基本可以理解:
- 在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。
- 但是这样非常的麻烦,于是有些人就将一些常用的软件提前编译好,做成软件包(Windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。
- 软件包和软件包管理器,就类似于“App”和“应用商店”的关系。
- apt (Advanced Package Tool)是 Debian 和 Ubuntu 系列 Linux 发行版的包管理工具,用户可以通过它安装、更新、删除和管理软件包
Linux与Windows之间的文件互传
在Linux中,可以使用rz指令和sz指令在Windows机器和远端的Linux机器通过XShell传输数据。
一般来说,rz和sz都是没有在操作系统中进行安装的。
关于apt进行操作时,必须保证主机(虚拟机)网络畅通!
关于测试网络是否畅通:可以通过ping指令验证:
ping www.baidu.com
查看软件包
在Ubuntu中可以通过apt list命令罗列处当前一共有哪些软件包。由于包的数量可能比较多,这里需要使用grep命令筛选出关注的包。
apt list | grep lrzsz
结果如下:
lrzsz/jammy 0.12.21-10 amd64
注意:
- lrzsz: 这是您查找的软件包的名称,
lrzsz
是一个用于文件传输的工具,支持 ZMODEM、XMODEM 和 YMODEM 协议。 - jammy: 表示这个软件包是为 Ubuntu 22.04 LTS (Jammy Jellyfish) 版本构建的。
- 0.12.21-10: 这是软件包的版本号。
- amd64: 表示该软件包是为 64 位架构设计的。
如何安装软件
通过apt,我们可以通过简单的一条命令完成gcc的安装。
sudo apt install lrzsz
【注意】
- 安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切到root账户下才能完成。
- apt安装软件只能一个装完了再装另外一个,正在apt安装一个软件的时候,如果再尝试apt安装另外一共软件,apt就会报错。
如何卸载软件
sudo apt remove lrzsz
apt怎么知道去哪里下载?
输入指令:ls /etc/apt/sources.list
这是主配置文件,里面列出了主要的包源。
那么如何才能知道,应该需要安装哪一些软件呢?
这与在手机上下载软件相同,都是有需求才会进行购买。
类似的,手机上的应用商城与主要的包源相同,并不会将所有的东西都包含进去。所以,在Linux系统中,有官方apt源,也有扩展apt源。
一些好玩的东西
安装指令:apt install sl
执行指令:sl
安装指令:apt intsall cowsay
执行指令:cowsay "你的名字"
【注意】在虚拟机中,一般Linux操作系统,默认配置的apt源时国外的,有可能自己的apt源访问会比较迟钝,可能需要更新apt源——替换apt源。但是对于服务器玩家来说,apt服务器一般来讲厂商已经替换成国内的了。
在Linux下如何编写代码
一般来说,我们在编写代码的时候,都会选择集成开发环境来进行编写代码,就比如说visual Studio 2022这些。但是在Linux下编写代码,是使用vim编辑器,vim编辑器不仅仅可以编写代码,也可以进行文本编辑。
vim的使用
vi/vim的区别简单点来说,都是多模式编辑器,不同点在于vim是vi的升级版本,vim不仅兼容vi的所有指令,而且还有一些新的特性在里面。
例如:语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、mac os、windows。这里就以vim进行讲解。
vim的基本概念
vim有很多种模式,在这里我们主要讲述三种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
各个模式的功能如下:
- 正常\普通\命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某片段及进入Insert mode下,或者last line mode
- 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令模式。该模式是后面使用过程种最频繁的编辑模式。
- 末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模式。
- 如果需要查看所有模式:打开vim,底行模式直接输入:help vim-modes
在命令模式下,用户所有的载入都会被当作命令,一般不会作为文本输入。
通过这张图基本可以看懂三个模式之间进入,离开。
作业:创建一共vim文件,并写入hello world代码保存并退出,同时cat可以看到代码。
- 创建一共test.c文件,使用vim test.c指令进入命令模式。
- 点击i进入插入模式
- 输入代码,并点击ESC退出到命令模式
- 输入:+wq退出
- 使用指令cat test.c查看
下面就详细介绍在vim的基本操作
vim的基本操作
进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
$ vim test.c
【注意】进入vim之后,处于命令模式,需要切换到[插入模式]才能够进行文本编辑。
[命令模式]切换到[插入模式]
- 输入a
- 输入i
- 输入o
[插入模式]切换到[命令模式]
当处于[插入模式],只能进行输入文字,如果发现前面输错了字,除了一下一下的移动光标,也可以按一下[ESC]键转到[正常模式]再删除文字。
[正常模式]切换到[末行模式]
[shift+;],其实就是出入[ : ]
退出vim及保存文件,在[命令模式]下,按一下[ : ],冒号键进入[Last line mode]
- w(保存当前文件)
- wq(保存并退出)
- q!(不保存,强制退出)
- wq!(保存并强制退出)
vim命令模式命令集
插入模式
- 按[i]切换到插入模式[insert mode],按“i”进入插入模式后是从光标当前位置开始输入文件。
- 按[a]进入插入模式,是从目前光标所在位置的下一个位置开始输入文字。
- 按[o]进入插入模式,是插入新的一行,从行首开始输入文字。
从插入模式切换到命令模式
- 按[ESC]键
移动光标
- vim可以直接使用键盘上的上下左右进行光标移动
- 但是正规的vim是用小写英文字母 [h], [j], [k], [l],分别控制光标左、下、上、右一格。
【tip】h是在最左侧,l是在最右侧,j(jump)会往下跳,k(king)高高在上。
- 按[shift+g] / [G]:移动到文章的最后
- 按[shift + 4] / [$]:移动到光标所在行的“行尾”
- 按[shit + 6] / [^]:移动到光标所在行的“行首”
- 按[w]:光标跳到下个字的开头
- 按[e]:光标跳到下个字的字尾
- 按[b]:光标回到上个字的开头
- 按[n| ]:光标移到该行的第n个位置,例如10 |
- 按[gg]:进入文本开始
- 按[shift + g]:进入文本末端
- 按[ctrl + b]:屏幕往“后”移动一页
- 按[ctrl + f]:屏幕往“前”移动一页
- 按[ctrl + u]:屏幕往“后”移动半页
- 按[ctrl + d]:屏幕往“前”移动半页
删除文字
[(n)x]:对光标、字符之后的字符进行删除
[(n)X]:对光标、字符之前的字符进行删除
[(n)dd]:截切、删除n行
复制
[yw]:将光标所在之处到字尾的字符复制到缓冲区中。
[(n)yw]:复制n个字到缓冲区
[(n)yy]:复制光标所在行(n行)
[p]:将缓冲区内的字符贴到光标所在位置。
【注意】所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
替换
[r]:替换光标所在处的字符
[(n)r]:对光标之后的n个字符进行批量化替换
[shfit + r] / [R]:批量替换(第四种模式:替换模式,对内容进行整体替换)
[shift + ~]:快速大小写替换
撤销上一次操作:
[u]:如果你误执行了一个命令,可以马上按下[u],回到上一个操作。按多次[u]可以执行多次。
[ctrl + r]:撤销之前的撤销,即撤销的恢复
更改
[cw]:更改光标所在处的字到字尾处
[c(n)w]:[c3w]表示更改3个字
跳至指定的行
[ctrl + g]:列出光标所在行的行号
[n + shift + g] / [n + G]:移动光标至文章的第15行行首
vim底行模式命令集
在使用末行模式之前,请记住先按[ESC]键确定已经处于命令模式,再按[: ]冒号即可进入末行模式。
列出行号
[set nu]:输入[set nu]后,会在文件中的每一行前面列出行号。
[set nonu]:不要行号
跳到文件中的某一行
[#]:[#]表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行
查找字符
[/关键字]:先按[/]键,再输入您想查找的字符,如果第一次查找的关键字不是您想要的,可以一直按[n]会往后寻找您要查找的关键字。
[?关键字]:先按[?]键,再输入您想查找的字符,如果第一次查找的关键字不是您想要的,可以一直按[n]会往后寻找您要查找的关键字。
保存文件
[w]:在冒号输入字母[w]就可以将文件保存起来。
离开
[q]:按q就是退出,如果无法离开vim,可以在[q]后面根一个[!]强制离开vim
[wq]:一般建议离开时,搭配[w]一起使用,这样在退出的时候还可以保存文件。
多文件操作
[vs]:vs打开多个文件编辑窗口
[ctrl + w + w]:窗口光标切换,表示在哪一个窗口里面,就对哪一个窗口进行操作。
简单vim配置
配置文件的位置
- 在目录/etc/下面,有个名位vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名位:".vimrc"。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,就自己创建一个
- 切换用户成为自己执行su,进入自己的主工作目录,执行cd ~
- 打开自己目录下的.vimrc文件,执行vim .vimrc
常用配置选项,用来测试
- 设置语法高亮:syntax on
- 显示行号:set nu
- 设置缩进的空格数为4:set shiftwidth