我正在Cygwin下运行一个Bash脚本,但这个问题更广泛地适用。
我有一个远程文件://someremoteserver/somefile.db
这个“//”path在Cygwin下 – 它本质上是一个Windowsnetworking上的UNCpath名(在本例中),所以称之为Samba。
该文件很大:50 GB。
我想在远端重新命名它:
mv //someremoteserver/somefile.db //someremoteserver/someotherfile.db
我想这需要5纳秒,因为它只是一个重命名。 但需要两个小时。 这似乎是因为它实际上是通过本地机器的内存空间来复制文件 – 它在整个局域网上移动了50 GB(如果是copy-here,那么甚至可能是100 GB)。
通常在本地系统上,“mv”是即时的,不pipe文件大小如何,因为它只更新inode / file表。
当文件位于远程Samba共享上时,是否有一种很好的方法来做同样的事情?
通常在本地系统上,“mv”是即时的,不pipe文件大小如何,因为它只更新inode / file表。
究竟。 我想你会想要从包含文件系统的主机调用重命名/ mv。