如何使用SSH和MAC OS X终端在计算机之间复制文件


205

我正在尝试将.profile,.rvm和.ssh文件夹/文件复制到新计算机上,并不断收到“非常规文件”响应。我知道如何使用cpand ssh命令,但是我不确定如何使用它们将文件从一台计算机传输到另一台计算机。

任何帮助将是巨大的,谢谢!


8
尽管您已经回答了问题,但我仍然可以推荐superuser.com吗?
KevinDTimm 2010年

Answers:


436

您可以使用scp命令执行此操作,该命令使用ssh协议在计算机之间复制文件。它扩展了的语法cp以允许引用其他系统:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file

将某些东西从此计算机复制到其他计算机:

scp /path/to/local/file username@hostname:/path/to/remote/file

将其他计算机上的内容复制到该计算机上:

scp username@hostname:/path/to/remote/file /path/to/local/file

使用指定的端口号进行复制:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file

1
我认为OP对“如何使用它们以进行转移”的使用可以改写为“如何使用它们进行转移”。也许罗y,但不是绝对错误。
高性能Mark

2
@高:的确是啊。:) 得到更多的咖啡
Ether

2
感谢@Ether,但不幸的是,对于以'。'开头的目录,我一直收到“非常规文件”响应。像.rvm文件夹即时通讯试图转移一样,有什么提示吗?
alvincrespo

1
不用担心 我知道了!为了引入整个目录结构,我需要使用-r(递归使用r)。非常感谢!
alvincrespo

1
是的,您可以-r用于递归,也可以仅压缩文件并定位该zip文件。
Eric Holmes 2014年

14

首先用zip或gzip压缩文件夹:
使用以下命令:

zip -r NameYouWantForZipFile.zip文件夹tozip /

要么

tar -pvczf BackUpDirectory.tar.gz / path / to /目录

对于gzip压缩,请使用SCP:

scp username@yourserver.com:〜/ serverpath / public_html〜/ Desktop


1

如果您要处理大量文件,则可能还需要查看rsync。

如果要进行大量更改并希望保持目录和文件同步,则可能要使用Subversion或Git之类的版本控制系统。参见http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion


1
谢谢@Andy,我们在这里使用SVN,但是我刚买了一台新计算机,想学习如何通过命令行来做所有事情,因为家伙们喜欢在这里。我也在学习也喜欢它:)
alvincrespo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.