我已经回顾过这个主题: 如何修复使用 sftp 命令时出现“无此文件或目录”错误消息以及其他一些,但是没有什么能帮助我解决这个问题。
blankfile.txt
简单地说,我正在尝试将位于本地计算机桌面目录中的名为的文件移动到 LAMP 服务器中的远程目录中。
我试过了:
put Desktop/blankfile.txt
put blankfile.txt 192.168.x.x:/home/user/Desktop/
put /home/user/Desktop/blankfile.txt
(从远程工作目录输入时)
我究竟做错了什么?
答案1
我的猜测是你不在正确的本地路径中,要找出你本地机器上的当前目录,请使用:lpwd
。
如果您走错了路径,则使用lcd
移动到正确路径,例如:
lcd ~/Desktop
知道确保所有文件都已到位,使用:lls
获取本地文件列表。或者甚至像这样:
lls blankfile.txt
为了确保它在那里,然后您可以使用put
它开始将其上传到远程机器:
put blankfile.txt
如果您遇到任何权限错误,请使用pwd
命令找出您在远程机器上的位置。
/var
如果您以普通用户身份处于类似的路径sftp
,那么显然您无法在那里上传文件,在这种情况下,您将收到类似以下错误:
remote open("/root/blankfile.txt"): Permission denied
使用cd
命令改变到您被允许写入的目录,然后使用put
命令。
可能发生的另一个权限问题是您的本地文件权限,这将产生:
Couldn't open local file "blankfile.txt" for reading: Permission denied
使用 检查您的本地文件权限lls -l blankfile.txt
,确保您本地机器上的当前用户有权读取该文件。