常用系统工作命令
iftop
检查网络带宽和流量
-n 禁止域名解析,直接显示ip地址
-i 指定要监视的网卡如ens33
-N 显示端口号
-F 显示过滤规则
cpu
lscpu: 这个命令会显示关于 CPU 的详细信息
cat /proc/cpuinfo: 这个命令也可以显示 CPU 的详细信息
dmidecode -t processor
内存
free: 这个命令可以显示系统中的内存使用情况,包括总内存、已使用内存、空闲内存等信息。
top 或 htop: 显示内存使用情况。在进程列表上方通常会有内存使用情况
vmstat: 这个命令可以显示虚拟内存的统计信息,包括内存使用情况、缓存、交换等。
cat /proc/meminfo: 这个命令可以显示内存相关的详细信息,包括内存总量、空闲内存、缓存、交换分区等
man
命令信息帮助界面
home 直接前往首页
end 直接前往尾页
/ 从上到下搜索关键字,如 /linux
? 从下往上搜索关键字
q 退出
快捷键
Tab 将命令,参数,文件自动补齐
Ctrl+C 终止当前进程的运行
Ctrl+D 键盘输入结束
Ctrl+C 清空当前页面内容
echo
在终端设备上处处字符串或者变量提取后的值
"echo [字符串] [变量]"
date
显示或者设置系统时间和日期
"date [+指定的格式]"
- date "+%Y-%m-%d %H:%M:%S" 显示当前时间
2023-12-10 20:10:22
- data -s "20180101 8:30:00" 将系统时间设置为新日期
timedatectl
设置系统时间
"timedatectl set-timezone Asia/Shanghai" 设置时区为上海
"timedatectl set-time 2018-09-12" 修改日期
reboot
重启系统
"reboot" 重启系统
poweroff
关闭系统
"poweroff" 关闭系统
wget
在终端命令行中下载网络文件
"wget [参数] 网址"
-P 下载到指定目录
-p 下载页面内所有资源
-r 递归下载
ps
查看系统中的进程状态
"ps [参数]"
-a 显示所有进程
-u 用户以及其他详细信息
-x 显示没有终端的进程
进程的状态
R进程正在运行
S休眠
D不可中断
Z僵尸进程
T停止运行
<高优先级 N低优先级 L被锁进程 s包含子进程 i多线程
ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程所有者|进程ID|cpu占用率|内存使用率|虚拟内存使用|占用的固定内存|所在终端|进程状态|被启动时间|实际使用cpu时间|命令名称与参数
pstree
按照树状图显示进程之间的关系
top
动态监视进程活动以及系统负载信息
"top"
-d 指定时间间隔刷新,默认3s
-n 设置更新显示的次数
-u 只显示该用户的信息
-p 显示指定进程PID信息
Shift+M 按照内存使用率排序
Shift+P 按照CPU使用率排序
top - 08:55:08 up 41 min, 2 users, load average: 0.00, 0.01, 0.02
Tasks: 98 total, 1 running, 97 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995636 total, 700472 free, 177028 used, 118136 buff/cache
KiB Swap: 3907580 total, 3907580 free, 0 used. 684228 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
第一行:系统时间,运行时间,登录终端数,系统负载
第二行:进程总数,运行中的进程,睡眠进程数,停止进程数,僵尸进程数
第三行:用户占用资源百分比,系统内核占用资源百分比,改变过优先级的进程资源百分比,空闲资源百分比
第四行:物理内存总量,内存空闲量,内存使用量,作为内核缓存的内存量
第五行:虚拟内存总量,虚拟内存空闲量,虚拟内存使用量,已被提前加载的内存量
第六行:标识符|用户名|进程优先级|进程的nice值|虚拟内存大小|物理内存大小|共享内存大小|进程状态|cpu使用|内存使用|使用cpu时间参数和名称
nice
调整进程优先级
"nice 优先级数字 服务名称"
- nice -n -20 bash 将bash服务优先级调到最高(-20,19),数字越小,优先级越高
pidof
查询指定服务的PID号码值
"pidof sshd" 查询sshd的PID号码
kill
终止某个服务
"kill [参数] 进程的PID"
-9 最高级别强制杀死某个进程
killall
终止某个服务对应的所有进程
"killall [参数] 服务名称"
系统状态检测命令
ifconfig
获取网卡配置与网络状态等信息
"ifconfig"
uname
查看系统内核版本与系统架构信息
"uname -a"
Linux localhost.localdomain 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
内核名称|主机名|内核发行版本|节点名|压制时间|硬件名称|硬件平台|处理器类型|操作系统类型
- cat /etc/redhat-release 查看当前版本的详细信息
uptime
查看系统的负载信息
"uptime"
21:39:04 up 47 min, 2 users, load average: 0.00, 0.01, 0.05
当前时间|启动时间|启用终端用户|平均负载信息(1,5,15分钟的压力情况)
free
显示当前系统中的内存使用量
"free -h"
total used free shared buff/cache available
Mem: 972M 169M 680M 7.6M 122M 668M
Swap: 3.7G 0B 3.7G
内存总量| 已使用内存| 空闲内存| 进程功效的内存量|磁盘缓存内存量/缓存内存量|可用量
who
查看当前登入主机的用户终端信息
"who"
last
调取主机的被访问记录
ping
测试网络之间的连通性
-c 总共发送次数
-l 指定网卡名称
-I 每次间隔时间
-w 最长等待时间
"ping www.baidu.com"
tracepath
显示数据包经过的所有路由信息
"tracepath www.baidu.com"
netstat
显示网络连接,路由表,接口状态信息
-a 显示所有连接中的Socket
-p 显示正在使用中的Socekt
-t 显示Tcp协议的连接状态
-u 显示所有Udp连接状态
-n 使用IP地址,不使用域名
-l 仅列出正在监听的服务状态
-i 现在网卡列表信息
history
显示所有历史命令
"history "
-c 清除之前的历史命令
cat ~/.bash_history 查看历史命令保存文件
sosreport
收集系统配置及架构信息并输出诊断文档
查找定位文件命令
pwd
查看当前所处的工作目录
cd
切换当前工作路径
cd - 返回到上一次所在目录
cd ~ 切换到用户的家目录
cd ~ a1 切换到a1用户的家目录
ls
显示目录中的文件信息
-l 查看文件的属性,大小
-a 查看所有文件(包括隐藏文件)
ls -ld /etc 查看/etc目录的信息
find
按照指定条件查找文件所在位置
-name 匹配名称
-perm 匹配权限
-user 匹配所有者
-greop 匹配所属组
-mtime 匹配修改内容时间
-atime 匹配访问文件时间
-ctime 匹配修改文件权限使劲按
-nouser 匹配无所有者的文件
-nogreop 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但是比f2旧的文件
-type b/d/c/p/l/f 匹配类型为块设备/目录/字符设备/管道/链接文件/文本文件
-size 匹配文件大小
-prune 忽略某个文件
-exec {} \; 把find找到的文件传递给下一个命令
1 在根目录下查找名字为.txt结尾的文件
find / -name "*.txt"
2 在根目录下查找权限为555的文件
find / -perm 555
3 在根目录下查找文件所有者为root用户的文件
find / -user root
4 在当前目录下查找文件所属组为test1的文件
find . -group test1
5 在当前目录下寻找修改文件内容事件小于一天的
find . -mtime -1
6 在当前目录下寻找比a.txt文件新的文件
find . -newer a.txt
7 在当前目录下查找文本文件
find . -type f
8 在当前目录中找到文件权限为777的并且删除
find . -perm 777 -exec rm -f {} \;
locate
快速搜索文件对应位置
运行which mlocate
显示 /usr/bin/which: no mlocate in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
则没有安装,运行yum install mlocate
然后更新
1 updatedb
此时ls -l /var/lib/mlocate/mlocate.db
会显示有文件存在 -rw-r-----. 1 root slocate 716131 Dec 26 13:55 /var/lib/mlocate/mlocate.db
2 locate pwd
/etc/.pwd.lock
/usr/bin/pwd
/usr/bin/pwdx
/usr/include/pwd.h
/usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz
/usr/lib64/cracklib_dict.pwd
/usr/lib64/python2.7/lib-dynload/spwdmodule.so
/usr/sbin/unix_chkpwd
/usr/share/cracklib/cracklib-small.pwd
/usr/share/cracklib/pw_dict.pwd
/usr/share/man/man1/pwd.1.gz
/usr/share/man/man1/pwdx.1.gz
/usr/share/man/man8/unix_chkpwd.8.gz
which
搜索系统变量的位置,仅查找命令本身所在路径
1 which cd
/usr/bin/cd
which pwd
2 /usr/bin/pwd
whereis
快速找到命令所在目录,不关心同名文件
whereis pwd
pwd: /usr/bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz
文本文件编辑命令
cat
查看纯文本文件(内容较少的)
cat -n a.txt
查看a.txt文件并显示行号
more
查看纯文本文件(内容较多的)
head
查看文本的前几行
查看文本前十行
head -n 10 a.txt
tail
查看纯文本文件的后N行或者持续刷新文件的最新内容
tail -n 2 b.txt
tail -f /var/log/messages
tr
替换文本中的内容
tr [原始字符] [目标字符]
将文本中所有小写字母换成大写
cat b.txt | tr [a-z] [A-Z]
wc
统计指定文本的行数,字数,或者字节数
-l 统计行数
-w 统计单词数
-c 统计字节数
stat
查看文件详细信息
atime 最后一次访问事件 mtime最后一次修改时间 ctime最后一次权限修改事件
File: ‘b.txt’
Size: 32 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 18176820 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:usr_t:s0
Access: 2023-12-27 17:03:45.826015406 +0800
Modify: 2023-12-27 17:03:39.671015114 +0800
Change: 2023-12-27 17:03:39.672015114 +0800
Birth: -
grep
按行提取内容
-n 显示行号
-v 反选信息
-I 忽略大小写
-c 仅显示找到的行数
-b 将可执行文件当作文本文件搜索
再目录下找不允许登录的用户
grep /sbin/nologin /etc/passwd
cut
按列提取文本内容
提取第一列内容,以: 做分隔符
cut -d: -f 1 /etc/passwd
diff
比较两个文件之间的差异
diff -c b.txt c.txt
uniq
去除文本中连续重复的行
对文本内容去重(只能去除连续重复的行)
aaaa
aaaa
bbbb
bbbb
bbbb
cccc
uniq b.txt
aaaa
bbbb
cccc
aaaa
sort
对文本内容排序(可先排序,再去重)
-f 忽略大小写
-b 忽略缩进于空格
-n 以数值型排序
-r 反向排序
-u 去除重复行
-t 指定间隔符
-k 设置范围
123.12
123.11
131.11
123.33
1.221
123.12
按照.为分隔符,第2列数字为比较数字,排序,-n按照数值排序
sort -n -t "." -k 2 c.txt
123.11
131.11
123.12
123.12
123.33
1.221
文件目录管理命令
touch
创建空白文件或设置文件的时间
-a 仅修改访问时间
-m 仅修改修改时间
-d 同时修改atime和mtime
将文件atime和ctime时间修改
touch -d "2022-10-12 10:21" b.txt
mkdir
创建空白目录
-p 嵌套创建
cp
复制文件或目录
-r d递归复制目录
-p 保留原始文件属性
-d 若对象为连接文件,则保留该文件的属性
-a 相当于-pdr
-i 若目标文件存在则询问是否覆盖
mv
剪切或重命名文件(默认删除源文件)
mv c.txt /opt/
rm
删除文件或目录
-r 删除目录
-f 强制删除
dd
按照指定大小和个数的数据块来复制文件或者转换文件
-if 输入文件的名称
-of 输出文件的名称
-bs 块的大小
-cont 块的个数
dd if=/dev/zero of=560_file count=10 bs=56MB
file
查看文件类型
file a.txt
/dev/sda: block special
a.txt: ASCII text
file /dev/sd
/dev/sda: block special
tar
对文件进行打包或者压缩
-c 创建压缩文件
-x 解开压缩文件
-z 用gzip格式压缩或解压缩
-j 用bzip2压缩或解压缩
-v 显示过程
-f 目标文件名
-C 指定解压到的目录
压缩/etc/目录
tar czvf etc.tar.gz /etc
解压etc.tar.gz到/root/etc
tar zxvf /opt/aaa/etc.tar.gz -C /root/etc
软件包
zip
压缩
-r 递归压缩
-m 压缩完成后删除源文件/目录
#压缩文件
zip test.zip data.txt
#压缩目录
zip -r /data/a.txt
unzip
解压
-d 把压缩的文件解压到指定目录下
-t 解压前进行测试,不解压
#解压压缩包到指定目录下
unzip -d /opt/ test.zip
gzip
只能压缩文件,不能压缩目录,不用指定压缩包名
-d 对压缩的文件解压
-c 把压缩数据输出到标准输出(一般会乱码),保留源文件
#压缩a.txt文件,生成a.txt.gz,且源文件会被删除
gzip a.txt
bzip2
只能对文件压缩,压缩后生成.bz2文件,与.gz相比算法先进,压缩比好,时间较慢
-d 解压.bz2文件
-k 压缩完不会删除源文件
#压缩文件,默认删除源文件
bzip2 a.txt
tar
打包,解压,压缩
-c 把文件或者目录打包
-x 解打包
-f 指定包名
-v 显示过程
-C 指定接打包目录
-z 压缩和解压缩.tar.gz格式
-j 压缩和解压缩.tar.bz2格式
#打包,把a.txt打包成test.tar包
tar cvf test.tar a.txt
#把目录打包
tar cvf test1.tar beats/
#把mycat目录压缩成.tar.gz格式
tar -zcvf test.tar.gz mycat/
#把mycat目录压缩成.tar.bz2格式
tar -jcvf test.tar.bz2 mycat/
#解压.gz格式
tar -zxvf test.tar.gz
#解压.bz2格式
tar -jxvf test.tar.gz
dd
if=:指定输入文件,即源文件。
of=:指定输出文件,即目标文件。
bs=:指定每次读写的字节数。默认情况下,dd 使用 512 字节的块大小。
count=:指定要复制的块数或数据大小。
rpm软件包
rpm -aq nginx 查看nginx软件是否安装
rpm -ql nginx 列出nginx的所有目录
rpm -e nginx 卸载nginx软件包
用户与用户组
用户操作
useradd
-u 指定用户UID -d 指定用户家目录(绝对路径) -g 指定用户的初始组 -G 指定用户的附加组 -c 手工指定注释信息 -s 指定登录的shell,默认/bin/bash -r 创建系统用户,UID在1~499之间 -创建a1用户 useradd a1 -创建a2用户并且指定用户的初始组为test2 useradd -g test2 a2 -创建a3用户,并指定家目录 useradd -d /home/aaa a3 -创建a4,并指定为/sbin/nologin(不能登录该用户) useradd -s /sbin/nologin a4 -查看创建用户使得默认值 useradd -D
usermod
修改用户信息 -d 修改登录用户的目录 -g 修改用户的所属群组 -G 修改用户所属的附加组,如果附加组不为空,则替换之前的附加组 -a 将用户添加到附加组中,不加-a默认组中只有一个附加组,加上-a可以有很多 -s 修改用户的shell -l 修改用户名 usermod -g a10 a11 把a11用户的所属组修改为a10的所属组(存在)
userdel
删除用户,但不删除目录和其他文件 -r 删除用户,文件和邮件池 -f 强制删除用户
用户配置文件
/etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin daidai:x:1000:1000:daidai:/home/daidai:/bin/bash 用户名:密码:用户标识号:组标识号:注释:主目录:登录shell
/etc/shadow
存储用户信息 polkitd:!!:19715:::::: sshd:!!:19715:::::: postfix:!!:19715:::::: 只有超级用户才能读 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group
daidai:x:1000:daidai a1:x:1001:a3 test2:x:1002: a3:x:1003: a4:x:1004:a3 组名:密码:组id:组内用户
用户组操作
groupadd
创建用户组
-d 指定UID
-f 创建系统用户组
groupmod
-g 修改UID
-n 修改名称
groupdel
如果要删除的属组是用户的初始组,提示报错要么先删除该用户,要么把该用户的数组修改为其他组
newgrp
从用户的附加组中选择一个群组,作为用户的初始组
groupadd g1
groupadd g2
groupadd g3
useradd -g g1 -G g2,g3 user1
passwd user1
su - user1
mkdir aaa
newgrp g2
mkdir bbb
newgrp g3
mkdir ccc
ll
drwxr-xr-x. 2 user1 g1 6 Jan 4 15:35 aaa
drwxr-xr-x. 2 user1 g2 6 Jan 4 15:36 bbb
drwxr-xr-x. 2 user1 g3 6 Jan 4 15:36 ccc
su
实现用户身份的切换,root<->普通用户,
su -
用户在切换的同时,连同当前的环境变量一起切换,切换身份更彻底
whoami
打印当前执行操作的用户名
who am i
打印登录当前linux系统的用户名
passwd
-S 查看用户的密码情况,仅root可用
-L 暂时锁定用户
-u 解锁用户
gpasswd
管理群组密码
-A user1 g1 将群组的控制权交给user1,仅root可用
-a user2 g1 将用户加入到群组
-d user3 g1 将用户移除
linux权限管理
文件权限查看
d 目录
- 文件
l 链接文档
b 接口设备
c 键盘
权限
对文件:
r 可获取文件的数据
w 可修改文件数据
x 可将此文件运行为进程
对目录:
r 获取文件列表
w 修改文件,创建或者删除
x 可cd,ls -l
更改文件属主属组
chown:修改文件所属用户和组
chown 属主名 文件名
chown 属主名:属组名 文件名
chgrp:更改文件属组
chgrp 属组名 文件名
chmod:修改用户权限
r:4
w:2
x:1
user: u+r,u-x...
group:g+w,g-x...
others:o+x,o+r...
特殊权限
SUID:用户对有SUID的文件操作时,会拥有该文件属组的身份去执 行,完成后身份取消。前提是用户对该文件有x权限
chmod u+s a.txt
SGID:赋予用户文件所属组的权限,可对文件或目录操作
chmod g+s a.txt
SBIT:仅对目录有效,一旦目录设定了SBIT权限,用户在此目录下 创建的文件或者目录,只有自己和root可以以修改或删除
chmod o+t aaa
ACL访问控制权
RAID与LVM技术
RAID技术
RAID级别 | 最少硬盘 | 可用容量 | 读写性能 | 安全性 | 特点 |
---|---|---|---|---|---|
0 | 2 | n | n | 低 | 容量大,速度快,但是只要一块硬盘损坏,则数据全部损坏 |
1 | 2 | n/2 | n | 高 | 安全性高,主要有一块硬盘可用,数据就不受影响 |
5 | 3 | n-1 | n-1 | 中 | 一般,允许有一块硬盘出现问题,且数据不受影响 |
10 | 4 | n/2 | n/2 | 高 | 综合RAID0和RAID1的优点,允许一般硬盘损坏,且数据不受影响 |
RAID0
将多块硬盘串联在一起,性能提升数倍,不具备数据修复能力
RAID1
把两块以上设备绑定,同时写入数据,可视为数据的镜像,某一块设备故障是,其他设备立即以热交换当属恢复数据,单数空间利用率为1/n
RAID5
在每一块硬盘上存放奇偶校验信息,最多允许一块硬盘损坏
RAID10
RAID10=RAID0+RAID1,先两两制作成RAID1磁盘阵列,保证数据安全性,然后再对两个RAID1磁盘阵列实施RAID0技术,提高性能,最多允许一般设备损坏
部署磁盘阵列
命令:mdadm
-a 检测设备名称
-n 指定设备数量
-l 指定设备级别
-v 显示部署过程
-C 创建
-r 移除设备
-f 模拟设备损坏
-Q 查看摘要信息
-D 查看详细信息
-S 停止RAID磁盘阵列
模拟创建RAID10
1.首先再虚拟机设置里面新添加4块硬盘
2.创建名称为/dev/md10,用4块硬盘,级别为RAID10,后面为4块硬盘
mdadm -Cv /dev/md10 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
3.挂载分区
mkdir /RAID10
mount /dev/md10 /RAID10
4.查看分区是否创建成功
mdadm -Q /dev/md10
df -h
5.查看信息
mdadm -D /dev/md10
6.将信息添加到文件,重启会保存
vim /etc/fstab
/dev/md10 /RAID10 ext4 defaults 0 0
名称 挂载目录 格式 默认 开机是否备份(0不备份) 开机是否检查(0bujiancha)
模拟设备损坏及修复
1.损坏设备,模拟损坏/dev/sdb硬盘
mdadm /dev/md10 -f /dev/sdb
2.查看是否损坏
mdadm -D /dev/md10
3.移除损坏的设备
mdadm /dev/md10 -r /dev/sdb
4.修复损坏的磁盘(最好重启后再修复)
mdadm /dev/md10 -a /dev/adb
5.查看修复进度情况
mdadm -D /dev/md10
磁盘阵列的备份
模拟RAID5,需要3块硬盘+一块备份硬盘,平时闲置,一旦数据损坏,自动修复
#创建RAID5阵列,3块硬盘+1块备用
1.mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
#查看RAID创建情况
2.mdadm -D /dev/md0
#格式化为ext4
mkfs.ext4 /dev/md0
#创建挂载目录
mkdir /RAID
加入开机自启动选项
echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
挂载/etc/fstab 所有内容
mount -a
#查看RAID5创建情况
df -h
#模拟损坏一块磁盘
mdadm /dev/md0 -f /dev/sdb
#此时查看设备完好
mdadm -D /dev/md0
删除磁盘阵列
#停用磁盘
umount /RAID
#将每块硬盘分别模拟损坏
mdadm /dev/md0 -f /dev/sdb(cde)
#将每块硬盘分别移除
mdadm /dev/md0 -r /dev/sdb(cde)
#此时查看设备情况
mdadm -D /dev/md0
LVM管理
部署逻辑卷
功能 | 物理卷PV | 卷组VG | 逻辑卷LV |
---|---|---|---|
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
显示 | pvdisplay | vgdisplay | lvdisplay |
删除 | pvremove | vgremove | lvremove |
扩展 | vgextend | lvextend | |
缩小 | vgreduce | lvreduce |
#1先将新添加的磁盘设置为pv
vgcreate storage /dev/sdb /dev/sdc
#2从pv中切割-L=180M大小的lv
lvcreate -n lo -L 180M storage
#3将生成好的逻辑卷格式化
mkfs.ext4 /dev/storage/lo
mkdir /linuxprobe
mount /dev/storage/vo /linuxprobe
#4查看挂载状态,并永久写入文件,永久生效
echo "/dev/storage/lo /linuxprobe ext4 defaults 0 0" >>/etc/fstab
扩容逻辑卷
#1首先取消挂载
umount /linuxprobe
2扩大逻辑卷
lvextend -L 200M /dev/storage/lo
3检查磁盘完整性
e2fsck -f /dev/storage/lo
4同步信息
resize2fs /dev/storage/lo
5重新挂载并查看信息
mount -a
df -h
缩小逻辑卷
1先取消挂载
umount /linuxprobe/
2检查文件系统的完整性
e2fsck -f /dev/storage/lo
3通知系统内核缩小逻辑卷
resize2fs /dev/storage/lo 100M
4将逻辑卷缩小
lvreduce -L 100M /dev/storage/lo
5重新挂载
mount -a
删除逻辑卷
1取消挂载
umount /linuxprobe
2在/etc/fstab文件中删除逻辑卷信息
vim /etc/fstab
3删除逻辑卷设备
lvremove /dev/storage/lo
4删除卷组
vgremove storage
5删除物理设备
pvremove /dev/sdb /dev/sdc
ssh服务与管理主机
创建网络会话
nmcli
绑定两块网卡
1 首先在虚拟机中添加一块新网卡设备,两块网卡处于同意网络连接模式中
2 创建一个bond网卡
nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=balance-rr"
3 向bond0设备添加从属网卡
nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname ens33 master bond0
nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname ens36 master bond0
4 配置bond0的设备信息
vim /etc/sysconfig/network-scripts/ifcfg-bond0
5 启动服务
查看设备详情
nmcli connection up bond0
启动
nmcli device status
远程控制服务
sshd服务配置文件在/etc/ssh/sshd_config
客户端ip 192.168.199.132
服务器IP 192.168.199.145
1 ssh 192.168.199.145
yes
输入服务器登录密码
成功
2 禁止以root管理员远程登录
在服务器上vim /etc/ssh/sshd_config
第38行 #PermitRootLogin yes 修改为no,并将#去掉
完成后重启sshd服务systemctl restart sshd
此时在客户端用root再次连接服务器,输入正确密码后,显示权限不够,此时切换其他非root用户可再次用密码登录
安全密钥登录
1 在客户端生成密钥
ssh-keygen
生成的密钥在/root/.ssh目录下
2 将客户端生成的密钥发送给服务端
ssh-copy-id 192.168.199.145
3 对服务器设置,只允许密钥登录,拒绝其他方式登录
vi /etc/ssh/sshd_configer
第65行 PasswordAuthentication yes修改为no
此时在客户端直接ssh 192.168.199.145可以登录到服务器
此时只用有密钥的客户端才可以登录服务器,如果把客户端132的密钥文件删除,就不能登录服务器
远程文件传输
scp是基于SSH协议在网络之间进行安全传输的命令 -V显示传输进度,-P指定远程主机端口号,-r传送文件夹
1 将客户端/root/opt/a.txt 传送给服务器
scp /opt/a.txt 192.168.199.145:/home
2 将服务器下的/root/opt/b.txt 传给客户端
scp 192.168.199.145:/opt/b.txt /opt
检索日志信息
/var/log/boot.log 系统开机自检事件及引导过程信息
/var/log/lastlog 用户登录成功事件,终端名称及IP地址
/var/log/btmp 登陆失败事件,终端名称及IP地址
/var/log/messages 系统及各个服务的运行和报错信息
/var/log/secure 系统安全相关是信息
/var/log/wtmp 系统启动与关机信息
journlctl 用于检索和管理系统日志信息
-k 内核日志
-b 启动日志
-u 指定服务
-n 指定条数
-p 指定类型
-f 实时刷新
--since 指定时间
查看今天的系统日志信息
journalctl --since today
查询前一个小时的系统日志
journalctl --since "-1 hour"
查询3:00到11:00的信息
journalctl --since "3:00" --until "11:00"
查询2020-01-01到2023-10-10的信息
journalctl --since "2020-01-01" --until "2023-10-10"
查询指定服
journalctl -u sshd
Apache
1下载服务器yum install httpd
2 检查服务器状态并运行 systemctl start httpd
3检查防火墙是否关闭 systemctl stop firewalld
4在浏览器中输入IP地址,可以看到Apach网站
5
/ect/httpd 服务目录
/etc/httpd/conf/httpd.conf 主配置文件
/var/www/html 网站数据目录
/var/log/httpd/access_log 访问日志
/var/log/httpd/error_log 错误日志
echo "hello world" > /var/www/html/index.html
此时再次访问Apache网站,主页上会显示hellow world
命名为index.html是因为当前网站首页名称是index.html
6修改网站数据保存目录