Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux sh:0:getcwd()失败:引用的驱动器上没有这样的文件或目录_Linux_Ubuntu_Ubuntu 12.04_Getcwd - Fatal编程技术网

Linux sh:0:getcwd()失败:引用的驱动器上没有这样的文件或目录

Linux sh:0:getcwd()失败:引用的驱动器上没有这样的文件或目录,linux,ubuntu,ubuntu-12.04,getcwd,Linux,Ubuntu,Ubuntu 12.04,Getcwd,我试图在Ubuntu 12中编译ARM代码 当我把代码放在本地目录中时,一切正常 但当我把代码放在挂载目录中时,出现了错误: making testXmlFiles sh: 0: getcwd() failed: No such file or directory ARM Compiling xxxxx.c sh: 0: getcwd() failed: No such file or directory 这是我在fstab中的设置 //10.0.0.1/data /mnt/data ci

我试图在Ubuntu 12中编译ARM代码

当我把代码放在本地目录中时,一切正常

但当我把代码放在挂载目录中时,出现了错误:

making testXmlFiles
sh: 0: getcwd() failed: No such file or directory
ARM Compiling xxxxx.c
sh: 0: getcwd() failed: No such file or directory
这是我在fstab中的设置

//10.0.0.1/data /mnt/data   cifs    auto,noserverino,credentials=/root/.smbcredentials,file_mode=0777,dir_mode=0777,uid=user,gid=users,noperm 0 0

这是怎么回事?什么可能导致此错误?

此错误通常是由从不再存在的目录运行命令引起的


请尝试更改目录并重新运行该命令。

请检查目录路径是否存在。如果运行命令的文件夹不存在,则会出现此错误。您可能已经从命令行中的同一路径执行了删除命令。

请尝试以下命令,它对我有效

cd; cd -

在Ubuntu 16.04.3 LTS中,下一个命令适用于我:

exit

然后我又重新登录了。

甚至我在python virtualenv上也遇到了同样的问题 它通过简单的重启得到了纠正

sudo shutdown -r now

符号链接有时会发生这种情况。如果您遇到此问题,并且知道您位于现有目录中,但您的符号链接可能已更改,则可以使用以下命令:

cd $(pwd)

我在重新创建的目录上也遇到了这种情况,该目录是相同的,但要使其再次工作,只需运行:

cd .

在我的情况下,上面的一切都不起作用。在我的头撞到墙上一段时间后,我发现我已经通过运行一个定制的linux server setup bash脚本销毁了
/etc/passwd
条目,该脚本以前运行得很好,但这次“sed”命令中的正则表达式删除了所有现有条目:D 在从另一台工作的linux服务器复制粘贴默认条目之后,我终于可以重新启动sshd了


因此,在应用任何正则表达式替换之前,不要忘记备份原始的
/etc/passwd
文件:)

如果某个目录/文件夹不存在,但您以某种方式导航到该目录,在这种情况下,您可以看到此错误

例如:

  • 目前,您在“mno”目录中(path=abc/def/ghi/jkl/mno)
  • 运行“sudo su”并删除mno
  • 转到“ghi”目录并删除“jkl”目录
  • 现在您位于“ghi”目录(路径abc/def/ghi)
  • 运行“退出”
  • 运行“退出”后,您将得到该错误
  • 现在您将处于“mno”(path=abc/def/ghi/jkl/mno)文件夹中。该文件夹不存在
所以,当目录不存在时,通常会显示此错误

要解决此问题,只需运行“cd”;或者您可以移动到任何其他存在的目录


我尝试在ubuntu 10.10中使用相同的配置,它可以正常工作。当试图从不存在的路径执行命令时,可能会触发此错误消息(例如,如果进程B删除进程a当前所在的文件夹。一个实际示例:在终端a中:
mkdir~/myfunnydir&&cd~/myfunnydir
在终端B中:
rm-rf~/myfunnydir
,最后再次返回终端a:
java--version
)您的目录是自动挂载的,但凭据存储在
/root
中。普通用户将无法挂载它,因为他们无法读取凭据。请尝试将其设置为非自动挂载,并让root用户挂载。
getcwd
获取当前工作目录,如果删除或移动该目录,则会不满意!看,如果你删除了你所在的目录,并在同一个地方用相同的名称重新创建了一个目录,你甚至可能不得不这样做。完全正确!很好!我所做的只是点击cd,然后重新运行命令,它起了作用,谢谢!我自己在从一个不存在的目录运行apt get upgrade时注意到了这一点。消息垃圾邮件大约20次,然后更新成功了听起来好像什么都没发生。我希望找到更多信息,说明为什么apt get甚至会关心我在哪个文件夹中,尤其是如此坚持,几乎没有什么后果。事实上,切换到现有目录就足够了,正如胡曼在他的文章中所说,实际上,切换到现有目录就足够了,因为胡曼已经说过很久以前的id…这就是Hooman在《这是什么?这是什么意思?
cd;
通常会将您带到主目录,
cd-
会将您带回到当前目录之前的目录。因此基本上您会转到主目录并返回。但是,如果如果已删除中的,则此操作将不起作用。