压缩和解压缩,tar命令,文件上传以及shell相关知识

news/2024/4/27 0:21:22/文章来源:https://blog.csdn.net/weixin_64311421/article/details/130368228

目录标题

      • 压缩和解压缩
        • zip和unzip命令
        • gzip和gunzip命令
        • bzip2、bunzip2命令
        • xz、unxz命令
      • tar归档命令
        • 创建非压缩的包文件
        • 创建带压缩的包文件
        • 列出包文件中的文件列表
        • 提取包文件到指定目录
      • 文件上传
        • sftp是一个交互文件传输程序
        • scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件
      • shell相关知识
        • 设置环境变量
        • 设置环境变量(永久生效)
        • 通过echo或printf打印环境变量
        • 用env或set显示默认的环境变量
        • 用unset消除本地变量和环境变量
        • 普通变量

压缩和解压缩

zip和unzip命令

zip既归档又压缩的文件,可以压缩目录
格式:

zip file
unzip file
实例: 使用zip压缩文件test1.txt
[root@localhost test]# zip test1.zip test1.txt
adding: test1.txt (stored 0%)
[root@localhost test]# ls test1*
test1.txt test1.zip

gzip和gunzip命令

gzip(gunzip=gzip -d)命令

实例: 使用gzip压缩文件
[root@localhost test]# gzip test1.txt unzip test1.zip test1.txt
[root@localhost test]# ls test1*
test1.txt.gz test1.zip
实例: 使用gzip压缩目录下文件
[root@localhost test]# gzip -r dir1/
[root@localhost test]# ls dir1
fstab.gz test3.txt.gz test4.txt.gz test5.txt.gz

注意:以上压缩之后原始文件就没有了

bzip2、bunzip2命令

bunzip2=bzip2 -d

bzip2、bunzip2示例如下:
# bzip2 -z man.config //将man.config以bzip2压缩,此时man.config变成
man.config.bz2
# bzip2 -9 -c man.config > man.config.bz2 //将man.config用最佳的压缩比压缩,并
保留原本的档案
# bzip2 -d man.config.bz2 //将man.config.bz2解压缩,可用bunzip2取代bzip2 -d
# bunzip2 man.config.bz2 //将man.config.bz2解压缩

注:查看压缩过的文件内容

bzcat 文件.bz2

xz、unxz命令

实例1:压缩文件
[root@localhost test]# xz test1.txt
[root@localhost test]# ls test1.txt.xz
test1.txt.xz
实例2:压缩dir1目录下文件
[root@localhost test]# xz dir1/*
[root@localhost test]# ls dir1
fstab.xz test3.txt.xz test4.txt.xz test5.txt.xz
实例3:解压缩(xz -d等价于unxz)
[root@localhost test]# unxz test1.txt.xz
实例5:解压缩目录dir1下文件
[root@localhost test]# xz -d dir1/*
[root@localhost test]# ls dir1
fstab test3.txt test4.txt test5.txt

tar归档命令

格式:

tar [选择] 打包文件名 被打包的源文件或目录列表

常用选项:

选项功能
c创建.tar格式的包文件
x释放.tar格式的文件
t查看包中的文件列表
v表示在命令执行时显示详细的提示信息
f 包文件名用于指定包文件名。当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与-x选项一起使用时,则释放该选项指定的tar包文件。
p打包是保留文件及目录的权限
z调用gzip程序,以gzip格式压缩或解压缩文件。
j调用bzip2程序,以bzip2格式压缩或解压缩文件。
J使用xz压缩(.tar.xz)。xz的压缩率通常比bzip2更高。
C目录路径名释放包时指定释放的目录的位置。

tar打包时排错:

--exclude=PATTERN	排除以PATTERN指定的文件
-X,--exclude-from=FILE	排除FILE中列出的模式串

创建非压缩的包文件

命令:

tar cvf 包文件名 要打包的目录或文件名列表

功能:将指定的一个或多个文件或目录备份生成一个指定的包文件。

