①, 使用 df -h 和 fdisk -l 查看确认移动硬盘信息 ;
fdisk –l 或 more /proc/partitions #查看系统的硬盘和硬盘分区情况。
②,使用 parted /dev/sdc print 命令查看移动硬盘文件格式是什么 ;
③,使用 mount -t ntfs-3g /dev/sdc2 /mnt/ 直接挂载就可以啦 ;
④,挂载完成后 cp 拷贝即可 ;
⑤,使用rsync 执行同步一下 即可,可以忽略cp 了 ; nohup rsync -aP /seq_dir/Item/prenatal /mnt/
1:快速大量小文件复制
a. 本机不同磁盘之间复制:
复制目录
$ tar cvf – /home/src_dir | tar xvf – -C /opt
复制文件
$ tar cf – access.log |tar xf – -C /opt
Tips:快速tar打包的一些小技巧以及常用的tar使用
tar 快速打包(仅打包不压缩传输,耗时比较短)
step1:从文件中生成文件列表
$ find . -name '*.jpg' -print > jpg.txt
**** 匹配多个后缀格式
$ find . -regex '.*\.png\|.*\.jpeg\|.*\.jpg' -print >jpg.txt
若生成的文件列表比较大,可以借助split拆分成小文件进行并行打包. 若文件数较小,可忽略此步骤。
#将 文件 jpg.txt 分成若干个小文件,每个文件500000行(-l 500000),文件前缀为xiu_ ,系数不是字母而是 数字(-d),后缀系数为四位数(-a 4)
$ split -l 500000 ../ jpg.txt -d -a 4 xiu_
step2: tar怎么从文件中读取文件列表呢?查了很久,用 -T
-T, --files-from F
get names to extract or create from file F
tips: 注意这里不要加 -v参数啦,对于大量文件,控制台输出是很浪费时间的...
$ tar -czf jpg.tar.gz -T yourfile
**** 不压缩的话,可以直接打包, 比较快。
$ tar -cf jpg.tar.gz -T yourfile
tar 常用的一些命令
解包
$ tar xvf FileName.tar
## 或者 不输出文件,比较快
$ tar xf FileName.tar
不解包查看打包内容
$ tar tvf FileName.tar
不解包统计打包内容文件数以及文件夹
### 统计文件数
$ tar tvf FileName.tar |grep "^-"|wc -l
### 统计文件加
$ tar tvf FileName.tar |grep "^d"|wc -l
b. 跨网络不同主机之间复制 tar+nc:
思路:在网络环境中传输时,打包再结合nc命令,通过管道和tcp端口进行传输。
比如 A往B主机传输数据
i. 在机器B上,用nc来监听一个端口,任意都行,只要不被占用;并且将收到的数据用tar展开。-l代表监听模式。
$ nc -l 34183 |tar -C /data1datasets/norm/ -zxf -
ii. 接着,在A上通过nc和 tar发送data_01目录。使用一致的34183的端口。
$ tar -zcvf - data_01 |nc 192.168.0.1 34183
————————————————
版权声明:本文为CSDN博主「Reyn_vip」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41619143/article/details/116484077