【deepin-Linux分享】文件压缩与传输

文件压缩与传输

  • 文件压缩与传输
    • 一、文件压缩
      • tar选项
      • tar操作
    • 二、文件传输
      • (1)scp传输
      • (2)sftp传输
      • (3)rsync传输

一、文件压缩

跟windows一样,在Linux下一样需要压缩文件和解压缩包。在Linux中。我们把多个文件打包成一个文件,称为存档。但是我们通俗还是说压缩文件或者压缩包。使用tar命令可以来管理压缩文件。

tar选项

tar命令选项划分成不同的操作,其中包括一般选项和压缩选项。

操作选项

选项作用
-c--create创建压缩包
-x--extract解压压缩包
-t--list查看压缩包内容

一般选项

选项作用
-v--verbose详细信息。显示操作的文件有哪些
-f--file=文件名。此选项后必需跟要使用或常见的文件名
-p--preserve-permissions在解压缩是保留文件和目录的权限。

压缩选项

选项作用
-z--gzip使用gzip压缩方式(.tar.gz)
-j--bzip2使用bzip2压缩方式(.tar.bz2)
-J--xz使用xz压缩方式(.tar.xz)

tar操作

创建一个压缩包
[root@rhce opt]# touch file{1..3}
[root@rhce opt]# ls
file1  file2  file3
[root@rhce opt]# tar -cf file.tar file1 file2 file3
[root@rhce opt]# ls
file1  file2  file3  file.tar
注:创建tar压缩包,如果出现同名,会直接覆盖,不会提供警报。在生产环境中切记要先检查有无同名压缩包。
要创建压缩包。必需能够读取这些文件。如果没有读取权限,tar命令会忽略没有权限的文件,以及没有读取和执行权限的目录。
部分高级权限(如ACL和SElinux)不会自动保存到压缩包中,需要使用-x选项。查看压缩包里面的内容
[root@rhce opt]# tar -tf file.tar 
file1
file2
file3解压一个压缩包
[root@rhce opt]# mkdir backup
[root@rhce opt]# cd backup/
[root@rhce backup]# tar -tf /opt/file.tar 
file1
file2
file3
[root@rhce backup]# ls
[root@rhce backup]# tar -xf /opt/file.tar 
[root@rhce backup]# ls
file1  file2  file3默认情况下,从压缩包中解压文件,不会暴露文件的权限,需要在解压的时候使用p选项。

二、文件传输

(1)scp传输

scp是OpenSSH套件的一部分,可以将文件从远程系统复制到本地,或者从本地复制到远程系统。scp使用ssh服务器进行身份验证,并在数据传输之前进行加密。远程位置的格式为 [user@]host:/path,当没有指定用户名时,则使用当前的本地用户名。

将本地文件/etc/yum.repos.d/local.repo复制到远程系统上。

[root@rhce ~]# scp /etc/yum.repos.d/local.repo 192.168.211.20:/etc/yum.repos.d/
The authenticity of host '192.168.211.20 (192.168.211.20)' can't be established.
ED25519 key fingerprint is SHA256:GY1+lg2p5HUnJ97i4xh24Lv2DrWCLGKyxu5bnMBGjpQ.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.211.20' (ED25519) to the list of known hosts.
root@192.168.211.20's password: 
local.repo                                                                         100%  152   263.3KB/s   00:00 

将远程系统上的/etc/yum.repos.d/local.repo复制到本地。

[root@rhce ~]# scp 192.168.211.20:/etc/yum.repos.d/local.repo /etc/yum.repos.d/
root@192.168.211.20's password: 
local.repo                                                                         100%  152   110.8KB/s   00:00  

当复制的对象为一个目录的时候需要使用 -r选项

[root@rhce ~]# scp -r /etc/yum.repos.d 192.168.211.20:/etc/
root@192.168.211.20's password: 
redhat.repo                                                                        100%  358   530.5KB/s   00:00  
local.repo                                                                         100%  152   340.0KB/s   00:00  

(2)sftp传输

sftp是以交互方式从远程系统上下载或上传文件。同样是先进行安全身份验证,并将数据加密进行传输。与scp一样,使用 [user@]host来标识目标系统和用户。交互式sftp会话接受各种命令,这些命令在远程文件系统上运行的方式与在本地文件系统上相同,如ls、cd、mkdir、rmdir和 pwd。put 命令将文件上载到远程系统。get 命令从远程系统下载文件。exit 命令可退出 sftp 会话。

将本地的/etc/hosts文件上传到目标系统,将目标系统的/etc/passwd保存到本地。

[root@rhce ~]# sftp 192.168.211.20
root@192.168.211.20's password: 
Connected to 192.168.211.20.
sftp> put /etc/host
host.conf  hostname   hosts  
sftp> put /etc/hosts /opt/
Uploading /etc/hosts to /opt/hosts
hosts                                                                              100%  179   289.6KB/s   00:00   
sftp> get /etc/passwd /root/
Fetching /etc/passwd to /root/passwd
passwd                                                                             100% 2551     2.1MB/s   00:00  
sftp> exit
[root@rhce ~]# ll passwd 
-rw-r--r--. 1 root root 2551 Aug 22 11:09 passwd

