一、Linux系统基本结构
1.Linux系统安装及分区
系统安装:https://editor.csdn.net/md/?articleId=88316390
Linux分区:注:交换分区一般为物理内存的二倍
2.Linux文件系统结构
二、Linux常用命令
1.系统维护类
ls (list 显示当前目录下文件和目录 ls -l 详细显示 =ll )
-
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-
-r 将文件以相反次序显示(原定依英文字母次序)
-
-t 将文件依建立时间之先后次序列出
-
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-
-R 若目录下有文件,则以下之文件亦皆依序列出
pwd
pwd Print Working Directory ( pwd ,显示当前路径 ) pwd -P 显示出确实的路径,而非使用连接(link)路径
cd
( cd /usr/local/ 进入目录 /usr/local/ , cd …/ 返回到上一级目录, ./ 当前目录 …/父目录 - 代表前一个工作目录 ~代表[目前使用者身份]所在的家目录 ~account代表account这个使用者的家目录)针对 cd 的使用方法,如果仅输入 cd 时,代表的就是『 cd ~ 』
date
date 显示日期的指令:
passwd(用来更改使用者的密码)
必要参数:
-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后
-l 停止账号使用
-S 显示密码信息
-u 启用已被停止的账户
-x 设置密码的有效期
-g 修改群组密码
-i 过期后停止用户账号
选择参数:
–help 显示帮助信息
–version 显示版本信息
man
man 命令:查看该命令的基础用法
who、who am i
who 要看目前有谁在在线:
whoami 显示的是当前“操作用户”的用户名
who am i显示的是“登录用户”的用户名(用户登录时用过的id)
last
Linux last 命令用于显示用户最近登录信息。
使用权限:所有使用者。
ps(用于显示当前进程 (process) 的状态)
- ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
- -A 列出所有的行程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
- au(x) 输出格式
2.文件管理
touch
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。
命令格式:
touch [选项]… 文件…
命令参数:
-a 或–time=atime或–time=access或–time=use 只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
stat
Linux stat命令用于显示inode内容。
stat以文字的格式来显示inode的内容
stat [文件或目录]
rm
rm命令用来删除文件。
rm t.txt 该命令删除文件t.txt
more
more file1 查看一个长文件的内容
less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
mv
mv命令用来移动文件。
cat
cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。
cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。
head
head命令可以用来查看文件的开头部分。此命令的格式是:
head 文件名
默认设置,它只查看文件的前10行。但可以通过指定一个数字选项来改变要显示的行数,命令如下:
head –20 文件名
这个命令将会查看文件的前20行。
tail
tail命令和head命令恰恰相反。使用tail命令,可以查看文件结尾的10行。这有助于查看日志文件的最后10行来阅读重要的系统信息。还可以使用tail观察日志文件更新的过程。使用-f选项,tail会自动实时地把打开文件中的新信息显示到屏幕上。
grep
文本过滤:grep可以根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行的内容
查找文件里的字符和字符串:
查找文件里有字符h的字符串:grep h 文件名
匹配整个单词:grep -w 单词 文件名
匹配以q开始的行:grep 1 文件名
匹配以q结束的行:grep q$ 文件名
匹配以数字开头的行:grep 2 文件名
匹配以q或者f开头的行:grep 3 文件名
匹配以#号开头的行:grep “^#”
过滤空白行:grep “^$”
如果要明确搜索子目录:grep -r h ./*
忽略子目录:grep -d skip h ./*
搜索时忽略大小写:grep -i
搜索时显示没有匹配到的行:grep -v
搜索时显示匹配到的那一行以及下2行:grep -A 2
搜索时显示匹配到的那一行以及上2行:grep -B 2
搜索时显示匹配到的那一行以及上下2行:grep -C 2
find
find命令文件查询常用的参数及意义有以下几个:
find -name:直接根据文件名字来查找,比如,find / -name a.txt:在根目录下查找 a.txt文件
find -perm:根据文件权限来查找,比如:find / -perm 777,:查找根目录下权限为 77(rwx-rwx-rwx)的文件
find -mtine -n(+n):根据文件的更改时间来查找,其中-n代表n天之内的文件,+n 代表n天之前的文件,比如:find / -mtime -1:查找1天内修改过的文件
find -type:查找某一类型的文件,后带一些参数:
-d:目录
-p:管道文件
-f:普通文件
-i:符号链接文件
用find命令查找到了文件,输出的方式有2种:
1.find -print:标准输出,比如:find / ‘*.NCT’-print >a.txt,代表将根目录下所
的以nct命名的文件list输入到a.txt中
2.find -exec:对于find命令找到的文件执行该参数所给出的shell命令,比如:
find -name test.txt -exec rm -f test.tx {} \;找到test并删除此文
件,该命令一定要注意{}和\之间和空格,不要遗漏最后的“;”
ln
Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
语法:
ln [参数][源文件或目录][目标文件或目录]
其中参数的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[–help] [–version] [–]
命令功能 :
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
3.压缩与解压缩
linux上常见的压缩命令就是gzip与bzip2
压缩文件gzip: gzip 文件名(原文件不存在)
gzip -c 文件名1 >文件名1.gz (保留原文件)
解压文件: gzip -d 文件名.gz(不保留)
gunzip 文件名.gz
gzip -cd 文件名2.gz >文件名2(保留原文件)
查看压缩过的文本文件内容:zcat 文件名.gz
压缩文件bzip2(用法同gzip):bzip2 文件名
bzip2 -c 文件名1 >文件名1.bz2(保留原文件)
解压文件: bzip2 -d 文件名.bz2(不保留原文件)
bunzip2 文件名.bz2
bzip -cd 文件名2.bz2 > 文件名2(保留原文件)
查看压缩过的文件内容:bzcat 文件名.bz2
文件的归档即打包文件:tar [主选项+辅选项] 文件或目录
主选项:只能出现一个主选项
c— create 创建一个新归档文件
x— 从归档文件中提取文件出来
t— 列出归档文件的内容,查看已经打包了哪些文件,重点在查看文件名
辅选项
z—通过gzip的支持进行压缩/解压缩,一般格式为*.tar.gz
j— 通过bzip2的支持进行压缩/解压缩,一般格式为*.tar.bz2
v— 归档或解包过程中显示被打包的文件
C—这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数
f— 输出结果到文件,必须写该选项
–exclude FILE:在打包的过程中,不要将 FILE 打包! --排除某个文件打包
两种压缩方式:jcvf zcvf
打包、压缩文件1和2并重命名:tar zcvf 新文件名 文件名1 文件名2 文件名3 文件名4
解压:tar xvf 文件名 该命令会自动判断归档文件的压缩格式,自动调用相关程序进行解压缩
解压到指定路径:tar xvf 文件名 -C 目标路径
tar -xjv -f filename.tar.bz2 -C 欲解压缩的目录
查看已压缩文件:tar tf 文件名
4.磁盘管理
df
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
语法
df [选项]… [FILE]…
- 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
- 文件–block-size={SIZE} 使用 {SIZE} 大小的 Blocks
- 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的…)
- 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
- 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
- 文件-k, --kilobytes 就像是 --block-size=1024
- 文件-l, --local 限制列出的文件结构
- 文件-m, --megabytes 就像 --block-size=1048576
- 文件–no-sync 取得资讯前不 sync (预设值)
- 文件-P, --portability 使用 POSIX 输出格式
- 文件–sync 在取得资讯前 sync
- 文件-t, --type=TYPE 限制列出文件系统的 TYPE
- 文件-T, --print-type 显示文件系统的形式
- 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
- 文件-v (忽略)
- 文件–help 显示这个帮手并且离开
- 文件–version 输出版本资讯并且离开
du
Linux du命令用于显示目录或文件的大小。
du会显示指定的目录或文件所占用的磁盘空间。
语法
du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][–block-size][–exclude=<目录或文件>][–max-depth=<目录层数>][–help][–version][目录或文件]
参数说明:
- -a或-all 显示目录中个别文件的大小。
- -b或-bytes 显示目录或文件大小时,以byte为单位。
- -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
- -D或–dereference-args 显示指定符号连接的源文件大小。
- -h或–human-readable 以K,M,G为单位,提高信息的可读性。
- -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
- -k或–kilobytes 以1024 bytes为单位。
- -l或–count-links 重复计算硬件连接的文件。
- -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
- -m或–megabytes 以1MB为单位。
- -s或–summarize 仅显示总计。
- -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
- -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
- -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
- –exclude=<目录或文件> 略过指定的目录或文件。
- –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
- –help 显示帮助。
- –version 显示版本信息。
fsck
Linux fsck命令用于 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统。
语法
fsck [-sACVRP] [-t fstype] [–] [fsck-options] filesys […]
参数 :
- filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
- -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
- -s : 依序一个一个地执行 fsck 的指令来检查
- -A : 对/etc/fstab 中所有列出来的 partition 做检查
- -C : 显示完整的检查进度
- -d : 列印 e2fsck 的 debug 结果
- -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
- -R : 同时有 -A 条件时,省略 / 不检查
- -V : 详细显示模式
- -a : 如果检查有错则自动修复
- -r : 如果检查有错则由使用者回答是否修复
sync
Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的。
Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。
语法
sync
fdisk
Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
语法
fdisk [必要参数][选择参数]
必要参数:
-l 列出素所有分区表
-u 与"-l"搭配使用,显示分区数目
选择参数:
-s<分区编号> 指定分区
-v 版本信息
菜单操作说明
- m :显示菜单和帮助信息
- a :活动分区标记/引导分区
- d :删除分区
- l :显示分区类型
- n :新建分区
- p :显示分区信息
- q :退出不保存
- t :设置分区号
- v :进行分区检查
- w :保存修改
- x :扩展应用,高级功能
gdisk
gdisk -l [设备]
gdisk又叫GPT fdisk,算是fdisk的延伸吧,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。
扩展1:分区类型GPT和MBR。GPT最大支持18EB(1EB=1024PB,1PB=1024TB),MBR最大支持2TB。
扩展2(了解):GPT,全局唯一标识分区表(GUID Partition Table),它使用128位GUID来唯一标识每个磁盘和分区。与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部,一个在磁盘尾部;它通过CRC校验来检测GPT头和分区表中错误与损坏。默认一个硬盘支持128个分区(可以更多)。
(1).选项
只有一个-l选项,列出一个磁盘的所有分区表
(2).操作菜单说明
主要用到的几个和fdisk差不多:n、p、q、w。
完整的菜单如下:
b 将GPT数据备份到一个文件
c 更改分区名称
d 删除一个分区
i 显示分区详细信息
l 列出已知分区类型。此处8200是Linux swap,8300是Linux filesystem(对应fdisk的82和83)。还有一个8e00是Linux LVM
n 增加一个新的分区
o 创建一个新的空白的GPT分区表
p 显示当前磁盘的分区表
q 退出gdisk程序,不保存任何修改
r 恢复和转换选项(仅限专家)
s 排序分区
t 改变分区的类型
v 验证磁盘分区表
w 将分区表写入裁判并退出(保存并退出)
x 额外功能(仅限专家)
? 显示帮助信息
mkfs
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
Linux mkfs命令用于在特定的分区上建立 linux 文件系统
参数 :
- device : 预备检查的硬盘分区,例如:/dev/sda1
- -V : 详细显示模式
- -t : 给定档案系统的型式,Linux 的预设值为 ext2
- -c : 在制做档案系统前,检查该partition 是否有坏轨
- -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
- block : 给定 block 的大小
mount
Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。
语法
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,…]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
参数说明:
- -V:显示程序版本
- -h:显示辅助讯息
- -v:显示较讯息,通常和 -f 用来除错。
- -a:将 /etc/fstab 中定义的所有档案系统挂上。
- -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
- -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
- -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
- -s-r:等于 -o ro
- -w:等于 -o rw
- -L:将含有特定标签的硬盘分割挂上。
- -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
- -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
- -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
- -o sync:在同步模式下执行。
- -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
- -o auto、-o noauto:打开/关闭自动挂上模式。
- -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
- -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
- -o suid、-o nosuid:
允许执行档在 root 权限下执行。 - -o user、-o nouser:使用者可以执行 mount/umount 的动作。
- -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
- -o ro:用唯读模式挂上。
- -o rw:用可读写模式挂上。
- -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统
umount
Linux umount命令用于卸除文件系统。
umount可卸除目前挂在Linux目录中的文件系统。
语法
umount [-ahnrvV][-t <文件系统类型>][文件系统]
参数:
- -a 卸除/etc/mtab中记录的所有文件系统。
- -h 显示帮助。
- -n 卸除时不要将信息存入/etc/mtab文件中。
- -r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
- -t<文件系统类型> 仅卸除选项中所指定的文件系统。
- -v 执行时显示详细的信息。
- -V 显示版本信息。
- [文件系统] 除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统。
5.网络基础
ifconfig
Linux ifconfig命令用于显示或设置网络设备。
ifconfig可设置网络设备的状态,或是显示目前的设置。
nmcli
nmcli [OBJECT参数] [显示参数]
OBJECT参数
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
m[onitor] monitor NetworkManager changes
显示参数
show 显示详细信息
status 显示简略信息
查看接口信息
#简略信息
nmcli device status
#详细信息
nmcli device show
#接口的详细信息
nmcli device show interface-name
查看连接信息
#详细信息
nmcli connection show
#某个接口的详细连接信息
nmcli connection show inteface-name
启动停止接口
#启动接口
nmcli connection up connection-name
nmcli device connect interface-name
#停止接口
nmcli connection down connection-name
nmcli device disconnect interface-name
P.S:建议使用 nmcli device disconnect(connect) interface-name
因为使用该命令,在启动某个连接前或发生外部事件时不会自动连接
创建连接
#创建动态获取ip地址的连接,con-name是创建连接的名字,ifname是物理设备,网络接口
nmcli connection add type eth con-name connection-name ifname interface-name
例子:nmcli connection add type eth con-name dhcp-ens33 ifname ens33
#创建静态ip地址连接
nmcli connection add type eth con-name connection-name ifname interface-name ip4 address gw4 address
例子:nmcli connection add type eth con-name static-ens33 ifname ens33 ip4 192.168.1.115/24 gw4 192.168.1.1
修改ip地址
#修改命令
nmcli connection modify [--temporary] [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+
例子:nmcli c mod static-eth1 ipv4.addr 172.16.60.20/24
nmcli c up static-eth1
修改连接是否自启
nmcli con mod ens33 connection.autoconnect no/on
配置连接的DNS
#设定单个DNS
nmcli connection modify connection-name ipv4.dns DNS1
#设定多个DNS
nmcli connection modify connection-name ipv4.dns DNS1 DNS2
例子:nmcli connection modify static-eth1 ipv4.dns 114.114.114.114
nmcli connection modify static-eth1 ipv4.dns 114.114.114.114 119.29.29.29
#添加某个连接的DNS,使用前缀 '+'
nmcli connection modify connection-name +ipv4.dns DNS3
例子:nmcli connection modify static-eth1 +ipv4.dns 192.168.1.1
nmcli c up static-eth1 //修改后需要重新激活连接
设置主机名
#查询当前主机名
nmcli general hostname
#修改主机名
nmcli general hostname new-hostname
#重启hostname(主机名)服务
systemctl restart systemd-hostnamed
nmtui
图形化界面配置管理网络参数
6.用户管理
useradd
useradd 用户名=adduser 用户名
添加用户并添加选项:useradd 用户名 -u uid号 -g gid号/组名 -G 附加组/组名 -c 备注 -s 指定shell -d 指定家目录
id 查看用户的uid、gid以及组
usermod
-c 改变用户的全名或者说描述名称
-d 改变用户的家目录
-e 设置用户账号的过期时间
-g 改变用户的gid
-G 将用户添加入一个新组
-s 改变用户的默认shell
-l 改变用户用户名
-u 改变用户的uid
-L 锁住密码,使账号不能用
-U 为用户密码解锁
userdel
Linux userdel命令用于删除用户帐号。
userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
语法
userdel [-r][用户帐号]
参数说明:
- -r 删除用户登入目录以及目录中所有文件。
groupadd
添加组:groupadd -g gid 组名
groupmod
需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。
语法
groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
参数:
- -g <群组识别码> 设置欲使用的群组识别码。
- -o 重复使用群组识别码。
- -n <新群组名称> 设置欲使用的群组名称。
groupdel
inux groupdel命令用于删除群组。
需要从系统上删除群组时,可用groupdel(group delete)指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
语法
groupdel [群组名称]
id
Linux id命令用于显示用户的ID,以及所属群组的ID。
id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
语法
id [-gGnru][–help][–version][用户名称]
参数说明:
- -g或–group 显示用户所属群组的ID。
- -G或–groups 显示用户所属附加群组的ID。
- -n或–name 显示用户,所属群组或附加群组的名称。
- -r或–real 显示实际ID。
- -u或–user 显示用户ID。
- -help 显示帮助。
- -version 显示版本信息。
7.软件管理
rpm
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 “httpd” 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg “System Environment/Daemons” 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio --extract --make-directories bin 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/arch
/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包
yum
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件