Ibr*_*him 40 windows linux robocopy
这有点有趣,Linux 命令行工具在很多方面都远远优于 Windows 工具,但我还没有找到与之等效的一件事robocopy。Robocopy 比cp
.
一个特定的用例是我有两个目录,其中的文件大多相似,但一个目录有更新的源文件,一个目录有另一个目录没有的内容文件,可能还有更新的源文件(用于网站)。我想将后一个目录中的文件复制到前一个目录中,添加新的内容文件等,但不覆盖目标目录中的较新文件。
我试图弄清楚如何在 Linux 中做到这一点大约半小时,决定我可能必须学习 bash 脚本或其他东西来做我想做的事,然后我意识到我可以只使用 robocopy。我还有一些其他要求。我基本上是将 Python (Django) 网站从 SVN 存储库转换为 Git 存储库,并且我想确保在 SVN 中没有未提交的更改。但是,我想有条件地排除.svn
目录和.pyc
编译的 Python 文件。以下 robocopy 命令完全符合我的要求:
robocopy source destination /XO /E /XD .svn /XF *.pyc
Run Code Online (Sandbox Code Playgroud)
Linux 中是否有与 Robocopy 相同的东西?我进行了rsync
简要调查,但似乎我必须在尝试同步文件夹之前设置 rsync 服务器。
Jos*_*unt 41
听起来 rsync 绝对是您所追求的。您无需设置“rsync 服务器”即可将文件从一台机器复制到另一台机器。Rsync 支持通过 SFTP(SSH 文件传输)复制文件,大多数 linux 机器已经启用(如果没有手动禁用)。
有关更多详细信息,请参阅 Lifehacker 的rsync 跨系统镜像文件:
无论您是要备份数据、安全分发文件还是通过 Internet 从办公室到家、在本地网络上的计算机之间或从计算机到 Web 服务器镜像您的工作文档,rsync 都可以完成工作。今天,我们将使用 rsync 通过命令行的安全连接在 Mac 和 PC 之间镜像文件夹。
Rsync 是免费的(如语音)和跨平台,这意味着它可以在操作系统(Windows/Cygwin、Mac OS、Linux)之间同步文件;它通过 ssh 工作,因此它是加密且安全的;不像FTP它的增量,因此只有部分的改变文件传输,而不是整个文件,这使得它去像飞毛腿冈萨雷斯; 并且它是命令行的事实使其可编写脚本并易于自动化。
Sea*_*ats 18
rsync 将文件从一个目录复制到同一台机器上的另一个目录,如 robocopy。这是相当于您的 robocopy 命令的 rsync 命令:
rsync -auv --exclude '.svn' --exclude '*.pyc' source destination
Run Code Online (Sandbox Code Playgroud)
这将递归地将源复制到目标并排除旧文件以及“.svn”和“*.pyc”目录/文件。
归档时间: |
|
查看次数: |
72631 次 |
最近记录: |