想尝试一下复制Alphafold里的dataset下的那些数据库。最开始只知道用过cp命令,但是想来cp应该是不行的,肯定很慢的!尝试用rsync和tar这两个。不是科普文,所以只写我用到的一些命令,想要了解更多可以百度一下。
1、rsync
-r 是参数,表示递归,即包含子目录。-r
是必须的,否则 rsync 运行不会成功。
远程同步
/home/用户名/Alphafold/dataset/uniprot 是我要复制的文件所在的路径;用户名@10.10.70.34:/home/用户名/Alphafold2/dataset 如需要复制到另一台服务器上,输入用户名,服务器地址以及准备复制到的文件路径
其实我是属于同一台服务器下复制,应该用本地同步就可以了,但是我用的是远程同步,当时有点急,也不懂。
rsync -r /home/用户名/Alphafold/dataset/uniprot 用户名@IP地址:/home/用户名/Alphafold2/dataset
本地同步
cd切换到要拷贝的文件所在文件夹下,* 代表该文件夹里所有文件 , /home/用户名/2 是要拷贝到的路径
cd 1 #自己建了文件夹1和2;1文件夹下创建了几个文件
rsync -a * /home/用户名/2
文件夹2就与1中一模一样了
文件夹1中的文件:
文件夹2中的文件:
rsync快速删除大量文件
原理就是用空文件夹代替要删除的文件夹,最后再把空文件夹删除即可。
mkdir null #新建一个空的文件夹
rsync --delete-before -d 空文件夹路径 要删除的文件夹路径
2、scp进行远程传输
前面路径是我要复制的文件所在的路径;后面是我准备复制到的服务器中的路径。
scp -r /home/用户名/Alphafold/dataset/pdb_seqres 用户名@IP地址:/home/用户名/Alphafold/dataset
3、tar打包及解压缩
同样是文件夹1和2示范,注意,传输大量文件时,把v去掉,v参数是显示操作的详细信息,都显示出来会浪费时间的。
tar -cvf - * | tar xvf - -C /home/用户名/2
补充:除第一个远程同步外,其他两个命令我还没有用过传输大文件,只随便示范了简单的文件!