(3)rsync传输

rsync命令与scp一样都可以在本地和远程系统中复制文件,不同的是scp命令是将内容全部复制,而rsync会通过算法来同步已更改的文件部分,来保证数据量最小化。

rsync的优点就是可以在本地和远程之间安全而高效地复制文件。虽然首次目录同步的用时与复制操作大致相同,但在之后的同步只需要通过网络复制差异部分,从而大幅加快更新的速度。

rsync有一个重要的选项 -n,用于执行空运行。对执行命令时所发生情况的模拟。空运行显示了在命令正常运行时,rsync所以进行的更改。在生产环境中先执行空运行,可以避免重要文件被删除或者覆盖。

常用选项

选项作用
-v--verbose显示详细信息
-a--archive启用存档模式,以保留文件的大部分特征。
-l--links同步符号链接
-p--petms保留权限
-t--times保留时间戳
-g--group保留所有组
-o--owner保留拥有人
-D--devices同步设备文件
-H--hard-links保留硬链接
-A--acls保留ACL权限
-X--xattrs保留SElinux上下文

要保留文件属性,必需是root用户。如果目标为远程系统,则以root身份进行验证。如果目标是本地,则必须以root身份运行命令。

将本地的 /var/log同步到远程系统的/tmp目录

[root@rhce ~]# rsync -a /var/log 192.168.211.20:/tmp
root@192.168.211.20's password: 

将远程系统的 /var/log同步到本地

[root@rhce ~]# rsync -a 192.168.211.20:/var/log /tmp
root@192.168.211.20's password: 

注意:rsync命令在源目录名称中是否存在尾斜杠非常重要。它将决定同步到目标中的是目录,还是目录中的内容。

[root@rhce tmp]# rsync -a /var/log /tmp/text
[root@rhce tmp]# ls text
log
[root@rhce tmp]# rsync -a /var/log/ /tmp/text1
[root@rhce tmp]# ls text1
anaconda           cron-20230810        maillog            secure-20230803       vmware-network.5.log
audit              cron-20230817        maillog-20230803   secure-20230810       vmware-network.6.log
boot.log           cups                 maillog-20230810   secure-20230817       vmware-network.7.log
boot.log-20230814  dnf.librepo.log      maillog-20230817   speech-dispatcher     vmware-network.8.log
boot.log-20230815  dnf.log              messages           spooler               vmware-network.9.log
boot.log-20230817  dnf.rpm.log          messages-20230803  spooler-20230803      vmware-network.log
boot.log-20230818  firewalld            messages-20230810  spooler-20230810      vmware-vgauthsvc.log.0
boot.log-20230819  gdm                  messages-20230817  spooler-20230817      vmware-vmsvc-root.log
boot.log-20230821  hawkey.log           nginx              sssd                  vmware-vmtoolsd-root.log
boot.log-20230822  hawkey.log-20230815  private            tallylog              vmware-vmusr-root.log
btmp               hawkey.log-20230822  qemu-ga            tuned                 wtmp
btmp-20230801      httpd                README             vmware-network.1.log
chrony             insights-client      rhsm               vmware-network.2.log
cron               kdump.log            samba              vmware-network.3.log
cron-20230803      lastlog              secure             vmware-network.4.log

感兴趣的可以看看这里 ,有挺多的技术文

支持一下排名

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

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

相关文章

无人机航测系统技术特点!

一、无人机航测系统的设计逻辑 无人机航测系统的设计逻辑主要围绕实现高效、准确、安全的航空摄影测量展开。其设计目标是通过无人机搭载相机和传感器,利用先进的飞行控制系统和数据处理技术,实现对地表信息的全方位、高精度获取。 需求分析&#xff1…

分割双声道音频-Audacity和ffmpeg

双声道音频资源: https://download.csdn.net/download/yudelian/90135217 1、ffmpeg分割双声道音频 ffmpeg -i input.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav 2、audacity分割双生音频并且播放 选择分离立体声轨 可以看出分离出了两个音频…

以太网帧、IP数据报图解

注:本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式(包含相关例题讲解) Rebecca.Yan已于 2023-05-27 14:13:19 修改 一、基础知识 UDP 段、IP 数据包,以太网帧图示 通信过程中&…

docker简单命令

docker images 查看镜像文件 docker ps -a 查看容器文件 docker rm 0b2 删除容器文件,id取前三位即可 docker rmi e64 删除镜像文件(先删容器才能删镜像),id取前三位即可 在包含Dockerfile文件的目录…

(C语言)双向链表

目录 链表的分类 双向链表的实现 1)定义链表 2)初始化双向链表 3)申请节点 4)尾插 5)头插 6)打印链表 7)尾删 8)头插 9)查找 10)指定位置删除 11…

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…

‌HBase是什么,‌HBase介绍

