Linux 难以解决:——“;SCP成功复制文件,但文件在本地计算机中不可见;

Linux 难以解决:——“;SCP成功复制文件,但文件在本地计算机中不可见;,linux,shell,unix,scp,Linux,Shell,Unix,Scp,我想将文件从服务器下载到本地Linux机器上。 我正在使用以下命令 scp -r username@remote:/path/to/folder /dest/local/path 文件传输成功;但在我的本地文件夹中看不到文件。 我怎么了 谢谢。我们不能说“你怎么了”(你的话),但有很多事情你可能需要检查一下: 您复制的文件夹(或文件)是否隐藏?他们的名字是以点(.somefile)开头的吗 “查找本地文件”时,是否使用文件管理器?然后您应该尝试刷新视图 使用图形文件管理器时,是否设置了可能隐

我想将文件从服务器下载到本地Linux机器上。 我正在使用以下命令

scp -r username@remote:/path/to/folder /dest/local/path
文件传输成功;但在我的本地文件夹中看不到文件。 我怎么了

谢谢。

我们不能说“你怎么了”(你的话),但有很多事情你可能需要检查一下:

  • 您复制的文件夹(或文件)是否隐藏?他们的名字是以点(
    .somefile
    )开头的吗
  • “查找本地文件”时,是否使用文件管理器?然后您应该尝试刷新视图
  • 使用图形文件管理器时,是否设置了可能隐藏某些文件的过滤器
  • 此命令输出什么:
    ls-al/dest/local/path
  • 什么类型的资源是
    /dest/local/path
    ?这是本地挂载分区内的普通文件夹还是其他文件夹
  • 对于我们当中真正的偏执狂:那是什么
    scp
    命令?它属于哪个路径,哪个包?你查过了吗
  • 如果尝试使用完全相同的命令传输文件,会发生什么情况?有关于文件被覆盖的警告吗

最后:您是否尝试添加
-v
标志(详细模式)以在传输过程中获取其他信息

一开始,我在尝试SCP一个由root所有的文件时遇到了一个问题。 因此,我尝试将root指定为SCP命令两侧的用户

scp root@192.168.0.201:/usr/share/bob.txt root@localhost:/usr/share
但这不起作用。
它说它可以工作-它提供了一个进度条等-但文件根本不在目标目录中

我不知道为什么—但是提供一个IP地址,而不是本地主机指定为目标—会看到文件复制成功

scp root@192.168.0.201:/usr/share/bob.txt root@192.168.0.202:/usr/share

这个问题已经问了将近5年了,但没关系:) 问题是您正在将文件复制到
根目录
而不是
主目录
目录。 您需要添加
~
,以便明确指定您想要
主目录

改变这个

scp -r username@remote:/path/to/folder /dest/local/path
对此

scp -r username@remote:/path/to/folder ~/dest/local/path
如果您不小心将一些文件复制到
根目录下
,您可以发现它们与
cd/
一起进入目录


我希望这将有助于未来的人

我晚了6年,但希望它能帮助别人。
这可能是因为文件关联权限
有一次,我复制了一个大文件,一切正常。几天后,我不得不复制另一个大文件,这次它成功地传输了,但目录中没有这样的文件。
ls-a
查看它是否在预期文件夹中,
ls-l
查看相关权限。

然后使用
chmod{permissions}{filename}
更改权限,如果是这样的话。

我也面临同样的问题。我犯的错误是,我在远程服务器上运行SCP命令,而您需要在本地服务器上运行它


当您在服务器上运行该命令时,它会显示正在下载的文件的类似界面,这就是为什么有些人可能会丢失它。

我在teamcity的SSH上载作业中遇到了这个问题。事实证明,问题在于相对路径规范。日志报告复制成功,但文件丢失,根本不存在。将path更改为absolute后,它开始工作。

确保我的防病毒软件没有因为防火墙安全或扫描修复而删除该文件

我也遇到了同样的问题。 它有助于更改Windows中文件夹的路径:

D:\path\to\folder

为此:


D:\\path\\to\\folder

谢谢,我已经使用了-v命令,但是我不知道关于调试的详细信息。Sink:c077719162 mysql.sql mysql.sql 100%19KB 18.7KB/s 00:00 debug1:client\u input\u channel\u req:channel 0 rtype exit status reply 0 debug1:channel 0:free:client session,nchannels 1 debug1:fd 0清除O_非块调试1:fd 1清除O_非块调试1:transfer:stdin 0,stdout 0,stderr 0字节在0.0秒内调试1:bytes per second:stdin 0.0,stdout 0.0,stderr 0.0调试1:Exit status 0我想说没有传输字节。可能是因为您对远程端的文件没有读取权限吗?@arkascha调试输出似乎表明传输了19KB(当然,在注释中破坏格式后读取有点困难…),因此我怀疑在源端读取不是问题。然而,在目的地写可能会有权限问题,或者不存在的目录问题,或者其他任何事情……不,这不太可能,在这种情况下,你只会得到一个“权限被拒绝”的错误。只是为了确认你没有疯:在(重新)检查@arkascha提到的所有内容之后,我看到了同样的事情<原稿上的代码>ls-l
没有显示任何奇怪的东西。有趣/可怕的是,一些麻烦文件是由攻击者放置的。同一个源目录中的其他文件传输得很好,因此这些特定文件有一些特殊之处;相反,该文件在被我的病毒扫描程序写入后不久就被从本地驱动器中删除了!!,d'oh[它是由它安装的,不是我…]@不仅仅是雪人矿更糟糕:我在远程服务器上运行这个,将“/dest/local/path/”设置为当前文件夹(即“)。因此,远程服务器正在连接到自身,并将文件下载到当前目录,并覆盖该目录。这是使用scp下载文件的具体答案:奇怪的是,没有人反对这一点。作为一个新手,这个回答让我有点伤了自己的头。但也解决了我的问题problem@itarill谢谢老兄,这也解决了我的问题。奇怪的是,你不能复制fr