Linux 基础命令

本文详细介绍了Linux系统的基础管理命令,包括文件操作(如cat、rm、mkdir、ls等)、文本编辑(如vi/vim)、权限管理(如chmod、chown)、进程管理(如ps、kill)、包管理(如RPM、YUM)以及一些通配符和正则表达式。此外,还涵盖了文件压缩、用户和组管理、文本内容管理和I/O重定向等内容,是Linux系统管理员必备的知识。
摘要由CSDN通过智能技术生成

Linux

系统基础

一、基础命令

1.增

cat             //
    EOF         //添加多行文本
        示例:
            [root@hhr ~]# cat > abc <<EOF 
            > hello world
            > lisi
            > EOF
touch           //创建文件
        示例:
            [root@hhr ~]# touch 123
            [root@hhr ~]# ls
            123
echo            //
        示例:
            [root@hhr ~]# echo "runtian" > 123
            [root@hhr ~]# cat 123
            runtian
mkdir           //创建目录
    -p          //创建目录时若父目录不存在则自动创建
        示例:
            [root@hhr ~]# mkdir -p /root/hhr/123
            [root@hhr ~]# cd hhr/
            [root@hhr hhr]# ls
            123

2.删

rm              //
    -r          //递归删除
    -f          //删除文件
        示例:
            [root@hhr ~]# rm -f 456
    -rf         //删除目录
        示例:
            [root@hhr hhr]# rm -rf 456 

3.查

ls              //列出目录内容
    -l          //长格式
                -   普通文件
                d   目录文件
                b   块设备文件(block)
                c   字符设备文件(character)
                l   符号链接文件(symbolic link file)
                p   命令管道(pipe)
                s   套接字文件(socket)
    -d          //显示目录自身属性
    -h          //做单位属性
    -a          //显示目录自身属性
        .       //表示当前目录
        ..      //表示父目录
    -i          //显示文件的inode (index node)
    -r          //逆序显示
    -R          //递归显示

cat             //将文件内容并输出至标准输出(屏幕)
    -n          //显示行号
        示例:
            [root@hhr ~]# cat -n 123
            1  runtian
            2  hasha
            3  adkada
            4  456

    EOF         //添加多行文本
        <       //覆盖
            示例:
                [root@hhr ~]# cat > 123 <<EOF
                > hell world
                > EOF
        <<      //追加
            示例:
                [root@hhr ~]# cat >> 123  <<EOF
                > hasha
                > adkada
                > 456
                > EOF

tac             //子主题 1倒序打印文件内容至标准输出

head            //查看文件的开头部分的内容
    -n          //指定要打印的行数,-n 可以是15也可以是-15
        示例:
            [root@hhr ~]# head -3 123
            hell world
            hasha
            ahsdjadha

tail            //查看文件的开头部分的内容
    -n          //指定要打印的行数,可以是-n 15也可以是-15
        示例:
            [root@hhr ~]# tail -3 123
            ashhdahd
            adkada
            456

more            //全屏查看文本文件内容,只能从前往后,不能从后往前
    more 123    //按空格下一页,文件内容显示完后自动退出

less            //全屏查看文本文件内容,可从前往后亦可从后往前。推荐使用
    less abc    //不会退出

4.改

vi              //vi/vim编辑器
    插入模式
        i       //在当前光标前面转变成输入模式
        a       //在当前光标后面转变成输入模式
        o       //在当前光标的下一行转变成输入模式
        I       //在光标的行首转变成输入模式
        A       //在光标的行尾转变成输入模式
        O       //在光标行的上面转变成输入模式
    保存模式
        wq!    //强行保存并退出
        ZZ      //保存并退出

sed             //依照脚本的指令来处理、编辑文本文件
    -i          //插入,i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
        示例:
            [root@hhr ~]# sed -i "s/world/jjyy/g" 123
            [root@hhr ~]# cat 123
            hell jjyy
            hasha
            ahsdjadha
    -n          //显示script处理后的结果
        示例:
            [root@hhr ~]# sed -n '/jjyy/p' 123
            hell jjyy
            jjyy
        示例:
            [root@hhr ~]# sed -n '3p' 123
            ahsdjadha
        示例:
            [root@hhr ~]# sed -n '1,2p' 123
            hell jjyy
            hasha

