本文主要介绍了系统管理相关内容,包括压缩与归档、Linux软件包管理,任务计划、邮件功能,另外还介绍了sed命令的使用。

一、归档与压缩

1. 概念

归档(Archive),是指文书部门将办理完并且有保存价值的文件,经系统整理交档案室或档案馆保存的过程。在计算机中的归档即“将文件打包保存”之意,即将多个文件或目录合并称为一个文件的操作

压缩(Compression) 是为了减少数据大小以节省保存空间和传输的时间。为了数据的传输,压缩能够作用于单独的数据内容或者所有的传输单元(包括数据头),这取决于一些特定的因素

2. 相关命令

关于Linux压缩与归档,有众多命令可以实现,如

compress:经典压缩工具,如今已不再流行,其对应的解压命令为uncompress,默认扩展名为.Z

zip:归档工具,其对应的解压命令为unzip,默认扩展名为.zip

gzip:GNU的zip实现,解压命令为gunzip,默认扩展名为.gz

xz:用于压缩XZ格式的工具,解压命令为unxz,默认扩展名为.xz

lzma:LZMA格式压缩工具,解压命令为unlzma,默认扩展名为.lzma

bzip2:著名压缩工具,其解压命令为bunzip2,默认扩展名为.bz2

tar:Linux归档压缩命令,较为常用

此外还有其他相关命令,如可直接查看压缩文件内的文本文件内容,以下将做大致介绍

压缩

gzip:使用格式为

gzip [OPTIONS] /PATH/TO/SOMEFILE

OPTIONS

-d 解压缩

-c 不改变源文件,将压缩或解压缩后的内容输出到标准输出

可以使用重定向,创建压缩文件,并且保存源文件,如

gzip -c FILE > /PATH/TO/SOMEFILE.gz

-# 指定压缩比,1-9,默认是6

默认压缩后会删除源文件,如

[root@localhost ~]# mkdir test

[root@localhost ~]# cd test

[root@localhost test]# cp /var/log/messages ./

[root@localhost test]# ll -h

total 12K

-rw-------. 1 root root 12K Feb 25 10:55 messages

[root@localhost test]# gzip messages

[root@localhost test]# ll -h

total 4.0K

-rw-------. 1 root root 1.1K Feb 25 10:55 messages.gz

[root@localhost test]# gunzip messages.gz

[root@localhost test]# ll

total 12

-rw-------. 1 root root 11587 Feb 25 10:55 messages

gunzip命令用于解压缩,相当于gzip -d,同样的,会删除原文件

此外还有zcat命令,用于在不解压文件的前提下,查看其中的文本内容:

[root@localhost test]# zcat messages.gz

Feb 25 09:39:56 localhost dhclient[6438]: DHCPREQUEST on eno16777736 to 192.168.18.254 port 67 (xid=0x334cb01a)

Feb 25 09:39:56 localhost dhclient[6438]: DHCPACK from 192.168.18.254 (xid=0x334cb01a)

Feb 25 09:39:56 localhost NetworkManager[6155]: address 192.168.18.128

…………

bzip2:比gzip有更大压缩比的压缩工具,使用格式近似gzip

bzip2 [OPTIONS] /PATH/TO/SOMEFILE

OPTIONS

-d:解压缩

-#: 指定压缩比,1-9,默认是6

-k: 压缩或解压时保留原文件,默认压缩后会删除源文件

同样,解压命令bunzip2同bzip2 -d

同时也有用于直接查看文本内容的工具bzcat

xz

xz [OPTIONS] /PATH/TO/SOMEFILE

OPTIONS

-d: 解压缩

-#: 指定压缩比,1-9, 默认是6

-k: 压缩时保留原文件

对应的解压命令unxz同xz -d,查看文本文件内容工具xzcat,此外还有一个小型.xz文件解压工具xzdec

lzma,unlzma,lzcat

可以使用xz --format=lzma、xz --format=lzma --decompress、xz --format=lzma --decompress --stdout实现

以上压缩命令均不能压缩目录

归档

以上命令不能压缩目录,且若指定多个文件,则依然会压缩为多个,若需要将文件“打包”,则需要用到归档(Archive)工具,归档本身不会压缩,常用的有zip与tar

tar命令的用法为

tar [OPTIONS] -f FILE.tar FILE1,FILE2 ...

OPTIONS

-f FILE.tar 操作的归档文件

-c 创建归档文件

-x 展开归档

--xattrs 归档时,保留文件的扩展属性信息(默认不会存储)

-t 查看归档的文件列表

如:# tar tf /PATH/TO/SOME.tar

-C 指定目标目录

如:# tar xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR

-z:调用gzip

-zcf 归档并调用gzip压缩

-zxf 调用gzip解压缩并展开归档,-z选项可省略

-ztf 查看归档的文件列表

-j:调用bzip2

-jcf 归档并调用bzip2压缩

-jxf 调用bzip2解压缩并展开归档,-j选项可省略

-jtf 查看归档的文件列表

-J:调用xz

