【测试开发学习历程】压缩、打包与软件安装

目录

一、压缩与打包

(一)概念

(二)压缩命令gzip

(三)压缩命令bzip2

(四)打包命令tar

(五)压缩命令zip

二、常用的安装软件的方式

(一)源码包安装

(二)RPM包安装

(三)yum安装/apt-get安装

1.yum安装软件

2.apt-get安装


一、压缩与打包

(一)概念

打包和压缩是两个概念,打包和压缩的区别:

  • 打包是指把文件和目录的结构和内容拷贝到一个文件里
  • 压缩是把文件经过一些算法变成体积上更小的文件

(二)压缩命令gzip

gzip命令,压缩一个或多个文件,压缩成分别的压缩文件,语法如下:

压缩格式:gzip 文件名

压缩完成后,原来的文件会被替换成<name>.gz

解压缩格式:gzip -d <name>.gz

不能对整个目录压缩,但可以通过-r参数分别压缩目录下的文件;

(三)压缩命令bzip2

bzip2的压缩比比gzip更好,其用法几乎与gzip相同:

压缩格式:bzip2 文件名

压缩完成后,原来的文件会被替换成<name>.bz2;

解压缩格式:bzip2 -d <name>.bz2

不能对整个目录压缩,但可以分别压缩目录下的文件

(四)打包命令tar

tar可以将多个目录或文件打包成一个大文件,同时还可以通过gzip/bzip2的支持,将改文件同时进行压缩;

由于tar的使用太广泛,目前Windows的WinRAR也支持.tar.gz文件的解压缩;

tar的常用参数:

  • -c:  新建打包文件,可搭配-v来查看过程中被打包的文件名;
  • -t:  查看打包文件的内容包含哪些文件名重点查看文件名;
  • -x:  解打包或压缩的功能,可以搭配-C(大写)在特定目录解开;
  • -j :       通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2
  • -z:       通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz
  • -v:  在压缩/解压缩的过程中,将正在处理的文件名显示出来
  • -f  filename:  -f后面要接被处理的文件名。建议  -f  单独写一个参数
  • -C  目录:   这个参数用在解压缩是,若要在特定目录解压缩,可以使用这个参数

特别留意的是,-c,-t,-x不可同时出现在一串命令行中;

(五)压缩命令zip

  • zip是流行于Windows系统上的一种压缩方式,在Linux上也提供了zip压缩命令;
  • Linux上zip可以压缩一个或多个文件到一个压缩文件里;
  • 压缩格式:zip zipfile.zip file01 dir01,表示把file01、dir01压缩到文件zipfile.zip里;
  • 解压格式:unzip zipfile.zip

二、常用的安装软件的方式

(一)源码包安装

Linux上的软件几乎都是经过GPL(GNU General Public License)授权,所以每个软件几乎都会提供源代码,并且你可以自行修改程序代码,以符合你个人的需求,这就是开放源码的优势;

Linux系统上真正识别的可执行文件是二进制文件,比如/bin/cat二进制程序代码;

通过源码包安装软件的过程就是把软件的源代码编译成可执行的二进制文件然后进行安装;

通过源码包安装的步骤:安装工具 -> 配置 -> 编译 -> 安装

  1. 安装需要的编译器,如gcc;
  2. 执行configure命令找到所需要的函数库、编译器及其他资料,生成Makefile文件;
  3. 执行make命令,根据Makefile文件进行编译;
  4. 执行make install命令完成安装。

(二)RPM包安装

RPM的全称是RedHat Package Manager,是RedHat发明的一种软件包安装工具和安装包格式;

RPM的最大特点是将你要安装的软件先编译好,并且打包成RPM机制的安装包,用户只需要下载相应的RPM包安装即可;

优点是:

  1. 由于已经编译完成并且打包完毕,所以软件传输与安装上很方便 (不需要再重新编译);
  2. 由于软件的信息都已经记录在Linux主机的数据库上,很方便查询、升级与卸载;

但缺点也很明显:

  1. 不能根据自己的需求灵活配置;
  2. 可能存在打包环境与安装环境不一致导致安装失败。
  3. 更新慢

以unix2dos的安装,用RPM包方式安装的步骤如下:

1、下载RPM包

wget http://www.rpmfind.net/linux/centos/6.9/os/x86_64/Packages/unix2dos-2.2-35.el6.x86_64.rpm

2、执行如下命令安装

