Linux GoGoGo
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux GoGoGo相关的知识,希望对你有一定的参考价值。
1、简述rpm与yum命令的常见选项CentOS系统上rmp:安装、升级、卸载、查询、校验、数据库维护 常用rpm-ivh PACKAGE
rpm [options] [package_file]
-i:安装
-v详细信息 -h显示进度 --test测试安装 --nodeps忽略依赖关系
--replacepkgs重新安装 --noscripts不执行程序包脚本 --nosignature不检查来源合法性 --nodigest不坚持包完整信息
-U:升级 :不对内核升级
-U升级或安装 rpm -Uvh package
-F升级 -Fvh package
--oldpackage:降级 --force强制升级
-e:卸载 rpm -e package_name
--allmatches卸载所有版本
-q:查询 rpm-qa package_name查询所有包
-f FILE查询FILE是由哪个程序生成的 -p|--package PACKAGE_FILE查询为安装的包
--whatprovides CAPABILITY:查询指定CAPABILITY由哪个包提供
--whatrequires CAPABILITY:查询指定CAPABILITY被哪个包依赖
[query-options]:
--changelog :查询rpm包的changelog
-c :查询程序的配置文件
-d :查询程序文档
-i :information
-l :查看程序包安装后生成的所有文件
--scripts:查看程序包自带的脚本
--provides:列出程序包所提供的CAPABILITY
-R :查询指定的额程序包所依赖的CAPABILITY
常用查询法:
-qi PACKAGE;-qf FILE;-qc PACKAGE;-ql PACKAGE;-qd PACHKAGE
-v:校验
rpm -V|--verify[select-options][verify-options]
[verify-options]
S:file Size differs
M:Mode differs(includes permissons and file type)
5:digest differs
L:readlink path mismatch
D:Device major/minor number mismatch
U:User ownership differs
T:mtime differs
P:capabilities differs
导入所需公钥
rpm -k|--checksig rpmfile检查包的完整性
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7
Centos 7发行光盘提供RPM-GPG-KEY-Centos-7
rpm -qa “gpg-pubkey*”
yum
解决程序包依赖性安装
yum [optios] [command] [packages]
yum repolist[all|enable|disable]显示仓库列表
yum list显示程序包
yum install [packages]...安装程序包
yum reinstall [packages]..重新安装程序包
yum update [package]..升级程序包
yum downgrade [packages]降级
yum check-update 检查可用升级
yum remove |erase packages 卸载程序包
/etc/yum.conf为仓库提供公共配置
/etc/yum.repos.d/*.repo:为仓库的指向提供配置
仓库指向定义:
[repositoryID]
name=仓库名字
baseurl=仓库路径
enable=1|0是否启用
gpgcheck=1|0是否校验
2、自建yum仓库,分别为网络源和本地源
[newrepo]
name=newrepo1
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
gpgcheck=0
enable=1
[newrepo]
name=newrepo2
baseurl=/mnt/Packages
gpgcheck=0
enable=1
3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00
at:
at [options] TIME
TIME =HH:MM[YYYY-mm-dd]
noon,midnight,teatime,
tomorrow
now+#[minutes,hours,days,weeks]
ctrl+d提交
-l 查看任务列表,相当于atq
-f /FILE 从指定文件中读取任务
-d # 删除#号任务,相当于atrm
-c # 显示#号任务的具体内容
-q 指明队列
crontab
服务程序:
cronle:主程序包,提供crond守护进程及相关辅助工具
确保守护进程:systemctl status crond.service --OS7
service crond status --OS6
* * * * * 周期性时间
user-name 用户
command to be executed任务
向crond提交作业方式使用专用配置文件,有固定的格式要是用crontab命令
cron任务分两类:
系统cron任务:主要用于系统自身维护 手动编辑/etc/crontab
用户cron任务:crontab 命令
/var/spool/cron/USERNAME
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# 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
# | | | | |
# * * * * * user-name command to be executed
10, 3,5 * * 3 /bin/date +%Y-%m-%d-%H-%M-%S
时间表示法:
特定值:给定时间点有效取值范围内的值
- 给定时间点上有效取值范围内的所有值; 3 每小时的第三分钟执行
指定时间的离散取值:在给定时间点上使用逗号分隔的多个值(1,3,4 )每小时1,3,4分执行
连续取值 0 9-18 每天9点到18点每小时执行一次
定义步长:指定时间上定义步长 /# #表示步长 /5 *每5分钟执行一次任务
crontab:
-e:编辑任务
-l:列出任务
-r:移除所有任务
4、简述sed常用操作命令,并举例
ed [options] ‘scripts‘ [file]....
scripts:
地址定界:
不给地址,全文处理
单地址,#:指定行
/partten/被此模式匹配到的每一行
-n 不输出模式空间中的内容到标准输出
-e 实现多点编辑
-f 脚本文件
-r 支持扩展正则表达式
-i 原处编辑
编辑命令:
d 删除
p 显示模式空间内容
a 匹配到的行后面追加文本
i 匹配到的行前面插入文本
c 匹配到的行替换为指定的文本
w 保存模式空间中的内容到指定文件
r 读取指定文件的内容至当前文件被匹配到的行
= 加行号
! 条件取反
s/// 查找替换g全局 w将替换的结果保存至指定文件中 p显示替换成功的行
高级用法:
h 把模式空间中的内容复盖到保持空间中
H 把模式空间中的内容追加到保持空间中
g 把保持空间中的内容覆盖至模式空间中
G 把保持空间中的内容追加到模式空间中
x 把模式空间中的内容与保持空间中的内容互换
n 读取匹配到的行的下一行覆盖到模式空间
N 读取匹配到的行的下一行追加到模式空间
D 删除多行空间中的所有行
以上是关于Linux GoGoGo的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )