热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux安装程序包以及sed使用方法简介

计划任务。每12小时备份并压缩etc目录至backup目录中,保存文件名称格式为,“etc-年-月-日-时-分.tar.gz”crontab-e1*

计划任务。
每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为,“etc-年-月-日-时-分.tar.gz”

crontab -e
1 */12 * * * tar -cvzf /backup/etc-`date +%F`.tar.gz /etc/

rpm redhat package manager 红帽包管理 无法自动处理包之间依赖关系,需手动处理。
-i 安装同 --install
-e 卸载 --erase
-v print verbose information
-h hash --hash
-q 查看包
-a 查看所有已安装包,同–all
-f 查看程序属于哪个包。(程序需要使用绝对路径)
-p 查看未安装包的信息。
-R 查看包依赖关系。
-l 查看包成文件及其路径。
-C 查看包的配置文件信息。
常用方法:
安装包:rpm -ivh
卸载包:rpm -evh
验证包:rpm -V
对已安装包的信息查看
rpm -qf 看看程序属于那个包。
rpm -ql 查看包成文件及其路径。
rpm -qi 查看包相关信息。
rpm -qc 查看包的配置文件信息。
由于无法自动解决包安装时的依赖关系问题,新的包管理工具yum应运而生。

YUM Yellowdog Updater Modified
yum 使用起来非常方便,只需要简单的几步配置就可以安装和卸载各种安装包,且yum会自己帮我们处理包之间的依赖关系。
查看程序包信息:
yum info
yum provides 查看包依赖关系。

安装包常用命令:
yum install (包名字) 安装单个包
yum reinstall (包名字)重装包
yum groupinstall (包组名字) 安装包组
yum update (包名字) 升级安装
yum downgrade (报名字)降级安装
卸载包:
yum groupremove
yum remove (包名字)
yum命令安装程序包是基于yum仓库实现的。那么如何找到yum仓库呢,这就需要我们首先配置yum的配置文件。
yum仓库文件位置:
/etc/yum.repos.d/*.repo 以repo结尾的文件都是一般centos系统会自带几个repo文件。

repo配置文件格式
[name] #repo id
name= #repo name 可自己定义
baseurl= #指定链接地址:可以外网链接,可以本地目录。本地例:baseurl=file:///mnt/cdrom
gpgcheck= #是否验证密钥,0或1 0不检查,1检查
enable= #是否启用,0或1 0不启用,1启用
清理本地缓存 yum clean
建立本地缓存 yum makecache
yum仓库的建立
将全部rpm包存放到指定目录。亦可网络上的某个目录。
网络共享目录可以用http,ftp,nfs等实现。
cd 到 rpm程序包存放目录
执行 createrepo 即可建立yum仓库。

列出菜单给用户,输入1,2,3对应分别显示硬盘,内存,cpu信息。

#!/bin/bash# select one from 4.#2019-7-26echo -e "(1)disk:show disk info \n(2)mem:show memory info\n(3)cpu:show cpu info \n(*)quit"read -p "please input NO.:" iif [ $i == 1 ]; thencat /proc/diskstatselif [ $i == 2 ]; thencat /proc/meminfoelif [ $i == 3 ]; thencat /proc/cpuinfoelse exit 2fi

sed 使用方法
Stream Editor 流编辑器,逐行编辑。默认不修改原文件。
sed分为:模式空间(相当于sed的字符加工厂)。保持空间(用来实现一些高级功能)。
sed常用选项
-n 不输出至模式空间内容至屏幕。(静默模式)
-e 多点编辑功能同时
-f 指定一个编辑脚本
-r 支持扩展正则表达式
-i 直接编辑原件(慎用)
地址界定(一般指一行内的界定)
#,# 1,3 从第一行到第三行
#,+# 2,+8 从第二行开始向下八行
#,/part1/ 从某一行开始,知道满足匹配条件结束。
/part1/,/part2/ 从匹配条件开始,到匹配条件结束。
编辑命令
p 显示命令条件配的行

[root@server ~]# sed -n '/^#/p' /tmp/fstab 显示已#开头的所有行。## /etc/fstab# Created by anaconda on Thu Jun 22 22:54:39 2017## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#

-n是为了仅显示匹配的结果。因为sed默认会把不匹配条件的内容也全部标准输出。

d 删除

sed '1,5d' /tmp/fstab 文件中第一到第五行删除sed '/^#/d' /tmp/fstab 文件中以#开头的行删除

a 追加到行之下

sed '5a/test/' /tmp/fstab 文件中第五行之下追加/test/
sed '/^#/a/test/' /tmp/fstab 文件中以#号开头的行下全部追加/test/

i 插入到行之上

sed '5i/test/' /tmp/fstab 文件中第五行之上插入/test/
sed '/^#/i/test/' /tmp/fstab 文件中以#号开头的行之上全部插入/test/

c 替换整行文本

sed '/^[^#]/clocaldev' /tmp/fstab 非#号开头的行全部替换为localdev

w 保存匹配内容到指定文件

sed '/^[^#]/w/tmp/sedtest.txt' /tmp/fstab 把文件中不是#好开头的行全部保存到/tmp/sedtest.txt
但是执行时你会发现,fstab还是会全部显示一遍。如果不需要显示可以加-n选项。

r 读取内容到文件指定位置

sed '1,5r/tmp/id.txt' /tmp/fstab 文件中第一到第五行每行下面都追加id.txt的内容。
sed '/^UUID/r/tmp/id.txt' /tmp/fstab 文件中以UUID开头的每行下面最佳id.txt的内容。

新建脚本访问日志中状态码大于400的ip数量,并排序。

#awk判断状态码大于400输出其IP地址,sort -n 排序,uniq -c 显示重复次数。
awk '{if ($10>400) print $1}' log.txt |sort -n | uniq -c

自制本地yum源。
首先挂载光盘到mnt/目录下。
copy全部包到本地。
创建yum源(需指明程序包存放位置,生成的repo文件默认存放在当前工作目录)

mount /dev/cdrom/Packages /mnt/cdromPackages
cp -r /mnt/cdrom/Packages /media/cdrom/
createrepo /Packages
-o 可指定repodata存放路径。

例:
在这里插入图片描述
然后配置yum源文件。新建或者修改一个以.repo结尾的文件。/etc/yum.repo.d/*.repo
内容
[name]
name=yum-local
baseurl=file:///tmp/
gpgcheck=0
enable=1
各行配置意义,请从上文中查找不在赘述。


推荐阅读
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
author-avatar
hja2045905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有