Chapter 1. Linux 概述
Linux 是一种*和开放源码的 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多CPU的操作系统。只要遵循 GNU 通用公共许可证(GPL),任何个人和机构均可*地使用Linux的所有底层源代码。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议,继承了 Unix 以网络为核心的设计思想,一个性能稳定的多用户网络操作系统。
1.2 Linux 发行版
一个 Linux 发行版 包括 Linux 内核,以及 整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些*软件,在一些Linux发行版中可能会包含一些专有软件。
基于的包管理工具 | 商业发行版 | 社区发行版 |
---|---|---|
RPM(Redhat Package Manager) | Red Hat | Fedora / CentOS |
DPKG (Debian Package) | Ubuntu | Debian |
Linux 各发行版的特点:回答源自@王小龙的知乎回答
-
Ubuntu
国内乃至全球热门的发行版。
- 安装简单
- Unity 3D 图形界面较华丽
- 对一些专有驱动支持较好
- 社区活跃,几乎遇到的问题均可获得答案
- 版本更新快,基本半年一个版本
-
Debian
基础发行版之一,而 Ubuntu 基于 Debian 的。
- Free,最符合开源精神的发行版,默认不包含任何专有驱动。
- 不求新,求稳。软件包通常选择比较稳定的版本。
- 系统开发维护完全由社区驱动。
- APT 软件包管理
- 图形化安装方式友好
-
Fedora
常与 Ubuntu 比较的发行版。
- YUM包管理(提供一些软件工具集合包,例如开发套件)
- 新技术吸纳快
- 基本半年一个版本
- 图形化安装方式友好
- 由红帽赞助
- 官网提供多种桌面环境镜像
-
openSUSE
- 基于企业级的SUSE Linux,再加上德国制造,非常稳定
- 华丽的KDE桌面,业界称为“最华丽的Linux发行版”
- 包管理(YaST)倾向于图形化管理,图形界面用户友好程度高。
-
Arch Linux
- 轻量级且灵活,从选择键盘布局到分区硬盘到安装引导全部由你决定。
- pacman 软件包管理工具
- 滚动更新,实时更新。
- 完备的WIKI,且中文化程度高。
-
CentOS
- 相当稳定
- 版本更新紧跟 RedHat Linux 的社区版
- 适合作为服务器操作系统的使用
1.3 Linux 常用的快捷键
Tab :命令补全 或 文件补齐
ctrl + C :若在Linux底下输入了错误的指令或参数,希望将当前程序中断时,可键入该快捷键。
Ctrl + D :结束键盘输入(End Of File)
Shift + PageUp /PageDown :往 前/后 翻页
1.4 Linux 系统启动过程
1.5 VI / VIM
所有 Unix Like 系统 都会内建 vi 文书编辑器。而 Vim 是从 vi 发展出来的文本编辑器,它是一个程序开发工具而不是文本处理软件。
vi/vim 共有 三种模式:
-
指令模式(Command mode)
用户刚启动vi/Vim,即
$ vi 文件名
,便进入命令模式,注意,此模式下敲击键盘动作会作为Vim识别为命令,而非输入字符。常用命令(包含但不限于)有:
-
i
切换到编辑模式,以输入字符。注意,i
与I
不同,i
为 从目前光标所在处输入 -
x
删除当前光标所在处的字符。 -
:
切换到指令列模式,以在最底一行输入命令。 -
r
进入取代模式(Replace mode),注意,r
代表只会取代光标所在的那一个字符一次。
搜索替换:
-
/字符串
:向光标之下寻找一个名称为 word 的字符串。 -
?字符串
:向光标之上寻找一个字符串名称为 word 的字符串。 -
n
:重复前一个搜寻的动作
-
-
编辑模式(Insert mode)
该模式下,可以观察到左下角状态栏有
-INSERT-
字符。- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- ESC,退出编辑模式,切换到指令模式
-
指令列模式(Bottom-line mode)
在指令模式下按下
:
即可进入指令列模式,如下有:-
:w
:写入磁盘 -
:w [文件名]
:将编辑的数据存储成另一文件(类似另存新档) -
:w!
:当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关 -
:q
:离开 -
:q!
:强制离开 -
:wq
:写入磁盘后离开 -
:wq!
:强制写入磁盘后离开
!
往往具有“强制”含义。 -
1.6 apt 命令
apt(Advanced Packaging Tool)命令,提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令。
注意,apt 命令的执行,往往需要超级管理员权限(root)
1.6.1 apt 语法
$ apt [options] [command] [package ...]
- [options]:可选,包含
-h
(帮助)、-y
(当安装过程提示选择全部为"yes")、-q
(不显示安装的过程) - [command]:要进行的操作。
- [package]:安装的包名。
1.6.2 apt 常用命令
$
sudo apt update
:会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑中。软件包管理器可看到的软件列表,正是通过该命令更新的。$
sudo apt upgrade
:会将本地已安装的软件,与刚下载的软件列表里对应软件进行对比,提示你哪些软件可升级、新安装了哪些软件包、要卸载哪些软件包。-
$
sudo apt install 软件包1名称 软件包名称 ...
:安装指定的软件。如下举例:$ sudo apt install qtcreator
$
sudo apt remove 软件包名称
:卸载指定的软件包