求下列linux指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求下列linux指令相关的知识,希望对你有一定的参考价值。

1、查询系统中所有已安装的软件包,内容较多需使用分屏方式来显示。
2、查询当前所安装的软件包中包含“lin”关键字的软件包(提示:使用管道)。
3、查询已安装的某个软件包(如samba-2.2.7a-7.9.0)所包含的文件及其安装位置,如果内容较多需使用分屏方式显示。
4、查询已安装的某个软件包(如samba-2.2.7a-7.9.0)的描述信息。
5、查询某文件(如:/usr/X11R6/bin/X)属于哪个软件包。
6、使用“p”选项可以查询未安装的软件包信息,参照教材229页,完成以下两个查询操作:
rpm –qpi 软件包文件全路径
rpm –qpl软件包文件全路径
7、查询某个特定的软件包(如:ppp-2.4.1-10.i386.rpm)是否安装,若未安装,将其进行安装;若已安装,先卸载,再安装。
8、验证所有已安装的软件包。

参考技术A rpm 常用命令
1.安装一个包
# rpm -ivh

2.升级一个包
# rpm -Uvh

3.移走一个包
# rpm -e

4.安装参数
--force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

5.查询一个包是否被安装
# rpm -q < rpm package name>

6.得到被安装的包的信息
# rpm -qi < rpm package name>

7.列出该包中有哪些文件
# rpm -ql < rpm package name>

8.列出服务器上的一个文件属于哪一个RPM包
#rpm -qf

9.可综合好几个参数一起用
# rpm -qil < rpm package name>

10.列出所有被安装的rpm package
# rpm -qa

11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?
# rpm -qilp < rpm package name>

<>
一、安装

命令格式:

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 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安
装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为

二、删除

命令格式:

rpm -e ( or --erase) options pkg1 ... pkgN

参数

pkg1 ... pkgN :要删除的软件包

详细选项

--test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性

通用选项

-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装
程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为

三、升级

命令格式

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 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为

四、查询

命令格式:

rpm -q ( or --query) options

参数:

pkg1 ... pkgN :查询已安装的软件包

详细选项

-p (or ``-'') 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
--whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
--whatrequires 查询所有需要 功能的软件包

信息选项

显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能

通用选项

-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为

五、校验已安装的软件包

命令格式:

rpm -V ( or --verify, or -y) options

参数

pkg1 ... pkgN 将要校验的软件包名

软件包选项

-p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包

详细选项

--noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性

通用选项

-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为

六、校验软件包中的文件

语法:

rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

参数:

file1.rpm ... fileN.rpm 软件包的文件名

Checksig--详细选项

--nopgp 不校验PGP签名

通用选项

-v 显示附加信息
-vv 显示调试信息
--rcfile 设置rpmrc文件为

七、其它RPM选项

--rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本
参考技术B rpm –qa 查询Linux系统中的所有软件包
rpm –q 包名称 查询指定名称软件包是否安装
rpm –qi 包名称 查询指定名称软件包的详细信息
rpm –ql 包名称 查询指定名称软件包包中所包括的文件列表
rpm –qf 包名称 查询指定文件所属的软件包
rpm –qpi 包名称 查询指定RPM包文件的详细信息
rpm –qpl 包名称 查询指定RPM包中包含的文件列表

Linux下重导进程输出

linux下要重导进程输出(包括标准输出和标准错误),需要第三方程序strace(关于strace的编译请见本文最底说明)。

执行下列指令可以将进程 id 为 ${PID} 的所有输出到重导到 /tmp/outs

  • strace -e trace=all -s 200 -f -o /tmp/outs -p ${PID}

使用下列指令可以取出标准错误内容(以 java 程序标准错误为例)

  • cat /tmp/outs | grep "write(2," | cut -d ‘,‘ -f 2 | grep -v "\n" | sed -e ‘s/"//g‘ | sed -e ‘s/ / /g‘

如何编译strace:

  • 从网上下载strace_xxxx.tar.gz文件
  • 使用 tar zxvf 将strace.tar.gz 解压缩;
  • 切换到解压缩路径,编辑以下脚本,执行编译(以powerpc平台为例)
    CC=ppc_82xx-gcc LD=ppc_82xx-ld RANLIB=ppc_82xx-ranlib
    ./configure --host=powerpc-linux --target=powerpc-linux
    make
  • 编译完成后在相同路径即可见到二进制的strace文件;

以上是关于求下列linux指令的主要内容,如果未能解决你的问题,请参考以下文章

哪里有Linux提高培训?Linux的十条危险指令

Linux下重导进程输出

如何在Windows实现远程调用Linux下的shell指令

linux 下mysql 输入showdatabase指令 没反应

linux新手按照菜鸟教程安装的CentOS6.8,用yum指令安装wget时报no package wget available。

Linux:如何执行一条指令,并把执行结果按行划分存到数组中呢?