5.项目管理

cd              //切换目录
    -r          //只显示目录
pwd             //查看当前所在目录路径
tree            //查看目录树
    -d          //只显示目录
    -L level    //指定显示的层级数目
    -p          //显示指定字符串匹配到的文件

6.文件管理

cp              //复制
    -a          //归档复制,常用于备份
    -p          //拷贝时保留原权限
mv              //移动、重命名           
   install      //复制文件并且设置属性
        -m      //复制时修改权限(MODE)
        -o      //复制时修改文件属主(OWNER)
        -g      //复制时修改属组(GROUP)

二、通配符

符号含义
.匹配任意长度的任意字符
?匹配任意单个字符
??匹配任意双个字符
???匹配任意三个字符
[1-9]*匹配指定范围内的任意单个字符
rm-f [1-9]*删除指定范围内的任意单个字符
[^]匹配指定范围之外的任意单个字符

三、文本内容管理

cut             //截取文本内容
    -d          //指定字段分隔符,默认是空格
    -f          //指定要显示的字段
        示例:
            1,3 //显示第1个字段和第3个字段
            1-3 //显示第1个字段到第3个字段
sed             //基于行的过滤和转换文本的流编辑器
    -i          //修改文件内容
        示例:
            [root@hhr ~]# sed -i 's/jjyy/hasha/g' 123
            [root@hhr ~]# cat 123
            hell hasha
            hasha
            adkada
            hasha
awk             //基于列的文本报告工具 (当一个空格使用)
    -F:         //选择分隔符;分隔符用单引号引起来
        以关键字
            示例:
                [root@hhr etc]# awk -F: '/root/' passwd
                root:x:0:0:root:/root:/bin/bash
                operator:x:11:0:operator:/root:/sbin/nologin
        以数字
            示例;
                [root@hhr etc]# awk -F: '{print $1": " $3}' passwd |head -3
                root: 0
                bin: 1
                daemon: 2
        以文字
            示例:
                [root@hhr etc]# awk -F: 'BEGIN{PRINT "用户\tID"}' passwd | head -3
    df -h       //以空格分隔
        示例:
            [root@hhr etc]# df -h | awk '{print $4}' 
            可用
            872M
            901M
            892M
            901M
            13G
            0
            786M
            181M
            179M
        示例:
            [root@hhr etc]# df -h | awk 'NR==6{print $4}'
            13G
grep
    -A 1        //被模式匹配到的内容以及其后面一行的内容都显示出来,
                //如果把1改成2就表示被模式匹配到的内容以及其后面2行的内容均显示出来
        示例:
            [root@hhr ~]# grep -A 1 'hasha' 123
            hell hasha
            hasha
            ahsdjadha
            --
            hasha
    -B 1        //被模式匹配到的内容以及其前面一行的内容都显示出来, 
                //如果把1改成2就表示被模式匹配到的内容以及其前面2行的内容均显示出来
        示例:
            [root@hhr ~]# grep -B 1 'hasha' 123
            hell hasha
            hasha
            --
            adkada
            hasha
    -C 1        //被模式匹配到的内容以及其前后的行各显示1行,如果把1改成2 
                //就表示被模式匹配到的内容以及其前后的行各显示2行
        示例:
            [root@hhr ~]# grep -C 1 'hasha' 123
            hell hasha
            hasha
            ahsdjadha
            --
            adkada
            hasha
find
    -name
        'passwd'    //根据文件名查找
            示例:
                [root@hhr ~]# find / -name 'passwd'
                /sys/fs/selinux/class/passwd
                /sys/fs/selinux/class/passwd/perms/passwd
                /etc/pam.d/passwd
                /etc/passwd
                /var/lib/sss/mc/passwd
                /usr/share/bash-completion/completions/passwd
        -d              //隐藏文件
        -f              //指定目录
    -user username      //根据属主来查找
    -group groupname    //根据属组来查找
    -UID            //根据UID进行查找,当用户被删除以后文件的属主会变为此用户的UID
    -GID            //根据GID进行查找,当用户被删除以后文件的属组会变为此用户的GID
    -type           //根据文件类型来查找(f,d,c,b,l,p,s)
    -size           //根据文件大小进行查找。如1k、1M,+10k、+10M,-1k、-1M,+表示大于,-表示小于
    -mtime          //修改时间
    -atime
        +5          //五天前
        -5          //五天以后
    -mmin           //多少分钟修改过
    -amin
        +5          //五分钟前
        -5          //五分钟以内

