shell提取rpm的报名】的更多相关文章

说明: rpm本身未安装,下面方法是基于rpm包文件实现提取rpm的包名 rpm -qpi ZXVEi-git0/CgsOS/abrt-2.1.11-48.el7.centos.x86_64.rpm | grep Name |awk -F : '{gsub(/[[:blank:]]*/,"",$2);print $2 }' 说明: awk去除字符串两端空格的常用方法 sub(/^[[:blank:]]*/,"",变量)  是去掉变量左边的空白符 sub(/[[:bl…
转自http://blog.csdn.net/universe_hao/article/details/52640321 shell 提取文件名和目录名 在写shell脚本中,经常会有需要对路径和文件名做处理.有时候犯不着用sed命令来操作.bash提供的变量操作和一些外部命令都能很好的处理.   一.使用变量操作符 ${} 1.${var##*/} 该方式是从左开始最大化匹配到字符"/",然后截掉左边内容(包括字符"/"),返回余下右侧部分. $ var=/dir…
在讲解如何从 RPM 包中提取文件之前,先来系统学习一下 cpio 命令.cpio 命令用于从归档包中存入和读取文件,换句话说,cpio 命令可以从归档包中提取文件(或目录),也可以将文件(或目录)复制到归档包中. 归档包,也可称为文件库,其实就是 cpio 或 tar 格式的文件,该文件中包含其他文件以及一些相关信息(文件名.访问权限等).归档包既可以是磁盘中的文件,也可以是磁带或管道. cpio 命令可以看做是备份或还原命令,因为它可以将数据(文件)备份到 cpio 归档库,也可以利用 cp…
很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等.例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等. 下面介绍两种常用的方法来进行相关的操作. 一.使用${} 1.${var##*/} 该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边…
原理也比较简单, 刚好用到就稍微写了一下, 做个笔记 #!/bin/bash #************************************************************************* # > File Name: remove.sh # > Author: chenglee # > Main : chengkenlee@sina.com # > Blog : http://www.cnblogs.com/chenglee/ # >…
如果文件是 .css文件 或 .js文件,则进行处理. file=$1 if [ "${file##*.}"x = "css"x ]||[ "${file##*.}"x = "js"x ];then do something fi 注意: 1> 提取文件后缀名: ${file##*.} ##是贪婪操作符,从左至右匹配,匹配到最右边的.号,移除包含.号的左边内容. 这里可以参考 http://www.1987.name/2…
${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串 1.提取文件名 [root@localhost log]# var=/dir1/dir2/file.txt [root@localhost log]# echo ${var##*/} file.txt 2.提取后缀 [root@localhost log]# echo ${var##*.} txt 3.提取不带后缀的文件名,分两步 [root@localhost log]# tmp=${var##*/} [root@localh…
包含了源码包 先安装,然后在rpmbuild 目录直接可以查看文件 不用安装 ,使用rpm2cpio rpm2cpio myrpm.src.rpm | cpio -civ '*.spec' 没有源码 使用rpmrebuild 说明:不太好,那个只是基于从rpm包获取到的信息,生成的,实际运行可能会有问题 安装rpmrebuild 的方法yum install -y rpmrebuild 参考命令   rpmrebuild -e -p plv8-2.1.0-6.fc28.x86_64.rpm 参考…
sed -n '100,200p' file.txt #提取文件file.txt第100行到第200行的内容 sed 's/$/test/' file.txt #在行尾添加字符串test,$代表行尾…
记录一下: 我们可以用  ${ }  分别替换获得不同的值: file=/dir1/dir2/dir3/my.file.txt ${file#*/}:拿掉第一条  /  及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}:拿掉最后一条  / 及其左边的字符串:my.file.txt ${file#*.}:拿掉第一个  .  及其左边的字符串:file.txt ${file##*.}:拿掉最后一个  .  及其左边的字符串:txt ${file%/*}:…
dbcn="mysql -h172.16.1.194 -uroot -p123456"; db=dsp_ad_center; ii=0; ct=`$dbcn -N -e " SELECT COUNT(1) FROM information_schema.TABLES AS t WHERE t.TABLE_SCHEMA = '$db' AND t.TABLE_TYPE = 'BASE TABLE' ; "`; mkdir -p /chenenhui/$db while…
1. RPM 包校验 $ rpm -V 已安装的包名 选项 释义 -V (verify) 校验指定 RPM 包中的文件 (1) 验证内容中的 8 个信息的具体内容如下 信息名称 释义 S 文件大小是否改变 M 文件的类型或文件的权限 (rwx) 是否被改变 5 文件 MD5 校验和是否改变(可以看成文件内容是否改变) D 设备的主从代码是否改变 L 文件路径是否改变 U 文件的属主(所有者)是否改变 G 文件的属组是否改变 T 文件的修改时间是否改变 (2) 文件类型 类型名称 释义 c (co…
校验 格式 rpm -V 已安装的包名 选项: - -V:校验指定RPM包中的文件(verify) 例子 rpm -V httpd 后, 无任何提示, 代表该文件没有被做任何修改 # 判断本地的apache 与官方给出的是否一致, 从而判断是否被人修改 修改httpd.conf配置文件后 提示 : S.5....T. c /etc/httpd/conf/httpd.conf 红字8位分别代表验证内容不同信息,有变化就显示,没变化以点"."表示变动 蓝字c代表验证内容文件的文件类型 内容…
目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文件,可以通过强制覆盖的方法可以把删除的文件还原.如果不是误删除,我只是修改了文件中的内容,但是我忘记源文件内容是什么,我修改不回来了.这个时候强制安装覆盖(--force选项)就解决不了问题了.因为强制安装覆盖,并不会对现已存在的文件做修改.Linux系统怕软件的强制安装覆盖把你现有的配置清空了.…
RPM包安装 手动安装 挂载光盘 首先查看光盘是否挂载(使用mount命令) RPM包存放位置 在你光盘挂载点的Packages目录下 使用 ll | grep 关键字 可以快速找到你想要的RPM包 例如:[root@localhost Packages]# ll | grep httpd RPM包命名规则 httpd:软件包命 2.2.15:软件版本 69:发布次数 el6:发行商 x86_64:适合硬件平台 RPM:包扩展名 注意 全包名:如果操作的是未安装的软件包,则使用全包名,而且需要是…
Introduction The RPM Package Manager (RPM) is an open packaging system that runs on Fedora as well as other Linux and UNIX systems. Red Hat and the Fedora Project encourage other vendors to use RPM for their own products. RPM is distributed under the…
任务 命令 显示软件包的相关信息 rpm -q -i NAME 列出软件包中含有的所有文件 rpm -q -i NAME 列出软件包中含有的配置文件 rpm -q -c NAME 列出软件包中含有的文档文件 rpm -q -d NAME 显示软件包新发行版的简短原因摘要 rpm -q --changelog NAME 显示软件包中含有的shell脚本 rpm -q --scripts NAME…
一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rpmbuild在运行后会在用户目录下生成一个rpmbuild的文件夹: [root@localhost rpmbuild]# ls ~/rpmbuild/ BUILD BUILDROOT RPMS SOURCES SPECS SRPMS 有四个目录:BUILD:你要打包的文件将会在这里编译;BUILD…
--------------------------------------------------------------------------------------------------- |--- 1. 独立的服务  |---- rpm包默认安装的服务 |--- 2. 基于xinetd服务 linux服务分类: | |---- 源码包安装的服务 查询已安装的服务: rpm包安装的服务:chkconfig --list( 查看服务自启动状态,可以看到所有rpm包安装的服务 ) ( 7个…
1.RPM包校验 <1>rpm -V 已安装的包名 <2>选项: -V 校验制定RPM包中的文件(verify) <3>说明: <1>若没有显示任何内容,则证明包正常,则没有被修改过 <2>一旦有显示,则证明包被修改过, 且会在相应位置显示出被修改过的属性所代表的字母(.说明该属性没有被修改) -----------------------------------------------------------------------------…
rpm常见的用法: 命令 说明 rpm -i <.rpm file name> 安装指定的 .rpm 文件 rpm -U <.rpm file name> 用指定的.rpm文件升级同名包 rpm -e <package-name> 删除指定的软件包 rpm -q <package-name> 查询指定的软件包在系统中是否安装 rpm -qa 查询系统中安装的所有RPM软件包 rpm -qf </path/to/file> 查询系统中指定文件所属的…
因为Firefox的在写博客时提交代码会丢失缩进,所以打算安装Chrome来写博,还不错,学到了两条命令- [shell] sudo yum-config-manager --add-repo=http://repos.fedorapeople.org/repos/spot/chromium-stable/ fedora-chromium-stable.repo sudo yum localinstall google-chrome-stable_current_x86_64.rpm [/she…
库文件 linux上,库文件是非常重要的,因为很多的软件都不是将所有的自己在需要的函数库自己写好,而是将一部分自己软件特有的库文件自己写,通用的库文件全部动态链接到公共库上去,这样不仅节省空间,同时用起来也是十分的方便. 查看二进制程序所依赖的库文件 ldd /PATH/TO/BINARY_FILE [root@CT71 ~]#ldd /bin/ls linux-vdso.so. => (0x00007ffceaa9e000) libselinux.so. => /lib64/libselin…
1.系统版本及mysql下载地址 操作系统:Centos 6.5(Centos 7.4下载对应的mysql版本安装同理) mysql数据库版本:mysql8.0.11 mysql官方网站:http://www.mysql.com 2.安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载 [bigdata@eric011 software-package]$ rpm -qa | grep mariadb mariadb-libs-5.5.56-2.el7.x86_64 [bigd…
shell提取文件名: http://blog.csdn.net/u011544778/article/details/50773053 一.使用${} 1.${var##*/}该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容.使用例子及结果如下: 从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt. 若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${v…
查找某个rpm包是否安装 rpm -qa|grep 包名 #我们再次安装是会提示和那个包冲突,直接复制那个报名过来就可 安装rpm包 rpm -ivh 报名…
一次shell中seq的处理 背景:用要shell 提取 文件中内容,文件名是用序列号如下生成,文件差不多有将近400多w个  如下:  www.ahlinux.com 原始脚本#! /bin/sh#str1="" #filecount=`ls -l /root/gjj | wc -l | awk '{print $1}'`#echo $filecount for n in `seq  $1 $2`dofilename="/windows_gjj/"${n}&quo…
一.软件包分类 1.软件包分类 源码包 二进制包 2.源码包 2.1 源码包什么样 直接由编程语言写成,没经过编译.类似于java的 .calss 文件,c的 .c文件. [root@love2 ~]# vim hello.c #include <stdio.h> int main (void) { printf ("hello world\n"); } [root@love2 ~]# gcc -c hello.c # - c 生成" .o "头文件.这…
编程思路1 遍历目标路径的rpm包并保存特性包列表: 2 利用python模块rpmUtils提取RPM包的特征信息:包名  版本号 架构 3 遍历特性列表中存在重复包名的rpm, 将低版本的rpm包完整路径信息保存在删除列表中: 4 遍历目标路径,根据删除列表删除低版本的rpm包 函数接口解读: rpmUtils.miscutils.splitFilename  —— https://programtalk.com/python-examples/rpmUtils.miscutils.spli…
一,什么是rpm rpm是redhat package manager redhat的软件包管理器 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest 对应的源码可以访问这里获取: https://github.com/liuhongdi/ 说明:作者:刘宏缔 邮箱: 371125307@qq.com 二,查看rpm命令所属的包 [root@blog ~]$ whereis rpm rpm: /usr/bin/rpm…