目录
命令格式
Shell 俗称壳,用来区别于核。是围绕在 Linux 内核之外的一个“壳”程序,用户在操作系统上完成的所有任务都是通过 Shell 与 Linux 系统内核的交互来实现的。
当用户登录系统后,Shell 命令行启动,“#”表示登录的用户是超级用户,“$”表示登录的用户是普通用户。
语法:
Shell 命令的一般格式为:
# 命令行
command [options][arguments]
# 命令 [选项][参数]
command : 命令,表示可执行的二进制格式文件或者脚本程序文件。
options : 选项,可以调整命令的运行,[ ] 中的内容可以省略,一般命令支持一个或者多个选项。
arguments : 参数,表示命令作用的对象,可以是文件名、用户/组名、IP 等,支持多个参数。
作用:
为了能够使系统识别用户输入的脚本命令所设置的命令规范。
案例:
echo 'Hello World!' // 在屏幕上实现标准输出字符串等信息
一、常用操作以及概念
命令大全大全 - C语言网](Linux常用命令(手册)大全 - C语言网))
快捷键
-
Tab:命令和文件名补全;
-
Ctrl + C:中断正在运行的程序;
-
Ctrl + D:结束键盘输入(End Of File,EOF);
求助
1. --help
指令的基本用法与介绍。
2. man
[manual 的缩写,将指令的具体信息(帮助信息)显示出来](Linux man命令:查看帮助信息 - Linux命令 - C语言网)
当执行 man date
时,有 DATE(1) 出现,其中,数字代表指令的类型,常用如下:
代号 | 类型 |
---|---|
1 | 用户在 shell 环境中可以操作的指令或者可执行文件 |
5 | 配置文件 |
8 | 系统管理员可以使用的管理指令 |
3. info
info 与 man 类似,但 info 将文档分成一个个页面,每个页面可以进行跳转。
4. doc
/usr/share/doc 存放着软件的一整套说明文件。
关机
1. who
[在关机前需要先使用 who 命令查看有没有其他用户在线](Linux who命令:显示目前登录用户信息 - Linux命令 - C语言网)
2. sync
为了加快对磁盘文件的读写速度,位于内存中的文件数据不会立即同步到磁盘上,因此关机之前需要先进行 sync 同步操作。
3. shutdown
[用于安全地关闭或重启系统](Linux shutdown命令:关机或重启 - Linux命令 - C语言网)
## shutdown [-krhc] 时间 [信息]
-k: 不会关机,只是发送警告信息,通知所有在线的用户
-r: 将系统的服务停掉后就重新启动
-h: 将系统的服务停掉后就立即关机
-c: 取消已经在进行的 shutdown 指令内容
PATH
可以在环境变量 PATH 中声明可执行文件的路径,之间用 冒号 :
分隔。
/usr/local/bin:/usr/bin:/usr/local/sbin
sudo
sudo 允许一般用户使用 root 可执行的命令,不过只有在 /etc/sudoers 配置文件中添加的用户才可以使用该指令。
包管理工具
RPM 和 DPKG 为最常见的两类软件包管理工具:
-
RPM(Redhat Package Manager),最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准。
-
与 RPM 进行竞争的是基于 Debian 操作系统 (Ubuntu) 的 DEB 软件包管理工具 DPKG,全称为 Debian Package,功能方面与 RPM 相似。
YUM 基于 RPM,具有依赖管理功能,并具有软件升级的功能。
1. 发行版
Linux 发行版是 Linux 内核及各种应用软件的集成版本。
基于的包管理工具 | 商业发行版 | 社区发行版 |
---|---|---|
RPM | Red Hat | Fedora / CentOS |
DPKG | Ubuntu | Debian |
VIM 三个模式
-
一般指令模式(Command mode):默认模式,用于移动游标;
-
编辑模式(Insert mode):按 “i” 等键之后进入,用于文本编辑;
-
指令列模式(Bottom-line mode):按键 “:” 之后进入,用于保存退出等操作;
1. 离开或保存
在指令列模式下,以下命令用于离开或保存文件:
命令 | 作用 |
---|---|
:w | 写入磁盘 |
:w! | 当文件为只读时,写入磁盘。能不能写入,与用户对该文件的权限有关 |
:q | 离开 |
:q! | 强制离开不保存 |
:wq | 写入磁盘后离开 |
:wq! | 强制写入磁盘后离开 |
GNU
GNU 计划,译为革奴计划,它的目标是创建一套完全自由的操作系统,称为 GNU,其内容软件完全以 GPL 方式发布。其中 GPL 全称为 GNU 通用公共许可协议,包含了以下内容:
-
以任何目的运行此程序的自由;
-
再复制的自由;
-
改进此程序,并公开发布改进的自由。
二、磁盘
磁盘接口
1. IDE
IDE(ATA)全称 Advanced Technology Attachment,接口速度最大为 133MB/s,因为并口线的抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。
2. SATA
SATA 全称 Serial ATA,也就是使用串口的 ATA 接口,抗干扰性强,且对数据线的长度要求比 ATA 低很多,支持热插拔等功能。SATA-II 的接口速度为 300MiB/s,而新的 SATA-III 标准可达到 600MiB/s 的传输速度。SATA 的数据线也比 ATA 的细得多,有利于机箱内的空气流通,整理线材也比较方便。
3. SCSI
SCSI 全称是 Small Computer System Interface(小型机系统接口),经历多代的发展,从早期的 SCSI-II 到目前的 Ultra320 SCSI 以及 Fiber-Channel(光纤通道),接口型式也多种多样。SCSI 硬盘广为工作站级个人电脑以及服务器所使用,因此会使用较为先进的技术,如碟片转速 15000rpm 的高转速,且传输时 CPU 占用率较低,但是单价也比相同容量的 ATA 及 SATA 硬盘更加昂贵。
4. SAS
SAS(Serial Attached SCSI)是新一代的 SCSI 技术,和 SATA 硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。此外也透过缩小连接线改善系统内部空间等。
磁盘的文件名
Linux 中每个硬件都被当做一个文件,包括磁盘。磁盘以磁盘接口类型进行命名,常见磁盘命名如下:
-
IDE 磁盘:/dev/hd[a-d]
-
SATA / SCSI / SAS 磁盘:/dev/sd[a-p]
其中文件名后面的序号的确定与系统检测到磁盘的顺序有关,而与磁盘所插入的插槽位置无关。
三、分区
分区表
磁盘分区表主要有两种格式,一种是限制较多的 MBR
分区表,一种是较新且限制较少的 GPT
分区表。
1. MBR
MBR 中,第一个扇区最重要,里面有主要开机记录 (Master boot record, MBR) 及分区表(partition table),其中主要开机记录占 446 bytes,分区表占 64 bytes。
分区表只有 64 bytes,最多只能存储 4 个分区,这 4 个分区为主分区 (Primary) 和扩展分区 (Extended) 。其中扩展分区只有一个,它使用其它扇区用记录额外的分区表,因此通过扩展分区可以分出更多分区,这些分区称为逻辑分区。
Linux 也把分区当成文件,分区文件的命名方式为: 磁盘文件名 + 编号,例如 /dev/sda1。注意,逻辑分区的编号从 5 开始。
2. GPT
不同的磁盘有不同的扇区大小,例如 512 bytes 和最新磁盘的 4 k。GPT 为了兼容所有磁盘,在定义扇区上使用逻辑区块地址(Logical Block Address, LBA),LBA 默认大小为 512 bytes。
GPT 第 1 个区块记录了主要开机记录(MBR),紧接着是 33 个区块记录分区信息,并把最后的 33 个区块用于对分区信息进行备份。这 33 个区块第一个为 GPT 表头记录,这个部份记录了分区表本身的位置与大小和备份分区的位置,同时放置了分区表的校验码 (CRC32),操作系统可以根据这个校验码来判断 GPT 是否正确。若有错误,可以使用备份分区进行恢复。
GPT 没有扩展分区概念,都是主分区,每个 LAB 可以分 4 个分区,因此总共可以分 4 * 32 = 128 个分区。
MBR 不支持 2.2 TB 以上的硬盘,GPT 则最多支持到 233 TB = 8 ZB。
开机检测程序
1. BIOS
BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入在硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。
-
BIOS 是开机时计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的主要开机记录(MBR),由主要开机记录(MBR)执行其中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。
-
主要开机记录(MBR)中的开机管理程序提供以下功能: 选单、载入核心文件以及转交其它开机管理程序。转交这个功能可以用来实现了多重引导,只需要将另一个操作系统的开机管理程序安装在其它分区的启动扇区上,在启动开机管理程序时,就可以通过选单选择启动当前的操作系统或者转交给其它开机管理程序从而启动另一个操作系统。
下图中,第一扇区的主要开机记录(MBR)中的开机管理程序提供了两个选单: M1、M2,M1 指向了 Windows 操作系统,而 M2 指向其它分区的启动扇区,里面包含了另外一个开机管理程序,提供了一个指向 Linux 的选单。
安装多重引导,最好先安装 Windows 再安装 Linux。因为安装 Windows 时会覆盖掉主要开机记录(MBR),而 Linux 可以选择将开机管理程序安装在主要开机记录(MBR)或者其它分区的启动扇区,并且可以设置开机管理程序的选单。
2. UEFI
BIOS 不可以读取 GPT 分区表,而 UEFI 可以。