在第一个终端A中,我创建一个目录,进入该目录,并创建一个文件:
$ mkdir test
$ cd test
$ touch file1.txt
$ ls
file1.txt
Run Code Online (Sandbox Code Playgroud)
然后在另一个终端 B 中,我删除了目录:
$ rm -r test
$ mkdir test
$ cd test
$ touch file2.txt
Run Code Online (Sandbox Code Playgroud)
再回到终端 A(不做任何操作cd
),我尝试列出文件:
$ ls
Run Code Online (Sandbox Code Playgroud)
ls
没有看到任何东西,也没有抱怨。
后台会发生什么?怎么ls
没看出问题?是否有标准的、便携的和/或推荐的方法来找出终端 A 中的某些问题?
pwd
只是打印看似正确的目录名称。touch file3.txt
说没有这样的文件或目录,这是没有帮助的。只bash -c "pwd"
给出了两条很长的错误行,以某种方式表明出了什么问题,但并没有真正的描述性,而且我不确定不同系统之间的可移植性(我在 Ubuntu 16.04 上)。cd .. && cd test
解决了问题,但并没有真正解释发生了什么。