11.3作业2:命令汇总

        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:扩容前需要将挂载卸除


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值