第五周作业

1、简述rpm与yum命令的常见选项,并举例
2、自建yum仓库,分别为网络源和本地源
3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00
4、简述sed常用操作命令,并举例

1、简述rpm与yum命令的常见选项,并举例

rpm命令:

rpm  [OPTIONS]  [PACKAGE_FILE]

安装:-i, –install

升级:-U, –update, -F, –freshen

卸载:-e, –erase

查询:-q, –query

详细信息:-v, (更详细信息-vv)

校验:-V, –verify

数据库维护:–builddb, –initdb

输出进度条;每个#表示2%的进度:  -h

示例:

rpm -ivh    zip.x86_64    #安装zip包并显示安装进度和详细信息

卸载:rpm -e  [options] [filename]

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

–nodeps:忽略依赖关系

–test:测试卸载,dry run模式

示例:

rpm -e zip  #卸载zip包

查询:rpm {-q|–query} [select-options] [query-options]

[select-options]

PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本;

-a, –all:查询所有已经安装过的包;

-f  FILE:查询指定的文件由哪个程序包安装生成;

-p, –package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;

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

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

[query-options]

–changelog:查询rpm包的changlog;

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

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

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

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

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

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

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

用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE, …

示例:

rpm -qa                #查询所有已经安装过的包

rpm -qi zip          #查询安装包zip相关的信息,版本号、大小、所属的包组,等

rpm -qc zip.x86_64      #查询指定的程序包zip提供的配置文件

rpm -qf /etc/yum.conf   #查询此文件有那个安装包生成的

yum命令的用法:
yum [options] [command] [package …]

显示仓库列表:
repolist [all|enabled|disabled]

显示程序包:
list
# yum list [all | glob_exp1] [glob_exp2] […]
# yum list {available|installed|updates} [glob_exp1] […]

安装程序包:
install package1 [package2] […]

reinstall package1 [package2] […] (重新安装)

升级程序包:
update [package1] [package2] […]

downgrade package1 [package2] […] (降级)

查看yum事务历史:

history

包组管理的相关命令:
* groupinstall group1 [group2] […]
* groupupdate group1 [group2] […]
* grouplist [hidden] [groupwildcard] […]
* groupremove group1 [group2] […]
* groupinfo group1 […]

示例:

yum repolist      #显示可用仓库列表

yum install zip.x86_64    #在线安装zip包

yum list install  #显示已经安装的rpm包列表

yum history     #显示安装rpm包的事物历史

2、自建yum仓库,分别为网络源和本地源

网络源:
mv CentOS-Base.repo CentOS-Base.repo.bak      #备份repo仓库文件
vim centos-network.repo                                          #编辑新的网络源repo
[base]                                                                            #输入新的配置文件内容
name=CentOS-$releasever – Base
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

本地源:
mount -rt /dev/cdrom /media/cdrom                   #挂载光盘至/media/cdrom下
vim centos-network.repo                                          #编辑网络源repo
[xen4centos]                                                                 #在后面输入新的配置文件内容
name=Xen 4 CentOS 6
baseurl=file:///media/cdrom
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

yum repolist                                                                   #检查xen4centos是否加入进来

3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00

at命令:
at [OPTION]… TIME

TIME:
HH:MM [YYYY-mm-dd]
noon,midnight, teatime
tomorrow
now+#
UNIT:minutes, hours, days, OR weeks

at的作业有队列,用单个字母表示,默认都使用a队列;

常用选项:
-l:查看作业队列,相当于atq
-f /PATH/FROM/SOMEFILE:从指定文件中读取作业任务,而不用再交互式输入;
-d:删除指定的作业,相当于atrm;
-c:查看指定作业的具体内容;
-q QUEUE:指明队列;

注意:作业执行结果是以邮件发送给提交作业的用户;

cron命令:

用户cron的配置格式:/var/spool/cron/USERNAME
SHELL=/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

注意:
(1) 每行定义一个cron任务,共6个字段;
(2) 此处的环境变量不同于用户登录后获得的环境,因此,建议命令使用绝对路径,或者自定义PATH环境变量;
(3) 邮件发送给当前用户;

时间表示法:
(1) 特定值;
给定时间点有效取值范围内的值;
注意:day of week和day of month一般不同时使用;
(2) *
给定时间点上有效取值范围内的所有值;表“每..”
(3) 离散取值:,
在时间点上使用逗号分隔的多个值;
#,#,#
(4) 连续取值:-
在时间点上使用-连接开头和结束
#-#
(5) 在指定时间点上,定义步长:
/#:#即步长;

注意:
(1) 指定的时间点不能被步长整除时,其意义将不复存在;
(2) 最小时间单位为“分钟”,想完成“秒”级任务,得需要额外借助于其它机制;
定义成每分钟任务:而在利用脚本实现在每分钟之内,循环执行多次;

示例:

crontab -e

10 3,5 * * 3 /bin/date  +”\%Y-\%m-\%d \%H:\%M:\%S”

crontab -l

4、简述sed常用操作命令,并举例

sed [OPTION]… ‘script’ [input-file] …
script:地址定界编辑命令
常用选项:
-n:不输出模式空间中的内容至屏幕;
-e script, –expression=script:多点编辑;编辑命令:
d:删除;
p:显示模式空间中的内容;
a \text:在行后面追加文本“text”,支持使用\n实现多行追加;
i \text:在行前面插入文本“text”,支持使用\n实现多行插入;
c \text:把匹配到的行替换为此处指定的文本“text”;
w /PATH/TO/SOMEFILE:保存模式空间匹配到的行至指定的文件中;
r /PATH/FROM/SOMEFILE:读取指定文件的内容至当前文件被模式匹配到的行后面;文件合并;
=:为模式匹配到的行打印行号;
!:条件取反;
地址定界!编辑命令;
s///:查找替换,其分隔符可自行指定,常用的有s@@@, s###等;
替换标记:
g:全局替换;
w /PATH/TO/SOMEFILE:将替换成功的结果保存至指定文件中;
p:显示替换成功的行;

示例:

sed -n  ‘2,6p’ /etc/fstab    ##输出etc/fstab中2至6行

sed ‘2~2d’ /etc/fstab    ##删除/etc/fstab中所有的偶数行

sed ‘2i\test test’ /etc/fstab    ##在/etc/fstab的第二行前面插入一行test test

sed ‘/^[^#]/w /tmp/fstab.new’ /etc/fstab   ##将/etc/fstab中非#开头的行都写入到/tmp/fstab.new文件中

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100852

(0)
DanDan
上一篇 2018-06-11 14:26
下一篇 2018-06-11 20:12

相关推荐

  • linux发行版的基础目录名称命名法则和功用规定

    一.文件名使用法则;      1.严格区分字符大小写      2.目录也是文件,在同一路径下,两个文件不能同名      3.文件名除了/以外的任意字符都可以使用,最长不超过255字符。      4.所有由.开头的文件都是隐藏文件。 二.文件系统:层级结构;有索引;      /:原初起点:      第二层结构;      第三层结构;      倒…

    Linux笔记 2018-05-13
  • 第四周作业

    第四周作业
    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2018-06-07
  • nmcli team 网桥

    nmcli connection 命令行更改ip地址 nmcli connection add con-name home-eth3 ifname eth1 type ethernet ipv4.method auto connection.autoconnect yes 表示在 eth1网卡身上 上添加 名为home-eth3 自动获取且下回自动开启的 E…

    Linux笔记 2018-05-06
  • 查找命令,压缩工具,以及Sed

    1、查找locate和find
    2、处理动作-exec和参数替换xargs
    3、压缩、解压缩及归档工具
    4、文本处理工具sed

    2018-04-16