RHCSA总结

虚拟机

vmware 网络连接

桥接模式:它会通过宿主机的网卡去连接路由器或者交换机 获取一个网络地址,以路由器来看,它跟其他存在于这个网络的设备没有任何区别,它可以跟网络中任意一台设备产生网络交互。

NAT模式:它就相当于一个宿主机在使用的应用程序一般,宿主机可以他进行网络交互,网络中的其他设备不可以,并且它可以通过宿主机访问互联网

仅主机模式:即只和主机产生网络交互。

硬盘接口:

IDE、SCSI、SATA、NVME

一些常用的简单命令

如何查看linux版本信息

任何一个linux发行版都会在/etc/**-Release

cat命令用于查看 比较小的文本文件

[root@localhost ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.2 (Plow)

Shell:就是一个命令解释器,当你在命令行输入命令并按下回车之后,电脑会将你输入的命令转发给shell解释器,shell会将你的命令翻译成机器语言,然后执行。

bash: bonurne again shell; zsh:功能更广的shell;csh:c语言写的shell;

  • ssh:用于远程登录linux系统的命令

    格式:ssh 账户@地址 回车后输入密码即可登录

    有时登录的远程设备 跟宿主机曾经连接过设备ip重合,这时ssh保存的指纹信息跟当前链接的这台设备不同,会产生无法登陆的情况,解决方法如下

    #替换过去设备的fingerprint
    [root@localhost ~]# ssh-keygen -R 192.168.1.6
    # Host 192.168.1.6 found: line 1
    # Host 192.168.1.6 found: line 2
    # Host 192.168.1.6 found: line 3
    /root/.ssh/known_hosts updated.
    Original contents retained as /root/.ssh/known_hosts.old

  • [root@localhost ~]#

    • root代表了你当前登录的账户

    • localhost 就是主机的名字

    • ~:表示当前用户的主目录/家目录。~+表示当前路径 跟‘.’含义相同

    • 主机名后面是 当前用户所处于的路径位置

    • #/$:#代表当前登录用户是管理员,$代表普通用户登录

  • exit:大多需要进行交互性质命令都支持退出,exit就是退出命令。

  • su :switch user用于切换登陆用户身份,当时 - 作为命令选项时,可以完整的切换到该用户身份,没有 - 则部分切换。

    完整切换:
    [root@0918db ~]# su - redhat
    [redhat@0918db ~]$ 
    部分切换:
    [root@0918db ~]# su redhat
    ^[[A[redhat@0918db root]$ pwd
    /root

  • pwd:print working directory 打印当前用户所处的路径信息

  • cd :change directory 修改当前路径 .表示当前路径 .. 表示上一级路径

  • ls:list 将ls指定的路径中的文件\目录信息输出

windows下的家目录C:\Users\musicbear

linux下的家目录 /home/musicbear

Passwd

用于修改密码

格式:passwd [用户]

注意:

  • 普通用户只能修改自己的密码,root可以修改任何人的密码并且不需要原密码

  • 普通用户设置密码必须符合密码规则(大小写字符+符号字符+数字),root用户不受限制

  • 未设置密码的用户是禁用状态,而密码为空的用户是可以正常使用只是不能远程登录

重置root账户密码

以下操作只能在服务器跟前进行,无法使用网络重置

#第一步首先重启系统 进入grub界面
#第二步 在倒数第二行尾部添加rd.break 然后ctrl+x组合键进入救援模式
#第三步 mount -o remount,rw /sysroot/
#第四步 chroot /sysroot/
#第五步 passwd root
#第六步 退出 exit exit

主机名称

首先主机名称可以用于在众多设备中直接寻找到你的目标设备ip

#临时修改主机名称
[root@localhost ~]# hostname rhel #设置主机名称
[root@localhost ~]# hostname      #查看主机名称
rhel
​
#永久性的修改主机名称
[root@rhel ~]# hostnamectl set-hostname redhatttt

重启以及关机

reboot

poweroff

  • shutdown -r now 立即重启

  • shudown -h now 立即关机

linux中如何执行命令

命令格式: 主命令 [选项...] [参数(要操作的对象)...]

  • 命令分为两类:

内置命令:shell自带的命令

外部命令:有独立的可执行程序,文件名即命令名。

  • 选项:决定了命令的执行方式

长选项 --version

短选项 -V,-i,-d ,-r

  • 参数:决定命令的作用对象

    • 不同的命令的参数不同

    • 参数跟选项有时可以连续使用多个

    • 选项和参数并非一定要存在 如果 没有选项和参数 命令将以默认形式执行,注意不同命令默认是什么

查看命令帮助

1.man:manual缩写 是linux系统命令使用手册

空格 page down 向下翻页
按键b page up 向上翻页
/(从帮助文档的头到尾进行搜索) ?(从下往上) 可以用于搜索关键字按
n:定位下一个关键字将其放于窗口顶部
N:。。上一个。。。。。。。。。。。
q:退出当前命令手册

2.help:bash内部命令帮助

3.--help选项:命令的帮助选项,跟手册类似会列出命令的使用详情。

4.(不推荐)info命令:类似man手册

注意:在进行csa ce等考试的过程中可以使用帮助命令,但是帮助命令的信息繁多,最好自己掌握关键部分。

时间控制命令

date:用于显示或设置系统的时间与日期

#显示时间
#直接输入date会返回命令默认的时间格式
[root@rrrrr ~]# date
Sun Sep 10 03:50:37 PM CST 2023
#按招 指定的格式输出时间
[root@rrrrr ~]# date '+%Y%m%d%H%M%S'
20230910160137
[root@rrrrr ~]# date '+%j' 显示是今年中的第几天
365
​
#设置时间
#第一种方式
date -s "年月日 时分秒"/"年月日"/"月日"/"时分秒"/"时分"/"时"
#第二种 通过date 月日时分年
[root@rrrrr ~]# date 121211112022
Mon Dec 12 11:11:00 AM CST 2022
​

timedatectl同样也适用于设置系统时间的,只是timedatectrl可以通过跟远程时钟服务器进行授时。

参数:

status 显示状态信息

list-timezones 列出已知时区

set-timezone 设置时区

set-time 设置系统时间

注意:当你主动地设置了系统的时间,那么系统的时钟服务会认为你不再需要准确的时间而是自定义的时间,这时系统将停止时钟同步。

[root@rrrrr ~]# timedatectl status #查看时间与时区
               Local time: Tue 2022-02-22 02:23:59 CST
           Universal time: Mon 2022-02-21 18:23:59 UTC
                 RTC time: Sat 2023-12-30 16:17:37
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no
#设置时区
[root@rrrrr ~]# timedatectl set-timezone Asia/Shanghai 
#设置时间
[root@rrrrr ~]# timedatectl set-time 2022-3-31
[root@rrrrr ~]# timedatectl set-time 11:11:11
​

查看目录下的文件:ls

命令格式 :ls [选项] [参数]

当参数省略时 表示 命令对象是当前的目录

选项功能
-l以长格式显示文件的和目录的详细信息,ls命令默认只显示段格式
-ddirectory 显示指定的目录本身的信息,而不显示目录的内容
-h--human-readable 增强详情的可读性
-R以递归的方式显示指定目录及其子目录中的所有内容。
-a/-A显示隐藏文件(带点/不带点)
-iInode显示文件的索引节点号,(可以理解为指向了硬盘中地址)
-Ssize 按照文件大小排序

创建文件链接

  • ln

  • 格式:ln [选项] [文件/文件夹]

  • 选项:-s 创建一个软连接

目录操作

  • 创建目录 mkdir:make directory

    格式:mkdir [选项] 目录[.....]

    选项:-p 多层级创建

    -v 显示创建的详情

  • du——统计占用情况的命令

    格式 :du [选项] [目录]

    选项 : -s 只统计当前文件夹中的占用情况

    -a 显示每一个文件/文件夹占用情况

    -h 以可读性更好的方式显示大小

  • rm —— 删除文件

    格式: rm [选项] 文件/文件夹[......]

选项:-r 表示递归删除 会将会将文件夹及其子孙全部干掉 ​ -f 表示强制删除

创建普通文件

touch:用于创建文件或者修改文件的各种时间

格式:touch [选项....] 文件[...]

选项:-c 在修改文件的时候避免创建新文件

-a 修改文件访问(Access)时间

-m 修改文件的内容修改(Modify)时间

注意:如果不带任何选项touch一个已存在的文件则会修改它的三个时间

文件重定向

  • 数据流

    标准输出:stdout —— 1

    错误输出:stderr —— 2

    标准输入:stdin —— 0

  • 重定向数据流

    # >表示输出重定向,会清空指向的文件内容,然后将命令的执行结果写入到该空文件
    # >>表示追加重定向,会保留源文件内容,并在其后面添加新的内容
    # < 输入重定向,可以读取文件中内容,通过$()转换字符串为命令要使用的参数
    # << 结束标识符,通常配合输出重定向>使用,当输入的内容为结束标识符后方的字符串时,表示退出当前输入。

tee命令

假如说>是输出重定向,tee命令就是分流。

  • 格式:tee fil

  • 管道符 | : 管道符会将 它左侧命令的执行结果 传导给右侧的命令

vi编辑器

  • 命令模式下的编辑快捷键:

U:撤销操作

dd: 删除光标所在行

ndd:从光标处开始删除n行内容

yy : 复制光标所在行

nyy:从光标出开始复制n行内容

p(小写):向光标所在位置的下一行进行粘贴

P(大写):向光标所在位置的上一行进行粘贴

  • 命令模式下的光标的移动

G:可以直接跳转到文尾

gg: 跳转到文首

$:跳转到行尾

^:跳转到行首

w/b:一单词为单位进行向前/向后跳转

ngg/nG:跳转到第n行

  • 命令模式->编辑模式

i:在光标前进行插入

I:在可见字符的行首插入

a:在光标后进行插入

A:在光标所在行的行尾插入

o:光标所在的下一行插入

O: 官标所在的上一行插入

s:删除光标所在位置的字符并插入

S:删除光标所在行并插入

  • 末行模式快捷键

搜索:/关键字(n跳转到下一个关键字,N跳转到上一个关键字)

光标所在行的第一个搜索到关键字替换—— :s /old/new

光标所在行的所有关键字—— :s /old/new/g

从n1,n2中所有关键字的替换——:n1,n2 s /old/new/g

全文替换关键字——% s /old/new/g

  • 末行模式文本保存退出

q:未修改文本时可以使用q退出

q!:放弃保存并退出

wq:保存并退出

w:保存

w path:另存文件

wq!:强制保存退出

阅览文件的5个常用命令

  • cat(用于看短文件)

    -n :显示行号

    -b :显示非空行号

  • head

    -num :指定文件显示多少行内容,如果不带选项默认是10行

  • tail 从尾部去阅读文件

    -n num:指定一次显示多少行内容

    -f :选项可以保与日志文件同步,达到实时更新。

  • more :首先会显示阅读的进度,其次阅读最后的时候会自动退出,空格向下翻页,b按键向上翻页,enter向下按行滚动

    -c : 清空命令之上内容然后开始显示文件

  • less:没有进度显示,并且阅读完毕也不会退出。空格向下翻页,b按键向上翻页,enter向下按行滚动

-c : 清空命令之上内容然后开始显示文件

过滤命令——grep

格式:grep [选项] 关键字 文件

command | grep 关键字

选项:-n 显示行号

-i 不区分大小写

-v 反向选择——列出没有关键字的行

-A n/B n/C n——向下多显示n行/向上多显示n行/上下多显示n行

-c 显示找到了多少行

匹配模式:

grep a 文件名:查找文件中包含a的行

grep ^a 文件名:查找文件中a开头的行

grep ^[abc] 文件名:查找文件中a|b|c开头的行。(也开始【0-9】【a-z】表示范围)

grep ^ [ ^ a] 文件名:查找文件中非a的行

grep a$ 文件名 : 显示a结尾的行

grep ^$ 文件名 :匹配空行

Cut 切割命令

格式 :cut [选项] 文件

选项:-d 指定用于划分列的分隔符。

-f n 指定划分后提取第n行

-c n 提取文件每一行的第n字符

sort 排序命令

格式:sort [选项] 文件

选项:

-r 降序

-n 以数值类型进行排序

-u 去重

-t 分隔符 -k 以某一列进行排序

# 以:为分割符然后用第三列进行数值排序并只显示前三行
[root@RHEL etc]# sort -t : -k 3 -n /etc/passwd | head -3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

-f 忽略大小

-b 忽略缩进与空格

Uniq 去重命令

定义:用于去除文本中连续的重复行

格式:uniq [选项] 文件

选项:-c ——count,统计字符出现的次数

tr 替换字符命令

格式:command | tr [选项] [old] [new]

选项:-c 反选设定字符

-d 删除指定的字符

-s 缩减连续重复字符成指定单个字符

文件的其他操作

复制、移动文件

  • cp:copy 复制文件

    格式:-r 会复制文件夹及其子孙

    -a 保留链接、文件属性、并递归

    -f 强制覆盖不做提醒(linux中cp 命令默认强制提醒需要重新定cp才可以使用f)

-i 覆盖提醒

-p 保留源文件的权限

  • mv:move 移动/剪切文件

当要移动位置与当前文件所处的位置一样时,那mv命令相当于重命名

[root@RHEL ~]# ll
total 4
-rw-------. 1 root redhat 833 Sep 11 23:54 anaconda-ks.cfg
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Desktop
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Documents
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Downloads
drwxr-xr-x. 2 root root   155 Sep 12 10:34 movedir
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Music
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Pictures
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Public
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Templates
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Videos
[root@RHEL ~]# mv anaconda-ks.cfg abc
[root@RHEL ~]# ll
total 4
-rw-------. 1 root redhat 833 Sep 11 23:54 abc
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Desktop
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Documents
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Downloads
drwxr-xr-x. 2 root root   155 Sep 12 10:34 movedir
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Music
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Pictures
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Public
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Templates
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Videos

当移动多个文件时,最后一个参数必须是一个路径,也就是容纳多个文件的位置

[root@RHEL ~]# ll
total 4
-rw-r--r--. 1 root root     0 Sep 12 10:34 a
-rw-------. 1 root redhat 833 Sep 11 23:54 anaconda-ks.cfg
-rw-r--r--. 1 root root     0 Sep 12 10:34 b
-rw-r--r--. 1 root root     0 Sep 12 10:34 c
-rw-r--r--. 1 root root     0 Sep 12 10:34 d
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Desktop
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Documents
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Downloads
-rw-r--r--. 1 root root     0 Sep 12 10:34 e
-rw-r--r--. 1 root root     0 Sep 12 10:34 f
drwxr-xr-x. 2 root root   101 Sep 12 10:33 movedir
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Music
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Pictures
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Public
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Templates
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Videos
[root@RHEL ~]# mv a b c d e f movedir/
[root@RHEL ~]# tree movedir/
movedir/
├── 10
├── 1.txt
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
├── 9
├── a
├── b
├── c
├── d
├── e
└── f
​

mv命令支持通配符操作

[root@RHEL ~]# mv [0-9]* movedir/
[root@RHEL ~]# ll
total 4
-rw-------. 1 root redhat 833 Sep 11 23:54 anaconda-ks.cfg
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Desktop
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Documents
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Downloads
drwxr-xr-x. 2 root root   101 Sep 12 10:33 movedir
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Music
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Pictures
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Public
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Templates
drwxr-xr-x. 2 root root     6 Jul 26 16:10 Videos
[root@RHEL ~]# tree movedir/
movedir/
├── 10
├── 1.txt
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
└── 9

查找文件

whereis 查看命令的保存位置,以及相关的文档

which 查看命令的保存位置

locate 本质是一个查询本地数据库的命令,在数据库中查找文件的位置,优点:速度最快效率最高,缺点:需要更新数据库,更新命令(updatedb)

find 可以按照文件名、文件大小、文件权限、类型、所属者、所属组、时间等等来进行的检索。

格式:find 范围 [选项] [关键字]

选项:

-name 根据文件名进行搜索(basename)

  • -iname:文件名不区分大小写

  • -inum:根据硬盘索引号搜索

-path 可以对文件的dirname+basename进行查找

-size +/- n(k/m/g/t) 通过文件的大于/小于 n(kb/mb/gb)进行匹配

-atime +/- n 根据访问时间搜索——n天以内/以外访问过的文件,如不带符号表示 n~n+1,下面俩选项一样

-mtime 根据修改时间搜索

-ctime 根据元数据修改时间搜索

-newer file1 -newer !f2

#查找比abc新同时比bcd老的文件
[root@RHEL ~]# find / -newer abc ! -newer bcd 
/root/Mv/1.txt
/root/Mv/10

-perm——根据权限去搜索 如:777

[root@RHEL ~]# find /root -perm 777
/root/.mozilla/firefox/2ga2dvy2.default-default/lock
[root@RHEL ~]# ll /root/.mozilla/firefox/2ga2dvy2.default-default/lock
lrwxrwxrwx. 1 root root 17 Jul 26 19:10 /root/.mozilla/firefox/2ga2dvy2.default-default/lock -> 192.168.1.6:+3143
​

-type :根据文件类型去搜索

#搜索当前路径中的软连接文件
[root@RHEL ~]# find . -type l
./.mozilla/firefox/2ga2dvy2.default-default/lock
[root@RHEL ~]# ll ./.mozilla/firefox/2ga2dvy2.default-default/lock
lrwxrwxrwx. 1 root root 17 Jul 26 19:10 ./.mozilla/firefox/2ga2dvy2.default-default/lock -> 192.168.1.6:+3143

罗就运算符

-a :and与

-o :or或

-not :非

压缩和解压

  • zip

    格式:zip 压缩文件 文件/路径.....

    #1根文件生一个压缩文件
    [root@RHEL ~]# zip abc.zip abc
      adding: abc (deflated 34%)
    #多文件 生成一个压缩文件
    [root@RHEL ~]# zip root.zip  123 abc bcd 
      adding: 123 (stored 0%)
      adding: abc (deflated 34%)
      adding: bcd (deflated 34%)
    #压缩包的内容展示
    [root@RHEL ~]# unzip -v root.zip 
    Archive:  root.zip
     Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
    --------  ------  ------- ---- ---------- ----- --------  ----
           0  Stored        0   0% 09-12-2023 14:17 00000000  123
         833  Defl:N      550  34% 09-11-2023 23:54 c3bbee41  abc
         833  Defl:N      550  34% 09-12-2023 10:37 c3bbee41  bcd
    --------          -------  ---                            -------
        1666             1100  34%                            3 files
    #指定压缩率压缩文件(1-9)
    [root@RHEL ~]# zip -9 root1.zip 123 bcd abc 
      adding: 123 (stored 0%)
      adding: bcd (deflated 34%)
      adding: abc (deflated 34%)
    #解压缩
    [root@RHEL ~]# unzip root.zip 
    #解压缩到指定目录
    [root@RHEL ~]# unzip root.zip -d Desktop/
    Archive:  root.zip
     extracting: Desktop/123             
      inflating: Desktop/abc             
      inflating: Desktop/bcd    
    #添加新文件到已有的压缩包
    [root@RHEL ~]# zip root.zip -m p
      adding: p (deflated 60%)
    #压缩文件夹
    [root@RHEL ~]# zip mv.zip -r Mv
      adding: Mv/ (stored 0%)
      adding: Mv/a (stored 0%)
        ....

  • gzip

    #压缩命令
    [root@RHEL ~]# gzip abc
    #压缩且保留源文件(-c会将压缩结果会使用标准输出,所以我们可以使用重定向创建压缩文件)
    [root@RHEL ~]# gzip abc -c > abc.gz
    #压缩文件夹(并不是将文件中的所有文件压缩为一个单文件,而是进入文件夹将每一个文件单独生成压缩包)
    [root@RHEL ~]# gzip -r Mv
    [root@RHEL Mv]# ll
    total 64
    -rw-r--r--. 1 root root 23 Sep 12 10:27 10.gz
    -rw-r--r--. 1 root root 26 Sep 12 10:27 1.txt.gz
    -rw-r--r--. 1 root root 22 Sep 12 10:27 2.gz
    ....
  • bzip2

    #压缩文件
    [root@RHEL ~]# bzip2 abc 
    #压缩且保存源文件
    [root@RHEL ~]# bzip2 bcd -k
    #指定压缩率 
    [root@RHEL ~]# bzip2 -9 bbb 
    #使用bzip进行解压
    [root@RHEL ~]# bzip2 -d abc.bz2  #等价于 bunzip abc.bz2
    ​
  • xz

    #压缩文件
    [root@RHEL ~]# xz abc 
    [root@RHEL ~]# xz abc -k
    #压缩目录
    [root@RHEL ~]# xz Mv/*
    #查看压缩文件详情
    [root@RHEL ~]# xzcat abc.xz 
    #解压
    [root@RHEL Mv]# xz -d 10.xz 
    [root@RHEL Mv]# unxz 1.txt.xz 
    #解压目录
    [root@RHEL Mv]# xz -d Mv/*.xz

tar——归档命令

格式:tar [选项] 文件

选项:

必选:

-f 用于指定打包名

3选一:

-c 创建.tar格式的文件

-x 释放.tar格式的文件

-t 查看tar包中文件列表

辅助选项:

-v 在命令执行时显示执行过程

-p 保留文件\目录权限 -z 调用gzip压缩\解压

-j 指定使用bzip2 压缩\解压

-J 指定使用xz 压缩\解压

-C 指定解压的释放路径

#打包 czf/cjf/cJf
[root@RHEL ~]# tar czf root.tar.gz abc bbb bcd 
#查看包内文件 tf
[root@RHEL ~]# tar tf root.tar.gz 
abc
bbb
bcd
#查看包内文件详情
[root@RHEL ~]# tar tvf root.tar.gz 
-rw-r--r-- root/root       833 2023-09-12 14:38 abc
-rw------- root/root       833 2023-09-12 14:49 bbb
-rw------- root/root       833 2023-09-12 10:37 bcd
#解压 xf/xzf/xjf/xJf
[root@RHEL ~]# tar -xf root.tar.gz 

文件的上传下载

scp:

#上传文件
#格式:scp 要上传或下载的文件 要保存的位置
#选项:-r 用于上传下载文件夹
​
#上传
musicbear@ahaodeMacBook-Pro ~ % scp imgtest/share_01.jpeg root@192.168.1.6:/root/Desktop
root@192.168.1.6's password: 
share_01.jpeg                                                          100%  169KB  25.2MB/s   00:00    
#下载
musicbear@ahaodeMacBook-Pro ~ % scp root@192.168.1.6:/root/bcd ~/
root@192.168.1.6's password: 
bcd                                                                    100%  833     1.1MB/s 
#上传文件夹
musicbear@ahaodeMacBook-Pro ~ % scp -r jetbra/ root@192.168.1.6:/root
#下载只需将远程服务器上的目录地址 放在第一个参数 第二个参数写保存地址即可

sftp:

#远程登陆了
musicbear@ahaodeMacBook-Pro ~ % sftp root@192.168.1.6
root@192.168.1.6's password: 
Connected to 192.168.1.6.
#查看在远程服务器上的工作路
sftp> pwd
Remote working directory: /root
#查看在本地工作目录(local)
sftp> lpwd
Local working directory: /Users/musicbear
sftp> lls 
#上传文件
sftp> put 23.7.20WEB前端.xlsx
#下载文件
sftp> get bcd
Fetching /root/bcd to bcd
bcd                                                                         100%  833   597.3KB/s   00:00 
#上传/下载目录的时候需要在get/put后面添加-r选项

xftp: 以一套成熟的带有可视化界面的商业软件,但是因为可视化的原因,经常导致服务器产生无意义的开销,所以不太对推荐使用。

type和alias

type命令可以查看命令是内置还是外置,并打印对应的路径

type -t 只显示命令是什么类型(类型:builtin、file、alias)

alias命令可以用于创造属于你个人命令

格式:alias 新命令名 ='命令组合(每一个命令之间用;隔开)'

每一个用户的家目录都有两个关于用户的配置文件,.bashrc(su可以加载到) .bash_profile(su -才能加载到)

当我们alias进行自定制命令时,在命令行定义的命令试一次性的,当关闭了当前命令行 该命令就被删除了

如果要使用永久性的自定义命令 则需要将 命令定义在.bashrc或.bash_profile中

#打开配置文件
[root@RHEL ~]# vim .bashrc 
​
#在文件中 添加自定义命令
...
alias myls='ls -Al'
...
​
​
#重新加载配置文件
[root@RHEL ~]# source .bashrc 

特殊符号

`(反引号:esc下面的按键):跟$()一样可以将字符串做为命令执行

‘ (单引号):回原样输出字符串的内容

“(双引号):除了$、\、`引起来的内容会被当做命令或者变量输出意外,其他都正常打印

history

用于查看曾经敲过的命令

-a :可以指定文件,将当前shell缓存命令保存在该文件中

-w:直接将缓冲区命令覆盖在.bash_history中

-n :显示多少条令

-r:将指定文件中的命令读取到shell缓冲区中,如果缺省文件则默认从.bash_hisotry

密码 = 原文 % 10

#etc/passwd 账户信息 文件字段解释
root:x:0:0:root:/root:/bin/bash
root: 用户名
x:密码占位符
0:uid
0:gid
root:个人资料
/root:家目录
/bin/bash:默认使用的shell
​
openssl生成密码
格式:openssl passwd -6
Password: 
Verifying - Password: 
$6$w0fihVzC9Ffe4Kff$jcw6YPY5ChB3EC7SjGbg5/CV.hP2thq/9q45mPkjUnW9sb4FU41V4kwuEKRYFw8dPxRxR8K/5Ypplo8kfkxVx1
​
​
#etc/shadow 密码相关信息 文件字段解释
root: 用户名
​
#这里密码 当密码位置!!的时候表示未设置密码 未设置密码的用户禁止登录 空密码用户可以登陆 空密码不能ssh
$6 sha512
$KyfsqPjk6Qy1lsH1 salt盐值
$I5zwuEWlN14uY50edQPQ8835jXmLeYYNduQyau53KRmkmpUxYNEJ9yGYDmVH9exURSK/RK59cZDtrN2atKt8z0:
​
​
19610:最后一次修改密码的时间
0:密码修改间隔
99999:密码过期时间
7:密码过期后几天警告
:密码失效日期
:保留字段供日后使用
​
#etc/group 用户组相关信息 文件字段解释
redhat:表示组名称
x:组密码占位符号
1000:组id
caixukun,root:用户组成员
#etc/gshadow 用户组密码信息 字段解释

用户管理的命令

  • useradd

    格式:useradd [选项] 用户名

    选项:

    -c 添加个人的注释信息

    -u 设置用户id

    -g 设置基本组

    -G 设置附加组

    -p 设置密码(密码非原始密码,而是经过哈希后的密码)

    -d 目录——设定用户的家目录(默认为/home/用户名)。

——————————————————————————————————

-M 不创建家目录

-N 不创建与用户名同名的基本组

-e YYYY-MM-DD——设置用户的失效日期,此日期后将不能使用该账号。

-f 天数——指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定为-1,则表示账号过期后不被禁用(即密码永不过期)。

  • usermod

    格式 :usermod [选项] 用户

    选项:

    -l:修改用户名

    [root@RHEL ~]# usermod wyf -l frj
    [root@RHEL ~]# cat /etc/passwd
    frj:x:1016:1016::/home/wyf:/bin/bash

    -L:lock 禁用用户

    -U: unlock 解锁用户

    [root@RHEL ~]# usermod -L frj#锁定
    [root@RHEL ~]# usermod -U frj#解锁
    ​
    #锁定的账户特征:1.在可视界面登录时没有该用户
                  2./etc/shadow中密码部分的字段会有!记录

  • userdel

    -r :删除用户时连着家目录一起删(如果服务器资源还可以时,尽量不删)

  • sudo:提权命令,普通用户可以该命令临时提升权限,权限范围在 /etc/sudoers/文件中,可以是直接通过vim修改,也可以通过visudo命令修改

    redhat  ALL=(ALL)       /usr/sbin/reboot
    redhat  #需要提权的用户名
    ALL     #指定哪些平台可以提权
    =(ALL)  #以什么执行命令     
    /usr/sbin/reboot  #可以执行的命令
  • passwd命令

    格式 :passwd [选项] 用户名

    选项:

    -d 清空密码

    -l——锁定(停用)用户账户。

    -u——解锁用户账户。

用户组的管理

  • groupadd

    格式:groupadd [选项] 组名称

    选项:

    -r 创建系统账户(伪账户),默认id 1-999,可以通过 -g设置

    -g GID 设置用户组的id

    #当添加完组以后,可以通过查看 /etc/group文件来确认是否添加成功
    [root@RHEL ~]# groupadd rhel_test1 -g 1111
    [root@RHEL ~]# cat /etc/group
    ...
    rhel_test1:x:1111:
  • groupmod

    格式:groupmod [选项] 要修改的组

    选项:

    -g GID:修改当前的组id

    -n 新组名:修改当前租的名称

    #修改组名称
    [root@RHEL ~]# groupmod -n rht rhel_test1
    #修改前
    ...
    rhel_test:x:1001:
    rhel_test1:x:1111:
    #修改后
    ...
    rhel_test:x:1001:
    rht:x:1111:
  • groupdel

    格式:groupdel 组名

    #删除组
    [root@RHEL ~]# groupdel rht
  • gpasswd

gpasswd不仅可以修改组密码还可以进行组成员的管理

格式:gpasswd [选项] 用户组

选项:

-r——清除组密码

-a——把用户加入组

-d——把用户从组中删除。

-M——可同时添加多个用户到组中

-A——给组指派管理员。

#批量添加组成员
[root@RHEL ~]# gpasswd -M caixukun,wyf,redhat rhel_test 
[root@RHEL ~]# cat /etc/group
#/etc/group中的添加后状态
...
rhel_test:x:1001:caixukun,wyf,redhat

查询用户信息

id命令:可以查看用户的详细信息

users:查看当前系统中登录的用户

w:展示当前用户的详情

who:类似w

last :查看系统中登录信息

权限管理

-rwxrw-r--. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
rwx:文件所有者的权限(u)user
rw-:文件所属组的权限(g)group
r--:其他人的权限(o)other
字符a(all):表示ugo
.:扩展权限
​
r代表可读read w代表可写write x代表可执行excute
rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
​
#如何修改文件的权限
chmod命令
格式:chmode [选项] 权限字 文件
选项:-R 表示递归的去修改文件夹下面所有内容

第一种修改权限的方式

[root@RHEL ~]# chmod g+rwx anaconda-ks.cfg 
-rw-rwx---. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod o+rwx anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rw-rwxrwx. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod u+rwx anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rwxrwxrwx. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod u-x anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rw-rwxrwx. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod ugo-x anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rw-rw-rw-. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod a-rw anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
----------. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod a=rwx anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rwxrwxrwx. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
[root@RHEL ~]# chmod o=--- anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rwxrwx---. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg

第二种方式

[root@RHEL ~]# chmod 777 anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rwxrwxrwx. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Desktop
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Documents
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Downloads
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Music
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Pictures
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Public
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Templates
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Videos
[root@RHEL ~]# chmod 666 anaconda-ks.cfg 
[root@RHEL ~]# ll
total 4
-rw-rw-rw-. 1 root root 829 Jul 26 16:08 anaconda-ks.cfg
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Desktop
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Documents
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Downloads
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Music
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Pictures
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Public
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Templates
drwxr-xr-x. 2 root root   6 Jul 26 16:10 Videos

数字修改权限的方式常用于要给777权限的情况下,因为无需计算且容易输入

当权限表达比较复杂时我们还是使用第一种方式进行修改

  • 扩展facl

    setfacl

    格式:setfacl [选项] [u:用户名:权限] 文件

    选项:

    -m 添加扩展权限 如: setfacl -m u:redhat:rwx 123.txt

    -x 删除扩在权限

    -b 清空扩展权限

    -k:删除默认 ACL 权限;

    -R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;

    [root@RHEL tmp]# setfacl -m u:redhat:rw- 123.txt 
    [root@RHEL tmp]# getfacl 123.txt 
    # file: 123.txt
    # owner: root
    # group: root
    user::rw-
    user:redhat:rw-
    group::r--
    mask::rw-
    other::---
    # 当会用-x删除扩展权限时,虽然权限已经删除掉了 但此时使用ll还能看到.的位置上是一个+,如果想要变回.则取消使用-b
    [root@RHEL tmp]# setfacl -x u:redhat 123.txt 
    [root@RHEL tmp]# getfacl 123.txt 
    # file: 123.txt
    # owner: root
    # group: root
    user::rw-
    group::r--
    mask::r--
    other::---
    [redhat@RHEL tmp]$ ll
    total 4
    -rw-r-----+ 1 root root 12 Sep 23 16:49 123.txt
    ​
    ​
    [root@RHEL tmp]# setfacl -b 123.txt 
    [root@RHEL tmp]# ll
    total 4
    -rw-r-----. 1 root root 12 Sep 23 16:49 123.txt

修改文件所有者和所属组

  • chown

Change owner 修改文件所有者或所有组的信息

格式: chown 用户:组 文件名 chown 用户.组 文件名

chown 用户 文件名

chown :组 文件名 chown .组 文件名

选项 : -R递归修改权限

  • chgrp

change group 修改文件的组信息

格式 :chgrp 用户组 文件

文件和文件夹rwx含义

  • 文件的rwx

就是r可读w可写x可执行。

-wx -w- 没有意义的权限

注意:wx权限是建立在r权限之上,当用了r的权限时,wx的权限才有意义

  • 文件夹rwx

r可以显示文件夹下的内容

w可以在目录中创建/删除文件

x可以进出目录

无意义权限rw- -w-

注意:当文件具有x权限的时候w权限才有意义,对于文件夹来说 r--和rw-没有区别都是只能显示文件内容

SUID

rws------.

当设置了SUID权限到可执行文件上时,假如文件本身是rwx------.,此时就会变为rws------.

当普通户运行 u权限具有s的可执行文件时(即该程序的权限为-rwsr-xr-x.),普通户在程序的运行过程中临时具备root权限,所以普通户在运行passwd命令时可以,修改/etc/shadow文件

[redhat@RHEL tmp]$ cat 123.txt 
cat: 123.txt: Permission denied
#cat可执行文件本身全显示rwxr-xr-x,也就是说普通用户无法通过cat命令阅读权限不允许的文件
#当使用suid将cat命令权限改为 rwsr-xr-x时,普通用户在使用cat时可以临时获取root权限,这时普通户可以阅读任何文件
[root@RHEL redhatDir]# chmod u+s /usr/bin/cat
[root@RHEL redhatDir]# ll /usr/bin/cat
-rwSr-xr-x. 1 root root 68936 Jan  6  2023 /usr/bin/cat
​
​
[redhat@RHEL tmp]$ cat 123.txt 
123123123123123

SGID

---rws---.

SGID权限一般赋予给目录,任何用户管在该目录中创建新文件,这个新文件的属组都是拥有SGID这个目录的属组

当设置了SGID权限到文件夹上时,假如文件夹本身是---rwx---.,此时就会变为---rws---.

一般用于协同工作,共同在同一目录下进行文件管理。

#任意用户创建的文件,该文件的属组本应属于该用户的基本组
[root@RHEL tmp]# mkdir test
[root@RHEL tmp]# touch test/a
[root@RHEL tmp]# ll test/a
-rw-r--r--. 1 root root 0 Sep 24 11:25 test/a
​
#当目录具有SGID权限时,任何用户在该目录下创建新文件,文件的数组都会变为用户SGID权限的目录的属组。
[root@RHEL tmp]# chmod g+s test
[root@RHEL tmp]# chown redhat.redhat test
[root@RHEL tmp]# touch test/c
[root@RHEL tmp]# ll test
total 0
...
-rw-r--r--. 1 root redhat 0 Sep 24 11:27 c

  • chattr修改文件属性 change attribute

选项:

+a 不可修改 -a拿掉不可修改的属性(root不可以删)

+i 表示只读 -i取消只读

+d 不可删除 -d取消不可删除(root可以删)

Sticky bit 粘滞位

当设置了SBit权限到文件夹上时,假如文件夹本身是------rwx.,此时就会变为------rwt.

但目录具有sbit权限时,在文件中的文件只能被文件的所有者删除

#使用redhat创建个test目录 权限给满 这时任何人都可以在这个目录中删除任何文件
[redhat@RHEL tmp]$ mkdir test
[redhat@RHEL tmp]$ chmod 777 test/
[redhat@RHEL tmp]$ ll test/ -d
drwxrwxrwx. 2 redhat redhat 6 Sep 24 11:55 test/
[redhat@RHEL tmp]$ touch test/a
#此时普通用户还可以删除其他用户的文件
[caixukun@RHEL test]$ rm -rf a
#当设置了粘滞位sticky bit权限后,普通用户只能删除自己的文件,别人不可以。
[redhat@RHEL tmp]$ chmod a=rwxrwxrwt test/
[redhat@RHEL tmp]$ ll test/ -d
drwxrwxrwt. 2 redhat redhat 6 Sep 24 11:56 test/
[redhat@RHEL tmp]$ touch test/a
#此时普通用户就不可以删除其他人的文件了
[caixukun@RHEL test]$ rm -rf a
rm: cannot remove 'a': Operation not permitted

umask

权限掩码直接影响到新建文件的权限

新建文件的权限时 666 = rw-rw-rw-

666 - 权限掩码 rw-r--r--

#临时赋予权限掩码
[root@RHEL tmp]# umask 000
#永久性质的权限掩码设置 可以在.bashrc .bash_profile 添加 umask 000

网络管理

如何设置网络

  1. automatic - > manual

  2. 设置ip地址及子网掩码

  3. 设置网关

  4. 设置dns服务器

  5. 启用设置

临时设置网络

ip命令 添加临时ip

[root@localhost ~]# ip addr add 192.168.1.6/24 dev enp0s5 
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1c:42:3a:68:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.7/24 brd 192.168.1.255 scope global noprefixroute enp0s5
       valid_lft forever preferred_lft forever
    inet 192.168.1.6/24 scope global secondary enp0s5
       valid_lft forever preferred_lft forever
    inet6 fdb2:2c26:f4e4:0:21c:42ff:fe3a:6814/64 scope global dynamic noprefixroute 
       valid_lft 2591986sec preferred_lft 604786sec
    inet6 fe80::21c:42ff:fe3a:6814/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ip命令 删除ip

[root@localhost ~]# ip addr del 192.168.1.6/24 dev enp0s5 
[root@localhost ~]# ip addr show enp0s5 
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1c:42:3a:68:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.7/24 brd 192.168.1.255 scope global noprefixroute enp0s5
       valid_lft forever preferred_lft forever
    inet6 fdb2:2c26:f4e4:0:21c:42ff:fe3a:6814/64 scope global dynamic noprefixroute 
       valid_lft 2591739sec preferred_lft 604539sec
    inet6 fe80::21c:42ff:fe3a:6814/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

IP命令 禁用/启用网卡

[root@localhost ~]# ip link set enp0s5 down/up

networkmanager的使用

非交互式修改Connection

[root@kongd ~]# nmcli c mo ens160 ipv4.method manual ipv4.addresses
192.168.150.200/24 ipv4.gateway 192.168.150.2 ipv4.dns 223.5.5.5 autoconnect
yes
[root@kongd ~]# nmcli c up ens160

添加新的 Connection

[root@localhost ~]# nmcli c add type ethernet con-name test ifname enp0s5 ipv4.method manual ipv4.addresses 192.168.1.20/24 ipv4.gateway 192.168.1.1 ipv4.dns 114.114.114.114

启用、断开、以及删除Connection

#连接会话
[root@kongd ~]# nmcli c up ethX
#断开会话
[root@kongd ~]# nmcli c down ethX
# 删除会话
[root@kongd ~]# nmcli c delete ethX
  • nmtui:networkmanager提供的ui操作网络管理的软件

    打开后根据提示一步一步设置即可

  • cockpit.service同时也可以用来进行网络过管理

    需要启用服务

    systemctl start cockpit.service

    启用如无后开启防火墙相关设置

    [root@kongd ~]# firewall-cmd --permanent --add-service=cockpit

    [root@kongd ~]# firewall-cmd --reload

网络测试命令

Ping 命令 测试跟目标主机之间的通信状况

ping ip地址/网址

-c 设置包数

-i 设置命令时间间隔

-s 设置包大小

tracepath 打印tracepath途径的路由信息

域名解析文件

/etc/hosts

可以通过根据服务器功能自定义名称,将名字和ip地址绑定

#/etc/hosts中的内容
192.168.1.100  pic
192.168.1.101  oss
192.168.1.102  mysql
~                      

/etc/resolve.conf

# Generated by NetworkManager
nameserver 114.114.114.114

这俩文件优先级顺序:先从hosts中解析,如果没有找到目标,则通过/resolve.conf处理

文件处理顺序可以通过/etc/nsswitch.conf来调整

RPM

  • 关于安装:

    格式:rpm [选项] 包

    选项:

    -i ——install 安装

    -v——显示 安装详情

    -h——显示哈希标记

    -U——更新软件

    -e——卸载软件

  • 关于查询 rpm -q

    -a 查询所有已安装的软件包

    -l 显示已安装软件包的相关文件列表和信息

    -f 查询文件所属软件包

    -i 显示已经安装的rpm软件包信息

yum

yum命令通常使用在网络下载安装的场景下。

格式:

  • 安装、卸载、更新

yum install 包名 ——安装软件

yum groupinstall 包组名——安装包组

yum remove 包名——卸载软件

yum update 包名——更新软件

  • 查询相关

yum repolist——显示安装源的配置信息

yum list all——显示所有可安装的软件

yum list installed ——显示已经安装的软件

yum grouplist——显示仓库所有包组信息

  • 搜索相关

yum provides——软件包含哪些文件

yum whatprovides——文件属于哪个软件

yum search——模糊搜索

  • 清空已下载的缓存包

yum clean packages all

进程管理

ps

ps:process show

ps -aux 显示所有进程的信息带用户名和启动时间

ps -ef 显示全部完整的进程信息

Ps -axo (user,pid,ppid,%CPU,%mem,VSZ,RSS....... )自定义显示的字段

选项:

-a 显示所有用户的进程

-x 显示 没有控制终端的进程

-e 等于 a+x

-u 显示用户名和启动时间

-f 做一个更完整的输出

top命令

选项

-d:后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒

-b:以批次的方式执行top,还有更多的参数可用。通常会搭配数据流重定向来将批处理的结果输出为文件。

-n:与-b搭配,进行几次top的输出结果

-i:不显示闲置或者僵死的进程信息

-p:指定某些个PID来进行查看检测

磁盘管理

windows常见的文件系统:nfs,fat32

linux常见的文件系统:ext4,xfs,vfat

分区

fdisk

gdisk

parted

格式化

mkfs.xfs

mkfs.ext4

mkfs.vfat

....

挂载

mount 挂载

umount 取消挂载

逻辑卷管理

  1. 创建分区 nvme1 ,nvme2

  2. 通过该分区创建 pv(pvcreate)

  3. 通过pv 创建卷组vg (vgcreate 卷组名 pv1,pv2....)

  4. 通过vg 产生逻辑卷 lv(lvcreate -n 逻辑卷名 -L +容量(K,M,G))

  5. mkfs.xfs ext4 vfat 将lv格式化

  6. 然后将 lv 挂在到某个文件夹下

动态调整逻辑卷

  1. 给vg进行扩容/缩减(vgextend/vgreduce)

  2. 给lv进行扩容/缩减(lvextend/lvreduce)

  3. lv虽然扩展了,但是建立在其上的文件系统需要再单独扩展,xfs需要使用xfs_growfs命令扩展(xfs不支持缩减),ext4

    支持扩容及缩减使用的命令时resize2fs。

    lv扩容的前提是 vg有足够的空间可以挪给lv。

    vg缩减,前提有未分配的空间可以用于缩减。

论坛搭建

Linux apache mysql php->lamp

  • 环境搭建

    • web服务:安装apache(httpd)/安装nginx

    • 数据库服务:安装mysql-server/mariaDB

    • php代码解释器

    • 安装php的mysql数据库接口

    • 将论坛源代码上传至/var/www/html路径下

[root@localhost yum.repos.d]# yum install httpd
[root@localhost html]# yum install mysql-server.aarch64 -y
[root@localhost html]# yum install php -y
[root@localhost html]# yum install php-mysqlnd.aarch64

关闭防火墙SELinux启动服务

`[root@localhost html]# systemctl diable --now firewalld`
`[root@localhost html]# setenforce 0`
`[root@localhost html]# systemctl start mysqld`
`[root@localhost html]# systemctl start httpd`
​
`#当httpd启动以后 才可以将论坛代码从本地上传到服务器的/var/www/html目录下`
`musicbear@ahaodeMacBook-Pro ~ % scp /Users/musicbear/Downloads/Discuz_X3.5_SC_UTF8_20230726.zip root@192.168.1.30:/var/www/html`
​
[root@localhost html]# unzip Discuz_X3.5_SC_UTF8_20230726.zip 
​
`#mysql的初始工作`
`[root@localhost html]# mysqladmin -uroot password '123123'`
`[root@localhost html]# mysql -uroot -p123123`
`mysql> show databases`
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
mysql> create database discuz; #创建数据库discuz
Query OK, 1 row affected (0.01 sec)
​
`mysql> show databases;`
`+--------------------+`
`| Database           |`
`+--------------------+`
`| discuz             |`
`| information_schema |`
`| mysql              |`
`| performance_schema |`
`| sys                |`
`+--------------------+`
`5 rows in set (0.00 sec)`
​
`mysql> exit`
`Bye`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值