四、压缩与解压缩

压缩
    gzip            //压缩后的文件以.gz结尾;只能压缩文件不能压缩目录
    bzip2           //压缩后的文件以.bz2结尾;bzip2是一款比gzip有着更大压缩比的压缩工具,使用格式近似
    xz              //压缩后的文件以.xz结尾;比bzip2有着更大压缩比的压缩工具,使用格式近似
    zip             //既归档又压缩的工具。zip可以压缩目录(跨平台)
                    //gz、bz2、xz都只能压缩文件,zip压缩后不会删除原文件
    tar             //打包
        例:
            -zcf test.tar.gz abc 123  
            -jcf test.tar.bz2 abc 123
            -Jcf test.tar.xz abc 123
解压缩
    gunzip
        例:gunzip /path/to/some_compress_file.gz //解压完成后会删除原文件
        例:zcat /path/to/somefile.gz             //不解压的情况下查看文本文件的内容
    bunzip2
        例:bunzip2 /path/to/some_compress_file.bz2 //解压完成后会删除原文件
        例:bzcat /path/to/somefile.bz2             //不解压的情况下查看文本文件的内容
    unxz
        例:xzcat /path/to/somefile.xz              //不解压的情况下查看文本文件的内容
    unzip
        例:unzip filename.zip
    xf
        例:
            -xf test.tar.gz
            -xf test.tar.bz2
            -xf test.tar.xz

五、I/O重定向、管道符

I/O重定向
    >               //覆盖输入
    >>              //追加输出
管道符              //前一个命令的输出,作为后一个命令的输入。最后一个命令会在当前shell进程的子shell进程中执行
    |
        示例:
            [root@hhr ~]# echo 'hello world' | cut -d ' ' -f 2
            world
        示例:
            [root@hhr etc]# cat passwd | grep root
            root:x:0:0:root:/root:/bin/bash
            operator:x:11:0:operator:/root:/sbin/nologin
        示例:
            [root@hhr ~]# grep jjyy 123
            jjyy

六、用户和组管理

  • 系统账户:为守护类进程获取系统资源而完成权限指派的用户(不需要登录)
  • 普通账户:为了完成交互式登录使用的用户
用户
    useradd             //创建用户
                            /etc/passwd	用户及其属性信息(名称、uid、基本组id等等)
                            /etc/shadow	用户密码及其相关属性
        -u UID	        //指定用户uid
        -g GID	        //指定用户所属基本组,可为组名或GID,组必须事先存在
        -r              //添加一个系统用户
    userdel             //删除用户
        -r
            示例:
                [root@hhr ~]# userdel -r lisi
    usermod             //修改用户
        -u              //UID
            示例:
                [root@hhr ~]# usermod -u 1005 lisi
        -s              //修改用户登录shell
            示例:
                [root@hhr ~]# usermod -s /sbin/nolong lisi
                [root@hhr ~]# usermod -s /bin/bash lisi

    su                  //切换用户
        su username     //非登录式切换,即不会读取目标用户的配置文件
        su -username    //登录式切换,即会读取目标用户的配置文件。完全切换
    id                  //查看用户信息
        -u              //查看UID
        -g              //查看GID
        -G              //查看Groups
组
    groupadd            //创建组
                            /etc/group	组及其属性信息
                            /etc/gshadow	组密码及其相关属性。在用户执行基本组切换时使用
        -g              //指定GID
        -r              //添加一个系统组
    groupdel            //删除组

七、密码管理命令

passwd                  //创建密码命令
    su -                //切换      
    passwd              //管理员
    --stdin             //从标准输入获取用户密码
        示例:
            [root@hhr ~]# echo "redhat"|passwd --stdin lisi
    -d                  //删除用户密码
破解密码过程
    关机
    开机
    在内核所在行输入e键
    找到linux开头的行后面加上rd.break
    ctrl+x
    mount -o remount, rw /sysroot
    chroot /sysroot
    echo " redhat" Ipasswd --stdin root
    touch /.autorelabel
    exit
    exit

