Linux(CentOS 7)
super + space : 切换输入法
ctrl + alt : 级别三(大黑屏)呼出鼠标
Fn + Ctrl + Alt + F1 : 进入图形化界面
Fn + Ctrl + Alt + F2 : 进入控制台界面
第 1 章 Linux 入门
1.1 概述
Linux是一个操作系统(OS)
1.2 Linux 和 Windows 区别
第 2 章 VM 与 Linux 的安装
1.1 下载Centos
1.2 下载并安装vmware(一路下一步即可,可以根据需要进行更改)
1.3 创建新的虚拟机
按需即可, 不要超过自己的电脑本身配置
完成后出现
开启虚拟机, 进行系统安装
/boot: 引导分区, 用于启动
点击: 开始安装
… …
1.4 认识Linux
Keyboard这可以看一些快捷键
super键 即 windows 键
退出: x 或 输入"exit"
第 3 章 Linux 文件与目录结构
3.1 Linux 文件
Linux 系统中一切皆文件。
3.2 Linux 目录结构
- /bin: Binary的缩写。存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行。
- /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev: Device的缩写。该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
- /etc: Etcetera的缩写。这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:存放普通用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib: Library的缩写。这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
- /lib64: 64位相关的库会放在这。
- /media: linux 系统会自动识别一些可移动媒体设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
- /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
- /opt: optional的缩写。这是给主机额外安装软件所摆放的目录。
- /proc: Processes的缩写。/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里
- /root: 该目录为系统管理员,也称作超级权限者的用户主目录。
- /run: 运行目录, 存放当前系统运行以来的所有实时信息, 重启后就会消失
- /sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
- /srv: 该目录存放一些服务启动之后需要提取的数据。
- /sys: 虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存系统硬件相关的信息
- /tmp: temporary的缩写这个目录是用来存放一些临时文件的。
- /usr: unix system resources缩写。用于存储系统软件资源。
- /var: 用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等
第 4 章 VI/VIM 编辑器
4.1 介绍
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。 VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。
基本上 vi/vim 共分为三种模式,分别是一般模式,编辑模式和命令模式。
4.2 一般模式
刚刚启动 vi/vim,便进入了一般模式(默认模式)。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。在此模式可以复制黏贴,删除等操作。若想要编辑文本,进入一般模式,按下i,切换到编辑模式。
语法 | 功能描述 |
---|---|
x | 剪切当前光标位置的内容 |
X | 向前删除一个字符,相当于backspace |
w | 光标跳到下一个单词 |
yy | 复制光标当前一行 |
nyy | n 为数字。复制光标所在的向下 n 行 |
yw | 复制当前单词(包含空格) |
y^ | 复制光标所在 的那个字符之前 到该行行头 的所有数据 |
y$ | 复制光标所在 的那个字符开始 到该行行尾 的所有数据 |
p | 将已复制的数据在光标下一行贴上 |
np | 将已复制的数据从光标下一行开始复制n句 |
dd | 删除游标所在的那一整行(常用) |
ndd | n 为数字。删除光标所在的向下 n 行 |
dw | 从 当前光标位置 开始到 空格 视为一个单词, 并删除 |
u | 撤销 |
^ | 移动到行头 |
$ | 移动到行尾 |
e | 调到当前/下一个 词的词尾 |
b | 调到当前/下一个 词的词头 |
gg / H | 移动到这个档案的 开头 |
G / L | 移动到这个档案的最后一行 的 开头 |
nG | n 为数字。移动到这个档案的第 n 行 |
PgUp | 上一页 |
PgDn | 下一页 |
4.3 编辑模式
在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式。在编辑模式当中,左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮。
按键 | 功能 |
---|---|
i, I | i: 插入到当前光标前; I: 在目前所在行的 第一个非空格符 处开始输入 |
a,A | a: 插入到当前光标后; A: 在光标所在行的 最后一个字符 处开始输入 |
o,O | o: 插入到当前光标行的下一行; O: 在目前光标所在的上一行处输入新的一行 |
r,R | r 只会取代光标所在的那 一个字符 一次;R会 一直取代 光标所在的文字,直到按下 ESC 为止 |
4.4 命令模式
在一般模式之中,只要按下 :或 / 就可以进入命令模式。
按键 | 说明 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
:w | 保存 |
:w! | 若文件属性为只读时,强制写入该档案。不过,能不能写入, 还跟你对该档案的档案权限有关 |
:q | 退出 |
:q! | 强制退出 |
:wq | 保存并退出 |
/word | 查找 并 定位到该单词(n: 光标走向下一个; N: 光标走向上一个) |
:noh | 取消高亮显示 |
😒/old/new | 替换当前匹配到的 第一个 old 为 new |
😒/old/new/g | 替换当前行 所有 的 old 为 new |
:%s/old/new | 替换文档中每一行匹配到的第一个 old 为 new |
:%s/old/new/g | 替换文档中匹配到所有的 old 为 new |
第 5 章 网络配置
5.1 查看网络 IP 和 网关
VMware安装完成后会在宿主机上生成两块虚拟网卡,这两块网卡与虚拟机管理的两个虚拟交换机相连。
VMware管理了3个特殊的虚拟交换机:VMnet0(用于桥接模式),VMnet8(用于NAT模式),VMnet1(用于仅主机模式)。
VMware提供了3种网络工作模式:Bridged(桥接模式),NAT(网络地址转换模式),Host-Only(仅主机模式)。
-
桥接模式:
- 虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。
- 将宿主机的网卡通过虚拟网桥与VMware管理的虚拟交换机VMnet0相连,所有网络连接设置为桥接模式的虚拟机都会连接到虚拟交换机VMnet0上。
- 这样所有的虚拟机与宿主机以及与宿主机在同一个局域网下的主机之间都是可以相互访问的。
- 在桥接模式下,虚拟机IP地址需要与宿主机在同一个网段,如果需要联网,则虚拟机的网关和DNS也需要与宿主机被桥接的网卡一致。
- 虚拟网桥会转发宿主机网卡接收到的广播和组播信息,以及目标为虚拟交换机网段的单播。所以,与虚拟交换机机连接的虚拟网卡,如: eth0、ens33等能接收到路由器发出的DHCP信息及路由更新。
- 桥接模式是通过虚拟网桥将主机上的网卡与虚拟交换机VMnet0连接在一起,虚拟机上的虚拟网卡都连接在虚拟交换机VMnet0上,在桥接模式下,虚拟机IP必须与宿主机的IP在同一网段且子网掩码、网关与DNS也要与宿主机网卡的一致。
- 桥接模式的虚拟机会占用宿主机所在局域网内的IP地址资源。如果宿主机所在局域网中做了IP地址管理,比如IP地址需要公司网络部门审批通过后才能使用,那么虚拟机的IP地址也会受此管理规则的约束。
-
NAT模式:
- 虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。
- 如果你的网络ip资源紧缺,但又希望虚拟机能够联网,NAT模式是最好的选择。
- NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网
- 使用NAT模式,就是让虚拟机借助NAT(网络地址转换功能),通过宿主机所在的网络来访问互联网。
- 在虚拟机连接Vmnet8虚拟交换机时,虚拟机会将虚拟NAT设备及虚拟DHCP服务器连接到Vmnet8虚拟交换机上。依靠虚拟的NAT设备及虚拟的DHCP设备,如果你的宿主机已经联网了,那么你的虚拟机也就可以联网。
- 同时宿主机上的虚拟网卡VMwareNetwork Adapter VMnet8也会连接到Vmnet8虚拟交换机上,用于宿主机和虚拟机的通信。如果禁用掉宿主机上的虚拟网卡VMwareNetwork Adapter VMnet8,虚拟机仍然是可以上网的,只是宿主无法再访问VMnet8网段下的虚拟机了,但是虚拟机仍然可以访问宿主机。
- 虚拟网卡VMwareNetwork Adapter VMnet8只是作为主机与虚拟机通信的接口,虚拟机并不是依靠虚拟网卡VMware Network Adapter VMnet8来联网的。
- 虚拟机可以通过NAT服务器访问宿主机所在局域网内的其他真实主机,但这些真实主机且不能反过来访问虚拟机。
-
仅主机模式
- 虚拟机只与主机共享一个专用网络,与外部网络无法通信。
- 仅主机模式就是NAT模式去掉了虚拟NAT设备,使虚拟机无法与公网进行通信,而宿主机使用虚拟网卡VMware Network Adapter VMnet1连接VMnet1虚拟交换机来与虚拟机进行通信。
- 仅主机模式将虚拟机与公网隔开,使虚拟机成为一个独立的系统,只能与宿主机相互通讯。
- 仅主机模式通过宿主机的虚拟网卡VMwareNetwork Adapter VMnet1来连接虚拟交换机VMnet1,来达到宿主机与虚拟机通信的目的,但是虚拟机不能主动与宿主机通信,是单向连通的。
- 如果想要在仅主机模式下联网,可以将能联网的主机网卡共享给VMware Network Adapter VMnet1,这样就可以实现虚拟机联网
5.2 配置网络 ip 地址
相关命令
ifconfig
用于显示或设置网络设备。可设置网络设备的状态,或是显示目前的设置
ping
ping + IP / 域名
命令用于检测主机。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
修改静态IP
vim /etc/sysconfig/network-scripts/ifcfg- ens33
重启网络
修改 IP 地址后可能会遇到的问题
(1)物理机能 ping 通虚拟机,但是虚拟机 ping 不通物理机,一般都是因为物理机的 防火墙问题,把防火墙关闭就行
(2)虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有 问题
(3)虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设 置是否正确
5.3 配置主机名
5.3.1 修改主机名称
hostname //查看主机名
vim /etc/hostname //进入配置文件修改主机名,修改完成后需要重启
hostname set-hostname 修改的主机名 // 更好的修改方式,不用重启
5.3.2 修改 hosts 映射文件
1)修改 linux 的主机映射文件(hosts
vim /etc/hosts
2)修改 windows 的主机映射文件(hosts 文件)
(1)进入 C:\Windows\System32\drivers\etc 路径, 加入(若hosts不能更改, 可以直接用另一个同名文件覆盖)
第 6 章 远程登录
通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员之外的员工直接接触,因此就需要通过远程登录的方式来操作。目前,比较主流的有Xshell, SSH Secure Shell, SecureCRT,FinalShell。
Xftp中若乱码需要修改语言编码为UTF-8
第 7 章 系统管理
7.1 Linux 中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做“进程”,启动一次之后一直存在、常驻内存的进程,一般被称作“服务”。
7.2 service 服务管理
systemctl
”system control“
systemctl start | stop | restart | status 服务名
查看服务的方法:/usr/lib/systemd/system
参数 | 说明 |
---|---|
start | 启动服务 |
stop | 停止服务 |
restart | 重启服务 |
enable | 使某服务 开机自启 |
disable | 关闭某服务 开机自启 |
status | 查看服务状态 |
list -unit-files | 列举所有服务是否开机自启 |
参考实例
systemctl stop network
systemctl status network
systemctl restart NetworkManager
setup
上下箭头移动 空格选中
7.3 系统运行级别
CentOS6
开机 -> BIOS -> /boot -> init进程 -> 运行级别 -> 运行级别对应的服务
- 查看默认级别:
vim /etc/inittab
- Linux系统有7种运行级别(runlevel):常用的级别是3和5
运行级别0: 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。
运行级别1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆。
运行级别2: 多用户状态(没有NFS:网络文件系统),不支持网络。
运行级别3: 完全的多用户状态(有NFS:网络文件系统),登陆后进入控制台命令行模式。
运行级别4: 系统未使用,保留。
运行级别5: X11控制台,登陆后进入图形GUI模式。
运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。
- CentOS7 的运行级别简化为:
multi-user.target 等价于原运行级别3,多用户有网,无图形界面)
graphical.target 等价于原运行级别5,多用户有网,有图形界面
- 查看当前运行级别
systemctl get-default
- 修改当前运行级别
systemctl set-default xxx.target
init n
: init 3
(切为大黑屏)
7.4 关闭防火墙
- 查看防火墙状态
systemctl status firewalld
- 临时关闭防火墙
systemctl stop firewalld
- 开机禁用防火墙服务(可以不加.service)
systemctl enable firewalld.service
- 启动防火墙
systemctl start firewalld
- 开机启用防火墙
systemctl enable firewalld
7.5 关机重启命令
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是不会停止的,除非特殊情况下,不得已才会关机。
shutdown
shutdown [-t sec] [-arkhncfF] time [warning-message]
可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。shutdown命令作用同于poweroff命令。
参数 | 说明 |
---|---|
-f | 重启时跳过磁盘检测。 |
-F | 重启时强制磁盘检测。 |
-h | 多久以后系统关机 |
-c | 取消关机任务 |
-r | 将系统重启 |
-k | 发送警告信息给所有用户 |
- 参考示例
# 立即关机
shutdown -h now
# 指定 10 分钟后关机
shutdown -h 10
# 立即重新启动计算机
shutdown -r now
# 设定当前的服务器指定时间自动关机,格式为”小时:分钟“:
shutdown -h 21:00
# 设定当前的服务器5分钟后关机,同时发送警告信息给所有已登录的用户:
shutdown +5 "System will shutdown after 5 minutes"
# 取消当前服务器上已有的关机任务:
shutdown -c
sync
sync [OPTION]
用于数据同步,sync命令是在关闭Linux系统时使用的。
- sync命令用于强制被改变的内容立刻写入磁盘,更新信息速度非常快, 在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。
- sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。
参数 | 说明 |
---|---|
无参数 | 被改变的内容立刻写入磁盘 |
–help | 显示帮助然后终止。 |
–version | 显示版本信息然后终止。 |
halt命令
用于关闭当前服务器系统,类似于poweroff与shutdown命令,没有太大差别。
参数 | 说明 |
---|---|
-n | 在关机前不做将记忆体资料写回硬盘的动作 |
-w | 模拟关机,把过程写入到日志文件 |
-d | 不写入日志纪录 |
-f | 强制关机或重启 |
-i | 关机或重启前关掉所有的网络服务 |
-p | 当关机的时候,顺便做关闭电源的动作 |
# 关闭系统
halt
# 关闭系统并关闭电源
halt -p
# 关闭系统,但不留下纪录
halt -d
# 强制关闭当前服务器系统:
halt -f
poweroff命令
用来关闭计算机操作系统并且切断系统电源。如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。
reboot
用于重新启动计算机。
参数 | 说明 |
---|---|
-n | 直接重启系统,不保存当前资料 |
-w | 模拟重启过程,将过程写入到日志中 |
-d | 重启系统但不将过程写入到日志中 |
-f | 强制重启系统 |
-i | 关闭所有的网络服务,然后重启系统 |
# 重启当前系统
reboot
# 模拟重启当前系统:
reboot -w
第 8 章 常用基本命令
Shell可以看作是一个命令解释器,为我们提供了交互式的文本控制的界面。我们可以通过终端控制台来输入命令,由 shell进行解释并最终交给内核执行。
SH(Bourne Shell)是UNIX最初使用的shell,BASH(Bourne Again Shell)Linux默认的,是Bourne Shell的扩展一部分基础功能的系统命令是直接内嵌在shell 中的,系统加载启动之后会随着shell一起加载,常驻系统内存中。这部分命令被称为“内置(built-in)命令”﹔相应的其它命令被称为“外部命令”。
一部分基础功能的系统命令是直接内嵌在shell 中的,系统加载启动之后会随着shell一起加载,常驻系统内存中。这部分命令被称为“内置(built-in)命令”﹔相应的其它命令被称为“外部命令”。
8.1 帮助命令
man
man命令来自于英文单词manual的缩写,中文译为帮助手册,其功能是用于查看命令、配置文件及服务的帮助信息。
参数 | 说明 |
---|---|
-a | 在所有的man帮助手册中搜索 |
-d | 检查新加入的文件是否有错误 |
-f | 相当于运行whatis 的操作。即:显示工具指令与工具程序的简单说明。 |
-p | 指定内容时使用分页程序 |
-M | 指定man手册搜索的路径 |
-w | 显示文件所在位置 |
快捷键 | 说明 |
---|---|
q | 退出 |
Enter | 按行下翻 |
Space/PgDn | 按页下翻 |
b/PgUp | 上翻一页 |
/字符串 | 在手册页中查找字符串 |
# 查看指定命令的帮助信息:
man ls
//查看指定配置文件的帮助信息
//如果即有passwd命令,又有/etc/passwd文件,则需要手动指定帮助信息的编号。编号规则:普通命令为1,函数为2,库文件为3,设备为4,配置文件为5,游戏为6,宏文件为7,系统命令为8,内核程序为9,TK指令为10。
man 5 passwd
# 找到某个命令的帮助信息的存储位置
man -w ls
# 找到某个配置文件的帮助信息的存储位置
man -w 5 passwd
# man查看内置命令
[pinkpig@Demo100 ~]$ man -f cd
cd (1) - GNU Bourne-Again SHell (GNU 命令解释程序 “Bourne二...
cd (3tcl) - 改变工作目录
cd (1p) - change the working directory
[pinkpig@Demo100 ~]$ man 1p cd
[pinkpig@Demo100 ~]$ man 3 cd
help
用于显示帮助信息,能够输出Shell内部命令的帮助内容,但对于外部命令则无法使用,需要用 man 或 info 命令或在后面加 --help 进行查看。
# 以默认格式显示指定命令的帮助信息
help cd
# 以短格式显示指定命令的帮助信息
help -s cd
# 以简短格式显示指定命令的帮助信息
help