tar 命令

通过 SSH 访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar 命令就是必不可少的一个功能强大的工具。Linux 中最流行的tar是麻雀虽小,五脏俱全,功能强大。

使用tar命令,我们可以为 Linux 的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于 Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzipbzip2命令)。

Linux 下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以.tar结尾的。生成 tar 包后,就可以用其它的程序来进行压缩。

1. 命令格式

tar [必要参数] [选择参数] [文件]

2. 命令功能

用来压缩和解压文件。tar 本身不具有压缩功能。它是调用压缩功能实现的 。

3. 命令参数

必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持 gzip 解压文件
-j 支持 bzip2 解压文件
-Z 支持 compress 解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性

可选参数如下:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息

4. 常见解压/压缩命令

✎ .tar

解压:tar xvf FileName.tar

压缩:tar cvf FileName.tar DirName

(注:tar 是打包,不是压缩!)

✎ .gz

解压1:gunzip FileName.gz

解压2:gzip -d FileName.gz

压  缩:gzip FileName

✎ .tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

✎ .bz2

解压1:bzip2 -d FileName.bz2

解压2:unzip2 FileName.bz2

压  缩:bzip2 -z FileName

✎ .tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

✎ .bz

解压1:bzip2 -d FileName.bz

解压2:bunzip2 FileName.bz

压  缩:未知

✎ .tar.bz

解压:tar jxvf FileName.tar.bz

压缩:未知

✎ .Z

解压:uncompress FileName.Z

压缩:compress FileName

✎ .tar.Z

解压:tar Zxvf FileName.tar.Z

压缩:tar Zcvf FileName.tar.Z DirName

✎ .zip

解压:unzip FileName.zip

压缩:zip FileName.zip DirName

✎ .rar

解压:rar x FileName.rar

压缩:rar a FileName.rar DirName

5. 使用实例

实例1:将文件全部打包成 tar 包

命令:

tar -cvf log.tar log2012.log
tar -zcvf log.tar.gz log2012.log
tar -jcvf log.tar.bz2 log2012.log

输出:

[root@localhost test]# ls -al log2012.log
---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# tar -cvf log.tar log2012.log 
log2012.log
[root@localhost test]# tar -zcvf log.tar.gz log2012.log
log2012.log
[root@localhost test]# tar -jcvf log.tar.bz2 log2012.log 
log2012.log
[root@localhost test]# ls -al *.tar*
-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar
-rw-r--r-- 1 root root   1413 11-29 17:55 log.tar.bz2
-rw-r--r-- 1 root root   1413 11-29 17:54 log.tar.gz

说明:

  • tar -cvf log.tar log2012.log,仅打包,不压缩!

  • tar -zcvf log.tar.gz log2012.log,打包后,以 gzip 压缩

  • tar -zcvf log.tar.bz2 log2012.log,打包后,以 bzip2 压缩

  • 在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识。如果加 z 参数,则以.tar.gz.tgz来代表 gzip 压缩过的 tar包;如果加j参数,则以.tar.bz2来作为 tar 包名。

实例2:查阅上述 tar 包内有哪些文件

命令:

tar -ztvf log.tar.gz

输出:

[root@localhost test]# tar -ztvf log.tar.gz
---xrw-r-- root/root    302108 2012-11-13 06:03:25 log2012.log

说明:

  • 由于我们使用gzip压缩的log.tar.gz,所以要查阅log.tar.gz包内的文件时,就得要加上z这个参数了。

实例3:将 tar 包解压缩

命令:

tar -zxvf /opt/soft/test/log.tar.gz

输出:

[root@localhost test3]# ll
总计 0[root@localhost test3]# tar -zxvf /opt/soft/test/log.tar.gz
log2012.log
[root@localhost test3]# ls
log2012.log
[root@localhost test3]#

说明:

  • 在预设的情况下,我们可以将压缩档在任何地方解开的。

实例4:只将 /tar 内的 部分文件解压出来

命令:

tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

输出:

[root@localhost test]# tar -zcvf log30.tar.gz log2012.log log2013.log 
log2012.log
log2013.log
[root@localhost test]# ls -al log30.tar.gz 
-rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz
[root@localhost test]# tar -zxvf log30.tar.gz log2013.log
log2013.log
[root@localhost test]# ll
-rw-r--r-- 1 root root   1512 11-30 08:19 log30.tar.gz
[root@localhost test]# cd test3
[root@localhost test3]# tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
log2013.log
[root@localhost test3]# ll
总计 4
-rw-r--r-- 1 root root 61 11-13 06:03 log2013.log
[root@localhost test3]#

说明:

  • 我们可以透过tar -ztvf来查阅 tar 包内的文件名称,如果单只要一个文件,就可以透过这个方式来解压部分文件!

实例5:文件备份下来,并且保存其权限

命令:

tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log

输出:

[root@localhost test]# ll
总计 0
-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log
[root@localhost test]# tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log 
log2014.log
log2015.log
log2016.log
[root@localhost test]# cd test6
[root@localhost test6]# ll
[root@localhost test6]# tar -zxvpf /opt/soft/test/log31.tar.gz 
log2014.log
log2015.log
log2016.log
[root@localhost test6]# ll
总计 0
-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log
[root@localhost test6]#

说明:

  • 这个-p的属性是很重要的,尤其是当您要保留原本文件的属性时。

实例6:在 文件夹当中,比某个日期新的文件才备份

命令:

tar -N "2012/11/13" -zcvf log17.tar.gz test

输出:

[root@localhost soft]# tar -N "2012/11/13" -zcvf log17.tar.gz test
tar: Treating date `2012/11/13' as 2012-11-13 00:00:00 + 0 nanoseconds
test/test/log31.tar.gz
test/log2014.log
test/linklog.log
test/log2015.log
test/log2013.log
test/log2012.log
test/log2017.log
test/log2016.log
test/log30.tar.gz
test/log.tar
test/log.tar.bz2
test/log.tar.gz

说明:

  • 无特别说明。

实例7:备份文件夹内容并排除部分文件

命令:

tar --exclude scf/service -zcvf scf.tar.gz scf/*

输出:

[root@localhost test]# tree scf
scf
├── bin
├── doc
├── lib
└── service
    └── deploy
        ├── info
        └── product

5 directories, 2 files
[root@localhost test]# tar --exclude scf/service -zcvf scf.tar.gz scf/* 
scf/bin/
scf/doc/
scf/lib/
[root@localhost test]#

说明:

  • 无特别说明。

用 SecureCRT 来上传和下载文件

用 SSH 管理 Linux 服务器时经常需要远程与本地之间交互文件,而直接用 SecureCRT 自带的上传下载功能无疑是最方便的,SecureCRT 下的文件传输协议有 ASCII、Xmodem、Zmodem。

文件传输协议:文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常见的传输协议有以下几种:

  • ASCII:这是最快的传输协议,但只能传送文本文件。

  • Xmodem:这种古老的传输协议速度较慢,但由于使用了 CRC 错误侦测方法,传输的准确率可高达 99.6%。

  • Ymodem:这是 Xmodem 的改良版,使用了 1024 位区段传送,速度比 Xmodem 要快

  • Zmodem:Zmodem 采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。除以上几种外,还有 Imodem、Jmodem、Bimodem、Kermit、Lynx 等协议,由于没有多数厂商支持,这里就略去不讲。

SecureCRT 可以使用 Linux 下的 zmodem 协议来快速的传送文件,使用非常方便。具体步骤:

一、在使用 SecureCRT 上传下载之前需要给服务器安装 lrzsz

  1. 从下面的地址下载 lrzsz-0.12.20.tar.gz。 https://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
  2. 查看里面的 INSTALL 文档了解安装参数说明和细节。

  3. 解压文件: tar zxvf lrzsz-0.12.20.tar.gz
  4. 进入目录,编译安装。

cd lrzsz-0.12.20
./configure --prefix=/usr/local/lrzsz6
make7
make install
  1. 建立软链接。

cd /usr/bin
ln -s /usr/local/lrzsz/bin/lrz rz
ln -s /usr/local/lrzsz/bin/lsz sz
  1. 测试。 运行 rz 弹出 SecureCRT 上传窗口,用 SecureCRT 来上传和下载文件。

二.设置 SecureCRT 上传和下载的默认目录就行

options -> session options -> Terminal -> Xmodem/Zmodem 下,在右栏 directory 设置上传和下载的目录。

三.使用 Zmodem 从客户端上传文件到 Linux 服务器

  1. 在用 SecureCRT 登陆 Linux 终端。

  2. 选中你要放置上传文件的路径,在目录下然后输入rz命令,SecureCRT 会弹出文件选择对话框,在查找范围中找到你要上传的文件,按 Add 按钮。然后 OK 就可以把文件上传到 Linux上 了。

  3. 或者在 Transfer -> Zmodem Upoad list 弹出文件选择对话框,选好文件后按 Add 按钮。然后 OK 窗口自动关闭。然后在 Linux 下选中存放文件的目录,输入rz命令。Liunx 就把那个文件上传到这个目录下了。

四.使用 Zmodem 下载文件到客户端

命令:sz filename
说明:zmodem 接收可以自行启动,下载的文件存放在你设定的默认下载目录下。

rzsz是 Linux/Unix 同 Windows 进行 ZModem 文件传输的命令行工具 Windows 端需要支持 ZModem 的 telnet/ssh 客户端,SecureCRT 就可以用 SecureCRT 登陆到 Unix/Linux 主机(telnet 或 ssh 均可)。

运行命令rz,即是接收文件,SecureCRT 就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录。

运行命令sz filename就是发文件到 Windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开 FTP 服务了。

gzip 命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成 Linux 操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有 60%~70% 的压缩率。

1. 命令格式

gzip [参数] [文件或者目录]

2. 命令功能

gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 ".gz" 的扩展名。

3. 命令参数

-a--ascii使用 ASCII 文字模式。
-c--stdout--to-stdout把压缩后的文件输出到标准输出设备,不去更动原始文件。
-d--decompress----uncompress解开压缩文件。
-f--force强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
-h--help在线帮助。
-l--list列出压缩文件的相关信息。
-L--license显示版本与版权信息。
-n--no-name压缩文件时,不保存原来的文件名称及时间戳记。
-N--name  压缩文件时,保存原来的文件名称及时间戳记。
-q--quiet   不显示警告信息。
-r--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-S <压缩字尾字符串>----suffix <压缩字尾字符串>  更改压缩字尾字符串。
-t--test       测试压缩文件是否正确无误。
-v--verbose  显示指令执行过程。
-V--version  显示版本信息。
-num用指定的数字 num 调整压缩的速度,-1--fast表示最快压缩方法(低压缩比),-9--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。

4. 使用实例

实例1:把 test6 目录下的每个文件压缩成 .gz 文件

命令:

gzip *

输出:

[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail  302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2017.log
[root@localhost test6]# gzip *
[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail  1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users   70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2017.log.gz
[root@localhost test6]#

说明:

  • 无特别说明。


实例2:把例1中每个压缩的文件解压,并列出详细的信息

命令:

gzip -dv *

输出:

[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail  1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users   70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2017.log.gz
[root@localhost test6]# gzip -dv *
linklog.log.gz:  99.6% -- replaced with linklog.log
log2012.log.gz:  99.6% -- replaced with log2012.log
log2013.log.gz:  47.5% -- replaced with log2013.log
log2014.log.gz:   0.0% -- replaced with log2014.log
log2015.log.gz:   0.0% -- replaced with log2015.log
log2016.log.gz:   0.0% -- replaced with log2016.log
log2017.log.gz:   0.0% -- replaced with log2017.log
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail  302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2017.log
[root@localhost test6]#

说明:

  • 无特别说明。


实例3:详细显示例1中每个压缩的文件的信息,并不解压

命令:

gzip -l *

输出:

[root@localhost test6]# gzip -l *
         compressed        uncompressed  ratio uncompressed_name
               1341              302108  99.6% linklog.log
               1341              302108  99.6% log2012.log
                 70                  61  47.5% log2013.log
                 32                   0   0.0% log2014.log
                 32                   0   0.0% log2015.log
                 32                   0   0.0% log2016.log
                 32                   0   0.0% log2017.log
               2880              604277  99.5% (totals)

说明:

  • 无特别说明。


实例4:压缩一个 tar 备份文件,此时压缩文件的扩展名为 .tar.gz

命令:

gzip -r log.tar

输出:

[root@localhost test]# ls -al log.tar
-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar
[root@localhost test]# gzip -r log.tar
[root@localhost test]# ls -al log.tar.gz 
-rw-r--r-- 1 root root 1421 11-29 17:54 log.tar.gz

说明:

  • 无特别说明。


实例5:递归的压缩目录

命令:

gzip -rv test6

输出:

[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail  302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2017.log
[root@localhost test6]# cd ..
[root@localhost test]# gzip -rv test6
test6/log2014.log:        0.0% -- replaced with test6/log2014.log.gz
test6/linklog.log:       99.6% -- replaced with test6/linklog.log.gz
test6/log2015.log:        0.0% -- replaced with test6/log2015.log.gz
test6/log2013.log:       47.5% -- replaced with test6/log2013.log.gz
test6/log2012.log:       99.6% -- replaced with test6/log2012.log.gz
test6/log2017.log:        0.0% -- replaced with test6/log2017.log.gz
test6/log2016.log:        0.0% -- replaced with test6/log2016.log.gz
[root@localhost test]# cd test6
[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail  1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users   70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2017.log.gz

说明:

  • 这样,所有 test 下面的文件都变成了 *.gz,目录依然存在只是目录里面的文件相应变成了 *.gz。这就是压缩,和打包不同。因为是对目录操作,所以需要加上 -r 选项,这样也可以对子目录进行递归了。


实例6:递归的解压目录

命令:

gzip -dr test6

输出:

[root@localhost test6]# ll
总计 28
---xr--r-- 1 root mail  1341 11-30 08:39 linklog.log.gz
---xr--r-- 1 mail users 1341 11-30 08:39 log2012.log.gz
-rw-r--r-- 1 mail users   70 11-30 08:39 log2013.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2014.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2015.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2016.log.gz
-rw-r--r-- 1 root mail    32 11-30 08:39 log2017.log.gz
[root@localhost test6]# cd ..
[root@localhost test]# gzip -dr test6
[root@localhost test]# cd test6
[root@localhost test6]# ll
总计 604
---xr--r-- 1 root mail  302108 11-30 08:39 linklog.log
---xr--r-- 1 mail users 302108 11-30 08:39 log2012.log
-rw-r--r-- 1 mail users     61 11-30 08:39 log2013.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2014.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2015.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2016.log
-rw-r--r-- 1 root mail       0 11-30 08:39 log2017.log
[root@localhost test6]#

说明:

  • 无特别说明。


END—

戳原文,更有料!

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

Linux 中 3 个文件打包上传和下载相关命令详解的更多相关文章

  1. linux(6/17)--文件打包上传和下载

    tar命令 命令功能 用来压缩和解压文件 命令格式 tar[必要参数][选择参数][文件] tar打包工具 -f ##指定生成包的名字,建议 -f单独写成一个参数 --delete filename ...

  2. 使用Loadrunner进行文件的上传和下载

    最近使用loadrunner中需要录制文件的上传和下载,上传功能模块利用录制可以直接实现,下载无法实现,在网上找到了一段代码,自己动手试验了下,发现没有用 辛苦找到的,还是记录下吧 (1)LoadRu ...

  3. Java中文件的上传与下载

    文件的上传与下载主要用到两种方法: 1.方法一:commons-fileupload.jar  commons-io.jar apache的commons-fileupload实现文件上传,下载 [u ...

  4. Xshell在Windows和Linux间文件的上传和下载

    本文通过lrzsz来实现Windows和Linux间文件间的文件传输. lrzsz使用 XMODEM.YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载.相比 FTP 或者 WinSC ...

  5. iOS开发中文件的上传和下载功能的基本实现-备用

    感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传 ...

  6. JavaWeb中文件的上传和下载

    JavaWeb中文件的上传和下载 转自: JavaWeb学习总结(五十)——文件上传和下载 - 孤傲苍狼 - 博客园https://www.cnblogs.com/xdp-gacl/p/4200090 ...

  7. linux上文件的上传和下载

    现整理一篇linux上文件的上传和下载 第一种方式就是在windos上安装工具 如: 工具如何使用我就不赘述了,easy 第二种方式就是使用liux的命令(首先是文件上传) 上传文件(首先创建文件夹如 ...

  8. SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...

  9. .net web开发——文件的上传和下载

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传  ...

  10. Java web开发——文件的上传和下载

    一. 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件夹进行上传:支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传.刷新页面后继续传输. ...

随机推荐

  1. 可靠消息最终一致性【本地消息表、RocketMQ 事务消息方案】

    更多内容,前往IT-BLOG 一.可靠消息最终一致性事务概述 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调 ...

  2. 详解DDD:如何避免写流水账代码?

    在日常工作中我观察到,面对老系统重构和迁移场景,有大量代码属于流水账代码,通常能看到开发在对外的API接口里直接写业务逻辑代码,或者在一个服务里大量的堆接口,导致业务逻辑实际无法收敛,接口复用性比较差 ...

  3. Kotlin 与 JAVA 不同之处

    添加kotlin混编支持 要在Android项目中添加Kotlin混编支持,需要进行以下步骤: 在项目的 build.gradle 文件中添加以下代码: kotlin android { ... // ...

  4. MarkdownStudy02DOS窗口

    打开dos窗口 开始里面win系统 win+r,输入cmd 在任意文件下,按住shift+鼠标右键点击,在此处打开PowerShell窗口 资源管理器的地址栏前面加上cmd路径 管理员身份运行 常用的 ...

  5. 2023年数字化经济与管理科学国际学术会议(CDEMS2023)

    基本信息 大会官网:www.cdems.org 大会时间:2023年4月21-23日 大会地点:中国开封 截稿时间:2023年4月16日(此处有变动) 接受/拒稿通知:投稿后1周 收录检索:CPCI, ...

  6. selenium 您的连接不是私密连接的解决办法

            一.问题描述 用selenium启动浏览器时,chrome提示您的连接不是私密连接. 二.解决方案 方案1: 在当前页面用键盘输入  thisisunsafe  ,不是在地址栏输入,就 ...

  7. KMP算法的研究

    前脚学后脚忘,是时候给自己通俗易懂的总结一下了 KMP是什么 在计算机科学中,Knuth-Morris-Pratt字符串查找算法(简称为KMP算法)可在一个字符串S内查找一个词W的出现位置.一个词在不 ...

  8. MySQL笔记之一致性视图与MVCC实现

    一致性读视图是InnoDB在实现MVCC用到的虚拟结构,用于读提交(RC)和可重复度(RR)隔离级别的实现. 一致性视图没有物理结构,主要是在事务执行期间用来定义该事物可以看到什么数据. 一.Read ...

  9. Spring @Profile注解使用和源码解析

    介绍 在之前的文章中,写了一篇使用Spring @Profile实现开发环境,测试环境,生产环境的切换,之前的文章是使用SpringBoot项目搭建,实现了不同环境数据源的切换,在我们实际开发中,会分 ...

  10. RDIF.vNext全新低代码快速开发框架平台发布

    1.平台介绍 RDIF.vNext,全新低代码快速开发集成框架平台,给用户和开发者最佳的.Net框架平台方案,为企业快速构建跨平台.企业级的应用提供强大支持. RDIF.vNext的前身是RDIFra ...