[TOC]
-c, --create
创建归档-v, --verbose
在创建归档时显示被归档的文件-f, --file=
指定归档文件-t, --list
列出存档的目录-r
向归档中追加文件-x, --extract
从归档文件中提取文件-C
解压到指定目录
[sadmin@server1 ~]$ tar cvf log.tar stderr.txt stdout.txt std.txt
stderr.txt
stdout.txt
std.txt
[sadmin@server1 ~]$ ls -l *.tar
-rw-rw-r--. 1 sadmin sadmin 10240 7月 12 20:43 log.tar
# 创建归档后删除源文件
[sadmin@server1 ~]$ tar cf log2.tar stderr.txt --remove-files
# 查看归档中包含哪些文件
[sadmin@server1 ~]$ tar tf log.tar
stderr.txt
stdout.txt
std.txt
# 向归档中追加文件
[sadmin@server1 ~]$ tar rf log.tar uptime.txt
[sadmin@server1 ~]$ tar tf log.tar
stderr.txt
stdout.txt
std.txt
uptime.txt
# 从归档中提取所有文件
tar xf log.tar
# 从归档中提取指定文件
tar xf log.tar uptime.txt
# 从归档中提取文件 解压到指定目录
tar xf log.tar -C /opt/
tar xf log.tar -C /opt/ uptime.txt
生成一个指定大小(100M)的新文件
# dd (disk dump) 拷贝文件并转换
[sadmin@server1 ~]$ dd if=/dev/zero of=file bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600 bytes (105 MB, 100 MiB) copied, 0.452654 s, 232 MB/s
[sadmin@server1 ~]$ zip file.zip file
adding: file (deflated 100%)
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100M 7月 12 21:06 file
-rw-rw-r--. 1 sadmin sadmin 100K 7月 12 21:11 file.zip
[sadmin@server1 ~]$ rm -rf file
[sadmin@server1 ~]$ unzip file.zip
Archive: file.zip
inflating: file
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100M 7月 12 21:06 file
-rw-rw-r--. 1 sadmin sadmin 100K 7月 12 21:11 file.zip
[sadmin@server1 ~]$ gzip file
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100K 7月 12 21:06 file.gz
[sadmin@server1 ~]$ gzip -d file.gz
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100M 7月 12 21:06 file
[sadmin@server1 ~]$ bzip2 file
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 113 7月 12 21:06 file.bz2
[sadmin@server1 ~]$ bzip2 -d file.bz2
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100M 7月 12 21:06 file
-z, --gzip
使用 gzip 压缩方式 (.tar.gz)
# 创建归档的时候,启用压缩
[sadmin@server1 ~]$ tar zcvf file.tar.gz file
file
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100M 7月 12 21:06 file
-rw-rw-r--. 1 sadmin sadmin 100K 7月 12 21:28 file.tar.gz
# 提取归档文件,同时解压缩
-j, --bzip2
使用 bzip2 压缩方式 (.tar.bz2)
[sadmin@server1 ~]$ tar jcvf file.tar.bz2 file --remove-files
file
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 200 7月 12 21:33 file.tar.bz2
[sadmin@server1 ~]$ tar jxvf file.tar.bz2
file
[sadmin@server1 ~]$ ls -lh file*
-rw-rw-r--. 1 sadmin sadmin 100M 7月 12 21:06 file
-rw-rw-r--. 1 sadmin sadmin 200 7月 12 21:33 file.tar.bz2
基于SSH协议远程拷贝文件或目录
# 将本地文件拷贝到网络上另外一台主机
scp /path/to/myfile remoteIP:/remote/path
# 将网络上另外一台主机的文件拷贝到本机
scp remoteIP:/remote/path /path/to/myfile
# 拷贝目录的时候加上 -r
scp -r 192.168.26.100:/boot /root
需要两台主机之间同时安装 rsync 包。
rsync 命令基于网络实现多台主机之间的文件同步工作,会比较文件的差异部分,传输速度较快
rsync /path/to/file remoteIP:/remote/path
# 将远程目录(192.168.10.10:/Dir)与本地目录(/Dir)相关联,保持文件同步:
rsync -r /Dir 192.168.10.10:/Dir
# -a, --archive 传输时启用压缩
rsync -az /boot 192.168.26.100:/opt
适用于小文件传输
# 安装 lrzsz
[root@server1 sadmin]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@server1 sadmin]# rpm -ivh /mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_64.rpm
警告:/mnt/BaseOS/Packages/lrzsz-0.12.20-43.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID fd431d51: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:lrzsz-0.12.20-43.el8 ################################# [100%]
- 在 XShell 中输入
rz
可以将 windows 中的文件传给 Linux - 在 XShell 中输入
sz log.tar
可以将 Linux 中的文件下载到 Windows 中