八、vi/vim编辑器

vi/vim三种编辑模式
    命令模式-->输入模式
        i:insert,在当前光标所在字符的前面,转为输入模式
        I:大写的i,在当前光标所在行的行首转换为输入模式
        a:append,在当前光标所在字符的后面转换为输入模式
        A:在当前光标所在行的行尾转换为输入模式
        o:open,在当前光标所在行的下方新建一行并转为输入模式
        O:大写的o,不是数字0,在当前光标所在行的上方新建一行并转换为输入模式
    输入模式-->命令模式
        ESC
    命令模式-->末行模式
        :
    末行模式-->命令模式
        ESC ESC
文本编辑模式
    关闭文件方式:末行模式关闭文件
        q           //退出
        wq	        //保存并退出
        q!	        //不保存退出
        w	        //保存但不退出
        w!	        //强行保存
        wq!	        //强行保存并退出
        x	        //强行保存并退出
    命令模式关闭文件
        ZZ          //保存退出
    命令模式下移动光标的方式
        以单词为单位移动
            w       //移动到下一个单词的词首
            e       //跳至当前或下一个单词的词尾
            b       //跳至当前或上一个单词的词首
        行间跳转
            gg      //跳转到第一行
            3gg     //跳转到第三行
            G       //跳转到最后一行
    命令模式下删除字符
        dd          //删除当前行
        3dd         //删除以当前行开始的一共3行
        D           //删除当前行的内容
    命令模式下复制命令
        yy          //复制当前行
        3yy         //复制当前行在内的一共3行
    命令模式下粘贴命令
        p 小写p     //粘贴在当前行的下一行
        P 大写P 	//粘贴在当前行的上一行
    命令模式下替换命令
        R           //替换模式,替换多个字符
    命令模式下撤销编辑
        #u          //直接撤销此前的#次编辑操作
        ctrl+r      //还原最近一次的撤销操作
        .(点)       //重复前一次编辑操作
    可视化模式
        v           //按字符选取内容
        V           //按矩形块(行)选取内容
    末行模式下查找并替换
        s           //替换
            示例:
                1,5 s/abc/def/g	表示把第一行到第五行的所有abc替换为def
    末行模式下显示或取消显示行号
        set nu      //显示行号
        set nonu    //取消显示行号

九、进程管理

ps
    ps -le
        F           //进程标志,说明进程的权限,常见的标志:1:进程可以复制,但是不能执行4:进程使用超级用户权限
        S           //进程状态。具体的状态和“ps aux”命令中 STAT 状态一致
        UID         //进程是哪个 UID 用户调用运行的
        PID         //进程的 ID 号
        PPID        //父进程的 ID 号
        C           //该进程的 CPU 使用率,单位是百分比
        PRI         //进程的优先级,数值越小该进程优先级越高,越快被 CPU 执行;动态值由内核决定
        NI          //进程的优先级,也是数值越小越早被执行;静态值管理员手动设置,NI值的范围-20到19之间;
                        //调整已经启动的进程的nice值的命令:renice NI PID:
                        //在启动时指定nice值的命令:nice -n 数字 COMMAND
        ADDR        //该进程在内存的哪个位置
        SZ          //该进程占用多大内存
        WCHAN       //该进程是否运行。“-”代表正在运行
        TTY         //该进程由哪个终端产生
        TIME        //该进程占用 CPU 的运算时间,注意不是系统时间
        CMD         //产生此进程的命令名
    ps -aux
        示例:
            [root@hhr ~]# ps -aux
            USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
            root           1  0.0  0.7 179700 14044 ?        Ss   15:21   0:02 /usr/lib/systemd/systemd --switched-root --system
            root           2  0.0  0.0      0     0 ?        S    15:21   0:00 [kthreadd]
    pidof           //根据进程名查找其PID号
        示例:
            [root@hhr ~]# pidof sshd | xargs kill -9
        示例:
            [root@hhr ~]# pidof sshd

十、top

命令含义
?或h显示交互模式的帮助
P以 CPU 使用率排序,默认就是此项
M以内存的使用率排序
N以 PID 排序
T按照 CPU 的累积运算时间排序,也就是用 TIME+项排序
k按照 PID 号,给予某个进程一个信号。一般用于
终止某个进程,信号 9是强制终止的信号
r按照 PID 号,给某个进程重设优先级(Nice)值
q退出 top

