无法触摸文件:特定文件没有这样的文件或目录

无法触摸文件:特定文件没有这样的文件或目录

我知道您对同一问题还有许多其他疑问,但我还没有找到任何可以让我重现相同案例的内容。

情况很简单,我可以这样做:

$ touch example1.txt

但我不能这样做:

$ touch example2.txt
touch: cannot touch 'example2.txt': No such file or directory

在这种情况下, 和example1.txt都是example2.txt通过软件创建的文件,并且我们知道该example2.txt文件可能在某个时刻创建(文件名具有由字母和数字组成的特定配置,没有字符特殊空格或空格)。

我们无法再获得有关产生这种情况的服务器的更多信息(它是客户端的服务器,我们已经以另一种方式解决了这种情况,创建另一个目录来存储文件),但我找不到什么发生了什么事。

即使使用root,我们也无法创建该文件(mkdir example2.txt,,rm -rf example2.txt导致相同的错误,ls -laF不显示该文件)。

该目录是通过 samba 与 Windows 机器共享的,我们认为这可能与此有关,但我们尝试了多种方法来重现类似的情况,但没有成功。

现在我真的是出于好奇才问,因为我试图产生类似的情况,但我做不到。

基本上我正在寻找的是一种重现该情况的方法,以及一种解决该情况的方法(在软件中处理该情况,如果可能,或者如果不可能,则生成日志供服务器管理员快速解决)。

如果有人知道如何重现类似的情况,我将不胜感激分享。

该目录位于/tmp/software_files,我们可以在其中创建任何文件或目录,只有example2.txt文件产生了这种情况。

答案1

mkdir test && cd test && rm -r ../test && touch fail; cd
touch: cannot touch 'fail': No such file or directory

或者

touch other/fail
touch: cannot touch 'other/fail': No such file or directory

你可以检查一下,但最好使用陷阱

if [ ! -d "$(pwd)" ] ; then echo fail; fi

相关内容