-Jcf 归档并调用xz压缩

-Jxf 调用xz解压缩并展开归档,-J选项可省略

-Jtf 查看归档的文件列表

Tips

: - tar命令在操作对象为压缩文件时(如解压),可以不指定-z、-j或-J,tar命令会自动识别文件从而调用相应工具

: - 选项组合时,f选项应放在后面,而后跟文件

: - tar命令中的-可以省略

: - tar命令默认不会删除原文件

zip工具的使用格式为

zip FILENAME.zip FILE1 FILE2 ...

注意:压缩目录时,应指定为目录下的所有文件

其他相关命令

此处对cpio命令稍作介绍,该命令常用于备份,不过一般需要通过管道或重定向配合使用,如

备份目录

find /DIRCTORY| cpio -ocvB > /FILE.cpio

-o:工作于“copy-out”模式,即将文件复制输出

-c:一种较新的portable format方式储存

-v:显示详细信息

-B:让预设的Blocks 可以增加至5120 bytes ,默认是512 bytes

解压

cpio -idvc < /FILE.cpio

-i:即Copy-in模式,从压缩文件复制出来

-d:自动建立目录,使用cpio 所备份的资料内容不见得会在同一层目录中,此时需要要让cpio 在还原时可以建立新目录

查看压缩包内文件列表

cpio -ivct < /FILE.cpio

-t:查看压缩包内文件列表,一般配合-i选项使用

二、Linux软件包管理

1. 软件包管理器概念

计算机由众多软件组成,他们分别完成特定工作,而我们就需要一类软件来管理这些软件,即软件包管理的意义

在Windows中,传统Win32应该程序可以通过Control Panel进行管理(一般只能进行卸载,一些大型程序可进行功能配置),而UWP(Universal Windows Platform)程序则可通过Microsoft Store进行管理(可进行安装、卸载,升级、配置等)

而在Linux中,软件包管理器的作为有以下

打包成一个文件:二进制程序,库文件,配置文件,帮助文件

生成数据库,跟踪所安装的每一个文件,其中有以下内容

软件名和版本

安装生成的各文件路径及校验码

依赖关系

提供功能性说明

提供程序组成格式,如

文件清单

安装卸载时运行的脚本

可见,Linux平台到的软件包管理工作较为复杂,其核心功能为

制作软件包

graph LR

A[源代码] -- 编译 --> B[目标二进制格式]

B[目标二进制格式] --打包--> C[一个或有限几个包文件]

安装、卸载、升级、查询、校验

Linux有众多发行版,各个发行版使用的软件包管理器亦不相同,较为常用的有

dpkg

这个机制最早是由Debian Linux社群所开发出来的,通过dpkg的机制, Debian提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息。只要是衍生于Debian的其他Linux distributions大多使用dpkg这个机制来管理软件的,包括B2D, Ubuntu等

rpm

这个机制最早是由Red Hat这家公司开发出来的,后来实在很好用,因此很多distributions就使用这个机制来作为软件安装的管理方式。包括Fedora, CentOS, SuSE等

现代计算机软件开发有一个重要思想,即代码共用,在这里依然使用,这就会引发一些依赖性问题,如:

用户需要安装软件A,而A依赖于软件B和C中的功能,而后用户在安装B与C的时候,发现软件C依赖于软件D,而D竟然依赖软件A!

这种循环依赖的问题就不能简单地直接通过命令安装,虽然可以用某些选项安装,但是这些复杂的依赖关系依然会花费不少时间

为了解决这类问题,Linux还有更上层的工具,我们将其称之为前端管理工具,按照此思路,以上介绍的可叫做后端工具,常见的有

yum:rpm包管理器的前端工具

apt-get:deb包管理器的前端工具

zypper:suse上的rpm前端管理工具

dnf:Fedora 22+ rpm包管理器的前端管理工具

这里将以rpm与yum介绍Linux软件包管理相关内容

2. rpm

rpm包命名格式

我们知道软件源代码需要编译为而进行才可执行,而rpm包也有源码版本提供,我们可称之为SRPM

rpm源码包的一般命名格式为

NAME-VERSION.tar.COMPRESS_TYPE

NAME:包名

VERSION:版本,其一般格式为

major.minor.release

即:主版本号.次版本号.release号

COMPRESS_TYPE:压缩方式,如gz,bz2,xz

rpm包的命名格式一般为

主包

name-VERSION-ARCH.rpm

VERSION

version-release

major.minor.release-release

第一个release是软件的开发者提供的

第二个release是rpm包制作者提供的

ARCH

OS平台

RedHat: el# RedHat Enterprise Linux #

CentOS: CentOS#

CentOS与RedHat兼容

CPU架构

x86_64

i386,i586,686

ppc:PowerPC平台

noarch:与平台无关

子包

name-FUNCTION-VERSION-release.arch.rpm

例:bind-libs-9.7.1-1.el5.i586.rpm

bind-utils-9.7.1-1.el5.i586.rpm

对于子包而言,bind-libs、bind-utils就是包名

