一、
Linux常用命令 1
△文件目录操作命令:
--ls touch cp mv rm cd ln
--cat more less head tail
--pwd mkdir rmdir
--find grep
--tar gzip compress
--sort paste wc
△→ls
§用法:ls 参数:
-a:显示所有文件,包括隐藏文件(以.开头的文件)
-l:以长格式显示
-F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
-D:将目录象文件一样显示,而不是显示其下的文件
-t:按修改时间先后显示
-R:显示目录及下级子目录结构
-m: ?横向输出文件名,并以“,”作分格符。
-S: ?以文件大小排序。
§范例:
ls –a
ls –alR
ls -F
§备注:
加-F参数时,
*: 可执行文件
/: 目录
@:链接文件
Linux的文件类型
-普通文件:
例:纯文本文件,配置文件conf
显示颜色为白色
-目录:
又称文件夹
显示颜色为蓝色
-可执行文件:
调用文件名可以运行的文件
显示颜色为绿色
△→用颜色代表不同文件
§蓝色:目录
§绿色:可执行文件
§红色:压缩文件
§浅蓝色:链接文件
§灰色:其他文件
△→touch
§作用:生成一个空文件或修改文件的时间
§范例:
--touch * :将当前目录下所有文件时间修改为当前系统时间
--touch –d 20010602 test:将文件test的时间修改为20010602
--touch test2:如果test2存在,则修改为当前系统时间,如果不存在,则生成一个为当前时间的空文件
△→cp – copy file
§用法:cp –afpx source target
-a:尽可能保持文件的结构和属性
-p:保持原始文件日期
-f :如果目标文件已经存在,则覆盖它
-i :提示是否覆盖现有的普通目标文件
-R:包含子目录
§范例:
--cp ls.txt mydir1
--cp –a mydir1 mydir2
--cp /etc/syslog.conf ./
--cp -a /etc/sound/ /home/so/
△→mv – move file
§用法:mv –b source target
-b:给被覆盖的文件建立一个备份
§范例:
--mv abc bcd
--mv abc mydir/
--mv -b abc mydir/
△→rm – remove
§用法:rm –irf 文件或目录
i:交互模式
r:删除目录及以下所有内容
f:强制删除
§注意:
Root用户在删除文件时要特别小心
权限问题
△→cd – change directory
§用法:cd [目录]
§作用:切换路径
§范例:
--cd ..
--cd .
--cd ~
--cd /
--cd ../usr
△→pwd – print work directory
§用法:pwd
§作用:显示当前工作目录
§范例:配合cd
△→创建和删除目录
§mkdir
用法: mkdir 目录名
作用:创建目录新的目录
范例:mkdir abc
§rmdir
用法: rmdir目录名
作用:删除空目录
范例:rmdir abc
△→file
file 文件名
查看文件内型
(后面会介绍)
△→cat 、more、 less
§cat:输出文本文件内容(文本文件合并)
范例:
cat tt.txt
cat txta txtb > txt
§more:按页显示文件
范例:more tt.txt
§less:按页显示文件,可以使用翻页键
范例:less tt.txt
△→head、tail
§head:显示文件的前?行
范例:head –20 /etc/passwd
§tail:显示文件的后?行(默认是10行)
--加-f参数,会实时的监视某程序
范例:
--tail –20 /etc/passwd
--Tail +20 /etc/passwd (模2除后再到结尾)
△→sort 与 paste
§sort:将文本文件排序
范例:
sort passwd
sort –n test :将test按照数字大小排序
sort test1 test2 test3:将文件test1,test2,test3的内容联合排序
-o filename 把结果保存在filename中
-u 不显示重复的行
§paste:将不同文件合并
范例:
paste test1 test2 > test3
◆文件的硬链接:
§相当于一个文件的两个副本,指向同一数据存储区
§特点:
---两个文件,长度相等,总长度不变
---删除其中一个文件,另一个仍然存在
---修改其中一个文件,另一个也修改
◆文件的符号链接:
§相当于一个文件的快捷方式
§特点:
---仅保存一个指针,长度小于原文件
---删除符号链接,不影响原文件
---删除原文件,符号链接即没有意义
◆ln命令–link
§功能:产生链接文件
§用法:ln –s 来源文件 目标文件
---加-s参数:symbolic link
---不加-s参数:hard link
§范例:
ln –s /bin/less /usr/bin/less
ln myfile mylinkfile
◆which
§查找内部命令的完整路径和别名
◆whereis – where is file ?
§作用:查找文件或目录位置
§说明:whereis并不进行磁盘级的查找,只是在$PATH所设定的路径中去查找
§范例:whereis ls
备注:$PATH的设置在Shell一章进行介绍
◆find
§作用:查找文件或目录
§用法:find 查找路径 匹配条件
动作 常用匹配条件
§- type d表示目录f表示文件l表示链接b块文件p管道文件
§name ‘字符串’
§iname ‘字符串’ 不区分大小写
§user 用户名
§group 组名
§perm xxxx
§size n
§atime n 过去n天被访问过的
§mtime n 在过去n天中被修改过的
备注:
name和iname:name区分大小写,iname不区分大小写
find / -name core –print -exec rm –rf {} \;
(p131):在Linux环境中当某个程序执行错误时,就会将存留在内存中的内容保存成core文件,因此系统运行一段时间后,会形成很多core文件,上面命令的作用是:
从根目录开始查找文件core,并把符合的结果打印出来,然后用-exec执行rm –rf,将查找的结果(以大括号{})删除,注意命令最后一定要加 \; ,否则不是合法命令。
find的范例:
--find . -name ls.txt
--find . -name ls.txt –print
--find / -name ‘c??’ –print
--find / -name ‘f*’ –print
--find . -name ‘f*’ –exec ls –l {} \;
--find . -name f\* –ok rm {} \;
--find . -perm 644 –mtime 4
--find . -name ‘c??’ –o -name ‘d??’
◆locate,updatedb
§locate
作用:查找文件或目录
范例:locate l1.txt
注意:不是从磁盘空间上查找,而是从
updatedb产生的文件中查找
§updatedb
作用:更新资料库
说明:以root身份登录后才可以执行
◆grep
§功能:在文件中查找匹配的字符串
§格式:grep [参数] “待查字符串” 文件
-v 反向匹配
-w 完整匹配
-i 忽略大小写
-c 只显示有几行符号要求
-n 在显示行前标上在文档中的行号
△使用简单的正则表达式
§. :任意一个字符。
§* :匹配字符的零次或多次出现。
§[a-z] :a到z的任意字符一个
§^a :以字母a开始的行
§a$ :以字母a结束的行
△在grep中使用正则表达式
§$ grep ‘[Ff]leas’ fleas
§$ grep –c ‘.’ fleas
§$ grep –n ‘.*’ fleas>fleas.num
§$ grep –i ‘and’ fleas
§$ grep –w ‘on’ fleas
◆wc
§wc 选项 文件
§统计文件中的行数、单词数、字符数
§-c:显示字节数
§-w:显示单词数
§-l:显示行数
◆压缩与解压缩-常用压缩工具
§gzip,gunzip .gz
§zip,unzip .zip
§tar .tar
§compress .Z
§bzip2 .bz2
△→gzip
§功能:压缩文件,压缩后文件格式 .gz
§选项:
-1:快速压缩
-9:最佳压缩状态
-r:压缩时包括子目录
-d:解压缩
§范例:
--gzip –1 file1.jpg
--gzip –d file1.jpg.gz
§注意:
---压缩后源文件消失
---压缩目录时并不会将整个目录压缩成一个单独文件
△→gunzip
§功能:
对gzip文件进行解压缩
§范例:
--gunzip dd.jpg.gz
--gunzip –r mydir1/ (解开mydir1目录中的所有gzip的压缩文件)
△→tar
§功能:
归档多个文件和目录到一个.tar文件内,同时实现反向功能。
§格式:
tar [c][x][v][z][f filename] file or dirname
§选项:
-c:建立一个.tar文件
-v:显示冗余信息
-f:指定新文件名
-x:解压某个文件
△→compress
§功能:
压缩和解压缩(红旗4.0没有提供)
§参数:
-v:显示压缩比例和压缩后的文件名
-d:将.Z结尾的的压缩文件解压缩
-f:强制将文件压缩
§范例:
--compress –v letter.txt
--compress –d letter.txt.Z
△→bzip2
§功能:
压缩和解压缩
§参数:
z:压缩
d:解压缩
k:不删除原文件
§范例:
--bzip2 –z wtb.*
--bzip2 –dk wtb.c.bz2
◆◆Linux常用命令 2
△信息显示命令:
--dmesg
--file
--who w whoami
--hostname uname
--du df free
△→dmesg
§功能:
显示机器引导时内核显示的状态信息
§参数:
-c :显示出状态后删除这些信息
§用法:
dmesg
△→file
§功能:测试文件类型
§/usr/share/magic.mime保存文件类型
§参数
-b:不显示文件名
-f filename:用一个文件文件保存的每一行作为文件去检查
-k :搜索到第一个匹配项不停止
-z :检查压缩文件中的每一个文件
-s /dev/hd*:检查分区系统类型
§范例
--file *
--file –s /dev/hda2
备注:file –z ff.gz:检测压缩文件ff.gz的类型
△→who
§who功能:
查看其他登录的用户
§参数:
-b:系统最后启动时间
-a:显示所有信息
-H:显示项目标头
-r:查看系统运行等级
-w,在登录帐号后面显示一个字符来表示用户的信息状态:
---"+":允许写信息;
---"-":不允许写信息;
---"?":不能找到终端设备。
-q:统计当前有多少用户登录系统
§输出的通用格式如下:
name [state] line time [idle] [pid] [commnet] [exit]
--name用户的登陆名
--state写到终端的能力
--line在/dev中找到的行名
--time自从用户登陆所用的时间
--idle自从用户最后一次活动所经历的时间
--pid用户的进程ID
--commnet注释行
--exit已死进程的退出状态
△→W
§w功能:
查看其他登录的用户(who增强版)
§第一行输出内容:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1秒、5秒和15秒的平均负载
§第二行输出内容:登录帐号、终端名称、远程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。
*JCPU时间指的是和该终端(tty)连接的所有进程占用的时间
*PCPU时间则是指当前进程(即在WHAT项中显示的进程)所占用的时间
△→whoami
§whoami的功能
查看登录用户自己的信息
§whoami使用范例
whoami
△△→whoami和who am i区别:
1.whoami显示effective current username(即通过su username1之后, 显示的是username1);
2.who am i显示的是original username(即在使用su命令之前的username).
△→hostname:
查看主机名 (根据/etc/hosts文件显示)
§参数:
-a:显示系统别名
-d:显示系统域名
-f: 显示FQDN名
-i:显示本机IP地址(127.0.0.1)
△→uname:
显示系统信息
§参数:
-s:显示内核名
-r:显示内核版本
-i:显示硬件平台
-p:显示处理器内型
-o:显示操作系统内型
△→du:
-c:统计大小用K表示.
-b:用Byte表示.
-s:统计整个目录所占空间.
--max-depth=N,显示几级目录.
报告指定的文件(目录)已使用的磁盘空间的总量.
△→df:
报告文件系统磁盘空间的使用情况
-h:更人性化显示
-i: 显示节点信息
-l: 显示本地文件系统信息
-t filesystem type: 显示指定类型的文件系统信息
△→free:
查看当前内存和交换空间的使用情况.
-t:显示总的内存信息(物理内存+虚拟内存)
-s N:实时监视内存,延迟N秒显示信息
*根据/proc/meminfo文件分析的结果
二、
1. Vi命令
1) 光标命令
k,j,h,l——上下左右光标移动命令,虽然你可以在Linux中使用键盘右边的四个光标键, 但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分
nG ——n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告
w,b——使光标向前或向后跳过一个单词
2) 编辑命令
i,a,r——在光标的前,后,上方插入字符命令(i=insert,a=append,r=replace)
cw,dw——改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete)
x,d$,dd——删除一个字符,光标所在处到行尾的所有字符,和整行的命令
3) 查找命令
/string, ?string——从光标所在处向后/向前查找相应的字符串的命令
4)拷贝复制命令
yy,p ——拷贝一行到剪贴板/取出剪贴板中内容的命令
三、常见问题及应用技巧
1) 在一个新文件中读/etc/passwd中的内容,取出用户名部分
vi file
:r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd
:%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分
:3r /etc/passwd 这是在指定的行号后面读入文件内容
另外一种方法删掉文件中所有的空行及以#开始的注释行
#cat squid.conf.default | grep -v '^$' | grep -v '^#'
2) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘
vi file
:w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1
:20,59w /tmp/1 或者仅仅把第20到59行之间的内容存盘成文件/tmp/1
3) 用VI编辑一个文件,但需要删除大段大段的内容
vi file
Ctrl+G 把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G.
:23,1045d 假定两次行号为23和1045,则把这几间的内容全删除
也可以在开始和结束两行中用ma,mb命令标记后用:'a,'bd删除.
4) 在整个文件或某几行中在行首或行尾加一些字符串
vi file
:3,$s/^/some string /
在文件的第一行至最后一行的行首前插入some string
:%s/$/ some string/g 在整个文件每一行的行尾添加 some string
:%s/string1/string2/g 在整个文件中替换string1成string2
:3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2
Note: s为substitute,%表示所有行,g表示global
5) 同时编辑两个文件,在两个文件中拷贝剪贴文本
vi file1 file2
yy 同时打开两个文件,在文件1的光标所在处拷贝所在行
:n 切换到文件2 (n=next)
p 在文件2的光标所在处粘贴所拷贝的行
:N 切换回文件1
6) 替换文件中的路径
:%s#/usr/bin#/bin#g 把文件中所有路径/usr/bin换成/bin
或者用
:%s/\/usr\/bin/\/bin/g 在'/'前用\符号指出'/'是真的单个字符'/'
使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。
2. cat 命令
使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3
3. CD 命令
使用权限 : 所有使用者
使用方式 : cd [dirName]
说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例 : 跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home directory :
cd ~
跳到目前目录的上上两层 :
cd ../..
4. chmod命令
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
例子 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,
o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的权限
5. chown命令
使用权限 : root
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
例子 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *
名称:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
例子
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
6. Cut 命令
使用权限:所有使用者
用法:cut -cnum1-num2 filename
说明:显示每行从开头算起 num1 到 num2 的文字。
范例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前 6 个字元
test2
this i
7. Ln 命令
使用权限 : 所有使用者
使用方式 : ln [options] source dist,其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
参数 :
-f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist 同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v : 在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本
范例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz
将档案 yy 产生一个 hard link : zz
ln yy xx
8. mkdir命令
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为 dirName 之子目录。
参数:-p 确保目录名称存在,不存在的就建一个。
范例:
在工作目录下,建立一个名为 AAA 的子目录 :
mkdir AAA
在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir -p BBB/Test
9. rpm命令
如果想知道都在那里:
rpm -qpl abc.i386.rpm
或者
rpm -ql abc
rpm的i386、i586和i686等不同版本的不同
有的rpm有分i386、i586和i686等不同版本,如:
abc-1.2.3-4.i386.rpm
abc-1.2.3-4.i586.rpm
abc-1.2.3-4.i686.rpm
它们有什么不同呢?
这里的i386、i586、i686指的是适用于intel i386、 i586、i686 兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的rpm文件。你可以透过/proc/cpuinfo这个档案查询你的CPU等级。
smbmount文件属于哪一个rpm
#which smbmount
/usr/bin/smbmount
#rpm -qf /usr/bin/smbmount
samba-client-2.2.5-10
关于rpm的小技巧
1)安装rpm包时显示进度:用-vh参数,如rpm -ivh ipchains-1.3.6-1.i386.rpm,用glint或xrpm则不必。
2)直接通过ftp来安装rpm包:如rpm -i ftp://ftp.xxx.xxx
3)校验所有的rpm包,查找丢失的文件:rpm -Va
4)查找一个文件属于哪个rpm包:例如:rpm -qf /usr/bin/who
5)列出一个rpm包的描述信息:例如:rpm -qpi mon-0.37j-1.i386.rpm
6)列出一个rpm包的文件信息:例如:rpm -qpl mon-0.37j-1.i386.rpm
从rpm文件中解出某个文件的三种方法
Peck Dickens的两种方法
1) 使用Midnight Commander (mc), 翻看rpm内部文件,并将某文件拷贝出来
2) 命令行方式
cd /tmp
md rpmtmp
cd rpmtmp
rpm2cpio {FullNameOfRPM} | cpio -iumd {FullNameOfFileToExtract}
注意,完成后请删除临时文件
Pam Roberts的一种方法
3) 使用rpm-utils-1.5-1.noarch.rpm中的rpm-get命令,该rpm可以从rpmfind.net获取
安装一个rpm包
rpm -ivh <rpm package name>
升级一个包
rpm -Uvh <rpm package name>
移走一个RPM包
rpm -e <rpm package name>
查询一个包是否被安装
rpm -q <rpm package name>
得到被安装的包的信息
rpm -qi <rpm package name>
列出该包中有哪些文件
rpm -ql <rpm package name>
列出所有被安装的包
rpm -qa <rpm package name>
列出一个未被安装进系统的RPM包的文件中包含哪些文件
rpm -qilp <rpm package name>
rpm -q --queryformat "%{NAME} %{ARCH} " glibc
glibc i686
-----------------------------
一、安装
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
详细选项:
-h (or --hash) 安装时输出hash记号 (``#'')
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port>
通用选项
-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
二、删除
命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN
参数
pkg1 ... pkgN :要删除的软件包
详细选项
--test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性
通用选项
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
三、升级
命令格式
rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
参数
file1.rpm ... fileN.rpm 软件包的名字
详细选项
-h (or --hash) 安装时输出hash记号 (``#'')
--oldpackage 允许"升级"到一个老版本
--test 只进行升级测试
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--percent 以百分比的形式输出安装的进度。
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port>
通用选项
-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
四、查询
命令格式:
rpm -q ( or --query) options
参数:
pkg1 ... pkgN :查询已安装的软件包
详细选项
-p <file>(or ``-'') 查询软件包的文件
-f <file> 查询<file>属于哪个软件包
-a 查询所有安装的软件包
--whatprovides <x> 查询提供了 <x>功能的软件包
-g <group> 查询属于<group> 组的软件包
--whatrequires <x> 查询所有需要 <x> 功能的软件包
信息选项
<null> 显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能
通用选项
-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
五、校验已安装的软件包
命令格式:
rpm -V ( or --verify, or -y) options
参数
pkg1 ... pkgN 将要校验的软件包名
软件包选项
-p <file> Verify against package file <file>
-f <file> 校验<file>所属的软件包
-a Verify 校验所有的软件包
-g <group> 校验所有属于组 <group> 的软件包
详细选项
--noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性
通用选项
-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
六、校验软件包中的文件
语法:
rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 软件包的文件名
Checksig--详细选项
--nopgp 不校验PGP签名
通用选项
-v 显示附加信息
-vv 显示调试信息
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
七、其它RPM选项
--rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本
10. mv 命令
文件移动命令.
#mv resin.tar /home/resin