1970.1.1linux问世
date -d ‘1970-1-1 +18929 days’ 问世+天数 得到修改密码的日期 修改的日期是从Linux问世到你修改的时候一共有多少天

ls /dev/ 第一个斜杠是根目录下的dev目录

/:是Linux文件系统的根目录
/bin:存放用户命令 例如:/bin/ls
/boot:系统启动所需要的文件目录
/dev:设备文件目录
/etc:系统配置文件目录 配置文件写东西
/home:普通用户家目录
/root: 系统管理员root家目录
/run:进程的运行数据存放目录
/sbin:存放管理员用户使用的命令 例如:/sbin/shutdown
/tmp:临时文件目录;任何人都可访问,存放周期10天
/usr:常规目录;存放程序文件,库文件,共享文件,各种文档等
/usr/bin:存放用户命令
/usr/local:程序安装目录
/usr/sbin:类似/sbin;存放管理员用户使用的命令
/usr/tmp:被抛弃临时文件目录
/var:动态数据文件目录;日志文件log,数据库,缓存目录等
/var/tmp:临时文件目录;存放周期更长
除了以上目录,还有一些其他目录:

/lib:存放程序库文件
/lib64:存放64位程序库文件
/media:用来挂载媒体设备
/mnt:用来挂在存储设备
/opt:可选的应用安装位置
/proc :所有正在运行进程的映像
/srv :用来存储本机提供的服务或数据
/sys:存放硬件设备的驱动程序信息

注意:

/etc,/bin,/sbin,/lib目录存放的是系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上。
/usr/local目录下的内容都是第三方软件,建议单独分区。

Sell壳:给人来提供操作界面 sell壳(内核(计算机二进制))
内核:控制硬件

[durui@localhost~]# 波浪线表示在家目录 #管理员 $普通用户 su - root输入密码进入管理员

:nohl 取消黄色

history查看输入历史命令
set nu 显示配置文件行数
yum -y update 更新yum

centos8 设置中文
echo “export LC_ALL=en_US.UTF8” >> /etc/profile
source /etc/profile

Linux [Error]错误:激活连接失败:No suitable device found for this connection.无网络图标【已解决】
mv /var/lib/NetworkManager /var/lib/NetworkManager.bak
reboot

替换文件里面字
:% s/要替换的文字/替换之后的字/g

如果要删除文件里字为aaa,那么脚本可以这样写:
sed -i ‘/aaa/d’ abc.txt
如果删除的是一个变量的值,假如变量是var,应该写成:
sed -i ‘/’“$var”‘/d’ abc.txt

补全tab
1.安装epel
yum -y install epel-release
2.安装bash-completion包
yum -y install bash-completion*
3.即刻生效
source /etc/profile.d/bash_completion.sh

init 0关机 shutdown now关机
{}列表的意思 \后面的一个符号没有反应
vim +文件 进入文件可以添加内容 按i进入输入模式
ls --all --size /size查看all下每个文件的大小 缩写 ls -a -s /
–长选项 - 短选项

dr-xr-xr-x. 5 root root 4096 Oct 19 11:20 boot 5(表示有多少快捷方式) 第一Root(谁创建)第二个(Root)用户组 4096(大小)

ls -l 没有带参数是查看当前目录当前root里面

ls -lh h转化 l 文件的大小
用(·)开头是隐藏文件 ls -a
ls -R递归把当前目录里面所有的文件都列出来

cd /文件夹名称/ 在家可以查看别的目录信息 cd回到家目录

pwd 表示你当前在什么位置

touch file{1…10}创建多个文件file1.file2…file10
mkdir 加名称 在当前目录创建
mkdir /tmp/hzz 绝对路径表示方式 在tmp目录下创建hzz

echo $?查看上一个命令是否正确 显示0正确 显示1错误

mkdir -p /hzz /zzh/zh 当要在hzz下的zzh文件下再创建zh,但是zzh没有创建在前面加了-p就可以自动创建

rmdir hzz /只能删除空文件

创建新的文件,当创建的文件已经有了就会刷新文件的创建时间

rm 删除回车会问你是否删除 y后 \rm 加文件名 反斜杠取消问是否删除直接删除 rm -rf 直接删除不会问