创建带压缩的包文件

为节省存储空间,通常需要生成压缩格式的tar包文件,tar命令支持三种不同的压缩方式;
命令:

tar c[z j | J] f 压缩包文件名 要备份的目录或文件名

列出包文件中的文件列表

命令:tar t[v]f 包文件名

提取包文件到指定目录

格式:

tar x[z j | J] [v]f 包文件名 [-C 目标位置]

文件上传

sftp是一个交互文件传输程序

类似于ftp传输协议,属于ssh,但它进行加密传输,相对FTP来讲有更高的安全性。
sftp用法:
如果有服务器的端口不是默认的22,请在sftp后面加-P端口号即可。

sftp root@223.6.6.6
The authenticity of host ‘223.6.6.6 (223.6.6.6)’ can’t be established.
ECDSA key fingerprint is SHA256:Hl/dKTFzL4lOlF8DIG5itaV4OAsZunC2AWlFGLjLfsg.
Are you sure you want to continue connecting (yes/no)? yes【输入yes回车】
Warning: Permanently added ‘223.6.6.6’ (ECDSA) to the list of known hosts.
root@223.6.6.6’s password:【输入223.6.6.6的root密码并回车】
Connected to 223.6.6
sftp>

将223.6.6.6服务器文件下载到223.5.5.5的home目录;

sftp> get /var/www/renwole.txt /home/

将223.5.5.5服务器文件上传到223.6.6.6服务器的mnt目录;

sftp> put /home/renwole.txt /mnt/

如果不知道远程主机的目录是什么,ls命令可以列出223.6.6.6服务器的当前目录列表,例如:

sftp> ls //和查看本地操作命令一样
sftp> pwd //查询223.6.6.6的当前工作目录

改变路径可以用cd,改变本机路径可以用cd…例如:

sftp> cd

如果想退出,例如:

 exit //退出机器,返回你原始机器界面。

scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件

scp可以概括为:scp -P端口 文件路径 用户名@主机地址:远程目录 -r
如果想拷贝本地文件到另一台ssh终端,可以使用以下命令;

scp /renwole/mariadb.tar.gz root@223.6.6.6:/renwole123/
root@223.6.6.6’s password:【输入密码回车】
mariadb.tar.gz 8% 37MB 1.3MB/s 05:29 ETA
scp test.tar.bz2 root@172.24.8.134:/ 发送文件
scp root@172.24.8.134:/134 . 接收文件

如果你反过来操作,把远程主机的文件拷贝到当前系统,操作命令为:

scp root@223.6.6.6:/renwole123/mariadb.tar.gz /renwole

如果你想拷贝文件夹以及文件夹内的所有文件,就加参数-r如果你的端口号不是22,那么需要在scp后加个-P(区分大小写)端口号。建议加-C选项,因为这样可以启用SSH的压缩功能;传输速度更快,例如:

scp -P 6632 -C /renwole/mariadb root@223.6.6.6:/renwole123/

shell相关知识

设置环境变量

如果想要设置环境变量,就要在给变量复制之后或在设置变量时使用export命令,另外,除了export命令。带-x选项的declera内置命令也可以完成同样的功能(此处不要在前面加$)
export命令和declare命令的格式如下:

export 变量名=value 变量名=value ; 
export 变量名 ;多条命令依次执行
declare -x 变量名=value

设置环境变量(永久生效)

用户的环境变量配置:

[root@www ~]$ ls /root/.bashrc # 推荐再此文件中优先设置
/root/.bashrc
[root@www ~]$ ls /root/.bash_profile
/root/.bash_profile

全局的环境变量配置

[root@www ~]$ /etc/profile
[root@www ~]$ /etc/bashrc
[root@www ~]$ /etc/profile.d/

若要在登录后初始化或显示加载内容,则把脚本文件放在/etc/profile.d/下即可(无需加载执行权限)
生产场景下(Java环境中),自定义环境变量的实例。

