Linux基础(5)-rpm,yum与sed使用

1、rpm与yum命令的常见选项

rpm常见选项

-i 安装

-v 显示进度条

-test 测试安装,检查依赖和冲突,不实际安装

–nodeps  忽略依赖关系

–replacepkgs 重新安装

–noscript 不启用脚本

–nosignature 不检查签名

–nodigest 不检查完整性

升级

-F 升级

-U 没有老版本则安装

-oldpackage 降级

–force 强制升级

-e 卸载

–allmatches:卸载所有匹配指定名称的程序包的各版本

–nodeps:忽略依赖关系

–test 测试模式

-q 查询

-a 查询所有已安装的

-f 查询文件由哪个程序包生成

-p 查询该未安装的程序包文

–whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供

–whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖

–changelog:查询rpm包的changlog

-l, –list:程序安装生成的所有文件列表

-i, –info:程序包相关的信息,版本号、大小、所属的包组,等

-c, –configfiles:查询指定的程序包提供的配置文件

-d, –docfiles:查询指定的程序包提供的文档

–provides:列出指定的程序包提供的所有的CAPABILITY

-R, –requires:查询指定的程序包的依赖关系

–scripts:查看程序包自带的脚本片断

-V 校验

示例

~]# rpm -ivh http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm

~]# rpm -evh nginx

~]# rpm -qa

~]# rpm -q -l zsh


yum常见选项

显示仓库列表 repolist

显示程序包列表 list

安装重装程序包 install/reinstall

升级降级 update/downgrade

检查可用升级 check-update

卸载 remove/erase

查询程序包信息 info

查询特征由哪个程序包提供 provides 相当于rpm -qf

清理本地缓存 clean

构建缓存 makecache

搜索 search

查看指定包所依赖的capabilities deplist

查看历史 history

包租管理

groupinstall 组安装

groupupdate 组升级

grouplist 组列表

groupremove 组删除

groupinfo 组信息

示例

yum install zsh

yum list all

yum info zsh

2、自建yum仓库

网络源

编辑配置文档

[net]

name=aliyun

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/

http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/

gpgcheck=0

enabled=1

本地源

挂载安装光盘 ~]# mount -r /dev/cdrom /mnt

创建配置文件并编辑~]# vim /etc/yum.repos.d/1.repo

[base1]

name=gongzyl

baseurl=file:///mnt/

gpgcheck=0

enable=1

yum repolist all 查看是否成功

3、at和crontab命令

at命令:未来某个时间点运行一次作业

格式 ○ at [OPTION]… TIME

时间格式:

HH:MM

noon(中午12点),midnight(夜晚12点), teatime(下午4点)

 tomorrow

now+#UNIT

选项

-l:查看作业队列,相当于atq

-f /PATH/FROM/SOMEFILE:从指定文件中读取作业任务,而不用再交互式输入

 -d:删除指定的作业,相当于atrm;

-c:查看指定作业的具体内容;会显示默认的环境变量等信息

-q QUEUE:指明队列

corntab命令:周期性任务

crontab [-u user] file

用户cron的配置格式:/var/spool/cron/USERNAMESHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root# For details see man 4 crontabs# Example of job definition:

# .—————- minute (0 – 59)

# | .————- hour (0 – 23)

# | | .———- day of month (1 – 31)

# | | | .——- month (1 – 12) OR jan,feb,mar,apr …

# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * command to be executed

选项

-e:编辑任务;

-l:列出所有任务;

-r:移除所有任务;即删除/var/spool/cron/USERNAME文件;

-i:在使用-r选项移除所有任务时提示用户确认;

-u user:root用户可为指定用户管理cron任务;

示例:制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00

10 3,5 *  * 3 root date ‘+%Y-%m+%d %h:%M:%S

4、sed常用操作命令

命令格式:sed [OPTION]… ‘script’ [input-file]

选项:

-n:不输出模式空间中的内容到屏幕;

-e script:能同时定制多个编辑命令脚本,每个脚本前带-e;

-f /PATH/TO/SCRIPT_FILE:指定script来源文件,文件中一行为一个script;

-r,–regexp-extended:支持扩展正则表达式;

-i[SUFFIX]:直接编辑源文件

地址定界

(1) 空地址:对全文进行处理;

(2) 单地址:

#:指定行;

 /pattern/:被此模式所匹配到的每一行;

(3) 地址范围

#,#:#行开始到#行结束结束

#,+#:从第#行加+#行结束

#,/pat1/ 从#行开始,到匹配到/pat1/行结束

$:最后一行;

(4) 步进:~

1~2:所有奇数行

2~2:所有偶数行

编辑命令:

d:删除模式空间中的内容;

~]# sed ‘1,5d’ /etc/fstab 删除1-5行

~]# sed ‘/^UUID/d’ /etc/fstab 删除UUID开头的所有行

p:显示模式空间中的内容;

~]# sed -n 1~2p /etc/fstab 显示奇数行

a \text 在行后面追加新行“text”,支持使用\n实现多行追加;

~]#sed ‘/UUID/a \#base uuid’ /etc/fstab

i \text:在行前面插入新行“text”,支持使用\n实现多行插入;

c \text:把匹配到的行替换为此处指定的文本“text”;整行替换

w /PATH/TO/SOMEFILE:保存模式空间匹配到的行至指定的文件中;

~]# sed ‘/^[^#]/w /tmp/123.456’ /etc/fstab

r /PATH/FROM/SOMEFILE:读取指定文件的内容至当前文件被模式匹配到的行后面;文件合并;

=:为模式匹配到的行打印行号;会单独占一行

!:条件取反;

地址定界!编辑命令;

~]# sed ‘/^#/!d’ /etc/fstab

s///:查找替换,其分隔符可自行指定,常用的有s@@@, s###等;

替换标记:

g:全局替换;用的多

w /PATH/TO/SOMEFILE:将替换成功的结果保存至指定文件中;很少用

p:显示替换成功的行;

你可能感兴趣的:(Linux基础(5)-rpm,yum与sed使用)