十一、信号控制进程

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

十二、权限管理

chmod   基础
    例:
        chmod u|g|o|a +|-|= rwx test
            例:
                [root@hhr ~]# chmod u+r test
                [root@hhr ~]# ll
                总用量 4
                -rw-r--r--. 1 root lisi  0 7月   7 20:07 test
            例:
                [root@hhr ~]# chmod o+r test 
                [root@hhr ~]# ll
                总用量 4
                -rw-r--r--. 1 root root 40 7月   7 16:52 123
                -rw-r--r--. 1 root lisi  0 7月   7 20:07 test
            例:
                [root@hhr ~]# chmod o=rw test 
                [root@hhr ~]# ll
                总用量 4
                -rw-r--r--. 1 root root 40 7月   7 16:52 123
                -rw-r--rw-. 1 root lisi  0 7月   7 20:07 test
        chmod number test
            例:
                [root@hhr ~]# chmod 777 test 
                [root@hhr ~]# ll
                总用量 4
                -rw-r--r--. 1 root root 40 7月   7 16:52 123
                -rwxrwxrwx. 1 root lisi  0 7月   7 20:07 test
chmod	特殊权限
    字母表示含义
        u           //用户
        g           //组
        o           //其它
        a           //所有人
    特殊权限的字母表示方式
        suid    应用程序    4     //运行程序时,这个程序启动的进程的属主是程序文件自身的属主,而不是发起者为属主
            例:
                [root@hhr ~]# chmod u+s file 
                [root@hhr ~]# ll
                总用量 0
                -rwSr--r--. 1 root root 0 7月   7 20:16 file
                -rw-r--r--. 1 root lisi 0 7月   7 20:07 test
                
                [root@hhr ~]# chmod u-s file 
                [root@hhr ~]# ll
                总用量 0
                -rw-r--r--. 1 root root 0 7月   7 20:16 file
                -rw-r--r--. 1 root lisi 0 7月   7 20:07 test
                                   <如果file本身原来就有执行权限,则SUID显示为s,否则显示为S>
        sgid	目录        2     //运行程序时,这个程序启动的进程的属组是程序文件自身的属组,而不是启动者所属的基本组
                                  //一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件或目录,其所属的组为此设定了SGID的目录的属组
            例:
                [root@hhr ~]# chmod g+s file 
                [root@hhr ~]# ll
                总用量 0
                -rw-r-Sr--. 1 root root 0 7月   7 20:16 file
                -rw-r--r--. 1 root lisi 0 7月   7 20:07 test

                [root@hhr ~]# chmod g-s file
                [root@hhr ~]# ll
                总用量 0
                -rw-r--r--. 1 root root 0 7月   7 20:16 file
                -rw-r--r--. 1 root lisi 0 7月   7 20:07 test
                                   <如果file本身原来就有执行权限,则SGID显示为s,否则显示为S>
        stucky 	目录 		1       //公共目录,每个人都能创建文件,删除自己的文件,但是不能删除别人创建的文件
            例:
                [root@hhr ~]# chmod o+t file 
                [root@hhr ~]# ll
                总用量 0
                -rw-r--r-T. 1 root root 0 7月   7 20:16 file
                -rw-r--r--. 1 root lisi 0 7月   7 20:07 test

                [root@hhr ~]# chmod o-t file
                [root@hhr ~]# ll
                总用量 0
                -rw-r--r--. 1 root root 0 7月   7 20:16 file
                -rw-r--r--. 1 root lisi 0 7月   7 20:07 test
                                   <如果file本身原来就有执行权限,则Sticky显示为t,否则显示为T>
    修改属主
        例:
            [root@hhr ~]# chown  .lisi test
            [root@hhr ~]# ll
            总用量 4
            -rw-r--r--. 1 root lisi  0 7月   7 20:07 test
        例:
            [root@hhr ~]# chown :hehe test
        例:
            [root@hhr ~]# chown lisi test
        例:
            [root@hhr ~]# chown root:hehe test
    特殊权限的数字表示方式
        4755    //有SUID,文件权限为755
        2755    //有SGID,文件权限为755
        1755    //有Sticky,文件权限为755
                    <这里前面的4、2、1分别表示SUID、SGID、Sticky>