export JAVA_HOME=/application/jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export RESIN=/applaction/resin

显示与取消环境变量

通过echo或printf打印环境变量

[root@www ~]$ echo $HOME
/root
[root@www ~]$ echo $UID
0
[root@www ~]$ echo $PWD
/root
[root@www ~]$ echo $SHELL
/bin/bash
[root@www ~]$ echo $USER
root
[root@www ~]$ printf "$HOME\n"
/root

用env或set显示默认的环境变量

[root@www ~]$ env
XDG_SESSION_ID=17
HOSTNAME=www.oliven.com
TERM=xterm
...
[root@www ~]$ set
BASH=/bin/bash
...
[root@www ~]$ declare | head
BASH=/bin/bash
...

用unset消除本地变量和环境变量

[root@www ~]$ echo $USER
root
[root@www ~]$ unset USER
[root@www ~]$ echo $USER
[root@www ~]$

普通变量

定义本地变量
变量的赋值,一般有五种写法:

name=value
name1='value'
name_2="value"
_name_3=`cmd`
_na_me_4=$(cmd)

变量名一般有字母、数字、下划线组成的,可以以字母或下划线开头。

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

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

相关文章

隋唐洛阳“西宫”:上阳宫的GIS视角

隋唐洛阳城简介 营建 隋大业元年(605年),在隋炀帝的授意下,隋代著名城市设计师宇文恺,在汉魏故城以西重新选址,历时8个月,日役劳工200万,兴建新都洛阳城。 城和苑 隋唐洛阳城采用…

eBPF技术介绍

前言 eBPF起源于linux内核,它可以以砂箱程序运行在操作系统内核的特权上下文,高效,安全,易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测,安全和网络功能的最理想的地方,因为内核的…

优思学院|精益管理的理念是什么?

作为一个企业,我们都希望拥有高效率和优异的竞争力。但是,如何才能在竞争激烈的市场中脱颖而出?这时,精益管理理念的出现可以帮助我们。 精益管理的基本概念是什么? 精益管理的核心理念是通过消除浪费来实现生产效率…

Java线程间通信方式(3)

前文了解了线程通信方式中的CountDownLatch, Condition,ReentrantLock以及CyclicBarrier,接下来我们继续了解其他的线程间通信方式。 Phaser Phaser是JDK1.7中引入的一种功能上和CycliBarrier和CountDownLatch相似的同步工具,相…

辛弃疾最经典的10首词

他,文能挥笔填词,武能上马杀敌; 他,被称为“词中之龙”, 他,一生赤子,追求收复山河; 他,是与苏轼齐名的豪放派词人; 他是辛弃疾。 辛弃疾一生怀着赤子之…

IO多路复用——select函数

1.select函数原型和fd_set结构体说明 1.1 select函数原型 ​ 使用 select 这种 IO 多路转接方式需要调用一个同名函数 select,这个函数是跨平台的,Linux、Mac、Windows 都是支持的。程序员通过调用这个函数可以委托内核帮助我们检测若干个文件描述符的…

【MCS-51】51单片机结构原理

至今为止,MCS-51系列单片机有许多种型号的产品:其中又分为普通型51(8031、8051、89S51)和增强型52(8032、8052、89S52等)。它们最大的区别在于存储器配置各有差异。下面我举例子的都是8051这一系列的单片机…

STM32-HAL-定时器(无源蜂鸣器的驱动)

文章目录 一、蜂鸣器的介绍二、常用的无源蜂鸣器的电路三、测试准备四、初始化片上外设4.1 初始化定时器4的通道2为PWM输出模式4.2 编写驱动代码4.3 Logic分析仪查看波形4.4 代码分析 一、蜂鸣器的介绍 有源蜂鸣器: 有源蜂鸣器内部有一个发声电路,也就是“源”&…

数据湖Iceberg-Hive集成Iceberg(3)

