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:显示替换成功的行;