歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> CentOS下如何刪除或重命名亂碼文件?

CentOS下如何刪除或重命名亂碼文件?

日期:2017/3/2 16:25:00   编辑:Linux服務器

CentOS下如何刪除或重命名亂碼文件?

CentOS下如何刪除或重命名亂碼文件?   三聯

  當文件名為亂碼的時候,無法通過鍵盤輸入文件名,所以在終端下就不能直接利用rm,mv等命令管理文件了。

  當文件名為亂碼的時候,無法通過鍵盤輸入文件名,所以在終端下就不能直接利用rm,mv等命令管理文件了。

  但是每個文件都有一個i節點號,可以通過i節點號來管理文件。首先,要取得文件的i節點號。這個可以通過ls命令的-i選項獲得得。

  一、刪除

  第一步:獲取文件的id號

  ?

1 ls -li

  第二步:執行刪除

  ?

1 find . -inum 32983551 -exec rm {} \;

  二、重命名

  ?

1 find . -inum 32983542 -exec mv {} test.php \;

  當文件名為亂碼的時候,無法通過鍵盤輸入文件名,所以在終端下就不能直接利用rm,mv等命令管理文件了。

  但是每個文件都有一個i節點號,可以通過i節點號來管理文件。首先,要取得文件的i節點號。這個可以通過ls命令的-i選項獲得得。

  -bash-3.00$ ls -i

  41697812 a 32983551 di 32983554 ethnet.c 32983543 hard_link

  32983542 de.c 32983544 ethnet 32983541 ethnet.h 32983543 kstat

  每個文件名前面的數字就是文件的i節點號。有了文件的i節點號,我們就可以利用find命令的-inum選項配合

  常用的文件管理命令進行文件管理了。例如,如果要刪除di文件,命令如下:

  -bash-3.00$ find . -inum 32983551 -exec rm {} \;

  -bash-3.00$ ls

  a de.c ethnet ethnet.c ethnet.h hard_link kstat

  看di文件被刪除了。因為這個例子是在unix-center的機子上運行的,暫時沒有文件名為亂碼的文件做為示例,

  但是道理是一樣的,不影響我們的理解。

  要重命名一個文件,命令也很簡單,如下:

  -bash-3.00$ ls -i

  32983542 de.c 32983554 ethnet.c 32983543 hard_link 32983545 kstat.c

  32983544 ethnet 32983541 ethnet.h 32983543 kstat 32983681 sys_link

  -bash-3.00$ find . -inum 32983542 -exec mv {} di.c \;

  -bash-3.00$ ls -i

  32983542 di.c 32983554 ethnet.c 32983543 hard_link 32983545 kstat.c

  32983544 ethnet 32983541 ethnet.h 32983543 kstat 32983681 sys_link

  看看,de.c文件被重命名為di.c了。特別要提一下的是,在find命令中的“{}”表示find命令找到的文件,在

  -exec選項執行mv命令的時候,會利用按i節點號找到的文件名替換掉“{}”

Copyright © Linux教程網 All Rights Reserved