您的位置:首页 > 运维架构 > Linux

Linux常用命令大全

2014-04-04 17:05 288 查看

一、
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令 shell