2011-11-03 22 views
0

我想知道是否有可能在刪除它並重新創建後列出在Linux中的目錄的內容。刪除它後列出一個linux目錄

說明:我在這個特定目錄中的終端上。從另一個終端刪除它並重新創建它並在其中放入一些內容。如果我從第一個終端列出此目錄,則它顯示爲空。我需要cd ..並再次進入內部列出它的內容。

是否有另一種方法不需要這樣做?

+0

我認爲這是因爲第一個會話有目錄打開...通過文件句柄不按名稱。 –

+0

是的,那是對的。在Linux下,只要文件和目錄被打開,就可以使用它們。這可以用一般形式(POSIX函數)來解釋,但有些人認爲這不是編程問題。 – dmeister

回答

1

據我所知,唯一的辦法就是在cd之內。不過,你可以用一個簡單的命令來完成。選擇你喜歡的以下四個

cd ${PWD} 
cd $PWD 
cd $(pwd) 
cd `pwd` 

之間最哪一個還可以添加到您的的〜/ .bashrc的別名是這樣的:

alias refresh_dir="cd \$PWD" 

,然後調用_refresh_dir_命令直接

+0

謝謝,它爲我工作。 –

0

ls ../{directory-name}會工作嗎?所以如果該目錄被稱爲「測試」,並且你在裏面,你可以使用命令ls ../test/

0

沒有。你當然可以,

cd "$PWD" 

這是一個更快的方式在某種意義上。

某些shell可能不會緩存當前工作目錄的inode,但是我懷疑POSIX可能需要shell。如果你想一想,使用shell自動執行此操作可能會導致意外的數據丟失(因爲程序/腳本可能會去並修改目錄中的東西,並非嚴格意義上是以開頭的工作目錄)。

也期待在打擊PROMPT_COMMAND關於如何自動執行它,你發現自己不必鍵入cd "$PWD"比你更喜歡一個提示

0

終端1:

mkdir dir/ 
cd dir/ 
touch foo/ 
ls 

終端2:

rm -r dir/ 
mkdir dir/ 
touch dir/bar 

終端1:

cd `pwd` 
ls