2017-10-04 158 views
-2

據你所知,-與Linux中的不同命令結合使用有不同的用法。例如in combination with cd command,這意味着目錄更改到前面的位置in combination mv or cat command這意味着標準輸入標準輸出如何在ubuntu中取消「mv file - 」命令

不幸的是我錯誤地用這個字符與mv命令。我想將我的文件移動到之前位於更改目錄之前的位置,但我將其移至stdin

有什麼辦法恢復我的文件?

我運行此命令:

# mv myfile - 
+1

在鏈接的帖子中沒有提及'mv'。 '-'被'cat'解釋爲'stdin',但'mv'不以任何特殊方式處理'-'。 – axiac

+0

你說得對。我錯了'-'和'MV' – Abraham

+1

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。 – jww

回答

3

我把它改爲標準輸入。

不,你移動到一個破折號字面上命名的文件(你將使用/dev/stdin/proc/self/fd/0來指代stdin,即file descriptor 0)。

你想

mv -i ./- myfile 

這是通常的做法(以前綴由./一個奇怪的路徑)。 -i以互動方式要求確認。

有時,爲怪異文件輸入路徑(例如,包含單個換行符的文件名)並非易事。您可以使用globbing(閱讀大約shell expansion),例如mv -i ./? file

mv(1)path_resolution(7)glob(7)proc(5)

的好習慣是避免在文件路徑奇怪的字符。

+0

有誰知道解釋'/ dev/stdin'的手冊頁?我找不到它! –