Directory

移動一個以單個字元(反引號)作為名稱的目錄

  • January 26, 2017

如何移動名稱只是空格的目錄?

ls -lah
drwx------  4 user1 user1 8.0K Mar 13 14:16 .
drwxr-xr-x  3 root  root    60 Mar 13 13:48 ..
drwx------ 18 user1 user1 4.0K Mar 13 11:18  

這是病毒的工作,我想撤消它。

**更新:**我不能確定那個角色是什麼。當我嘗試像空間一樣移動它時,它不起作用

$mv ' ' test
mv: cannot stat ` ': No such file or directory

**更新:**這不是delete a file with no name的重複,儘管在這種情況下目錄和文件的行為非常相似。

一種可能的方法是找到目錄的 inode 編號,並將其用於mv它。您沒有告訴我們您使用的是什麼平台,因此您可能需要修改這些建議以適合您可用的工具(我在 FreeBSD 上)。

使用您的ls實用程序獲取 inode 編號 --i開關在 FreeBSD 上執行此操作:

$ ls -i
106739 test

test是我剛剛創建的一個空目錄來說明這個解決方案)

現在,您可以使用該find實用程序查找具有 inode 編號的目錄:

$ find . -inum 106739
./test

並移動麻煩的目錄:

$ find . -inum 106739 -exec mv {} fixed \;
find: ./test: No such file or directory

不要擔心錯誤資訊——它發生是因為在命令執行期間目錄索引發生了變化,所以find會有點混亂;該目錄已重命名為fixed

$ find . -inum 106739
./fixed

正如我所說,您可能需要查閱本地文件以獲取正確的開關,但這種方法應該有效。

引用自:https://unix.stackexchange.com/questions/67758