rm -r hzz/ 会把这个文件加里面的文件全删除一遍

cp 加文件名/要移动到的文件夹名字/ cp 加文件名/要移动到的文件夹名字/ 可以加要该的名字 cp -ap (//归档复制,常用于备份) -p //拷贝时保留原权限

cp hhz zzh /tmp/可以把这两个文件复制到tmpls

mv /tmp/hzz/ /tmp//zzh/把这个文件改名

hostname 查看主机名 hostname 加要修改的名字 就可以修改主机名字 (临时修改名字重开终端有效,重启无效)

hostnamectl set-hostname 加修改的名字(这个重启终端和重启设备名字都会修改)

wq 保存退出 wq!强制保存 q!不保存直接退出 末行模式 x=wq!

vim /etc/hostname

CTRl+L清屏 clear 清屏

[root@localhost ~]# who 查看有谁登录了系统
durui pts/0 2021-10-21 09:23 (192.168.71.1)
durui pts/1 2021-10-21 09:23 (192.168.71.1)

[root@localhost ~]# w 可以看到有谁进入系统并且可以看到它在输什么命令
09:31:32 up 37 min, 3 users, load average: 0.05, 0.07, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
durui tty2 tty2 08:55 42:27 7.65s 0.08s /usr/libexec/tracker-miner-fs
durui pts/0 192.168.71.1 09:23 1.00s 0.02s 0.26s sshd: durui [priv]
durui pts/1 192.168.71.1 09:23 7:46 0.78s 0.78s top

which 加目录名字可以查看文件在那个目录
date 打印现在的时间 Thu Oct 21 09:39:03 CST 2021

date “+%y%m%d%H%M%S” date "+%y /%m /%d %H:%M:%S"修改时间格式

//格式化输出时间:+
%Y //年
%m //月
%d //日
%H //时
%M //分
%S //秒

date -s "2021-10-2 0:0:0"修改时间

cal 可以查看日历 cal -1 查看一个月 cal -3查看三个月的日历 cal -y 查看一年的日历

bc进入计算器 bc -1使用标准数学库

echo ‘scale=2;5/2’|bc -l
//scale=2表示保留两位小数

echo “hello world” 打印hello world

ls --help 可以帮助不知道命令怎么用*
t
man ls 可以帮助你不会用的命令888888888888///

[root@localhost ~]# a=123
[root@localhost ~]# echo "hello world $a"双引号和单引号的区别
hello world 123
[root@localhost ~]# echo ‘hello world $a’
hello world $a

ls zzh* 星号可以代表所有字符可以列出名字开头是zzh的文件 ls *0查找末尾为0的文件 ls ???1(搜索五位末尾为1的文件) 一个问号代表一个字符
ls zzh[ ]方括号里面可以输入搜索的范围 ls zzh[^.]搜索除了点号的所有文件

vim /etc/sysconfig/network-scripts/ifcfg-ens160 w:保存 q:退出 !:强制退出

文本内容查看

cat 一定不要用cat打开大的文件 cat 无法翻页
tac 从后往前打印
more 空格翻页只能从前往后当查看完就退出
less 上下键翻
head -15 +文件 显示开头十五行内容
tail -15 +文件 显示最后15行的内容

tail -f +文件 可以时时刻刻查看文件更新信息

sort +文件 根据首字母排序

sort -t ’ ’ -k 2 +文件 空格要用单引号框住

du -sh +文件 可以查看文件大小
cut -d ‘:’ -f 1-3 /etc/passwd 剪切第一段和第三段
awk -F ‘:’ ‘{print$1,$3}’ /etc/passwd 打印第一列到第三列 awk -F ‘:’ ‘/root/ {print$1,$3}’ /etc/passwd 可以匹配关键行匹配到root并且打印到root行的第一例和第三列打印出来

awk -F ‘:’ ‘NR==1 {print$7}’ /etc/passwd 打印第几行第几列

awk -F ’ : ’ ‘NR==47 {print$6}’ /etc/passwd
sed -i ‘s/1/100/’ hzz 把文件里的数字1全部替换为100 前两个斜杠中间写要被替换的 后两个斜杠是替换成的 只替换开头为1的
sed -i ‘s/1/100/g’ hzz 后面加一个g是全部的1替换为100

hzz(变量)=awk '/a=200/' hzz

I/O重定向:
>:覆盖输出重定向
>>:追加输出重定向

2> //重定向错误输出
2>> //追加重定向错误输出
&> //覆盖重定向标准输出或错误输出至同一个文件
&>> //追加重定向标准输出或错误输出至同一个文件
< //输入重定向
<< //Here Document,退出条件
grep ‘sbin’ /etc/man_db.conf > /root/out.txt 把man_db.conf里面带有sbin的文件覆盖输出到out.txt

grep “admin” /etc/passwd 搜索带有admin关键字的都打印出来

grep “root” hzz (结果root 123 root123) grep -w “root” hzz 完全匹配单词(结果显示root 123) grep -wv “root” hzz v取反表示没有root的

grep -E “^” hzz ^表示第一行第一个是什么 grep -E “^#” hzz (结果#100 a 100) grep -Ev “^#” 取反结果(不带#的)

grep -E “^0$” hzz 表示这一行只有零的

grep -Ev “#|$”hzz 把备注的信息都屏蔽掉 扩展智能表达式竖杠是或者的意思

grep -q -Ev “#|$”hzz 加一个-q 静默输出自己和别人都看不了

grep “5” -c 1 hzz 可以匹配到内容以及前后各显示几行

find / -name “zzh” 当不知道那个文件的位置 就在根里搜索 搜索结果(/root/zzh)
find / -name “zz?” 在不知道全名字时加文号搜索结果(/root/zzh)

  • name ‘文件名’ 对于文件精确查找
    -uid //根据UID进行查找,当用户被删除以后文件
    -gid //根据GID进行查找,当用户被删除以后文件

-nouser //查找没有属主的文件.用户被删除的情况下产生的文件,只有uid没有属主
-nogroup //查找没有属组的文件.组被删除的情况下产生

find / -size +20M 查找 大于二十兆的文件 find /etc/ -size +30k -size -50k 查找30k到50K
find /etc/ -size +30k -size -50k ! -nouser 感叹号取反必须输入用户 -nouuser(不属于任何用户)
-type //根据文件类型来查找(f,d,c,b,l,p,s)
-size //根据文件大小进行查找。如1k、1M,+10k、

find / -mmin +1 查找一天前修改的文件
find /root/ -mmin +1 查看root一天前修改的文件 -mmin (多少分钟修改过) -cmin(多少分钟改变过) -amin(多少分钟访问过) +5 //5分钟前 -5 //5分钟以内

find / -user 文件名 -type f 默认情况下 -type 和 f 都要满足
find / -user 文件名 -o -type f 两个条件满足其中一个
find / -user 文件名 -o -name “文件名” 满足文件名字或者属于这个文件

find /root/ -name “hzz” 查找hzz文件 find /root/-not -name “hzz” -not 不是hzz的文件
find /root/! -name "hzz"感叹号取反的意思
find / root/ -name “hzz” -fls /root/out.txt 把查找到的hzz文件里的信息复制到out.txt文件里 如果要复制到的文件没有创建会自动帮你创建

find /root/ -name “hzz” -ok cp -r {} /opt/ ; 在root 里面查找hzz文件放到大括号 反斜杠加分号固定

find /root/ -name “zzh” 查找结果正确再往后操作 结果显示(zzh)
find /root/ -name “zzh” -exec cp -r {} /opt/ ; 查找到zzh文件放到opt文件如果opt文件没有会自动创建 结果是opt 文件里有zzh

Is > /root/文件名 (大于号)重定向当没有这个文件会自动帮你创建
ls 覆盖重定向会把原本文件的内容清空
大于号默认只重定向正确的信息 在大于号前面加一个2就是把错误的重定向输出一个文件

cat 显示文件内容
cat < /root/文件 小于号把后面文件的内容当键盘输入到cat这个文件里面

cat << ZZH 两个小于号定义退出条件当输入ZZH就会退出

tee /root/hzz 打印一份另一份保存在文件夹里 tee /root/hello.out <<quit 加了一个退出

echo “hello hzz” echo “hello hzz” | cat 从标准输入交给字符串交给cat 管道符前一个命令完成后的文本交给后面再处理 前一个命令的输入是后一个命令的输出 管道符连接两个命令
echo “hello hzz” | cut -d '空格 ’ -f 2 空格分成两段 -f2 是第二段 这个输出结果是(hzz)

ps aux | grep “sleep 60” | grep -v “grep”

ls |xargs rm -rf (xargs)文本信息转换到命令行在把转换的参数交给后面的
ls |xargs -i cp {} /opt/ 大括号会把参数承接下来

gzip +文件 gzip hzz.txt (压缩结果为(hzz.txt.gz)压缩和解压都是放在当前目录 原来的文件就没有了变成压缩文件
gunzip hzz.gz 解压
gzip -c ls.hzz.gz
gzip -c ls.hzz > /root/ls.hzz.gz 压缩了原文件还在

bzzip2 ls.hzz 压缩

file 加文件名或者压缩包就可以知道是什么类型文件

tar -cf test.tar创建归档文件

tar -xf 不需要指定的压缩方式会自动识别压缩方式

Vi/vim 三种编辑模式
命令模式 输入模式 末行模式

Vim +3 +文件 打开文件光标直接在第三行
vim +/关键字 文件 关键字会被标亮 标亮的字母按字母n会跳转 上下左右键可以切换左右上下行 {在命令模式下输入(一个数字)加上下左右键就可以跳几行}
在命令模式下光标移动到字母模式下按 S 直接删除 按数字在按S就可以删除多个 命令模式下 按xp可以把两个字母交换位置 dw删除单词
命令模式按U撤回删除的 #u:直接撤销此前的#次编辑操作 {末行模式 :1,5d表示删除第1到第5行}
在命令模式下按yy复制一行 再按p粘贴到下一行
在命令模式下按大写的R输入就可以替换光标在的内容

什么样的用户有什么权力就干什么样的事
管理员的id是0
普通用户id 1-65535 分为 系统用户 登录用户
系统账号的shell使用/sbin/nologin,此时无法登录系统,即时给了密码也不行 useradd -s /sbin/nologin alice +要创建的用户
ls /home/可以看到家目录 su 用户 切换用户 管理员登录任何用户都不需要密码
id root //查看用户的帐号属性信息 直接id 查看当前登录的用户信息
tail /etc/passwd 可以看到每个用户 当每创建一个用户时系统会给你自动创建一个基本组每个用户有且只有一个基本组(可以公用一个组)useradd -g 1002 gxq2 把gxq2共用gxq1的组
useradd -M gxq20 -M创建用户时不给其创建家目录没有任何权限

groupadd +用户组名 创建用户组 举例 (将用户 student01 和 student02 添加到 computers 用户组中,usermod student01 -a -G computers usermod student02 -a -G computers)
groupdel +用户组 删除用户组

useradd +用户名 创建用户名 root分配的用户,在不是root用户里创建用户需要 sudo useradd+用户名
userdel +用户名 删除用户
userdel +用户名字 只删除用户不删除用户数据(给你一个机会数据还在,把这个用户在创建回来再把数据还原)
userdel -r -f+用户名字(全删)
echo ‘Student02’|passwd --stdin student02 设置密码 密码为Student02 主目录设置为 student02

useradd 创建用户 usermod 修改用户 userdel删除用户
getfacl +目录 查看有哪些 用户对这个目录有什么权限

exit 退出 在root下进入用户exit退出
echo ‘123456’ | passwd --stdin +用户名字 设置用户密码
passwd -u 用户名字 解锁用户 -l 锁定用户 -d删除用户密码
man passwd寻求帮助
passwd -w +n 提前(n天)开始警告 -n 指定最短使用期限 -x 指定最长使用期限

举例:创建一个新用户 student02,设置密码为“Student02”,工作主目录设置为“/home/student02”,指定其 UID 为 505,该用户属于 students 用户组;
{groupadd students
useradd student02 -G students -u 505 -d /home/student02 把student02 的UID设置为505
echo ‘Student02’|passwd --stdin student02 设置密码 主目录设置为 student02
id student02 查看用户属性是否设置正确}

[root@localhost ~]# openssl dgst -md5 /etc/passwd
MD5(/etc/passwd)= cff99f7fc9b4117c0970ff95bec3a095
[root@localhost ~]# openssl passwd -1 -salt hellotom hellotom(这个是想输入什么都行)
Password: 这里是输入密码
11hellotom$fJZJATyC2kT/x3Lo04kXP1 生成密码 这个生成的是输入的密码+hellotom

which +文件 查看位置 ll 列出当前文件或目录的详细信息
权限
文件
r read读 看到文件里的内容
w write 写 向文件里面写东西
x 执行 文件是可以执行的

目录
r read 读 能够看到目录下面的内容
w 能够在目录下面创建新目录,删除目录
x 能够进入目录

读=4 三个为一段 r - -(4+0+0)
写=2 - w - (0+2+0)
执行 =1 - - x (0+0+1)

chmod 修改权限
权限修改命令chmod
属主和属组修改命令chown

owner 属主, u
group 属组, g
other 其他, o
所有者:读写执行 所属组:读写 其他人:读 chmod 764 +文件(给这三个都设置了不同的权限) chmod u/g/o-权限 文件名
a=all 三个权限一样用a

chmod 修改权限 chown 修改属主、所有者 属组 1、 chown 用户名: 组名 文件名 2、 chown 用户名.组名 文件名 3、 chown 用户名 文件名 ----所有者 4、 chown .组名 文件名 —修改所属组
chmod g=r 加上文件 只给它读的权
chown +(. 点号后面输入所属组的名字 )+文件就可该这个文件的所属组
所有者: chown 用户 文件名
所属组: chown.用户 文件名

chgrp +用户 + 文件 就可以把这个文件修改所属组

SUID 对象是u所有者
chmod u+s 可执行的文件 vi 所有者是谁进程就属于谁

SGID 对象是所属组g
chmod g+s 目录 如果添加了特殊权限,那么就可以继承父目录所属组的用户

sticky 对象是其他人o
chmod o+t 公共目录,并且是所有人都可以看到,需要给所有人

单独给某个用户设置权限
setfacl -m u:用户名: 权限 文件 (-m代表的是设置权限u代表的是user用户)
查看用户的权限是否设置成功
getfacl 需要查看权限的文件(get 获取)

删除某个用户的权限
setfacl -x u:用户名+ 文件名

删除所有设置的权限
setfacl -b 文件名(-b代表的是删除所有)

新建文件和新建目录的默认权限是由遮罩码umask来控制的。umask+0022(随便)
666文件的最高权限 文件默认权限是644
777目录最高权限 目录默认权限755

给普通用户授权:
1.确保普通用户的存在,给普通用户设置密码
2.编辑配置文件visudo 不能够使用vi /etc/sudoers打开
如果是赋予全部的权限:用户名 ALL=(ALL)ALL
1个ALL代表所有主机,2个ALL代表所有人的身份,3个ALL代表所有命令
如果是赋予部分的权限:用户名 ALL=(ALL)命令的绝对路劲
3.保存退出,切换至普通用户
4.验证,执行命令,需要在命令前加上sudo,如果不加则无法成功,输入用户的密码
5.这个命令就执行成功

sleep +(多少秒)可以休息多少秒针期间什么都不执行命令s:秒,默认s:秒 m:分 h:小时 d:天

lastb 可以查看用户登录的信息
lastlog -u +用户 可以查看指定用户的登录信息

僵尸进程:子进程在执行过程中(父进程没有了就会是非正常退出就会变成僵尸进程)正常情况下子进程执行完了会交给父进程正常退出

top -d1 查看CPU动态使用情况 -d1 一秒刷新一次 top -d1 -n 8 刷新八次 -n 显示刷新次数 top -d1 -n 8 -b -b 刷新显示完整数据
top 第一行的最后三个数

vmstat 命令监控系统资源
vmstat 1 2 动态刷新 每一秒刷新一次 一共刷新两次

pstree 查看系统中的所有进程,以树状图的方式查看。
ps aux | grep ‘sleep 500s’ 查找名字为 sleep 500s的进程
pidof +进程名字 可以直接显示这个进程的进程号
kill 可以杀进程
kill -l 查看有多少信号
killall slepp 关掉名字为slepp所有程序
kill 加进程id 可以关掉进程

1 SIGHUP 该信号让进程立即关闭,然后重新读取配置文件之后重启
2 SIGINT 程序终止信号,用于终止前台进程。相当于输出 ctrl+c 快捷键
9 SIGKILL 用来立即结束程序的运行. 本信号不能被阻塞、处理和忽略。一般用于强制终止进程
15 SIGTERM 正常结束进程的信号,kill 命令的默认信号。有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL 信号,也就是信号 9
18 SIGCONT 该信号可以让暂停的进程恢复执行。本信号不能被阻断
19 SIGSTOP 该信号可以暂停前台进程,相当于输入 ctrl+z 快捷键。本信号不能被阻断

sleep 1000s & 程序sleep1000s 后面空格加安特符号 安特符号把程序放在后台运行 一旦终端断开进程直接结束了
大写的T 是暂停状态
s是运行状态

[1] 9730 方括号 1 表示放入进程的第一个 工作号(作业号)是用户主动将进程放入后台之后产生的,一般用"[数字]"形式表示。#工作号(作业号)的作用是方便用户管理后台运行的程序。

nohup 加进程 会在当前目录下 生成 nohup.out 文件这个文件是存放数据结果的(脱离终端不断在运行的程序叫守护进程)所有的服务都是以守护进程服务的
grep “model name” /proc/cpuinfo查看cpu 核心数

top -n 1 -b | awk -F ‘:’ ‘NR==1 {print$4}’ top 第一行后面三个数是负载数 与CPU的核心数对比如果大于CPU的核心数说明电脑在超负荷运载

systemctl 重启守护进程

systemctl+start+sshd 启动sshd服务 systemctl+stop+sshd 停止sshd服务
sshd远程连接所有Linux里面都有这个服务默认都是开的

systemctl enable+ 服务开机自启设置正确会弹出 Created 或者不弹说明设置正确
systemctl disable+服务 禁止开机自启 设置正确会弹出Removed 或者不弹

eno 网卡是焊在主板上
ens 网卡可以拆下来
以太网卡 eth [0,1,2,…]

cd /etc/sysconfig/network-scripts/ 网卡存放的位置

看到dynamic 就是自动获取IP 服务器不能自己获取IP地址 要设置为静态

IP命令的所有操作系统重启就失效了
给网卡添加IP地址 ip addr add 192.168.52.157/24 dev eth0 把add 改成del就是删除

DNS1 = 192.168.253.2 指向网关 DNS 后面的1一定要加 第二个就写2

systemctl restart NetworkManager 重启网卡配置服务

nmcli con up etho con配置文件 up启动

用命令的都是临时的只有写配置文件才是永久的

nmtui工具

nmcli connection modify eth0 ipv4.addresses 192.169.253.129/24 ipv4.gateway 192.168.253.2 ipv4.dns 192.168.253.2 +ipv4.dns 8.8.8.8 autoconnect yes
modify 修改 ipv4.addresses修改IP ipv4.gateway修改网关 ipv4.dns 修改dns +ipv4.dns 8.8.8.8 新加一个dns autoconnect yes 开机自启

nmcli connection add type ethernet if name eth0 con-name eth0 ipv4.addresses 192.168.253.130/24 ipv4.gateway 192.168.253.2 ipv4.dns 192.168.253.2 +ipv4.dns 8.8.8.8 ipv4.method manual autoconnect yes

ip addr add 192.168.253.128/24 dev eth0 增加一个临时IP
nmcli connection modify eth0 +ipv4.addresses 192.168.253.130给eth0加一个IP地址 modify修改

nmcli connection delete eth0-2 删除配置文件
auto自动获取

host www.baidu.com 使用host命令查询看DNS解析记录 解析成功说明DNS没有问题
nslookup 进去输入一个解析一个

ss -anltup
什么样的服务占用了什么端口要用什么IP去访问 端口开了不代表服务开了 服务开了不代表端口开了

第一块光盘叫sr0
子包是主包的插件 安装了子包可以有更多的功能

想要使用存储设备都需要挂载目录上 挂载目录是 /mnt 不要直接挂在/mnt 在mnt下再创建一个目录
系统重启挂载消失

wget + 加网页连接直接下载

协议的名字+冒号斜杠斜杠表示调用这个协议

磁盘大小,小于2TB 用MBR分区表 大于用GPT分区表

创建分区序号大于4的就是扩展范围分区
partprobe /dev/sdb手动刷新磁盘

lsblk 查看
mkfs格式化磁盘或分区
mkfs -t +选择什么系统 xfs文件系统删除了可以恢复
df -h 查看 df -Th T查看格式
blkid可以查看磁盘的UID和文件类型

创建卷组首先创建物理卷
pvcreate +一个分区 把它变成物理卷
vgcreate +要创建的卷组的名字 +物理卷 (创建卷组)

umount +位置设备名字卸载挂载
vim /etc/fstab/写配置文件可以永久挂载
mount -a 重新读取 /etc/fstab 加了-a 立马生效
第一个0表示不备份,第二个0表示不检查

磁盘管理
fdisk(最多能够分四个主分区) 40G主分区1 18G主分区2、10G 主分区3 56 扩展分区(逻辑分区)
gdisk (128个分区)

pvs查看物理卷
lvs 查看逻辑卷
vgs查卷组
不要缩减,缩减失败整块磁盘就没有用了
vgdisplay +卷组 查看这个卷组的信息
partprobe+磁盘 刷新
pvcreate /dev/vdb1 把新建的分区vdb1变成物理卷
vgcreate testvg /dev/vdb1 新建卷组 把这个物理卷加入卷组
lvcreate -n vo -L 200M testvg 在testvg里面拿200M创建逻辑卷 名字为vo
lvextend -L 300M +逻辑卷 就可以把这个逻辑卷的大小变成300M -L指定大小 lvs 查看发现已经是300M了但是没有生效
因为是xfs格式 所以 xfs_growfs +挂载点的路径 然后这个逻辑卷就会变成300M

SWAP分区创建
free -mh查看内存和SWAP交换分区的使用情况
SWAP交换分区就是LINUX下的虚拟内存分区,我们新建一个分区 修改它的类型为SWAP l查看类型
格式化 mkswap +分区的路径
要挂载到SWAP 挂载类型SWAP
swapon -a 立马生效
free -m 查看交换分区

创建逻辑卷
创建一个大小为50个pe 一个pe为16M (注意我们创建是要多创建一个pe也就是51个pe )
分一个816M的主分区 因为做LVM的 修改分区类型所以l查看LVM 类型是8e p查看
partprobe 刷新分区表
vgcreate -s 16M myvg /dev/vdb3 -s 16M(指定每个pe的大小为16M) myvg(属于这个卷组) /dev/vdb3这个物理卷加入这个组
lvcreate -l 50 -n mylv myvg 创建mylv的逻辑卷 从myvg这个卷组里面拿50个pe 也就是800M
mkfs.vfat /dev/myvg/mylv 要求用vfat 格式 格式化
永久挂载 mount -a 重新读取挂载

创建VDO卷
vdo create --name=myvdo --device=/dev/vdc --vdoLogicalSize=50G
create (创建) --name=myvdo(vdo卷的名字为myvdo) --device(设备) /dev/vdc (使用这个磁盘) --vdoLogicalSize=50G(要创建的逻辑卷的大小为50G)
mkfs.xfs (指定要求xfs格式 格式化) 挂载

yum clean all清空本地仓库缓存
yum makecache缓存元数据
yum repolist列出所有可用仓库
service +服务 stop 可以停止服务
yum list 查看已经安装的包
dnf -y install +服务可以安装
yum erase +服务可以删除
systemctl restart crond.service 开启crond.service 服务
systemctl enable crond.service 设置这个服务开机自启

id_rsa.pub公钥
id_rsa私钥
known_hosts接受的密钥放在这

systemctl stop firewalld.service关闭防火墙
systemctl disable firewalld.service 关闭防火墙的开机自启
systemctl status firewalld.service 查看服务状态
vim /etc/selinux/config selinux 子系统
firewall-cmd --list-all可以在防火墙开启后查看状态
如果一定要打开防火墙我们可以放行
firewall-cmd --add-service=http --permanent service(服务)service=http 是把http这个服务加入进去 --permanent(永久添加的意思)
firewall-cmd --reload 重新加载防火墙配置文件 就会发现http 协议加入进去

firewall-cmd --add-rich-rule ‘rule family=ipv4 source address=172.25.250.0/24 port port=82 protocol=tcp accept’ --permanent
加入rich-rule ‘rule规则 family=ipv4 source address=172.25.250.0/24等于这个网段 port port=82放行端口号 protocol=tcp协议为tcp accept接受’ --permanent(永久添加)

sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config (关闭了ssh)
setenforce 0(先修改配置文件临时重启在线关闭)
systemctl restart sshd重启sshd
semanage port --list |grep http可以查看http里面有什么端口了
semanage -a -t http_port_t -p tcp 82 可以把端口82加入到http里面 -a 添加 -t(指定类型semanage port --list |grep http可以查看http的类型)-p 协议 +端口号

注意:请关闭firewalld防火墙和selinux安全子系统。
创建网页 设置完成先设置成开机自启和重启服务
vim index.html 创建index.html这个叫首页
配置文件:/etc/httpd/conf/httpd.conf ,这个是httpd最主要的配置文件
扩展配置文件:/etc/httpd/conf.d/.conf ,这个是httpd的额外配置文件
网页的存放目录:/var/www/html/
模块的目录:/etc/httpd/modules/
日志目录:/var/log/httpd/

访问日志为:./access_log
错误日志为:./error_log
ss -anltup查看

systemctl restart rpcbind nfs-server 重启服务

rz -y 上传文件
chown -R durui /var/www/html/durui 给/var/www/html/durui的所属主所属组设置为durui
C:\Windows\System32\drivers\etc

配置系统调优
tuned-adm list列出系统调优方案
tuned-adm recommend查看系统推荐方案
tuned-adm profile virtual-guest 将系统调优方案调整为推荐方案
tuned-adm active查看系统调优方案是否调整为推荐方案

配置autofs
用两台虚拟机servera serverb 主机准备NFS服务端环境
mkdir -p /rhome/ldapuser0创建这两个目录 根据下面题目所以创建这两个名字的目录
vim /etc/exports 进入这个文件写入 /rhome/ldapuser0 *(rw) 把你创建的目录写上去 ✳表示在任何地方 都可以登录 给他们读写的权限访问
systemctl restart nfs-server systemctl enable nfs-server 重启服务(注意设置开机自启)

开启防火墙 放行服务
firewall-cmd --permanent --add-service=rpc-bind rpcbind是NFS(网络文件共享协议)
firewall-cmd --permanent --add-service=nfs nfs就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到本地系统可挂载的目录下
firewall-cmd --permanent --add-service=mountd Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。
firewall-cmd --reload 加载配置文件

在servera上配置autofs自动挂载

  1. serverb通过NFS共享⽬录/rhome到你的系统,此⽂件系统中包含为⽤户ldapuser0预配置的家⽬
  2. 预设⽤户ldapuser0的家⽬录应⾃动挂载到本地的/rhome/ldapuser0⽬录
  3. 预设⽤户ldapuser0的家⽬录是serverb.lab.example.com:/rhome/ldapuser0
  4. 预设⽤户ldapuser0的家⽬录应⾃动挂载到本地的/rhome/ldapuser0⽬录
  5. 挂载后的家⽬录必须可读写
    showmount -e serverb.lab.example.com 可以查看serverb 有没有可以挂载的
    yum -y install autofs安装autofs服务 重启服务设置开机自启
    vim /etc/auto.master 进入这个文件 第八行 写入/rhome /etc/auto.nfs 把/rhome的配置映射到/etc/auto.nfs里面去

443
mysql 端口 3306 数据库
myaql -uroot myaql的参数和用户不要隔开

nginx处理静态网站比httpd快
nginx适合做代理
集群是一定要代理端 (将相同功能的服务器通过一个代理端可以访问所有的服务器)

/usr/local/src/源码包放在这
cd /usr/local/nginx 里面的sbin下 ./nginx 启动 ./nginx -s stop 关闭
nginx -s reload 重新加载
nginx -t 检查语法错误

//在class4进入数据库,授权数据库用户可以远程登录
mysql -uroot -p1
GRANT ALL ON . TO ‘root’@‘%’ IDENTIFIED BY ‘1’;
FLUSH PRIVILEGES;