我有一个要复制的文件夹,其中包含 PHP 和类似的用于创建网站的文件。
如何使用终端将一个文件夹从服务器(Linux Ubuntu)复制到客户端 PC(Linux Ubuntu)?我可以使用吗ftp
?对于终端连接,我使用 Telnet。
服务器上的文件夹位置:
qa@ubuntu:~/www/html/js
我想将其复制到客户端:
qa@desktop2:~/home/qa/html
答案1
如果远程机器上有 ssh 服务器,则可以使用 scp(无论如何,有 ssh 服务器是件好事)。Telnet 不太好,它没有加密,而且很麻烦。
因为我假设您可以通过 ssh 连接到远程机器,所以使用 scp 的基本方法是:
scp -r ~/www/html/js qa@desktop2:~/home/qa/html/js
假设你想从 scp 复制qa@ubuntu:~/www/html/js
到qa@desktop2:~/home/qa/html/js
scp 非常强大,所以我建议阅读它的手册页
man scp
答案2
编辑:朋友,通过 telnet 复制文件会遇到麻烦。你为什么坚持使用终端?
意思是,您正在运行 Windows,因此大概可以访问图形环境。那么,使用 Windows 文件共享/Web 浏览器/FTP 客户端/SSH 客户端等是否会因为它们是图形而被排除?如果是这样,为什么?
您在 Ubuntu 机器上是否有 root 访问权限?我建议您安装一个 ssh 服务器:
sudo apt-get install openssh-server
然后获取 Windows SSH/SCP 客户端(例如 WinSCP),并使用它来登录服务器并复制文件。
或者,如果您出于某种原因确实想通过终端执行此操作,请抓住 Cygwin 并安装打开,然后使用下面提到的“scp”命令。
你需要更具体地说明你的情况。
- 客户端运行的是什么操作系统?
- 服务器运行的是什么操作系统?
- 如果您知道的话,服务器正在运行哪些服务(FTP、HTTP、NFS、SMB、SSH 等)
例如,如果您可以通过 SSH 访问服务器,则如下操作可以工作:
scp [email protected]:/remote/path/file.txt /local/path/
如果您具有对文件的 HTTP 访问权限(http://server.mydomain.com/path/file.txt
),则如上面的海报所建议的,wget:
wget http://server.mydomain.com/path/file.txt
答案很大程度上取决于你的情况。
答案3
如果您使用 Windows 进行此操作,并且您真的无法以任何方式使用 HTTP 来获取文件,那么您可以求助于通过 7 位 ASCII 协议进行老式文件传输。我说的是 Z-Modem。它上次主要通过拨号互联网使用,特别是在 BBS 世界中,当 FTP 不可用时,它还用于 unix 到 unix 的传输(通常通过 rsh,但我离题了)。
无论如何,要从 Windows 获取该目录树,无需使用 FTP 或 HTTP,只需使用终端。
- 使用 HyperTerm Telnet 到服务器。
- 将您感兴趣的目录压缩/压缩。
- 从命令行
sz 文件名.tar.gz
- 从 Hyperterm 中选择传输 -> 接收文件。
- 指定您的保存路径,并将“Zmodem”作为接收协议。
它的传输速度不如 FTP 或 HTTP,但它可以为您传输文件。
答案4
这取决于文件的提供方式。如果文件可以从 Web 浏览器下载,则“wget”命令将起作用:http://linux.die.net/man/1/wget