Bash需要刷新才能访问新文件?
我运行了Bash需要刷新才能访问新文件?,bash,shell,Bash,Shell,我运行了maven测试,它在终端中结束了。在另一个终端中,我ls target/surefire报告,只是在这里找不到报告。所以我cd..第二次进入目录,我的文件在这里!那么,Bash访问新文件需要刷新吗?但是当我在终端中执行类似于headfile0>file1的操作时,我可以在另一个终端中使用ls立即找到我的文件 我的指示如下: 在第一个终端中: [me@host1 /home/me/interest/target/surefire-reports] $mvn test ..... [me
maven测试
,它在终端中结束了。在另一个终端中,我ls target/surefire报告
,只是在这里找不到报告。所以我cd..
第二次进入目录,我的文件在这里!那么,Bash访问新文件需要刷新吗?但是当我在终端中执行类似于headfile0>file1
的操作时,我可以在另一个终端中使用ls
立即找到我的文件
我的指示如下:
在第一个终端中:
[me@host1 /home/me/interest/target/surefire-reports]
$mvn test
.....
[me@host1 /home/me/interest/target/surefire-reports]
$
(ended)
[me@host1 /home/me/interest/target/surefire-reports]
$ls
[me@host1 /home/me/interest/target/surefire-reports]
$ll -al
total 0
[me@host1 /home/me/interest/target/surefire-reports]
$cd ..
[me@host1 /home/me/interest/target]
$cd surefire-reports/
[me@host1 /home/me/interest/target/surefire-reports]
$ls
mycode.txt TEST-mycode.xml
[me@host1 /home/me/interest/target/surefire-reports]
$
在第二个终端:
[me@host1 /home/me/interest/target/surefire-reports]
$mvn test
.....
[me@host1 /home/me/interest/target/surefire-reports]
$
(ended)
[me@host1 /home/me/interest/target/surefire-reports]
$ls
[me@host1 /home/me/interest/target/surefire-reports]
$ll -al
total 0
[me@host1 /home/me/interest/target/surefire-reports]
$cd ..
[me@host1 /home/me/interest/target]
$cd surefire-reports/
[me@host1 /home/me/interest/target/surefire-reports]
$ls
mycode.txt TEST-mycode.xml
[me@host1 /home/me/interest/target/surefire-reports]
$
看起来当前目录正在被删除并重新创建。这就解释了为什么在再次进入同一目录之前,您无法看到任何内容--您所在的控制器实际上已不存在,并且已创建了一个同名的新控制器。发生这种情况是因为您所在的目录
surefire report
已被删除并重新创建,因此当您运行“ls”时您尝试获取当前目录的列表,该目录已不存在。尝试将父目录作为当前目录,并按如下方式运行ls
:
[me@host1 /home/me/interest/target]
$ ls surefire-reports
我想这将给出正确的列表我不需要刷新,我猜报告文件还没有准备好。@jeanrjc但是
mvn测试
结束了。。。我试过很多次了。如果它没有准备好,为什么我总是在重新输入后看到它准备好了?我的意思是,当我重新进入时,文件可能还没有准备好。