acl访问控制 setfacl
    -m          //设定权限条目
        例:
            [root@hhr ~]# setfacl -m u:lisi:rwx test
            [root@hhr ~]# ll
            总用量 0
            -rw-r--r--. 1 root root 0 7月   7 20:16 file
            -rw-rwxr--+ 1 root lisi 0 7月   7 20:07 test
        例:
            [root@hhr ~]# setfacl -m g:lisi:rw file 
    如果要为某个目录设定默认的访问控制列表,只需要设定时在u或g前面加上d即可
        例:
            [root@hhr ~]# setfacl -m d:u:lisi:rw file 
    -x	        //删除权限条目
        例:
            [root@hhr ~]# setfacl -x u:lisi test 
        例:
            [root@hhr ~]# setfacl -x g:lisi file
权限委派    sudo 
    添加    (vim编辑器里添加)
        [root@hhr ~]# visudo
        ## Allow root to run any commands anywhere 
        lisi ALL=(ALL) /sbin/useradd, /sbin/userdel
    删除    (vim编辑器里添加)
        [root@hhr ~]# visudo
        ## Allow root to run any commands anywhere 
        lisi ALL=(ALL) /sbin/useradd, /sbin/userdel

十三、PRM包管理

RPM包安装                   //安装软件包, 需要指定软件包绝对路径
    例:
        [root@hhr ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
RPM包查询
    -qa 过滤                //查询已经安装的所有包
        示例:
            [root@hhr ~]#  rpm -qa |grep ftp
            python3-requests-ftp-0.3.1-11.el8.noarch
    -qc	                    //查询指定已安装的包的配置文件
        示例:
            [root@hhr ~]# rpm -qc vsftpd
            /etc/logrotate.d/vsftpd
            /etc/pam.d/vsftpd
            /etc/vsftpd/ftpusers
            /etc/vsftpd/user_list
            /etc/vsftpd/vsftpd.conf
    -ql	                    //查询指定软件包安装后生成的文件列表
        示例:
            [root@hhr ~]# rpm -ql vsftpd
            /etc/logrotate.d/vsftpd
            /etc/pam.d/vsftpd
            /etc/vsftpd
            ...
    -qd	                    //查询指定已安装的包的帮助文件
    -qf	                    //查询指定的文件是由哪个rpm包安装生成的
        示例:
            [root@hhr ~]# rpm -qf /etc/vsftpd/vsftpd.conf
            vsftpd-3.0.3-31.el8.x86_64
    -q	                    //查询指定的已安装的软件包
        示例:
            [root@hhr ~]# rpm -q vsftpd
            vsftpd-3.0.3-31.el8.x86_64
RPM包升级
    -Uvh 	如果装有老版本的,则升级;否则,则安装
        示例:
            [root@hhr ~]# rpm -Uvh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
    -Fvh	如果装有老版本的,则升级;否则,退出
RPM包卸载

十四、YUM管理

yum/dnf命令
    常用选项
        -y
    常用的command
        list                            //列出所有的包
            all                 //默认项
            updates             //可用的升级
        clean	                        //清理缓存
            all                 //清除所有缓存
            packages            //清除包缓存
            metadata            //清除元数据缓存
        repolist	                    //显示repo列表及其简要信息
            allall	            //列出所有仓库
        install	                        //安装,可以一次安装多个包
            示例:
                [root@hhr ~]# yum install ftp httpd
        remove | erase 	                //卸载,可以一次卸载多个包
        info		                    //查看包的信息,显示rpm -qi package的结果
            示例:
                [root@hhr ~]# yum info vsftpd
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                上次元数据过期检查:0:22:41 前,执行于 2021年07月07日 星期三 20时36分48秒。
                已安装的软件包
                名称         : vsftpd
                版本         : 3.0.3
                发布         : 31.el8
                架构         : x86_64
                大小         : 343 k
                源           : vsftpd-3.0.3-31.el8.src.rpm
                仓库         : @System
                来自仓库     : AppStream
                概况         : Very Secure Ftp Daemon
                URL          : https://security.appspot.com/vsftpd.html
                协议         : GPLv2 with exceptions
                描述         : vsftpd is a Very Secure FTP daemon. It was written completely from
                             : scratch.
        update 		                    //升级
        update_to	                    //升级为指定版本
    列出软件包
        列出软件仓库中可用的软件
            例:
                [root@hhr ~]#  yum list all
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                上次元数据过期检查:0:24:03 前,执行于 2021年07月07日 星期三 20时36分48秒。
                已安装的软件包
                GConf2.x86_64                                         3.2.6-22.el8                                        @AppStream
                ModemManager.x86_64                                   1.10.8-2.el8                                        @anaconda 
                ...
        进行模糊查找
            例:
                [root@hhr ~]# yum list all | grep "ftp"
                python3-requests-ftp.noarch                          0.3.1-11.el8                                      @AppStream
                vsftpd.x86_64                                        3.0.3-31.el8                                      @AppStream
                ftp.x86_64                                           0.17-78.el8                                       AppStream 
                lftp.i686                                            4.8.4-1.el8                                       AppStream 
                ...
        列出软件包详情
            示例:
                [root@hhr ~]# yum info vsftpd
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                上次元数据过期检查:0:33:34 前,执行于 2021年07月07日 星期三 20时36分48秒。
                已安装的软件包
                名称         : vsftpd
                版本         : 3.0.3
                发布         : 31.el8
                架构         : x86_64
                大小         : 343 k
                源           : vsftpd-3.0.3-31.el8.src.rpm
                仓库         : @System
                来自仓库     : AppStream
                概况         : Very Secure Ftp Daemon
                URL          : https://security.appspot.com/vsftpd.html
                协议         : GPLv2 with exceptions
                描述         : vsftpd is a Very Secure FTP daemon. It was written completely from
                             : scratch.

    安装软件包
        安装仓库内的软件,只需要给出软件名称
            示例:
                [root@hhr ~]# yum install vsftpd
        安装过程中分析依赖关系后, 直接安装
            示例:
                [root@hhr ~]# yum install vsftpd
        安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖
            示例:
                [root@hhr ~]# yum -y localinstall /mnt/cdrom/Packages/httpd-2.4.6-67.el7.x86_64.rpm 
        安装网络上rpm包
            示例:
                [root@hhr ~]# yum install https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                上次元数据过期检查:0:39:17 前,执行于 2021年07月07日 星期三 20时36分48秒。
                [MIRROR] vsftpd-3.0.2-25.el7.x86_64.rpm: Status code: 404 for https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm (IP: 58.215.146.118)
                [MIRROR] vsftpd-3.0.2-25.el7.x86_64.rpm: Status code: 404 for https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm (IP: 58.215.146.118)
                [MIRROR] vsftpd-3.0.2-25.el7.x86_64.rpm: Status code: 404 for https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm (IP: 58.215.146.118)
                ...
    缓存命令
        缓存仓库的元数据文件
            示例:
                [root@hhr ~]#  yum makecache
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                BaseOS                                                                              2.7 MB/s | 2.8 kB     00:00    
                AppStream                                                                           3.1 MB/s | 3.2 kB     00:00    
                元数据缓存已建立。
        缓存rpm包
            1.安装yum插件,实现只下载软件包不安装
                示例:
                    [root@hhr ~]# yum -y install yum-plugin-downloadonly
                    Updating Subscription Management repositories.
                    Unable to read consumer identity
                    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                    上次元数据过期检查:0:01:55 前,执行于 2021年07月07日 星期三 21时16分57秒。
                    ...
            2.将软件下载至指定目录
                示例:
                    [root@hhr ~]# yum -y install --downloadonly --downloaddir=/tmp httpd
                    Updating Subscription Management repositories.
                    Unable to read consumer identity
                    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                    上次元数据过期检查:0:01:18 前,执行于 2021年07月07日 星期三 21时16分57秒。
                    软件包 httpd-2.4.37-21.module+el8.2.0+5008+cca404a3.x86_64 已安装。
                    依赖关系解决。
                    无需任何处理。
                    完毕!
        清除所有yum缓存
            示例:
                [root@hhr ~]# yum clean all
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                12 文件已删除
    YUM签名检查机制
        在仓库中指定公钥位置
            示例:
                [root@hhr ~]# vim /etc/yum.repos.d/CentOS-Base.repo
                [root@hhr ~]# cat /etc/yum.repos.d/CentOS-Base.repo
                se]
                name=Redhat-$releasever - Base
                baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
                gpgcheck=1
                gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY--redhat-release
                enabled=1
        不进行签名验证
            示例:
                [root@hhr ~]# yum install httpd --nogpgcheck
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                警告:加载 '/etc/yum.repos.d/CentOS-Base.repo' 失败,跳过。
                BaseOS                                                                              184 MB/s | 2.3 MB     00:00    
                AppStream                                                                           212 MB/s | 5.8 MB     00:00    
                上次元数据过期检查:0:00:01 前,执行于 2021年07月07日 星期三 21时26分19秒。
                软件包 httpd-2.4.37-21.module+el8.2.0+5008+cca404a3.x86_64 已安装。
                依赖关系解决。
                无需任何处理。
                完毕!
