文章目录
- 一、关机与重启指令
- 二、帮助指令
- 三、文件目录类指令
- 1、pwd - 显示当前目录的绝对路径
- 2、ls - 显示当前路径下的文件和目录
- 3、cd - 切换到指定目录
- 4、mkdir - 创建目录
- 5、rmdir - 删除目录语法:
- 6、touch - 创建文件语法:touch 文件名
- 7、cp - 复制文件或目录到指定文件或者目录
- 8、rm - 删除文件或者目录
- 9、mv - 移动文件和目录或者重命名
- 10、cat - 查看文件内容
- 11、more - 文本过滤器
- 12、less - 分屏查看文件内容
- 13、echo - 输出内容到控制台
- 14、head - 显示文件开头部分
- 15、tail - 显示文件末尾部分
- 16、> - 输出重定向
- 17、>> - 追加
- 18、ln - 软连接
- 19、history - 查看执行过的历史命令
- 四、文件权限类
- 五、用户管理命令
- 六、时间日期类指令
- 七、搜索查找类指令
- 八、查看系统信息命令
- 九、磁盘查看和分区类
- 十、进程管理类
- 十一、压缩解压类指令
- 十二、网络配置
- 十三、远程操作工具
- 十四、系统管理指令
- 十五、 系统运行级别
- 十六、防火墙
- 十七、软件管理
一、关机与重启指令
1、shutdown - 关机
语法:shutdown
shutdown -h now
(立即关机)
shutdown -h 6
(6分钟后关机,shutdown后不填默认一分钟后关机)
shutdown -r now
(立即重启)
2、halt - 关机
3、reboot - 重启
4、logout 登出
5、sync - 将内存的数据同步到磁盘
无论是要关机还是重启,建议先运行 sync 命令将内存数据保存到磁盘。
二、帮助指令
1.man - 查看某个指令的帮助手册
语法:man 命令或配置文件
man ls
(查看 ls 命令的帮助手册)
man date
(查看 date 命令的帮助手册)
2.help - 查看某个指令的帮助信息
语法:help 命令
help mkdir
(查看 mkdir 命令的相关信息)
3.ctrl + c - 停止进程
ctrl + c
4.ctrl+l - 清屏,等同于 clear
ctrl+l
5.reset - 彻底清屏
reset
6.tab键 - 提示、自动补全(更重要的是可以防止敲错)
7.上下键 - 查找执行过的命令
三、文件目录类指令
1、pwd - 显示当前目录的绝对路径
语法:pwd 命令
pwd
(查看当前路径)
2、ls - 显示当前路径下的文件和目录
语法:ls 目录或文件
ls
(查看当前路径下所有文件或目录)
ls -l
(查看当前路径下所有文件或目录的详细信息)
ls -a
(查看当前路径下所有文件或目录,包括隐藏文件)
ls -l index
(查看当前路径下 index 下的详细信息)
3、cd - 切换到指定目录
语法:cd 目录
d /home
(切换到 /home目录下)
cd ~
(切换到用户主目录)
cd -
(切换到上一次访问的目录)
cd ..
(切换到当前目录的上一级)
.
(当前目录)
..
(上一级目录)
4、mkdir - 创建目录
语法:mkdir 目录名
mkdir example
(创建一个 example 目录(一级))
mkdir -p example/example1
(创建 example 目录,其下再创建example1目录(多级))
//-p 选项用于创建多级目录。
5、rmdir - 删除目录语法:
语法:rmdir 目录名
rmdir /home/ example
(删除 home 下的example目录)
rmdir -rf /home/example1
(强制删除 home 下的 example1目录)
rmdir删除的是空目录,目录下有内容时是无法删除的,-rf 则可删除非空目录,慎用。
6、touch - 创建文件语法:touch 文件名
语法:touch 文件名
touch example.txt
(创建example.txt空文件)
7、cp - 复制文件或目录到指定文件或者目录
语法:cp 源文件 目标文件
cp 001.txt guan/
(复制001.txt 文件到 guan 目录下)
cp -r /home/guan/guan1/
(递归将 home 下的整个 guan目录拷贝到 guan1目录下)
cp -r /home/a /b/
(强制覆盖不提示)
如果连续执行相同的拷贝命令系统会一个一个提示是否覆盖文件内的文件,这时在 cp 前加一个 \ 就可以进行强制覆盖,不提示。
8、rm - 删除文件或者目录
语法:rm 文件或目录
rm 001.txt
(删除 001.txt 文件)
rm -f 001.txt
(强制删除 001.txt 文件,不提示)
rm -r /home/guan
(递归删除整个 guan 目录)
rm -rf /home/guan
(递归删除整个 guan 目录,不提示)
9、mv - 移动文件和目录或者重命名
语法:mv 旧文件名 新文件名、mv /源目录 /目标目录
mv 001.txt 002.txt
(将 001.txt 重命名为 002.txt)
mv 001.txt test/
(移动 001.txt 到 test 目录下)
mv 001 002
(重命名目录 001 为 002)
mv 001 002/
(将目录 001目录到 002 下)
重命名的前提是两个文件在同一个目录下。
10、cat - 查看文件内容
语法:cat 文件
cat a.txt
(查看文件 a.txt 的内容)
cat -n a.txt
(查看文件 a.txt 的内容,并显示行号)
cat 指令查看文件比 vim 更安全,因为 cat 指令只能查看不能修改。
11、more - 文本过滤器
语法:more 要查看的文件
more a.txt
(查看 a.txt 文件的内容)
more 指令是一个基于 vim 编辑器的文本过滤器,可以以全屏幕的方式按页显示文本文件的内容,且有若干快捷键:
space;向下翻一页
Enter;向下翻一行
q;立即离开more,不再显示文件内容
Ctrl+F;向下滚动以一屏
Ctrl+B;返回上一屏
=;输出当前行的行号
:f;输出文件名和当前行的行号
more 指令也可以结合 cat 指令进行使用,可以让文件内容按百分比显示,使用管道指令 | more:
#cat example.txt | more (查看文件 example.txt 的内容,并以百分比显示)
12、less - 分屏查看文件内容
语法:less 查看的文件
less 用来分屏查看文件的内容,类似 more 指令但强于 more 指令,
支持各种显示终端;less 在显示文件内容时,并不是一次将整个文件
加载后才显示,而是根据显示需要来加载内容,效率较高。
同样它也有相关快捷键:space;向下翻动一页
pagedown;向下翻动一页
pageup;向上翻动一页
/字符串;向下搜寻字符串,n 向下,N 向上
?字符串;向上搜寻字符串,n 向下,N 向上
q;离开 less
13、echo - 输出内容到控制台
语法:echo 输出内容
echo $PATH
【输出环境变量 $PATH】
#echo “Hello World” 【输出语句“Hello World”】
14、head - 显示文件开头部分
语法:head 文件
#head test.txt 【查看 test.txt 文件的前 10 行内容】
#head -n 6 a.txt 【查看 a.txt 文件的前 6行内容】
默认情况下 head 显示文件的前十行。
15、tail - 显示文件末尾部分
语法:tail 文件
tail -10 test.txt
(查看 a.txt 文件的后 10 行内容)
tail -f test.txt
(查看 test.txt 文件的后 10 行内容,并实时追踪文件更新)
16、> - 输出重定向
cat 文件1 > 文件2
(将文件1的内容覆盖到文件2)
ls -l /home > /home/info.txt
(将 /home 下的文件列表写入 info.txt 中)
重定向 > 会覆盖之前内容
17、>> - 追加
date >> /home/time
(将当前日历信息追加到 /home/time 文件中)
追加 >> 会将新内容添加到之前内容的末尾
18、ln - 软连接
语法:ln -s 源文件 软链接名
ln -s /root /myroot
(创建一个软连接 myroot,连接到 /root 目录)
rm /myroot
(删除软连接 myroot)
软链接也称符号链接,类似 Windows 中的快捷方式,主要存放了链接其他文件的路径,删除软连接的方式与删除文件相同。
19、history - 查看执行过的历史命令
语法:history
history
(查看最近所有执行过的指令)
history 6
(查看最近执行过的10条指令)
!6
(执行历史编号为6的指令)
四、文件权限类
权限的基本组成:权限、用户、用户组
- 权限与用户、用户组
- 用户、用户组、权限的概念
权限内容 | Windows | Linux |
---|---|---|
用户概念 | 用户 | 用户 |
用户组概念 | 用户组 | 用户组 |
权限概念 | 完全控制、修改、读取和执行、列出文件夹内容、读取、写入 | 读、写、执行 |
与用户管理相关的系统文件
- 用户信息配置文件/etc/passwd
- 在Linux系统中,用户信息被存放在系统的/etc/passwd文件中系统的每一个合法用户对应于该文件中的一行记录。这行记录定义了该用户的属性。由于所有的用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow配置文件中。
- 用户组配置文件/etc/group
- 将用户进行分组是Linux系统对用户进行管理及控制访问权限的一种手段。一个组中可以有多个用户,一个用户也可以属于多个组。系统中所有的组信息存放于/etc/group文件,其中一行对应一个用户组的信息,每行均田4个字段构成,各个字段之间用 ":“ 分隔。
1.chmod - 修改文件权限
第一种方式变更权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
- 修改文件权限命令
- chmod 权限 文件名/文件夹名
- 有两种用法,字符和数字
- chmod ugo=rwx b.txt
- chmod u+rwx b.txt
- chmod g+w b.txt
- chmod o=- b.txt
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
字符与数字的换算方法:
-
rwx=4+2+1=7
-
rw = 4 + 2 = 6
-
rx = 4 + 1 = 5
-
wx = 2 + 1 = 3
- chmod 0 b.txt
- chmod 000 b.txt
- chmod 653 b.txt
- chmod 777 b.txt
2.chown - 改变所有者
chown [选项] [最终用户] [文件或目录]
(功能描述:改变文件或者目录的所有 者)
-
修改文件所有者命令
- chown [选项] 权限新所有者.新用户组 要修改的文件或目录名称
- chown命令常用的选项是-R,其功能是可以设置指定目录下的全部文件的所属关系
-
例如:
- chown root.root b.txt -------修改b.txt文件所属用户和所属用户组
- chown root:root b.txt ------修改b.txt文件所属用户和所属用户组
- chown root b.txt ------修改b.txt文件所属用户
- chown .root b.txt ------修改b.txt文件所属用户组
3.chgrp - 改变所属组
chgrp [最终用户组] [文件或目录]
(功能描述:改变文件或者目录的所属组)
五、用户管理命令
1.useradd-添加新用户
useradd 用户名
(功能描述:添加新用户)
useradd -G 组名 用户名
(功能描述:添加新用户到某个组)
2.passwd 设置用户密码
passwd 用户名
3.id-查看用户是否存在
id username
4.cat /etc/passwd 查看创建了哪些用户
cat /etc/passwd
5.su-切换用户
su 用户名称
(功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称
(功能描述:切换到用户并获得该用户的环境变量及执行权限)
6.userdel-删除用户
userdel 用户名
(功能描述:删除用户但保存用户主目录)
userdel -r 用户名
(功能描述:用户和用户主目录,都删除)
7.who-查看登录用户信息
whoami
(功能描述:显示自身用户名称)
who am i
(功能描述:显示登录用户的用户名以及登陆时间)
8.sudo-设置普通用户具有 root 权限
useradd guan
passwd guan
vim /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91 行),在 root 下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
issavior ALL=(ALL) ALL
或者配置成采用 sudo 命令时,不需要输入密码
root ALL=(ALL) ALL
issavior ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用 guan 帐号登录,然后用命令 sudo ,即可获得 root 权限进行 操作。
usermod 修改用户
将用户加入到用户组
usermod -g 用户组 用户名
用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
不同 Linux 系统对用户组的规定有所不同, 如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对 /etc/group
文件的更新。
9.groupadd-新增组
groupadd 组名
10.groupdel-删除组
groupdel 组名
11.groupmod-修改组
groupmod -n 新组名 老组名
12.cat /etc/group-查看创建了哪些组
cat /etc/group
六、时间日期类指令
1、date - 显示当前日期、设置日期
语法:date、data -s 时间
date
(显示当前时间)
date +%Y
(显示当前年份)
date +%m
(显示当前月份)
date +%d
(显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"
(显示年月日时分秒)
data -s "2022-5-1 10:01:05"
(设置系统时间为…)
2、cal - 查看日历
语法:cal
cal
(显示本月日历)
cal 2022
(显示 2022 年日历)
七、搜索查找类指令
1.find - 查找文件
语法:find 范围 方式 文件
find /home -name test.txt
(根据文件名查找 home 下的 test.txt 文件)
find /home -user guanguan
(根据用户查找 home 下用户昵称为 guanguan 的文件)
find / -size 250M
(根据文件大小查找系统中大小为 250M 的文件)
find / -size +250M
(查找系统中大于 200M 的文件)
find 指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端。
2.locate - 定位文件路径
语法:locate 文件
updatedb
(创建 locate 数据库,第一次使用 locate指令前必须先创建数据库)
locate test.txt
(定位 test.txt 文件的路径)
locate 指令可以快速定位文件路径,利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位文件,无需遍历整个文件系统;但为了保证查询准确度,管理员须定期更新locate时刻。
3.which - 定位指令路径
语法:which 指令
which cd
(检索 cd 指令所在路径)
4.grep - 过滤查找
语法:grep 查找内容 源文件
grep "yes" example.txt
(查找 example.txt 文件中 “yes” 所在行)
cat example.txt | grep "yes"
(查找 example.txt 文件中 “yes” 所在行)
cat example.txt | grep -n "yes"
(查找 example.txt 文件中 “yes” 所在行并显示行号)
grep 过滤查找常和管道符 | 结合使用,表示将前一个命令的处理结果传递给后面处理。
八、查看系统信息命令
1.uname - 查看Linux内核版本的命令
uname -r
或uname -a
(查看Linux内核版本的命令)
2.uptime - 显示系统已经运行了多长时间的命令
uptime
3.free - 查看当前系统内存的使用情况的命令
free
free -m
3.cat /proc/cpuinfo - 查询有关CPU的详细硬件信息命令
cat /proc/cpuinfo
4.last - 查看登录日志信息的命令
last
5.w [用户名] - 查看登录用户信息的命令
w [用户名]
九、磁盘查看和分区类
1.du-查看文件和目录占用的磁盘空间
du 目录/文件
(功能描述:显示目录下每个子目录的磁盘使用情况)
2.df-查看磁盘空间使用情况
df 选项
(功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占 用情况)
3.lsblk-查看设备挂载情况
lsblk
(功能描述:查看设备挂载情况)
4.mount/umount-挂载/卸载
mount [-t vfstype] [-o options] device dir
(功能描述:挂载设备)
umount 设备文件名或挂载点
(功能描述:卸载设备)
5.fdisk-分区
fdisk -l
(功能描述:查看磁盘分区详情)
fdisk 硬盘设备名
(功能描述:对新增硬盘进行分区操作)
十、进程管理类
1.ps-查看当前系统进程状态
ps aux | grep xxx
(功能描述:查看系统中所有进程)
ps -ef | grep xxx
(功能描述:可以查看子父进程之间的关系)
2.kill-终止进程
kill [选项] 进程号
(功能描述:通过进程号杀死进程)
killall 进程名称
(功能描述:通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用)
3.pstree-查看进程树
pstree [选项]
4.top-实时监控系统进程状态
top [选项]
5.netstat-显示网络状态和端口占用信息
netstat -anp | grep 进程号
(功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号
(功能描述:查看网络端口号占用情况)
6.crontab-系统定时任务
crond:Linux 用来周期地执行某种任务的一个守护进程
crontab -e
(编辑系统定时任务)
crontab -l
(列出系统定时任务)
十一、压缩解压类指令
1、gzip - 压缩文件
语法:gzip 文件
gzip example.txt
(将 example.txt 文件压缩为 example.gz 文件)
2、gunzip - 解压文件
语法:gunzip 解压文件
gzip example.txt.gz
(将 example.txt.gz 文件压缩为example .txt 文件)
3、zip - 压缩文件或目录
语法:zip 压缩文件或目录
zip -r example.zip /home/
(将 home 以及它的子目录压缩为example.zip )
-r 递归压缩,用于压缩目录以及目录下的子文件夹。
4、unzip - 解压文件或目录
语法:unzip xxx.zip
unzip -d /tmp example.zip
(将 example.zip 解压到 /tmp 目录下)
-d 用于指定解压后文件的存放目录。
5、tar - 打包
语法:tar -[选项] xxx.tar.gz(打包的内容)
其中:
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
x:代表解压
tar -zcvf a.tar.gz b.txt c.txt
(将 b.txt 和 c.txt 压缩成 a.tar.gz)
tar -zcvf a.tar.gz /home/
(将 /home 下的文件夹压缩为 a.tar.gz)
tar -zxvf a.tar.gz
(将 a.tar.gz 解压到当前目录)
tar -zxvf a.tar.gz -C /tmp
(将 a.tar.gz 解压到 /tmp 目录下)
tar 打包后的文件为 .tar.gz 文件。
十二、网络配置
1、三种网络模式
桥接
在网络网卡上安装了一个桥接协议,让这块网卡处于混杂模式,可以同时连接多个网络的做法。 桥接下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样查在这个交换机当中,所以所有桥接下网卡与网卡都是交换模式的,相互可以访问而不干扰。
NAT
虚拟机使用VMnet8网卡与主机单独组网,主机对于虚拟机相当于路由器,VMnet8网卡通过NAT地址转换协议与物理机网卡通信
Host-only
(仅与主机通信)【不常用】
虚拟机使用VMnet1网卡与主机单独组网,主机对于虚拟机相当于路由器
2、ifconfig-功能描述:显示所有网络接口的配置信息
3、ping-功能描述:测试当前服务器是否可以连接目的主机
4、修改 IP 地址
4.1编辑IP 配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
以下标红的项必须修改,有值的按照下面的值修改,没有该项的要增加
TYPE=“Ethernet” #网络类型(通常是 Ethemet)
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“static” #IP 的配置方法[none|static|bootp|dhcp](引导 时不 使用协议|静态分配 IP|BOOTP 协议|DHCP 协议)
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“ens33”
UUID=“e83804c1-3257-4584-81bb-660665ac22f6” #随机 id
DEVICE=“ens33” #接口名(设备,网卡)
ONBOOT=“yes” #系统启动的时候网络接口是否有效(yes/no)
#IP 地址
IPADDR=192.168.1.100
#网关
GATEWAY=192.168.1.2
#域名解析器
DNS1=192.168.1.2
4.2编辑完后,按键盘 esc ,然后输入 :wq 回车即可
4.3执行 service network restart 重启网络
修改 IP 地址后可能会遇到的问题:
物理机能 ping 通虚拟机,但是虚拟机 ping 不通物理机,一般都是因为物理机的 防火墙问题,把防火墙关闭就行
虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有问题
虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设 置是否正确
如果以上全部设置完还是不行,需要关闭 NetworkManager 服务
systemctl stop NetworkManager
关闭
systemctl disable NetworkManager
禁用
如果检查发现 systemctl status network
有问题 需要检查 ifcfg-ens33
5、setup-
6、hostname -修改和查看主机名称
修改主机名称
hostname 后跟要修改的名称,如
hostname guan
(修改主机名为guan)
查看当前服务器主机名称
hostname
如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/hostname 文件
vi /etc/hostname
(修改完成后重启生效)
修改 hosts 映射配置文件
vim /etc/hosts
192.168.200.168 guan
十三、远程操作工具
通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员之外的员工直接接触,因此就需要通过远程登录的方式来操作。
所以,远程登录工具就是必不可缺的,目前,比较主流的有 Xshell
, SSH Secure Shell, SecureCRT,FinalShell 等,可以根据自己的习惯自行选择,而远程传输文件有Xftp
。【我个人装了Xshell7和Xftp7】
-
SSH概念
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。 -
配置要点
- ssh服务分客户端和服务器端
- CentOS8的服务器端: openssh-server
- 配置文件位置: /etc/ssh/sshd_config
- 需设置防火墙相关参数
关于服务器的相关操作
查看状态 | systemctl status [服务名称] |
查看启动 | systemctl start [服务名称] |
停止服务 | systemct] stop [服务名称] |
重启服务 | systemctl restart [服务名称] |
十四、系统管理指令
1.Linux 中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做“进程”(process)
启动之后一直存在、常驻内存的进程,一般被称作“服务”(service)
2.systemctl
systemctl start | stop | restart | status 服务名
3.查看防火墙服务的状态
systemctl status firewalld
4.停止防火墙服务
systemctl stop firewalld
5.启动防火墙服务
systemctl start firewalld
6.重启防火墙服务
systemctl restart firewalld
7.systemctl 设置后台服务的自启配置
7.1查看服务开机启动状态
systemctl list-unit-files
7.2关掉指定服务的自动启动
systemctl disable service_name
7.3开启指定服务的自动启动
systemctl enable service_name
7.4查看服务的方法:
/usr/lib/systemd/system
ls -al
十五、 系统运行级别
1.CentOS7 的运行级别为:
multi-user.target
(多用户有网,无图形界面)
graphical.target
(多用户有网,有图形界面)
2.查看当前运行级别:
systemctl get-default
3.修改当前运行级别
systemctl set-default TARGET.target
(这里 TARGET 取 multi-user 或者 graphical)
十六、防火墙
1.临时关闭防火墙
查看防火墙状态
systemctl status firewalld
临时关闭防火墙
systemctl stop firewalld
2.开机启动时关闭防火墙
查看防火墙开机启动状态
systemctl enable firewalld.service
设置开机时关闭防火墙
systemctl disable firewalld.service
十七、软件管理
1.RPM
- RPM(RedHat Package Manager),RedHat软件包管理工具,是Linux这系列操作系统里面的打包安装工具。
- 常用于软件包的安装、查询、更新升级、校验、卸载以及生成.rpm格式的软件包等操作。
- RPM软件包工具只能管理后缀是.rpm的软件包。
- 例如: mysq180-community-release-el8-1.noarch.rpm
1.1RPM包的名称格式
Apache-1.3.23-11.i386.rpm - “apache” 软件名称
“1.3.23-11”软件的版本号,主版本和此版本
“i386”是软件所运行的硬件平台,Intel 32位处理器的统称
“rpm”文件扩展名,代表RPM包
1.2RPM 查询命令(rpm -qa)
查询所安装的所有 rpm 软件包rpm -qa
由于软件包比较多,一般都会采取过滤rpm -qa | grep rpm软件包
1.3RPM 卸载命令(rpm -e)
rpm -e RPM软件包
rpm -e --nodeps 软件包
-e:卸载软件包
–nodeeps:卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了)
1.4RPM 安装命令(rpm -ivh)
rpm -ivh RPM 包全名
-i:install,安装
-v:–verbose,显示详细信息
-h:–hash,进度条
–nodeps:安装前不检查依赖
2.YUM
YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
我的理解:yum类似maven,可以从镜像网站下载应用程序,并直接安装。
2.1yum语法
yum [选项] [参数]
2.2选项说明
-y:对所有提问都回答yes
2.3参数说明
2.4修改网络 YUM 源
默认的系统 YUM 源,需要连接国外 apache 网站,网速比较慢,可以修改关联的网络 YUM 源为国内镜像的网站,比如网易 163,aliyun 等。
- 在线仓库——YUM源
- CentOS 8默认YUM源定义文件存放在/etc/yum.repos.d目录下,用户可以自行定义任意可以使用的YUM源
选项 | 功能描述 |
---|---|
[ ] | 填写YUM源唯一的ID号,可以为任意字符串 |
name | 指定YUM源名称,可以为任意字符串 |
baseurl | 指定YUM源的URL地址(可以是HTTP、FTP或本地路径),可以指定多项 |
enabled | 是否激活该YUM源(0代表禁用,1代表激活,默认为激活) |
gpgcheck | 安装软件时是否检查签名(0代表禁用, 1代表激活) |
gpąkey | 如果检查软件包的签名,该语句定义检查签名的密钥文件 |
安装 wget, wget 用来从指定的 URL 下载文件
yum install wget
在/etc/yum.repos.d/目录下,备份默认的 repos 文件
cp CentOS-Base.repo CentOS-Base.repo.bak
下载网易 163 或者是 aliyun 的 repos 文件,任选其一
wget http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163
使用下载好的 repos 文件替换默认的 repos 文件
例如:用 CentOS7-Base-163.repo 替换 CentOS-Base.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
清理旧缓存数据,缓存新数据
yum clean all
yum makecache
3.DNF软件管理器
- RHEL 8和CentOS采用DNF作为主要的软件包管理工具
- DNF和YUM两者的主要差异如下
DNF软件管理器 RHEL 8和CentOS采用DNF作为主要的软件包管理工具DNF和YUM两者的主要差异如下YUM (Yellowdog Updater, Modified)API 有完整的文档API 没有完整的文档2DNF目前在Fedora, RHEL 8, CentOS 8, OEL 8和Mageia6/7 中使用YUM 目前在 RHEL 6/7, CentOS 6/7, OEL 6/7 中使用3DNF更新:在DNF更新过程中,如果包中包含不相关的依赖,则不会更新 手机尾号4978用户-u 637ed2da456eb N34QllvhUYUM 将在没有验证的情况下更新软件包4API 有良好的文档,因此很容易创建新的功能因为 API 没有正确的文档化,所以创建新功能非常困难5 DNF 在同步存储库的元数据时,使用的内存较少在同步存储库的元数据时,YUM 使用了过多的内存6 DNF 依赖关系解析快由于使用公开 API 的原因, Yum 依赖性解析变得迟钝7从内存使用量和版本库元数据的依赖性解析来看,性能都不错在很多因素的影响下,表现不佳
DNF (Dandified YUM) | YUM (Yellowdog Updater, Modified) | |
---|---|---|
1 | API 有完整的文档 | API 没有完整的文档 |
2 | DNF目前在Fedora, RHEL 8, CentOS 8, OEL 8和Mageia6/7 中使用 | YUM 目前在 RHEL 6/7, CentOS 6/7, OEL 6/7 中使用 |
3 | DNF更新:在DNF更新过程中,如果包中包含不相关的依赖,则不会更新 | YUM 将在没有验证的情况下更新软件包 |
4 | API 有良好的文档,因此很容易创建新的功能 | 因为 API 没有正确的文档化,所以创建新功能非常困难 |
5 | DNF 在同步存储库的元数据时,使用的内存较少 | 在同步存储库的元数据时,YUM 使用了过多的内存 |
6 | DNF 依赖关系解析快 | 由于使用公开 API 的原因, Yum 依赖性解析变得迟钝 |
7 | 从内存使用量和版本库元数据的依赖性解析来看,性能都不错 | 在很多因素的影响下,表现不佳 |