FUNCTION:devel,utils,libs,…

rpm包的获取路径

可通过uname -a查看当前系统平台信息

rpm命令

rpm(RPM is Package Manager),看到这个名字感觉开源界似乎很流行这种递归缩写式的命名,因为rpm原为Radhat Package Manager,不知道是否是跟风

roundrobin来历_Linux系统管理相关推荐

  1. linux系统管理与服务器配置高志君_Linux系统管理与服务器配置

    第1章Linux系统的安装与启动1 1.1学习引导1 1.2安装RedHatEnterpriseLinux5操作系统2 1.3首次启动Linux操作系统的配置9 1.4Linux操作系统基本操作项目1 ...

  2. roundrobin来历_浅谈 kubernetes service 那些事(上篇)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某 ...

  3. roundrobin来历_数据中心交换机横向虚拟化集群漫谈

    虚拟化技术在数据中心是个时髦词儿,有横向虚拟化.纵向虚拟化.一虚多虚拟化.NVO3虚拟化等等.今天重点跟大家聊聊横向虚拟化,以华为CloudEngine 12800系列为例,让朋友们了解一下此技术的由 ...

  4. 定向输出命令_Linux系统管理-输入输出

    重定向概述 什么是重定向 将原本要输出到屏幕的数据信息,重新定向到指定的文件中. 比如:每天凌晨定时备份数据,希望将备份数据的结果保存到某个文件中.这样第二天通过查看结果文件,就知道昨天备份数据是成功 ...

  5. linux nice值_linux系统管理之交互式企业站点(连载)

    系统优化 知识点: (简介:系统优化其本质是系统在提供服务的同时,承受压力过大需进行参数调优) 1.查看平均负载 系统负载System Load:系统CPU繁忙程度的度量,即有多少进程在等待被CPU调 ...

  6. linux关机_Linux系统管理:开机启动流程(一)

    Linux启动流程 CentOS6 Linux启动的时候,大家可以看到黑屏,一顿滚动,噼里啪啦,噼里啪啦,整的像是黑客帝国...啥玩应根本看不懂.其实,这个开启的过程,并没有大家想象的那么复杂,过程大 ...

  7. linux下rip服务启动失败,RIP协议_linux系统管理与服务的技术博客_51CTO博客

    理解并配置动态路由协议RIP RIP(Routing Information Protocol)是应用较早.使用较普遍的内部网关协议(Interior Gateway Protocol,IGP),适用 ...

  8. centos7 开机后进去了命令行_Linux系统管理:开机启动流程(二)

    CentOS7 1.BIOS(开机自检) 2.MBR ( Master Boot Record 主引导记录) 3.GRUB2 Bootloader(引导菜单) 4.Kernel(内核引导) 5.Sys ...

  9. 使用c++查看linux服务器某个进程正在使用的内存_Linux 系统管理

    1.进程管理介绍 什么是进程 程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合 进程是正在执行当中的程序.程序在执行时,执行人的权限和属性.以及程序的代码都会被加载进内存,操作系 ...

最新文章

  1. 使用fetch封装请求_关于如何使用Fetch API执行HTTP请求的实用ES6指南
  2. 路径.git下的文件
  3. 计算机专业接本应用心理学,专接本接应用心理学但遇到阻挠?
  4. oracle 游标(学校)
  5. leetcode —— 523. 连续的子数组和
  6. 【华为云技术分享】#华为云·寻找黑马程序员#海量数据的分页怎么破?
  7. 二级菜单不同方法的实现
  8. 【阿圆总结】关于平时阅读的推荐
  9. 学习pyhton: argparse模块
  10. 图像语义分割(4)-SegNet:深度全卷积编解码结构
  11. ORACLE数据恢复到指定时间
  12. 02、差分特性阻抗仿真
  13. 使用Java的JNI调用C
  14. 可视化机器学习工具软件的比较分析研究
  15. springboot+美容院会员管理系统 毕业设计-附源码191740
  16. 苹果微信点开才会收到信息_安卓版微信黑暗模式来了!这次你会更新吗?附微信7.0.13安装包...
  17. Luogu 3807(Lucas定理)
  18. java依赖什么意思,JavaEE中的依赖性——依赖查找
  19. Arcgispro2.5安装教程
  20. 谷歌宣布Android设备累计激活量突破10亿台

热门文章

  1. 4代hiv检测50元_闲置甩干机卖了50元!大爷突然想起:里面还有4根金条
  2. 深度学习框架的比较(MXNet, Caffe, TensorFlow, Torch, Theano)
  3. 深度学习论文资源(截至2016年)
  4. 良好的代码编写风格(二十五条)
  5. C语言中编译、生成、调试、运行的区别
  6. 项目正式环境是双机,对外的访问地址是虚拟地址,在登录门户的时候,会等待15秒,才能进入门户...
  7. 日志审计产品(转载)
  8. 转载:KOF97八神攻防战
  9. dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Gold;第一次无效
  10. kettle的基本介绍