![使用 PuTTY 移动文件](https://linux22.com/image/1368354/%E4%BD%BF%E7%94%A8%20PuTTY%20%E7%A7%BB%E5%8A%A8%E6%96%87%E4%BB%B6.png)
我是一名新手,正在努力使用 PuTTY 在 Linux VPS 上移动文件。
此时我可以使用 PuTTY 中的用户登录,我可以导航到我想要移动的文件(~/servers/apache-solr-3.6.2/example/webapps/solr.war
)。
通过从我第一次登录PuTTY时开始的目录中使用cd ..
几次,我就可以导航到我希望将文件移动到的位置:
usr/local/jakarta/apache-tomcat-5.5.36/webapps/
我知道我需要使用cp
来复制文件,并尝试了以下变化:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps
但是每次我都会得到“没有这样的文件或目录”
我尝试过排除~/
和开始,也尝试过solr.war
在命令结束时指定。
请原谅这个新手的问题,但我真的很感激一些关于我在这里做错的事情的建议。
答案1
一些一般说明:
- copy()命令的格式
cp
为cp source destination
在 *nix(Unix、Linux 等)世界中,目录用 表示,
/
而\
在 Windows 中则用 表示。root
文件系统(Windows 的C:\
)的 是/
。因此,Windows 路径C:\Directory\Subdirectory\file.txt
这是在 Linux 上吗
/Directory/Subdirectory/file.txt
~/
是您的主目录,也称为$HOME
。您不需要
cd
进入需要复制内容的目录,只需提供其完整路径即可。您不需要输入整个路径。在大多数 Linux 系统上,当您开始输入路径时,您可以点击Tab来完成它。如果有多个可能的补全,请双击Tab以查看它们。例如,输入
ls /bo
并点击Tab,它将自动完成
ls /boot
因此,将所有这些放在一起,不要写完整路径,而是尝试写开头并使用Tab自动完成。我怀疑您的文件不在,~/servers
但/servers
尝试:
cp /servers/apac
Tab
是否自动完成?如果没有,请尝试
cp ~/servers/apac
Tab
一旦找到正确的源目录,Tab再次使用该技巧来找到正确的目标目录。
答案2
如果您输入的正是:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps
尝试输入这个:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps
/
如果前面没有usr
,它可能会尝试转到当前目录加上 ,usr/local/jakarta/apache-tomcat-5.5.36/webapps
而不是关闭/
。
编辑:如果您usr
的主目录中确实有一个目录,并试图复制到类似的目录/home/your_user_name/usr/local...
,请指定完整路径。
答案3
复制文件需要做两件事:
- 正确的位置
- 正确的权限
看起来您在位置部分遇到了困难。
尝试导航到两个位置并运行命令“pwd”。pwd 返回您所在位置的完整文件路径。
从两个位置复制 pwd 输出以使用 cp 命令。
例子
cp 'pwd output source'/solr.war 'pwd output destination location'
对于权限:您需要验证您是否有权写入您尝试写入的目标以及读取您尝试读取的文件。对您尝试复制的文件执行 ls -al,对目标文件夹执行 ls -al,并提供该输出。您也可以谷歌搜索文件权限。或者您可以阅读这篇文章来自己了解权限: http://www.perlfect.com/articles/chmod.shtml
答案4
这个问题的解决方案是基于其他答案的贡献 - 谢谢大家。september 和 ultrasawblade 正确地指出我需要在 usr 之前加一个正斜杠:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/
感谢 gabe 指出权限问题的可能性。因此,对于我来说,上述命令不起作用,因为我没有以登录用户身份拥有的正确权限。
感谢 terdon 指出这~/
意味着当前用户的主目录,基本上相当于/home/username/
。知道这一点意味着我可以以 root 用户身份登录(避免权限问题)并输入以下命令(有效):
cp /home/username/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/
感谢你们提供的所有帮助。Gabe 和 septemebr - 感谢你们提供这些资源的链接 - 它们很有帮助。