两天速成Linux期末考试知识点!华南农业大学Linux期末考试考纲笔记
华农Linux期未考纲笔记,基于考纲要求、网上的资料和PPT整理的笔记,祝大家考试顺利哦~
目录
Linux的安装方式(区别和联系,如何选择)、安装过程、远程连接方式
8.3 变量声明与使用、read、位置变量、H O M E 、 HOME、HOME、PATH、$?
9.1 gcc命令使用(一次编译、分开编译、不同目录、指定头文件)
10.6 at和crontab的区别和联系、各自的创建、删除、查看
12.1 X Window的作用和组成 (含图) 、每个组成部分的作用
12.3 系统初始化过程(centos7之前和centos7之后)
第一讲
Linux的起源、历史、特点、定义
Linux是一种免费开源的操作系统,使用GNU通用公共许可证(GPL)授权。Linux 的起源可以追溯到上世纪90年代初期,当时芬兰学生Linus Torvalds基于自己学习的Unix设计原则,开始编写一套免费开源的操作系统内核,并在全球程序员的支持下发展壮大。目前,Linux已经成为了服务器领域的主流操作系统之一。
Linux历史上经历了多个版本的发展,例如Red Hat Linux、Ubuntu等,其中Ubuntu是最具有代表性的一款,以其易用、安全、稳定等特点赢得了用户的青睐。Linux的特点包括开源、定制性强、安全性高、可移植性好、具备良好的网络性能等优点,为企业以及个人用户提供了灵活的选择。
针对Linux的定义,它是一种免费并且开放源代码的操作系统。由于开放源代码的特点,用户可以自行修改和完善Linux系统,从而使得Linux系统具有很强的灵活性和可维护性,同时也促进了社区的协作和创新发展。Linux系统广泛应用于各类服务器、移动设备以及嵌入式设备等领域。
GNU GPL
(自由文件许可)
GPL核心思想:
- 保证任何人有共享、修改、发布自由软件的自由。
- 自由软件的衍生作品必须以GPL为重新发布的许可证。
- 允许公司销售自由软件(硬件/服务),提供源代码。
常见的发行版本
商业、共享、自由和免费软件的区别和联系
- 自由软件一定是开源的,但不一定免费。
- 免费软件一定是免费的,但不一定开源。
- 商业软件是不开源、不免费,需要支付一定费用才能使用或购买许可证的软件,只有使用权。
- 共享软件任何人可以通过特定的授权方式,使用、修改和共享该软件,但不一定免费。
第二讲
Linux的安装方式(区别和联系,如何选择)、安装过程、远程连接方式
安装方式:
- 基于光盘或USB启动安装。这种方式需要首先下载Linux的ISO镜像文件并将它写入光盘或USB中,然后在计算机上设置基于光盘或USB的启动,最后通过光盘或USB启动计算机并进入安装向导。这种方式简单易行,但需要有足够的硬盘空间和光盘或USB驱动器。
过程:
- 下载Linux系统的ISO镜像文件,并将其写入U盘或光盘;
- 插入U盘或光盘,重启计算机,并从U盘或光盘启动;
- 进入安装界面后,根据提示进行相关设置,如选择安装语言、时区、键盘布局、磁盘分区等;
- 创建管理员账户和密码,完成系统安装。
- 在Windows系统上安装Linux。这种方式可以通过虚拟机软件(如VirtualBox/VM ware)来完成,在Windows系统中运行虚拟机软件,然后在虚拟机中安装Linux。这种方式在Windows系统上运行Linux,不需要分区和独立的硬盘空间,但是可能不够真实和灵活。
- 基于网络安装。这种方式需要首先连接到网络,然后启动Linux安装程序,安装程序会从网络上下载必要的文件来完成安装。这种方式可以节省存储空间,但要求网络连接良好。
远程连接方式:
- SSH(安全外壳协议):使用命令行工具,如Putty或Xshell,在本地终端连接到远程服务器上;
- 远程桌面协议:使用远程桌面软件,如Windows的远程桌面,连接到远程Linux服务器上;
- 通过浏览器远程访问:使用NoVNC或Webmin等工具,通过浏览器访问远程Linux服务器的桌面界面;
- FTP和SFTP:使用FTP和SFTP协议进行文件传输和管理;
- VPN:使用VPN建立加密的安全通道,使得外部用户能够安全地连接到内部
Linux内核版本号
内核版本号由Linus等人制定和维护,全球统一内核版本号格式:x.y.zz
- x为主版本号
- y为次版本号
- zz为次次版本号
Linux目录结构、常见目录的作用和存放内容
- /bin:常用系统程序目录
- /boot(启动):开机设定目录,也是摆放核心 vmlinuz 的地方
- /dev(设备):摆放系统设备装置文件的目录
- /etc(etcetera,杂七杂八等等系统文件):系统配置文件,尤其 passwd, shadow
- /etc/rc.d/init.d:摆放系统开机的時候载入服务的脚本
- /home:系统使用者的目录
- /lib:Linux 执行或编译程序函数库目录
(/lib是内核级别的 ,/usr/lib是系统级别的, /usr/local/lib是用户级别的)
- /mnt(mount缩写,攀爬挂载的意思):软驱与光驱接入挂载的地方
- /proc(procedure,程序,但它是进程和内核信息的动态视图):系统核心与执行程序的一些信息
- /root:系统管理员的目录
- /usr/bin, /bin(垃圾桶、大容器):一般执行文件摆放的地方
- /usr/sbin, /sbin:系统管理员常用指令集
- /var:摆放系统日志文件的地方
- /lost+fount:摆放系统不正常产生错误时遗失的片段
Linux系统结构图、主要组件构成
关机、重启命令
关机
- shutdown -h now
- init 0 (切换到关机级别)
- halt -p (-p 在 halt 之后,执行poweroff关闭电源)
- poweroff -p
重启
- shutdown -r now
- init 6 (切换到重启级别)
- reboot
说明文档查看
man Command 命令【manual(操作说明)】 或者 info
- 找不到man命令?
yum install -y man man-pages
第三讲
3.1 Linux交互方式
3.2 shell的作用、种类、默认shell
Linux终端是用户与操作系统之间的接口,用户通过终端与操作系统进行交互
这个接口的程序叫Linux Shell
【作用】
Shell是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入需要执行的命令,返回执行结果
【注意事项】
- 一个用户同一时刻只能使用一个shell
【操作】
- 查看当前系统支持的Shell列表
cat /etc/shells
- 查看当前用户使用的Shell版本
echo $SHELL
【默认Shell】
bash,安装在/bin/sh,其实是连接到/bin/bash
3.3 Shell的功能
(命令行提示符、自动补齐、历史记录查看、常用的快捷键、重定向、管道)
- 命令行提示符
#代表root用户
$代表普通用户
- 自动补齐
tab键
- 历史记录查看
键盘上下
cltr+r == 查询以往的记录
- 重定向
0 -->> 标准输入
1 -->> 标准输出
2 -->> 标准错误输出
< 输入重定向
> 输出重定向(覆盖原有内容)
>> 追加重定向
- 管道
前一个命令输出作为下一个命令的输入
3.4 常用命令
clear、cd、rmdir、cat、
ls、echo、mkdir、touch、more、less、head、tail、cp、mv、pwd、rm
- echo
-n 输出后不会自动换行
-e 开启转义,即\t这样的会被翻译为一个tab而不会当字符输出
- mkdir
-p 自动创建不纯在的中间目录
- touch
- 用于改变文件的时间记录或创建一个空文件
- 但经常用做新建文件
- ls
显示目录下的内容
- -a 包含隐藏文件
- -i 显示Inode节点
- -l 长格式
- -S 按文件从大到小排序
- -R 递归显示目录及其子目录内容
- -t 按时间排序
- -S 按文件大小排序
- mv
可以用作移动
- 也可以用作文件重命名,mv file1 file2
eg: mv /a.txt /tmp/a.txt
- cp
文件/目录 的复制
- tail
显示文件的结尾的内容。在默认情况下显示文件的最后10行内容
tail -n 数字x 文件a,代表显示文件a的最后x行
也可以直接 tail -x a,代表显示文件a的最后x行
- head与tail类似
- more和less
都是分页显示文件内容
more是一次性加载进内存,只能往下翻页
less是按需加载,可以上下翻页,速度更快
- pwd
显示当前路径
- rm
删除内容
-r 递归删除子目录内容
-f 强制执行,不提示
3.5 文件类型、相对路径、绝对路径、用户主目录、特殊目录
文件类型
简写 类型
- 普通文件
d 目录
l 链接文件
b 设备文件 – 区块
c 设备文件 – 字符
p 管道文件
s Socket文件
【PS】:设备文件在 /dev 目录下
绝对路径
从根开始,即从/开始
相对路径
从用户工作目录开始
用户主目录
可以用~表示
cd ~
root用户在/root下,普通用户在/home下
特殊目录
. 代表目录自己
.. 代表该目录的父目录
第四讲
4.1 用户类型
超级用户
root,根用户,类似Windows中的超级管理员账户,有最高的权限,可以对Linux做任何操作
普通用户
受限的权限,普通用户没有对系统的完全控制权,而且用户之间私人的资源是相互隔离的
系统用户
与系统和程序服务相关的用户
默认情况下,这些特殊用户是无法登录的,如果给这些用户授权登陆口令后,就可以使用这些用户登录系统
/sbin/nologin 无法登陆shell
4.2 /etc/passwd 作用和内容
- 每一行存储一个用户的账号信息
格式:用户名 : 加密密码 : 用户ID : 用户组ID : 用户信息 : 用户主目录 : 登录Shell
root : x : 0 : 0 : root : /root : /bin/bash
超级用户root的UID是0
系统用户的UID在1000以内
4.3 /etc/shadow 作用
每一行存储一个用户的登录密码信息
4.4 /etc/group 作用
每一行记录系统中的用户组信息
组名 : 密码字段 : 用户组ID : 用户名列表
root : x : 0 :
4.5 常用指令
usermod、userdel、groupadd、groupdel、ln、gzip、unzip、sed、cut、
useradd、chmod、chown、chgrp、find、tar、awk、grep、tr
- useradd
-u, -d, -g, -s 分别对应uid,目录,组别,shell
- passwd
修改密码
passwd 用户名
- groupadd
- groupdel
- chmod :
rwx - readable, writeable, executable,对应4 2 1 权限
最简单的chmod 权限 文件
eg chmod 640 a.txt
- chown
chown [-R] 用户名[:组名] 路径
- chgrp
chgrp [-R] 组名 路径
- find
查找文件或目录
find 路径 [选项] 表达式
-name 要查找的名字n
-type 文件的类型c
其中 -type f 是普通文件
-perm 文件权限
例子:
find / -name “*.conf”
查找根目录 “ / ” 下所有后缀为conf的文件
- tar
tar -cvf 文件 路径 = 压缩文件,生成tar
tar -zcvf 文件 路径 = 压缩文件,生成tar.gz
tar -zxvf 文件 路径 = 解压文件
- awk
awk ‘{print $…}’
其中$1为文件类型+文件权限
- grep
查找文件里符合的字符串
-i 忽略字符大小写的差别
-v 显示不包含该文本的行
-n 显示匹配行及行号
例子:
# grep ‘root’ /etc/passwd
# cat /etc/passwd | grep ’root’
# cat /etc/passwd | grep -v ‘root’
# cat /etc/passwd | grep -i ‘net’
- gzip
压缩文件
- unzip
解压缩文件
- tr
用于转换或删除文件中的字符
tr [-d] 字符串1 字符串2
4.6软连接和硬连接的区别和联系
ln (-s) 源路径 目标路径
ln a b 代表 b->a,即b指向a
默认硬链接,只有 -s 时候才是 软连接
硬链接(hard link)
给文件一个副本(别名),同时建立两者之间的连接关系,修改其中一个,与其连接的文件同时被修改,如果删除其中一个,其余的文件不受影响。磁盘上只有一份数据。硬链接是存在同一个文件系统中
指向同一个Inode节点
软链接(symbolic link)
软链接的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置。它只是一个快捷方式,删除了源文件,这个连接文件就没用了。软链接可以跨越不同的文件系统
指向不同Inode节点
【总结】简单来说,软连接只是一个快捷方式 + 一个源文件,硬连接则是在两个地方都出现了同一份文件,根源是一样的。
联系:
(1)对软连接和硬连接修改,都会对源文件有效
(2)删除软连接或者硬连接本身,都不会对源文件有影响
区别:
(1)硬连接,磁盘上只有一份数据,创建其中的一个连接,其余的文件不受影响,只有当链接数变成0,文件才会被真正删掉
(2)软连接,只是一个快捷方式,是一个独立的文件,删除了源文件连接文件就没用了。
PS!!!需要指定绝对路径,否则链接失效
4.7 常见正则表达式
^xxx,匹配开头
xxx$,匹配结尾
[ ],匹配指定范围内的字符
第五讲
5.1 常用指令
wc、sort、yum、sudo
cal、date、su、which、whereis、
cal
打印日历
date
date + ‘…’ ,省略号为具体的表达式
——> date ’+%Y-%m-%d %H:%M:%S’
su
更换用户
su 用户名
which / whereis
查找文件所在位置
which useradd
——> whereis 文件名
5.2 vi三种模式的功能、切换
【命令模式】:
- 进入vi的默认模式
- 按下esc键后进入
- 光标移动
h(左), j(下), k(上), l(右) <=> 键盘上下左右键
$ #移动到行未
0 / ^ #移动到行首
**gg ** #定位第一行行首
**G ** #定位末行行首
nG #定位到第n行行首
w | nw #移动到下一/n个字首
e | ne #移动到下一/n个字尾
删除
**x | nx ** #删除一/n个字符
dd | ndd #删除一/n行
**d[w|e|b|$|^|G|gg …] **
删除光标移动范围内的内容
dG即可删除所有内容
恢复
u #撤销上一步操作
U #撤销对当前行的所有操作
复制粘贴
yy 复制
p 粘贴
替换、切换到插入模式 (含课外补充内容)(含课后作业)
【插入模式】:
- 按下i,a等指令进入
- i #在光标左侧插入
- a #在光标右侧插入
【末行模式】:
命令模式下按 " : " 进入
保存、退出
:wq #写入后退出
:q! #强制退出
显示/取消行号
:set nu | :set number
:set nonu | :set nonumber
显示光标所在行号
:nu | :number
搜索
/
从光标所在位置往下搜索
?
从光标所在位置往上搜索
替换
:s/x/y
把光标所在行第一个匹配的x替换为y
:n,m s/x/y
把第n行到m行中每行中第一个匹配的x替换为y
:% s/x/y
把当前文件中所有行的第一个匹配的x替换为y
g : 全局 => 把每一行中所有的匹配项都替换
:s/x/y/g
:n,m s/x/y/g
:% s/x/y/g
保存与另存为
:w 写入
:w filename 另存为
ZZ与:x , :wq 作用一样
5.3 vi与shell交互
在末行模式下用“!”符号来访问Linux的Shell
5.4 vi冲突处理
——> 删除 *.swp 文件
5.5 文本格式转换
Linux下是unix格式
Windows下是dos格式
- 安装yum install –y dos2unix unix2dos
- 使用:
- unix2dos 或 dos2unix filename #格式转换后覆盖更新原文件
- unix2dos 或 dos2unix –n filename newFilename #格式转换后存为新文件
5.6 课后补充 + 课后作业
课后作业
- 执行 man ls > out.txt ,生成out.txt文件
- man是操作手册,遍历操作手册并输出
- 使用 vi 打开 out.txt
- 显示所有行号
:set nu | :set number
- 光标移动到100行,向右移动10个字符
100G
10w
- 移动到第一行,往下搜索“1024”,定位到第二个匹配项
gg //移动光标到首行首字
/1024
n
- 将50行到100行之间的小写“o”改写为大写"O"
:50,100 s/o/O/g
- 修改完了,突然反悔,如何恢复修改前?
u
复制65到73行之间这9行的内容,粘贴到最后一行
65G
9yy
G
p
- 删除21到42行之间的所有内容
20G
22dd
:20,42 d
- 把当前文档另存为 out.txt.bak
:w filename #另存为
- 定位到28行,删除3个单词
- 在第一行新增一行,输入"I am a Student!"
- 保存退出
Esc
:wq
命令模式下的常见操作
保存退出
ZZ #与末行模式下 :wq 效果一样
快速清空文本内容
gg #定位第一行行首
dG #删除所有内容
快速删除指定行之间的内容
:n,m d #删除第n行到m行之间的内容
第六讲
traceroute
- 显示数据包到主机间的路径
netstat
- 用于显示网络状态
- Netstat -ntlp 可查看端口信息
6.1 网络配置文件的各自作用、设置静态IP方法
/etc/sysconfig/network | 最基本的网络信息,系统启动时读取该文件 |
/etc/sysconfig/network-scripts/* | 此目录下的文件是系统启动时用来初始化网络的一些信息,例如:第一块以太网卡对应的文件为 ifcfg-eth0 |
/etc/host.conf | 域名解析的配置文件 |
/etc/hosts | 域名或主机名与IP地址的映射文件 |
/etc/resolv.conf | 域名服务器配置文件 |
/etc/protocols | 定义使用的网络互联协议及协议号 |
/etc/services | 设定主机的不同端口的网络服务 |
设置静态IP
在**/etc/sysconfig/network-scripts/ifcfg-ens33(网卡名字)**文件中设置
vi ifcfg-ens33
ONBOOT=yes //启动时是否启动该设备
BOOTPROTO=none //启动协议,none表示使用用户设置的ip地址,dhcp表示从dhcp获得ip地址,static表示静态
BOOTPROTO=static
IPADDR=192.168.14.11 //IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=XX.XXX.XXXX //网关
DNS1=xx.xxx.xxx.xx //DNS服务器
第七讲
7.1 两个网络模式的区别与联系(含图),如何选择哪种?
Stand-alone 与 xinetd模式
【区别】
- stand-alone只能监听一个指定端口,xinetd模式可以同时监听多个接口
- 运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源
- 但是对访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降
stand-alone:
- 守护进程的工作就是打开一个端口,并且等待(Listen)进入连接。
- 运行独立的守护进程工作方式称作:stand-alone
xinetd:
- 从守护进程的概念可以看出,对于系统所要提供的每一种服务,都必须运行一个监听某个端口连接情况的守护进程,这通常意味着资源浪费;为了解决这个问题,Linux引进了“网络守护进程服务程序”的概念。
- RHEL5使用的 网络守护进程 是 xinetd ( eXtended InterNET daemon)。
- 和stand-alone模式相比xinetd模式也称 Internet Super-Server(超级服务器)。
7.2 telnet服务的配置过程、telnet命令使用
- Telnet是一种远程登录应用,常用于系统远程维护,端口23但安全性无ssh高,明文传输报文,默认禁用。
1.安装
yum install -y telnet telnet-server
2.配置(新建、编辑)文件
/etc/xinetd.d/telnet
3.重启服务
service xinetd restart
7.3 FTP两种工作模式的区别与联系(含图)
- FTP是一种文件传输协议,它实现了服务器与客户机之间的文件传输和资源的共享。
PORT与PASV
区别:
- PORT模式下,服务器会从它自己的数据端口(20)“主动”连接到客户端指定的数据端口(N+1)。
- PASV模式下的FTP服务器不需要开启tcp 20端口了。
7.4 ftp的配置过程、ftp命令的使用
配置文件
/etc/vsftpd/vsftpd.conf
启动服务
service vsftp start
第八讲
8.1 shell程序的特点与用途
- shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行
- 不同的shell解释器使用不同的shell命令语法
- shell程序解释执行,不生成可以执行的二进制文件
- 可以帮助用户完成特定的任务,提高使用、维护系统的效率
- 了解shell程序可以更好的配置和使用Linux,实现自动化运维
- shell使用解释型语言,不需重新编译
8.2 shell程序的编写、执行和调试
需要增加可执行权限 chmod +x filename
chmod +x /path/filename
8.3 变量声明与使用、read、位置变量、H O M E 、 HOME、HOME、PATH、$?
【变量】
变量是弱类型(不用管类型)
- 声明变量不用声明类型
- 可以存储不同类型的内容
- 大小写区分
- 变量=值,等号两边不能有空格
- $变量名 变量名为一个字符时使用
- ${变量名} 变量名多于一个字符时使用
【read】
使用read将用户的输入赋值给变量
【位置变量】
- 会把所输入的命令后面的参数使用位置变量传递给bash脚本程序
$0则代表脚本的名字
$1、2 … 2…2…n分别代表参数1、参数2…参数n
$*:这个变量包括参数的列表(字符串)
$@:这个变量包括参数的列表(数组)
$#:这个变量包括参数的个数
【$HOME】
用户主目录
【$PATH】
寻找命令或可执行文件的搜索路径列表
【$?】
紧邻的前驱命令的返回值 0=成功 1=失败
8.4 双引号、单引号和倒引号的区别和联系
【双引号】
字符串通常被放在双引号中
PS:因为如果在参数中包含一个或多个空白字符(空格),必须给参数加双引号
【单引号】
单引号括起来的字符都作为普通字符出现
【倒引号】('' 的字符串替换成 `` 内代表的内容)
Shell会先执行倒括号内的内容,再以它的标准输出结果取代整个倒引号部分
8.5 简单数学运算、条件判断(字符串、数字)、逻辑运算
【数学运算】
- expr arg
- expr 2 + 3
- 运算符和参数之间要有空格分开
- 乘法需要 “\”修饰
- expr ` expr 2 + 3 ` \* 4 即 为(2+3)*4
let
- let s=(2+3)*4
let语句更加简洁
【条件判断】
- [ condition ]
(条件和左右括号之间要有空格)
- 真:0
- 假:1
【逻辑运算】
- 逻辑与-a:condition1-a condition2,如果两个条件都为真,则结果为真
- 逻辑或-o:condition1-o condition2,如果两个条件有一个为真,则结果为真
- 逻辑非!:! condition,结果与condition相反
8.6 if、case、for、while、until
要求可以 手写shell程序
第九讲
9.1 gcc命令使用(一次编译、分开编译、不同目录、指定头文件)
【指定头文件】
-I dir ——》(大写i)在编译源程序时增加一个搜索头文件的额外目录——dir,即include增加一个搜索的额外目录。
【一次编译】
一次性编译多个文件
gcc a.c b.c d.c -o xxx
【分步编译】
分别编译每一个c文件
9.2 make工具
9.3make层次图、makefile文件
makefile文件
9.4 gdb调试工具的基本使用
file | 指定需要进行调试的程序 |
step | 单步(行)执行,如果遇到函数会进入函数内部 |
next | 单步(行)执行,如果遇到函数不会进入函数内部 |
run | 启动被执行的程序 |
quit | 退出gdb调试环境 |
| 查看变量或者表达式的值 |
break | 设置断点,程序执行到断点就会暂停起来 |
shell | 执行其后的shell命令 |
list | 查看指定文件或者函数的源代码,并标出行号 |
9.5 静态函数库的创建与使用
名字一般是libxxx.a
9.6 动态函数库的创建与使用
名字一般是libxxx.so 。
例如libc.so中包含了标准的输入输出函数。
第十讲
10.1 磁盘设备的命名方式
- 前两个字母表示分区所在设备的类型:
- hd:IDE硬盘
- sd:SCSI硬盘(U盘,移动硬盘等)
- 第三个字母表示分区在哪个设备上
- hda:第一块IDE硬盘
- sda:第一块SCSI硬盘
- sdb:第二块SCSI硬盘
- 数字表示分区的次序:
- hda1:第一块IDE硬盘第一分区
- sdb2:第二块SCSI硬盘第二个分区
10.2 Linux的文件系统、VFS的功能和作用(含图)
- XFS为默认文件系统,高性能文件系统。
- 把文件系统从操作系统和系统服务中分离出来,在它们之间使用了一个接口层,也就是虚拟文件系统VFS(Virtual File System)
- 只存在于内存,系统启动时建立,系统关闭时消亡
【VFS功能】
- 记录可用文件系统的类型
- 将设备与对应的文件系统联系起来
- 处理面向文件的通用操作
- 涉及到针对文件系统的操作时,把他们映射到相关的物理文件系统
10.3 设备挂载过程
【1】查看设备:使用命令“fdisk -l”可以查看系统的存储设备
【2】挂载设备 :首先使用mkdir命令建立挂载点目录,然后再使用mount命令挂载相关设备
【3】访问设备
【4】卸载设备 :用户在使用完挂载设备后,不能直接将挂载设备从系统拔出,否则会出现问题,严重的会导致系统崩溃。用户必须先执行卸载umount 命令然后再该设备拔出
- 设备名称在/dev目录下
- 挂载点,即设备挂载到/mnt目录下
- 自动挂载文件/etc/fstab
10.4 常用指令
mkfs、fdisk、mount、umount、whoami、who、w、jobs、bg、fg、&(后台进程启动)
- df
查看磁盘空间使用情况
- du
统计目录或文件所占磁盘空间大小
10.5 进程的概念、进程和程序的区别与联系
【概念】
-
- Linux系统上所有运行的东西都可以称之为一个进程,如每个用户任务、每个系统管理任务
【区别】
-
- 程序只是一个静态的指令集合,不占系统的运行资源,只占用磁盘空间
- 进程是一个随时都可能发生变化的、动态的、使用系统运行资源(cpu,内存等)的程序
- 一个程序可以启动多个进程
【联系】
-
- 进程是一个程序的运行状态
10.6 at和crontab的区别和联系、各自的创建、删除、查看
【区别】
- at指令输入有交互式和指定文件两种形式
- at指令只能执行一次,crontab指令可以重复周期性的执行某个程序
- crontab会将输出作为邮件发送给crontab的所有者
【联系】
- 指定在将来的某个时间点执行某些命令
【at】
- 安装:yum install -y at
- 开启/暂停/关闭服务:service atd [ start 或 status 或 stop ]
- 用法:at [选项] [时间]
- at -f 脚本文件
- 查看都是-l
- at的删除是-d,或者atrm,contrab的删除是-r
【crontab】
- 作用:设定周期性任务。root用户可以指定其他用户的时程表。
- 格式:crontab [ -u user ] 文件
- crontab [ -u user ] { -l | -r | -e }
-e | 执行文字编辑器来设定时间表 |
-r | 删除目前的时程表 |
-l | 列出目前的时程表 |
10.7 ps、kill、free
- ps:显示当前进程的状态
- kill:-1 重新加载,-9杀死进程,但是kill只是发送信号,无法真正决定能否杀死。
- 所以kill -9 无法终止系统进程和守护进程
- free“显示内存状态
10.8 日志文件
多数的日志文件位于/var/log目录下,不同的日志文件记载不同的信息
第十一讲
11.1 Docker与虚拟机的区别
- Docker 是一个应用打包、分发、部署的工具。
- Docker:可理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要。
- 普通虚拟机:一个完整而庞大的系统,包含各种不管你要不要的软件。
11.2 Docker的优势
- 跨多平台
- 性能好
- 一个命令即可自动化部署所需环境
- 一致性好,不同系统都一样部署方式,确保了不同机器上跑都是一致的运行环境
11.3 docker search, pull, images, run, start, stop, restart, ps, rm, attach, exec, commit, build, tag, push
- docker search:用来搜索Docker Hub上的镜像。
docker search ubuntu
- docker pull:用于从远程仓库拉取镜像到本地仓库。
docker pull ubuntu
- docker images:用于列出所有已经下载到本地的镜像。
docker images
- docker run:用于创建并启动一个新的容器实例。
docker run -it --name myubuntu ubuntu /bin/bash
- docker start:用于启动已经停止运行的容器。
docker start myubuntu
- docker stop:用于停止正在运行的容器。
docker stop myubuntu
- docker restart:用于重启容器。
docker restart myubuntu
- docker ps:用于列出当前正在运行中的容器。
docker ps
- docker rm:用于删除指定的容器。
docker rm myubuntu
- docker attach:用于进入一个正在运行的容器的命令行环境。
docker attach myubuntu
- docker exec:用于在一个正在运行的容器中执行命令。
docker exec -it myubuntu /bin/bash
- docker commit:用于将一个容器的变化,保存为一个新的镜像。
docker commit myubuntu myubuntu:v2
- docker build:用于从Dockerfile创建一个新的镜像。
docker build -t myapp .
- docker tag:用于给一个镜像打上标签。
docker tag myapp myregistry.com/myapp
- docker push:用于将一个本地的镜像上传到远程仓库。
docker push myregistry.com/myapp
11.4 Dockerfile
- 用法:用来构建镜像的文本文件,包含所需的指令和说明。
- 结构:
- 基础镜像信息(centos ubuntu …… nginx ……)
- 维护者信息(docker search可查看)
- 镜像操作指令(tar yum make)
- 容器启动时执行指令(系统启动时,第一个加载的程序/脚本/命令)
第十二讲
12.1 X Window的作用和组成 (含图) 、每个组成部分的作用
X window由三部分组成
【1】X 服务端
- 每一套显示设备只对应唯一的X Server
- 是控制输入及输出设备并维护相关资源的程序,它接收输入设备的信息,并将其传给X Client,而将X Client传来的信息输出到屏幕上(在屏幕上构造方块(窗口),然后画出里面的元素)
【2】X 客户端
- 是应用程序的核心部分,它与硬件无关,每个应用程序就是一个X Client。
- X Client无法直接影响视窗行为或显示效果,它们只能发送一个请求给X Server,由X Server来完成这些的请求。
【3】X 通信通道
(1)X通信通道的主体是xlib(X函数库)。
(2)X Client调用xlib,利用相应的通信功能向X Server发出请求。
(3)X Server完成任务之后,同样调用xlib把结果显示指定的设备上去。
12.2 修改系统运行级别
- 临时更改
init n
Telinit n
Startx(启动图形化环境
- 长期更改
systemctl set-default *.target??
12.3 系统初始化过程(centos7之前和centos7之后)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)