文章目录 Hive集成Iceberg环境准备Hive与Iceberg的版本对应关系如下上传jar包,拷贝到Hive的auxlib目录中修改hive-site.xml,添加配置项启动 HMS 服务启动 Hadoop 创建和管理 Catalog默认使用 HiveCatalog指定 Catalog 类型使用 HiveCatalog使用 HadoopCa…

C++学习记录——이십 map和set

文章目录 1、setmultiset 2、map3、map::operator[] 1、set vector/list/deque等是序列式容器,map,set是关联式容器。序列式容器的特点就是数据线性存放,而关联式容器的数据并不是线性,数据之间有很强的关系。 它们的底层是平衡…

在当前互联网行情下,Android想转音视频开发,会有前景吗?

前言 近年来,由于三年疫情的影响,很多公司都开始陆陆续续的在裁员,Android开发工作岗位也是,可能有些从事Android开发的朋友还没有意识到,Android开发岗位正在变少,求职者,僧多粥少&#xff0c…

视频大文件传输的演变:从“卷轴男孩”到自动化

200年前,从纽约市到英国伦敦的单程旅行需要乘坐一艘跨大西洋轮船将近三周——如果你能负担得起的话,那就是。那些不能在满是汗水、狭窄的帆船上安顿大约一个半月的人。 今天,视频专业人士能够在几小时甚至几分钟内跨越相同的物理距离传输大量…

《用于估计血压变化的光电体积描记图和心电图的特征》阅读笔记

目录 一、摘要 二、十大问题 Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提…

微信小程序第五节——登录那些事儿(超详细的前后端完整流程)

📌 微信小程序第一节 ——自定义顶部、底部导航栏以及获取胶囊体位置信息。 📌 微信小程序第二节 —— 自定义组件 📌 微信小程序第三节 —— 页面跳转的那些事儿 📌 微信小程序第四节—— 网络请求那些事儿 😜作 …

MFC之CRect详解

2023年4月25日,周二晚上。 今天查了不少关于CRect类及其相关内容的资料,学到了不少东西,所以我决定写一篇详细的关于CRect类及其相关内容的文章,以记录今天所学。 CRect类 在 MFC 中,CRect 类表示一个矩形区域。它是…

linux 命令之 tar -czvf和 tar -xzvf

文章目录 一、概述:二、基础知识 一、概述: tar 用于linux 系统中压缩和解压 二、基础知识 tar常用命令参数说明 tar命令的czvf/xzvf参数分别代表的意义如下: -c 或–create 建立新的备份文件。 -x或–extract或–get 从备份文件中还原文件…

SparkStreaming学习之——无状态与有状态转化、遍历kafka的topic消息、WindowOperations

目录 一、状态转化 二、kafka topic A→SparkStreaming→kafka topic B (一)rdd.foreach与rdd.foreachPartition (二)案例实操1 1.需求: 2.代码实现: 3.运行结果 (三)案例实操2 1.需求: 2.代码实现: 3.运行结果 三、W…

Eclipse代码提示突然失灵的解决方案

不知道改动了啥,突然间Eclipse的代码提示就失效了,发现缺少后极不方便。 使用快捷键:Alt/ 提示 No Default Proposals 为什么使用快捷键:Alt/ 会提示“No Default Proposals。”呢? 网上提示可能是热键冲突 但是一套…

数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)

数据可视化大屏电商数据展示平台 一、前言二、项目介绍三、项目展示四、项目经验分享4.1 翻牌器4.1.1 翻牌器-今日实时交易4.1.2.翻牌器后端统计SUM函数的使用 4.2 不同时间指标的数据MySql内部的时间计算 4.3 实时交易播报MySql联表查询和内部遍历循环 4.4 每日交易量4.4.1.近…

5.5 高斯型求积公式简历

学习目标: 我会按照以下步骤学习高斯求积公式简介: 理解积分的概念:学习什么是积分以及积分的几何和物理意义,如面积、质量、电荷等概念。 掌握基本的积分技巧:掌握基本的积分公式和技巧,如换元法、分部积…