‌官方网站:Apache HBase – Apache HBase Home HBase是一个分布式的、面向列的NoSQL数据库,主要用于存储和处理海量数据。‌它起源于Google的​​​​​​​BigTable论文,是Apache Hadoop项目的子项目。HBase设计用于高可靠性、高性能和可伸…

Group FLUX - User Usage Survey Report

文章目录 User Feedback Summary: Software Advantages and FeaturesUser Feedback Issues and Suggested Improvements1. Security Concerns:Improvement Measures: 2. System Performance and Loading Speed:Improvement Measures: 3. Data Display Issues:Improvement Measu…

Pytorch | 从零构建AlexNet对CIFAR10进行分类

Pytorch | 从零构建AlexNet对CIFAR10进行分类 CIFAR10数据集AlexNet网络结构技术创新点性能表现影响和意义 AlexNet结构代码详解结构代码代码详解特征提取层 self.features分类部分self.classifier前向传播forward 训练过程和测试结果代码汇总alexnet.pytrain.pytest.py CIFAR1…

c语言-----数组

基本概念 数组是C语言中一种用于存储多个相同类型数据的数据结构。这些数据在内存中是连续存储的,可以通过索引(下标)来访问数组中的各个元素。数组的索引从0开始,这是C语言的规定。例如,一个有n个元素的数组&#xff…

【最新攻略】腾讯云双十一最强攻略密码

引言一起来薅羊毛准备工作双人成团PK有大礼! 福利总结 引言 腾讯云(Tencent Cloud)想必大家都听说过吧?腾讯云是腾讯提供的“云计算”服务。你可以把它想成一个超级强大的网络平台,帮助公司和开发者把自己的技术、数据、网站等东西…

java list 和数组互相转换的一些方法

在Java中,List 和 数组(Array) 之间的转换是一个常见的操作。由于它们是不同的数据结构,Java提供了一些方法来在它们之间进行转换。我们会从List到数组和数组到List两种情况分别讨论。 1. List 转 数组 假设你有一个 List 类型的…

【C#】List求并集、交集、差集

值类型List List<int> intList1 new List<int>() { 1, 2, 3 };List<int> intList2 new List<int>() { 3, 4, 5 };var result intList1.Union(intList2);Console.WriteLine($"并 {string.Join(,,result)}");result intList1.Intersect(in…

游戏渠道假量解决方案

某推广公司在推广过程中被查出“短期内点击量激增”“存在同一地址多次访问”“已注册用户重复注册”等数据作弊行为&#xff0c;法院判罚退还服务费200余万元&#xff0c;并赔偿违约金约350万元。 某公司为提升其游戏在应用商店榜单排名&#xff0c;委托某网络公司进行下载、注…

JMeter 使用详解

JMeter 使用详解 Apache JMeter 是一款开源的性能测试工具&#xff0c;可用于对静态和动态资源&#xff08;如 Web 应用、数据库、REST API 等&#xff09;进行负载测试和性能测试。以下是 JMeter 的详细使用指南&#xff1a; 1. JMeter 安装 下载 JMeter&#xff1a; 从 Apac…

C++如何处理对象的状态变化?如何实现工厂模式?

1&#xff09;如何处理对象的状态变化&#xff1f; 在 C中&#xff0c;可以通过以下几种方式处理对象的状态变化&#xff1a; 一、成员函数 成员函数可以修改对象的内部状态。例如&#xff1a; class MyClass { private:int value; public:MyClass(int initialValue) : value(i…

Oracle 数据库锁与阻塞分析与解决指南

目录 概述锁&#xff08;Lock&#xff09;的概念阻塞&#xff08;Blocking&#xff09;的概念锁和阻塞的区别查询锁和阻塞情况预防和解决问题的策略案例分析总结 1. 概述 在Oracle数据库中&#xff0c;锁和阻塞是并发控制的关键概念。正确理解和管理它们对于确保数据一致性和…

【Linux运维】配置ssh免密登录

1.场景描述 内网环境&#xff0c;需要同步17服务器的文件到10服务器进行备份。因为每次输入密码比较繁琐&#xff0c;如果实现免密登录后&#xff0c;即可简化脚本。 要求&#xff1a;需要2台服务器-免密登录 2.方案分析 &#xff08;1&#xff09;现状&#xff1a;登录需要输…

neo4j删除所有数据

neo4j删除所有数据 一次性删除 MATCH (n) DETACH DELETE n ;分批次删除 先删除关系 MATCH ()-[r]->()WITH r LIMIT 100000DELETE rRETURN count(r)在删除节点 MATCH (n)WITH n LIMIT 100000DELETE nRETURN count(n)验证 查询节点总数 MATCH (n) RETURN count(n) AS node…

Android实现RecyclerView边缘渐变效果

Android实现RecyclerView边缘渐变效果 1.前言&#xff1a; 是指在RecyclerView中实现淡入淡出效果的边缘效果。通过这种效果&#xff0c;可以使RecyclerView的边缘在滚动时逐渐淡出或淡入&#xff0c;以提升用户体验。 2.Recyclerview属性&#xff1a; 2.1、requiresFading…