Linux常用命令大全

来源:互联网 发布:mac 一定要分两个 区 编辑:程序博客网 时间:2024/06/05 22:31

--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 
或者仅仅把第2059行之间的内容存盘成文件/tmp/1 

3) 
VI编辑一个文件,但需要删除大段大段的内容 
vi file 
Ctrl+G 
把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G. 
:23,1045d 
假定两次行号为231045,则把这几间的内容全删除 

也可以在开始和结束两行中用ma,mb命令标记后用:'a,'bd删除

4) 
在整个文件或某几行中在行首或行尾加一些字符串 
vi file 
:3,$s/^/some string /
在文件的第一行至最后一行的行首前插入some string 
:%s/$/ some string/g 
在整个文件每一行的行尾添加 some string 
:%s/string1/string2/g 
在整个文件中替换string1string2 
:3,7s/string1/string2/ 
仅替换文件中的第三到七行中的string1string2 
Note: s
substitute,%表示所有行,g表示global 

5) 
同时编辑两个文件,在两个文件中拷贝剪贴文本 
vi file1 file2 
yy 
同时打开两个文件,在文件1的光标所在处拷贝所在行 
:n 
切换到文件2 (n=next) 
在文件2的光标所在处粘贴所拷贝的行 
:N 
切换回文件

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]...][,...],其中表示该档案的拥有者,表示与该档案的拥有者属于同一个群体(group)者,
表示其他以外的人,表示这三者皆是。 
表示增加权限、表示取消权限、表示唯一设定权限。 
表示可读取,表示可写入,表示可执行,表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 
-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各为一个数字,分别表示UserGroup、及Other的权限。 
r=4
w=2x=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
i386i586i686等不同版本的不同
有的rpm有分i386i586i686等不同版本,如:
abc-1.2.3-4.i386.rpm
abc-1.2.3-4.i586.rpm
abc-1.2.3-4.i686.rpm
它们有什么不同呢?
这里的i386i586i686指的是适用于intel i386 i586i686 兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的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,glintxrpm则不必。
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

原创粉丝点击