最近,阿舍在看 Inode 的東西的時候才發現,原來,是可以透過 Inode 的編號來刪除檔案的,所以,就算檔名是亂七八糟,打不出來的文字也沒關係,只要能夠查到該檔案的 Inode 編號就可以利用價值 find 指令的 -delete 選項來把檔案給刪除哩 !
![]() |
ls 指令加上 -i 選項會把 Inode 編號顯示在第一行 |
# 用 stat 加檔名查詢檔案的 Inode 編號
$ stat arthurtoday.txt
# 用 ls 指令查檔案的 Inode 編號
$ ls -i | grep arthurtoday.txt
找到要刪除的檔案的 Inode 編號後,就可以利用 find 指令搭配 -inum 選項來指定 Inode 編號和 -delete 選項來刪除檔案哩 ! 下面是以阿舍要刪除的檔案是存在家目錄下,然後,要刪除的檔案的話 Inode 編號是 55688 為例的操作方式。
$ cd ~/
$ find . -inum 435304 -delete
除了用 Inode 編號來刪除檔案之外,只要你可以用滑鼠來選擇檔名做複製和貼上的動作的話,就阿舍的經驗來說,大部份的情況下,只要用 rm 指令再加上把貼上的亂碼檔名用雙引號包起來,這樣子也是可以刪除亂碼檔名的檔案的,因此,當遇到有檔案刪不掉時,可以先考慮用這個方式,不行的話,再用 Inode 編號來刪,就會比較省事一點囉 !
如果你對 Inode 不是瞭解,或是有興趣瞭解的話,請參考阿舍寫的這一篇。
問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法
沒有留言 :
張貼留言