Xshell
远程连接虚拟机 shh 用户名+@ip地址
也可以直接新建一个永久会话
显示ip地址 ifconfig
关闭防火墙【临时关闭(重启就失效)】 systemctl stop firewalld
关闭防火墙【临时关闭(重启就失效)】 systemctl disable firewalld
查看selinux状态 getenforce
【临时】减弱selinux(内核防火墙) setenforce 0
更改主机名hostnamectl set-hostname 主机名
复制 Ctrl+insert
粘贴 Shift+insert
清屏【页面下滑】Ctrl+L
重启 reboot
关机 shutdown now
快照(相当于S&L) “虚拟机”选项-->快照-->拍摄快照
shell提示符
[root@localhost ~]#
其中"root"为当前登录的用户名
@后的“localhost”为主机名称
"~"为当前工作目录
[当前登录的用户名 @主机名称 当前工作目录]#/$
"工作目录"类似windows文件位置
"/"表示根目录
"~"表示每一个用户的家目录
查询绝对路径 pwd
切换用户 su 用户名(可不输) [回车] 密码
ps:从超级管理员切换至普通用户时可以不用输入密码
命令的格式(其中"[]"表示可为空)
命令字 [-选项] 【参数】
选项分为长选项【--】与短选项【-】
长选项无法叠加使用,短选项可复合使用
"help"为典型的长选项
切换工作目录 cd 切换位置
切换为上次工作目录 cd -
切换为上一级目录 cd ..
切换到家目录(当前用户) cd ~
浏览文件夹内容 ls
ps:ls可有多个操作对象
重置密码(启动界面按E)
rd.break
switch -o remount.rw /sysroot
chroot /sysroot
把命令中断(防刷屏) Ctrl+C
命令分类
内置命令[能找到执行文件]:shell自带;运行效率高,不会浪费时间;
外部命令:有独立的执行文件夹,文件夹名即命令名
查看命令的执行文件所在位置 which [命令]
查看命令所属种类 type [命令]
查看命令执行时间 time [命令]
帮助文档
查看帮助文档[1] [命令] --help
[查询bash内部]查看帮助文档[2] help [命令]
man手册
[man手册中(可查找)]查看帮助文档[3] man [-选项] [参数]
查询关键词(从上往下) /[英文]
查询关键词(从下往上) /?[英文]
定位到下一个关键字 n
定位到上一个关键字 N
退出 q
info page
[info page中]查看帮助文档info [命令]
时间命令
获取时间 date [选项] [+格式]
ps:格式可叠加,但是如果格式中出现空格时,须将整个格式用“”标注
设置时间 date -s [时间]
ps:设置日期时间时,中间用空格隔开后,须加“”
调整日期(加2天) date -d "+2 day"
打开ntp(自动校对时间) timedatectl set-ntp yes ps:打开后无法更改时间
关闭ntp timedatectl set-ntp no
设置日期[须严格按照格式] timedatectl set-time xxx-xxx-xxx
设置时间日期 timedatectl set-time "xxx-xxx-xxx yyy:yyy:yyy"
设置时区 timedatectl set-timezone [时区]
日历 cal [参数(月份 年份)]
---------------------------------------------------------------------------------------------------------------------------------
浏览文件夹内容 ls
ps:ls可有多个操作对象
浏览文件内容[包括隐藏文件] ls -a
使用较长格式列出信息 [可查看文件详细信息] ls -l
简写 ll
显示当前文件夹[可加路径] ls -d [路径]
打开所有文件夹并显示其中的文件 ls -R [路径]
更人性化得显示文件大小 ls -h [路径]
树状图显示 tree [路径]
drwxr-xr-x. 2 root root 6 10月 12 19:23 公共
d 当前文件的文件类型
ps:"-"指普通文件;"d"指目录文件;"l"指软链接文件(相当于快捷方式);"c"为字符设备文件[顺序读写];"b"为块设备文件[随机读写];"p"管道文件[进程间通信];
rwxr-xr-x. 权限
前root指创建者
后root指所属组[可加入其他用户]
6 10月 12 19:23 指文件修改时间
ls颜色显示
白:普通文件
蓝:目录文件
红:压缩包文件
黄:设备文件
绿:可执行文件
根目录"/"为Linux唯一的顶级目录
boot中存放系统启动时需要的文件
etc中存放配置文件
lib中存放系统的库文件
mnt默认为空,后期用来挂载
var中存放日志文件
home中存放普通用户家目录
bin中存放普通用户可执行的命令和程序
usr中存放一般用户安装的程序
创建文件 touch [文件名]
ps:可一次创建多个
如 touch [文件名] [文件名]
创建1-6 touch [文件名]{1..6}
创建1,6 touch [文件名]{1,6}
删除文件 rm [文件名]
删除文件[不询问] rm -f [文件名]
---------------------------------------------------------------------------------------------------------------------------------
文件=真实数据+元数据(创建时间、创作者、修改时间)
目录文件=自身目录名+元数据
往文件中输入 echo"文字">>[文件]
硬链接【相当于备份】
硬链接不能跨越文件系统
硬链接就是指向原始文件inode的指针
创建硬链接 ln [/源文件] [新文件]
软链接【类似windows快捷方式】
创建软链接 ln -s [源文件] [新文件]
查看文件内容 cat [文件名]
查看文件信息 stat [文件名]
查看文件inode节点ls -i
创建目录(文件夹) mkdir [相对路径或绝对路径]
创建目录[多个] mkdir {1..3}
创建目录[嵌套](一起创建) mkdir -p /aaa/bbb
删除目录 rm -r [目录路径]
ps:"-r"一般用于递归,此处用于删除目录内文件,再删除目录
计算此文件/目录占用磁盘大小[会递归显示目录内所有文件] du [文件/目录名]
计算此文件/目录占用磁盘大小[不显示所有文件] du -s [文件/目录名]
数据流和重定向[改变信息流向(转到某个文件)]
【0】标准输入流:键盘
【1】标准输出流:终端
【2】标准错误输出流
操作符
ps:重定向后,如没有目标文件,会自动创建
输出重定向
覆盖[命令]>[路径]
追加>>
将错误输出流重定向 [命令] 2> [路径]
多重 重定向 [命令1] [命令2] >>[路径1] >>[路径2]
用于销毁数据的路径 /dev/null
输入重定向
用于指定结束符<<
例:cat >test.txt <<AAA
>awsd
>wwww
>ccccc
>AAA
cat test.txt
awsd
wwww
ccccc
输出[不执行命令] echo "输出值"
输出[执行命令] echo `命令`
定义一个变量 [变量名]="值"
输出变量 echo $[变量名]
【|】管道符[左边命令的输出作为右边命令的输入]
例:ls / | grep "test"
tee【类似于分流】将结果输出到终端的同时,存入指定文件
---------------------------------------------------------------------------------------------------------------------------------
创建目录[嵌套](一起创建) mkdir -p /aaa/bbb
删除目录 [递归] rm -r [目录路径]
编辑普通文件
编辑普通文件[进入阅读模式]vim
当目标文件不存在时,会自动创建;
阅读模式[命令模式]中,按a/I/s/o进入编辑模式
保存编辑须进入末行模式,按esc返回阅读模式,再按:(或/)进入末行模式,最后输入wq退出_
命令模式中功能键
光标按单词向后跳转 w
光标按单词向前跳转 b
光标跳到行首 ^
光标跳到行尾 $
撤销 u
删除光标所在行 dd
删除从光表开始的n行 ndd
删除光标前字符[本行] d^
删除光标后字符[本行] d$
复制光标所在行 yy
复制从光标开始的n行 nyy
将缓冲区的内容粘贴到光标所在的下一行 p(小写)
将缓冲区的内容粘贴到光标所在的上一行 P(大写)
命令模式中功能键
光标按单词向后跳转 w
光标按单词向前跳转 b
光标跳到行首 ^
光标跳到行尾 $
撤销 u
删除光标所在行 dd
删除从光表开始的n行 ndd
删除光标前字符[本行] d^
删除光标后字符[本行] d$
复制光标所在行 yy
复制从光标开始的n行 nyy
将缓冲区的内容粘贴到光标所在的下一行 p(小写)
将缓冲区的内容粘贴到光标所在的上一行 P(大写)
末行模式
查找关键字 /[关键字]
到下一个检索单词的位置 n
到上一个检索单词的位置 N
替换[仅在当前行中检索] s /[目标]/[替换字]
替换[全局(光标所在行)检索] s /[目标]/[替换字]/g
替换[从n1行到n2行] n1,n2 s/[目标]/[替换字]/g
替换[全局(真)检索] % s /[目标]/[替换字]/g
保存并退出 wq
不保存退出 q
不保存退出 [强制] q!
将文字内容另存为 w /[新文件路径]
当前文件中读取其他文件内容 r /[文件路径]
查找含有关键词的行并删除 g/[关键词]/d
显示行号 set nu
隐藏行号 set nonu
删除n1-n2行内容 n1,n2 d
复制n1-n2行到n行后 n1,n2 co n
浏览文件内容
查看普通文件内容 cat [文件路径]
显示行号 -n
查看多个文件 cat [文件1] [文件2]
查看内容[从后往前] tac [文件路径]
查看内容[空格换页] more [文件路径]
查看内容[按q退出] less [文件路径]
查看文件前n行[默认为10行] head -n [文件路径]
查看文件后n行[默认为10行] tail -n [文件路径]
查看文件信息 stat [文件路径]
查看文件包含关键词的行 grep -参数 查找条件 [文件路径]
显示行号 -n
显示不带关键词的行 -v
忽略大小写 -I
查找目标目录下所有满足条件的文件 grep -r [关键词] [目录路径]
查找以n开头的[条件] ^[n]
查找以abcd开头的[条件] ^abcd
查找以a-z开头的[条件] ^[a-z]
查找以n或m开头的[条件] ^[nm]
查找除了以n开头的[条件] ^[^n]
查找以n结尾的[条件] n$
查找以n或m结尾的[条件] [nm]$
过滤空白行 -n ^$
切割
切割[以":"切割,将第一列显示出来] cut -d ":" -f1 /[文件路径]
文字
排序 soft [文件路径]
排序[去重] soft -u [文件路径]
去除重复行 uniq [文件路径]
替换[字数需相同] tr [目标字段] [替换字段]
ps:单个找,单个换
统计 wc [文件路径]
统计[行数] wc -l [文件路径]
统计[单词数] wc -w [文件路径]
统计[字节数] wc -c [文件路径]
文件复制 cp [源文件] [目标文件]
文件复制[保留属性] cp -a [源文件] [目标文件]
ps:文件复制必须要目标,但目标可以只写"."(当前文件夹),源文件会复制过来且名字不变
目录复制 cp -r [目录] [目标位置]
文件移动[剪切] mv [文件路径] [目标路径]
目录移动 mv [目录路径] [目标路径]
ps:文件移动时重命名需给目标路径加一个文件
文件查找
【执行文件】
查找文件路径[返回执行文件位置] which [执行文件]
查找文件路径[返回各种路径] whereis [执行文件]
【所有文件】
查找文件位置[按名字] find /[开始查找的目录] -name "文件名"
ps:可在文件名后加"?"代表一位不确定的字符,加"*"代表不确定位数的不确定字符。
不区分大小写 -i
查找文件位置[按大小] find /[开始查找的目录] -size +/-[大小(k/M/G)]
例:
在etc中找比5k小的文件 find /etc -size -5k
在/中找比100M大的文件 find / -size +100M
查找文件位置[按时间]
修改时间 find /[目录] -mtime -[天数] 例:find / -mtime -3 三天以内修改过的文件 find / -mtime +2 三天前修改的文件 find / -mtime 2 第三天
查找文件位置[权限] find /[目录] -perm [权限]
查找文件位置[创建者] find /[目录] -user [用户名]
find /[目录] -uid [用户编号]
查找文件位置[组别] find /[目录] -group [组名]
find /[目录] -gid [组编号]
查找文件位置[按类型] find /[目录] -type [类型]
【逻辑运算符】
与 -a
或 -o
非 -not
【find专用】管道符 -exec
例 find /otp -name "n*" -exec cp {} /otc/1.txt \;
ps:"\"用来转译";" "-exec"前的输出的内容会被放到 {}中
压缩和解压缩
压缩作用:
减少磁盘占用、加快传输速度
linux中常见压缩格式:
gzip【速度最快,最常用,但原始文件会被删除】 bzip2 xz
用gzip进行压缩 gzip [文件名]
用gzip进行压缩[目录] gzip -r [目录名]
用gzip进行解压 gunzip [文件名]
zip压缩会保留源文件
用zip进行压缩 zip [压缩后文件名] [目标文件]
用zip进行压缩[目录] zip -r[压缩后文件名] [目标文件]
用zip进行压缩[分级] zip -[1~9][压缩后文件名] [目标文件]
用zip进行解压 unzip [压缩包文件] [目标目录](可不输)
tar归档命令[常用]
tar -参数 []
tar命令使用时,须包含[-c(创建),-x(释放),-t(查看)]三选一,不能复合使用
必选参数
-f 指定压缩文件名
可选参数
-v 显示详细信息(可视化)
-z gz格式
-j bz2格式
-J xz格式
tar -czf [创建后文件名] [目标文件/目录路径] -C [创建路径]
释放tar -xzf [文件名]
指定位置释放 -C [目录]
文件上传与下载
工具:
sftp
退出 exit
连接到另一台主机 sftp root@[ip地址]
查看连接主机的目录 ls [目录路径]
查看本机目录 lls [目录路径]
上传文件 put [文件/目录路径]
下载 get
scp
上传文件 scp [文件路径] root@[ip地址]:[目标路径]
下载文件scp root@[ip地址]: [文件路径]
命令解释器-shell
可执行文件的路径存储在环境变量path中,使shell知道文件位置
查看总别名 alias
设置别名[临时] alias [自定义别名]="[命令]"
设置别名[永久] vim /etc/bashrc (进入配置文件修改)
设置别名[永久·个人] vim .bashrc
移除别名 unalias [自定义别名]
刷新bash shell bash
账户和组的管理
用户:1、超级管理员(root)
2、系统[无法登录]
3、普通用户
组(用户组)
1、基本组(私有组)
2、扩展组(公有组)
在同组的成员有相同权限
查看用户信息 id [用户名(小写)]
或 tail -5 /etc/passwd
组文件
vim /etc/group
账户管理
用户的添加
添加指定用户 useradd [用户名]
修改用户密码[root专用] passwd [用户名]
取消交互 --stdin
账户设置
设置用户uid,gid useradd [用户名] -u [uid] -g [gid]
新账户的用户 ID -u, --uid UID
创建与用户同名的组 -U, --user-group
修改已创建的账户信息 usermod
更改账户名称 usermod [用户名] -l [新用户名]
锁定用户 usermod [用户名] -L
删除用户 userdel [用户名]
删除用户[同时删除家目录] userdel -r [用户名]
切换用户[root] su [用户名]
ps:无需密码且工作目录不变
切换用户 su - [用户名]
ps:工作目录会变动
普通用户提权 sudo [命令]
前置条件[修改配置文件]
vim /etc/sudoers
[用户名] ALL=(root) ALL
组操作[需要root]
新建扩展组 groupadd [组名]
查看组[新] tail -5 /etc/group
或 groups [用户名]
设置组id groupadd [组名] -g [gid]
向组中添加用户 gpasswd -a [用户名] [组名]
添加用户[多个] gpasswd -M [用户名1,用户名2] [组名] 【注:会覆盖先前组的用户】
向组中删除用户 gpasswd -d [用户名] [组名]
用户能加入多个扩展组,扩展组能包含多个用户
设置管理员 gpasswd -A [用户] [组名]
删除组[管理员专用] groupdel [组名]
ps:不能删除用户的主组
查看系统当前登录的用户
主机当前登录用户 users
last
每个用户最近登陆时间 lastlog
主机当前登录用户信息 who
【注:输出结果中的+表示所有用户都能查看和更改】
查看运行级别 runlevel
运行级别 0-7 0:关机 6:重启 5:界面(正常运行)
更改运行级别 init [0-7]
返回当前登录用户 whoami
文件的权限
drwxr-xr-x. 2 root root 6 10月 12 19:23 公共
d后面9位字符"rwxr-xr-x"都是基本权限位
每三位为一组
rwx 文件所属者对文件的权限
r-x 文件所属组对文件权限
r-x 其他人对文件权限
. 特殊权限(设置后"."会有变化)
2 硬链接次数
root 文件所属者
root 文件所属组
6 文件大小
10月 19:23 文件修改时间
u表示所属者
g表示所属组
o表示其他人
a表示所有用户
文件权限解释
r 文件可读
w 文件可编辑
x 文件可执行
- 不具有该权限
ps:需要执行文件时,必须使用绝对路径
文件权限修改
修改文件所属组[仅root] chown :[所属组] [目标文件]
修改文件所属者和所属组 chown [所属者]:[所属组] [目标文件]
添加文件权限[仅root和所属者] chmod [目标]+[目标权限] [文件路径]
添加文件权限[多] chmod [目标]+[目标权限],[目标]+[目标权限],[目标]+[目标权限] [文件路径]
删除文件权限 chmod [目标]-[目标权限] [文件路径]
文件权限重新赋值 chmod [目标]=[目标权限] [文件路径] 注:此方法文件权限需写完整,如"r--"
r--4,w--2,x--1
用数字表示权限 例: rwxr-xr-- "rwx"=7 "r-x"=5 "r--"=4 所以 "rwxr-xr--"="754"
目录中,
r 目录可读
w 目录可编辑
x 目录可进入
ps:能否删除某文件,取决于当前用户对文件上级目录是否有w权限
仅读取目录信息 ll -d [目录路径]
权限掩码【默认权限】
普通文件默认权限=0666-umask(权限掩码)
目录文件=0777-umask
查看当前权限掩码 umask
更改权限掩码[临时] umask [掩码]
特殊权限
u+s--SID权限:让一般用户执行程序时,暂时获得当前文件所属者的权限
u+s--GID权限:当对一个可执行的程序文件设置了SGID后,普通用户在执行该文件时临时拥有 其所属组的权限,该权限只在程序执行过程中有效,程序执行完毕后用户恢复原有组身份
o+t--SBit权限:即使在当前目录下具有rwx权限,也无法修改/删除所属者非自身的文件
ACL访问控制列表[用于针对具体用户设置权限]
查看访问控制列表 getfacl [文件路径]
针对特点用户设置权限
创建权限 setfacl -m u:[用户名]:[权限] [文件路径]
ps:使用acl后,权限中的"."会变为"+"
删除权限[指定用户] setfacl -x [用户名] [文件路径]
删除权限[所有用户] setfacl -b [文件路径]
递归设置权限[目录中] setfacl -R u:[用户名]:[权限] [文件路径]
网络配置
实际网卡ens160
en指以太网
wl指无线局域网
ww指无线广域网
网络类型: ethernet[以太网]
【使用网卡的前提】会话
一个物理设备可以同时拥有多个ip地址 [但ip地址只能对应一个设备]
一张网卡可以有多个会话,但同时只能使用一个会话
使用nmcli管理网络
查看网卡信息 nmcli device
nmcli device status
查看网卡信息[完整] nmcli device show
其中MTU为"最大传输单元" GATEWAY“网关” DNS【默认为网关】“域名解析”
查看会话 nmcli connection(可简写为"c/con")
其中 UUID为“网卡编号”TYPE为“网络类型” DEVICE为“网卡名称”
关闭会话[网卡下线] nmcli c(简写) down [会话名称]
开启会话[网卡激活] nmcli connection up [话名称]
添加会话 nmcli connection add type [网络类型] con-name [会话名称] ifname [网卡名称]
删除会话 nmcli connection delete [网络名称]
查看虚拟机ip等信息 编辑-->虚拟网络编辑器
IP地址为32位,包括网络位和主机位
dns服务器使用114.114.114.114(国内运营商服务器)
IP设置
设置静态IP nmcli connection modify [会话名称] ipv4.method manual autoconnect yes(开启手动配置) ipv4.addresses [ip地址/子网掩码] ipv4.gateway [网关] ipv4.dns [dns]
ps:无法立刻生效,需要和开关会话一同使用;若没有开启手动划分,则会由DHCP进行自动划分
【配置文件更改ip】手动进入会话配置目录 cd /etc/NetworkManager/system-connections
ps:此时有多少个会话,该目录下就会有多少个以会话名场面命名的配置文件
vim [会话配置文件]
手动修改ip地址等信息
刷新nmcli connection reload [会话名称(可不加)]
【网络管理器】更改ip nmtui
添加会话ip地址 nmcli connection modify [会话名称] +ipv4.addresses [ip地址/子网掩码]
删除会话ip地址 nmcli connection modify [会话名称] -ipv4.addresses [ip地址/子网掩码]
通过http/https/ftp等方式下载或上传文件 curl
下载文件 curl [网站地址] -o [文件名称]
下载文件 wget [下载地址] -P [保存路径]
最大尝试次数 -t
后台下载 -b
断点续传 -c
递归下载(下载所有资源)-p[小写]
桥接模式(使用v0网卡)
将虚拟网卡桥接到电脑本身的网卡上,通过主机的网卡和外网进行通讯
过程:编辑-->虚拟网络编辑器-->更改设置-->更改v0网卡的桥接为xxx wi-fi xxx-->关机-->主机设置中改为桥接模式-->开机
NAT模式(使用v8网卡)
NAT指虚拟地址转换技术,公网ip转换为私网ip
Host-Only[仅主机模式]
使主机与虚拟机互通,但虚拟机连接不了公网
通过域名访问主机
1、浏览器缓存查找
2、对照hosts文件
3、dns服务器查找
4、[全球13台,其中存放顶级域名相关信息]根域名[根dns]服务器查找
5、返回ip地址
软件下载与安装
重新载入缓存 yum makecache
下载 yum install [文件名]
linux软件安装方式
源码安装、rpm包安装、yum安装
源码安装
源码文件:程序员用C或C++等语言编写原始代码文本文件
源码文件用tar.gz或tar.bz2打包成压缩文件
优点:
源码包可移植性好,与待安装软件的工作环境依赖性不大
代码运行效率较高,是针对当前环境使用者的“量体裁衣”
可定制化安装,可选需要功能进行安装
卸载方便,只需删除对应目录
缺点:
安装麻烦
编译:对代码进行语法检查、语义分析和代码优化,转换为二进制。
安装步骤:安装包下载-->安装环境分析-->编译-->安装
安装环境分析[安装文件中] ./configure
编译 make
安装 make install
默认安装路径/user/local或/usr/local/bin
rpm包安装
程序员在自身的计算机环境下,把自己要发布的源代码进行编译,编译完毕后再进行发布
优点:
安装方便[但仍然需要手动解决依赖问题]
缺点:
无法定制化安装
可移植性较差,安装环境必须与打包环境一致
必须满足软件依赖性
卸载时须小心,最底层软件不能先卸载
命名格式
[名称]-主版本号.次版本号-?-架构.rpm
安装 rpm -i [rpm包名]
显示详细信息 -v/-h
卸载 rpm -e [软件名]
升级[更新] rpm -U [软件名]
查询 rpm -q [名称]
显示当前已安装所有软件包 rpm -qa
检测当前是否安装某软件包 rpm -qa | grep [包名]
查看安装时产生文件 rpm -ql [包名]
查看文件来源 rpm -qf [文件路径]
查看软件包详细信息 rpm -qi [包名]
yum安装【redhat9中yum相当于dnf】
功能
在线下载、安装、卸载、升级rpm软件包
自动查找并解决rmp包之间的依赖关系,一次性安装所有具有依赖关系的rmp包,无需管理员逐个、手工地去安装每一个rmp包
???.repo中存放yum服务器仓库信息
原理
编译好的软件放置在yum服务器中,并将这些软件的依赖性等信息记录下来形成表格组成数据库
用户安装软件时会向网络中的yum服务器下载对应表格并与本机rpm数据库进行比较,最后一同下载全部软件进行安装,自动解决依赖性
查看yum库中所有软件包 yum list all
检索想要安装的软件包 yum list all | grep [包名]
模糊搜索 yum search [模糊包名]
安装 yum install [包名]
卸载 yum remove [包名]
ps:安装和卸载都会连带着依赖包一起安装/卸载
【?】更新 yum update [包名]
查询yum仓库 yum repolist
查看软件包详细信息 yum info [包名]
查看文件来源 yum provides [包名]
[下面要用到]挂载 mount [挂载路径] [目标路径]
建立本地yum仓库 ps:ios文件自带的yum仓库在/dev/sr0
mount /dev/sr0 /media
cd /etc/yum.repos.d
vim myrepo.repo
[base]
name=mybase
baseurl=file:///media/BaseOS
【不进行校验】gpgcheck=0
[appstream]
name=myappstream
baseurl=file:///media/AppStream
gpgcheck=0
:wq
---------------------------------------------------------------------------------------------------------------------------------
程序
储存在磁盘上的一个二进制文件,不会返回结果
进程
一个程序至少会有一个进程
父进程:能创建、控制其他进程
子进程:被其他进程控制
显示进程相关信息 ps
显示进程相关信息[详细] ps -l
其中PID为标识号 TTY为 F为权限 S为状态(其中S表示睡眠,R表示运行) C为CPU使用率 TIME为耗时
显示进程相关信息[用户] ps -u
显示进程相关信息[所有信息] ps -aus
以树状图显示进程 pstree
持续刷新的进程信息[类似任务管理器] top
其中PR表示优先级[越小越优先] %CPU表示CPU占用百分比 SHR S表示共享内存大小 %MEM表示占用内存百分比
COMMAND表示产生进程的命令
强制结束进程 kill [进程编号]
强制结束所有进程 killall
线程
进程中实际工作的是线程,一个进程可同时有多个线程
磁盘管理[磁盘原指硬盘和软盘,但现在主要指硬盘]
分为机械硬盘(hdd)和固态硬盘(nvme)
机械硬盘使用磁介质
固态硬盘使用半导体介质
光盘刻录原理:
用激光点射,有凹坑为0,无凹坑为1
添加磁盘[需要关机]
编辑虚拟机设置-->添加-->硬盘-->SATA类型-->创建新虚拟磁盘-->将磁盘存储为单个文件
硬盘分区
根据自身存储需求,将硬盘分为多个区域,且这些区域相互独立
分区格式
mbr和gpt
MBR[Master Boot Rcord,主引导程序]分区
MBR中储存引导文件和分区表
最后两个字节"55,AA"是结束符号
只能创建至多4个主分区[p],且主分区不能进行二次分区
扩展分区[l][仅仅是个概念,在这里可以划分逻辑分区[e]]
可在4个分区内任选一个转换为扩展分区,但主分区加扩展分区仍然不能大于4个
不能创建文件系统
逻辑分区[e]
可存放数据
数量没有限制
缺点:
最高支持磁盘容量2.2TB
没有备份机制,分区表丢失后,数据一并丢失
GTP分区
无主分区之说,默认情况下,最多支持128个分区
查看磁盘情况 lsblk
查看文件系统 lsblk -f
其中 RM表示是否能卸载(0表示可卸载,1不可卸载)
分区[等价于mbr分区]
分区[等价于mbr分区] fdisk [设备路径]
保存退出 w
直接退出 q
使用GPT分区 gdisk [设备路径]
创建分区 n
查看分区 p
格式化
添加文件系统 mkfs.[文件系统名称] [设备路径]
添加"-f"可以进行强制格式化
【文件系统不能轻易更改,否则会导致原先系统下的文件消失(仅隐藏,而不会丢失)】
显示设备UUID[唯一标识]与文件系统 blkid [设备路径]
挂载目录[临时] mount [设备路径] [目录路径]
取消挂载 umount
永久·挂载[改配置文件] 位置:/etc/fstab
vim fstab
[设备路径] [目录路径(挂载点)] [文件系统名称] [文件系统参数(一般默认为defaults)] 0 0
:wq
挂载所有[测试] mount -a
一个目录不能挂载多个设备分区
磁盘阵列RAID[防止数据丢失,提高传输速率]
RAID0
将至少两个硬盘串联,将数据一次写入
优点:数据同步输入,传输效率高
缺点:一块损坏,数据不可读,数据安全性低
RAID1
把至少2块硬盘绑定起来,写入数据时将数据同时也写入另一或多块硬盘中
优点:数据备份,安全性高
缺点:硬盘利用率下降
RAID5
需至少三块硬盘,将数据分块存储到不同硬盘中,硬盘中必须存储其它一个硬盘的parity(奇偶校验信息)
优点:兼顾性能,通过“奇偶校验”替代“镜像备份”
缺点:硬盘数据安全性较低
RAID1 0
至少4块硬盘,两个RAID1阵列,保证安全性,1个RAID0阵列,提高读写速度
优点:兼具速度和安全性
缺点:成本较高
创建raid阵列 mdadm -C /dev/md0(阵列路径) -a yes -n 4 -l 10 [设备路径1] [设备路径2] [设备路径3] [设备路径4]
-a yes表示自动检测并建立raid -n 4表示4个设备连接 -l 10 表示阵列类型
查看raid阵列信息 mdadm -D [阵列路径]
停止阵列 mdadm -S [阵列路径]
列出文件系统的磁盘空间占用情况 df
列出文件系统的磁盘空间占用情况[人类可读] df -h
显示文件磁盘占用大小 du
显示文件磁盘占用大小[人类可读] du -h
逻辑卷LVM[便于扩容]
[可不转]转换为物理卷[多] pvcreate [设备路径1] [设备路径2] [设备路径3]....
创建卷组[多合一] vgcreate [卷组名称] [设备路径1] [设备路径2] [设备路径3].....
查看卷组信息 vgdisplay [卷组路径]
查看当前卷组 vgs
创建逻辑卷 lvcreate -n [逻辑卷名称] -L [逻辑卷大小] [分割卷组的名称]
查看当前逻辑卷 lvs
为逻辑卷创建文件系统 mkfs.[系统名称] [逻辑卷地址]
ps:逻辑卷的使用也需要挂载
卷组扩容 vgextend [卷组路径] [设备路径]
逻辑卷扩容 lvextend -L +[大小][逻辑卷路径]
【注意】如果大小前面不加"+",逻辑卷容量会被直接设置为指定大小,而非单纯扩容;
逻辑卷扩充容量不能马上就使用,需要进行文件系统扩容
文件系统扩容 [系统名][下划线]grows
ps:扩容前需要将挂载卸除