rpm -ivh unix2dos-2.2-35.el6.x86_64.rpm

查看已安装的软件

rpm -qa |grep xxx

删除已安装的软件

rpm -e unix2dos-2.2-35.el6.x86_64

(三)yum安装/apt-get安装

1.yum安装软件

  • 在Fedora和Redhat以及SUSE、CentOS中的软件包管理器
  • 基于rpm包管理
  • 能够从指定的服务器自动下载rpm包并且安装
  • 可以自动处理包依赖关系,并且一次安装所有依赖的软件包

/etc/yum.repos.d/*.repomirrorlist

以wget命令的安装为例演示过程

  • 安装:yum install wget
  • 列出已安装的包:yum list installed | grep 名称
  • 删除:yum remove wget

2.apt-get安装

Debian,Ubuntu发行版的包管理工具

与Redhat中的yum工具类似

例如:apt-get install wget

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《智能便利,畅享便利柜平台的架构奇妙之旅》

便利柜平台作为一种智能化、便捷的自助服务解决方案&#xff0c;正在逐渐走进人们的生活。本篇博客将深入探讨便利柜平台的架构设计理念、优势和实践&#xff0c;帮助读者了解如何构建智能便利柜平台&#xff0c;提供更便捷的自助服务体验。 ### 便利柜平台架构设计 #### 1. …

Java8中Stream流API最佳实践Lambda表达式使用示例

文章目录 一、创建流二、中间操作和收集操作筛选 filter去重distinct截取跳过映射合并多个流是否匹配任一元素&#xff1a;anyMatch是否匹配所有元素&#xff1a;allMatch是否未匹配所有元素&#xff1a;noneMatch获取任一元素findAny获取第一个元素findFirst归约数值流的使用中…

Android 子线程为什么不能更新UI?

Android 应用的 UI 是在主线程上进行绘制和更新的。 当我们在子线程中直接进行 UI 更新时&#xff0c;会导致以下问题&#xff1a; 1. 线程安全问题&#xff1a;多个线程同时操作 UI&#xff0c;可能导致 UI 组件的状态不一致或者出现竞争条件。 2. 卡顿和 ANR&#xff1a;如果…

Redis有没有可能丢数据

Redis在某些情况下有可能会丢失数据。尽管Redis是一个高性能的内存数据库&#xff0c;但是由于其工作方式和特性&#xff0c;存在一些情况下可能导致数据丢失的情况&#xff0c;包括&#xff1a; 内存溢出&#xff1a; 如果Redis实例的内存用尽&#xff0c;而没有足够的空间来处…

数据结构入门篇 之 【双链表】的实现讲解(附完整实现代码及顺序表与线性表的优缺点对比)

一日读书一日功&#xff0c;一日不读十日空 书中自有颜如玉&#xff0c;书中自有黄金屋 一、双链表 1、双链表的结构 2、双链表的实现 1&#xff09;、双向链表中节点的结构定义 2&#xff09;、初始化函数 LTInit 3&#xff09;、尾插函数 LTPushBack 4&#xff09;、头…

单据分页的实现

单据分页的实现 1. AceWzcgfkjtMaintainProxy.java package nc.ui.jych.wzcgfkjt.ace.serviceproxy;import nc.bs.framework.common.NCLocator; import nc.itf.jych.IWzcgfkjtMaintain; import nc.ui.uif2.components.pagination.IPaginationQueryService; import nc.vo.jych.…

软考高级:信息系统开发方法2(形式化方法、统计过程方法等)概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

RTC协议与算法基础 - RTP/RTCP

首先&#xff0c;需要说明下&#xff0c;webrtc的核心音视频传输是通过RTP/RTCP协议实现的&#xff0c;源码位于src/modules/rtp_rtcp目录下&#xff1a; 下面让我们对相关的内容基础进行简要分析与说明&#xff1a; 一、TCP与UDP协议 1.1、TCP协议 TCP为了实现数据传输的可…

【Python】新手入门学习:详细介绍依赖倒置原则(DIP)及其作用、代码示例

【Python】新手入门学习&#xff1a;详细介绍依赖倒置原则&#xff08;DIP&#xff09;及其作用、代码示例 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、Py…

如何将.txtpb在IDE中彩色高亮显示

1. 问题描述 文件内容片段如下&#xff0c;它采用了一种键值对的格式&#xff0c;其中还包括了注释。我们可以采用一种近似的语言色彩识别方案处理它&#xff0c;比如YAML或者Python的语法高亮规则&#xff0c;因为这两种语言在处理键值对和注释的表示上与内容片段相似。当然也…

【QT+QGIS跨平台编译】之七十三:【QGIS_Analysis跨平台编译】—【错误处理:字符串错误】

文章目录 一、字符串错误二、处理方法三、涉及到的文件一、字符串错误 常量中有换行符错误:(也有const char * 到 LPCWSTR 转换的错误) 二、处理方法 需要把对应的文档用记事本打开,另存为 “带有BOM的UTF-8” 三、涉及到的文件 涉及到的文件有: src\analysis\processin…

spring boot-操作excel(EasyExcel 快速开始)/ spring boot接受文件参数 File

文章目录 一、spring boot 操作excel1. 技术选型1.1 EasyExcel1.2 POI 二、EasyExcel使用0. 工作中使用总结1. maven 引入2. demo1&#xff1a;excel写入文件3. demo2&#xff1a;SpringBoot项目中集成EasyExcel实现Excel文件的下载response的三个属性&#xff1a;编码、类型、…

gcc -static参数

在使用 GCC&#xff08;GNU Compiler Collection&#xff09;编译器编译C语言或C语言程序时&#xff0c;-static 选项告诉编译器生成一个完全静态链接的可执行文件。这就意味着程序需要的所有库在编译时都会被包含在执行文件中&#xff0c;它不会在运行时链接动态库&#xff08…

openssl3.2 - exp - 选择最好的内建椭圆曲线

文章目录 openssl3.2 - exp - 选择最好的内建椭圆曲线概述笔记将 openssl ecparam -list_curves 实现迁移到自己的demo工程备注END openssl3.2 - exp - 选择最好的内建椭圆曲线 概述 在openssl中使用椭圆曲线, 只允许选择椭圆曲线的名字, 无法给定椭圆曲线的位数. 估计每种椭…

储能系统--户用储能市场现状(三)

1、户用储能市场现状 2022年&#xff0c;俄乌冲突造成能源价格飙升&#xff0c;欧洲居民电价飞涨&#xff0c;成为点燃户储需求的引线。以德国为例&#xff0c;2022年的居民电价达到40欧分/kWh以上&#xff0c;相比2021年初翻了三倍。因此2022年被称为户储爆发元年&#xff0c…

深度学习armv8/armv9 cache的原理

文章目录 前言1、为什么要用cache?2、背景:架构的变化?2、cache的层级关系 ––big.LITTLE架构&#xff08;A53为例)3、cache的层级关系 –-- DynamIQ架构&#xff08;A76为例)4、DSU / L3 cache5、L1/L2/L3 cache都是多大呢6、cache相关的术语介绍7、cache的分配策略(alocat…

Llama-3即将发布:Meta公布其庞大的AI算力集群

Meta&#xff0c;这家全球科技巨头&#xff0c;再次以其在人工智能&#xff08;AI&#xff09;领域的雄心壮志震惊了世界。3月13日&#xff0c;公司在其官方网站上宣布了两个全新的24K H100 GPU集群&#xff0c;这些集群专为训练其大型模型Llama-3而设计&#xff0c;总计拥有高…

C++函数 加括号与不加括号

很多时候&#xff0c;我们会看到一些在创建对象时有的加括号有的不加括号 那么&#xff0c;这是什么情况呢&#xff1f; 总结&#xff1a;函数需要加上括号&#xff0c;加上括号会对函数初始化&#xff0c;不加括号可能导致未知错误 我们来验证一下。 1.基本数据类型不带括…

利用Python进行网络爬虫:Beautiful Soup和Requests的应用【第131篇—Beautiful Soup】

利用Python进行网络爬虫&#xff1a;Beautiful Soup和Requests的应用 在网络数据变得日益丰富和重要的今天&#xff0c;网络爬虫成为了获取和分析数据的重要工具之一。Python作为一种强大而灵活的编程语言&#xff0c;在网络爬虫领域也拥有广泛的应用。本文将介绍如何使用Pyth…

C++进阶学习

模板编程 模板函数和模板类的基本概念和用法 模板编程是C中一种强大的特性&#xff0c;它允许程序员编写与类型无关的代码。这意味着你可以编写一个函数或类&#xff0c;让它能够处理任何数据类型。这不仅可以提高代码的重用性&#xff0c;还可以提高编程效率和程序的可维护性…