配置yum源
    本地仓库
        永久挂载
            示例:
                [root@hhr ~]# echo "/dev/sr0 /mnt/cdrom iso9660 defaults 0 0" >> /etc/fstab
        临时挂载
            示例:
                [root@hhr ~]# mkdir /mnt/cdrom
                [root@hhr ~]# mount /dev/sr0 /mnt/cdrom/
                mount: /dev/sr0 写保护,将以只读方式挂载
        yum/dnf本地仓库配置
            示例:
                [root@hhr ~]# vim /etc/yum.repos.d/hhr.repo 
                [root@hhr ~]# cat /etc/yum.repos.d/hhr.repo 
                [BaseOS]
                name=BaseOS
                baseurl=file:///mnt/cdrom/BaseOS
                gpgcheck=0
                enabled=1
                
                [AppStream]
                name=AppStream
                baseurl=file:///mnt/cdrom/AppStream
                gpgcheck=0
                enabled=1
                    <[Repo_Name]:仓库标识
                    name:仓库名称
                    baseurl:仓库的具体路径,接受以下三种类型
                        ftp://
                        http://
                        file://
                    gpgcheck:可选值{1|0},1为检查软件包来源合法性,0为不检查来源
                        如果gpgcheck设为1,则必须用gpgkey定义密钥文件的具体路径
                    gpgkey=/PATH/TO/KEY
                    enabled:可选值{1|0},1为启用此仓库,0为禁用此仓库>
        清空本地仓库缓存
            例:
                [root@hhr ~]# yum clean all
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                警告:加载 '/etc/yum.repos.d/CentOS-Base.repo' 失败,跳过。
                12 文件已删除
        缓存元数据
            例:
                [root@hhr ~]# yum makecache 
                Updating Subscription Management repositories.
                Unable to read consumer identity
                This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
                警告:加载 '/etc/yum.repos.d/CentOS-Base.repo' 失败,跳过。
                BaseOS                                                                              164 MB/s | 2.3 MB     00:00    
                AppStream                                                                           263 MB/s | 5.8 MB     00:00    
                上次元数据过期检查:0:00:01 前,执行于 2021年07月07日 星期三 21时38分55秒。
                元数据缓存已建立。
    网络仓库
        配置网络yum仓库
            示例:
                [root@hhr ~]# cd /etc/yum.repos.d/
                [root@hhr yum.repos.d]# vim hhr.repo
                [BaseOS]
                name=BaseOS
                baseurl=https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/
                gpgcheck=0
                enabled=1
                
                [AppStream]
                name=AppStream
                baseurl=https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/
                gpgcheck=0
                enabled=1
        部分开源镜像站提供了repo配置文件,我们可以直接下载使用
            示例:
                [root@hhr ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
                  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                 Dload  Upload   Total   Spent    Left  Speed
                100  2595  100  2595    0     0  11533      0 --:--:-- --:--:-- --:--:-- 11533
        EPEL的方式配置网络yum仓库,通过安装rpm包配置网络仓库
            示例:
                [root@hhr ~]#  curl -O https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.3-1.2011.el8.noarch.rpm
                  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                 Dload  Upload   Total   Spent    Left  Speed
                100  2318  100  2318    0     0  10348      0 --:--:-- --:--:-- --:--:-- 10348
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值