- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機(jī)構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機(jī)構(gòu):新網(wǎng)數(shù)碼
Linux下用文件的inode刪除文件
文件的inode定義了文件的大小、所有人等文件的特征。每個文件和目錄都有自己唯一的inode數(shù)字。但是為什么用inode來刪除文件,而不是用常用的rm -rf命令呢?原因是,如果你不小心創(chuàng)建了含有特殊字符的文件和目錄,比如帶有 ? * ^ 的文件名,就會很難刪除。下面我們就來介紹一下:1)如何找出文件和目錄的inode;2)配合find命令,刪除特定的inode文件;3)其他有用的刪除頑固文件的方法。
* 如何找出文件的inode?
用stat 或者ls -il 。帶有 -i 參數(shù)的ls命令,就是指顯示文件的inode。
* 找到inode后,如何刪除這個文件?
find . -inum [inode數(shù)字] -exec rm -i {} ;
1)下面可以測試一下,創(chuàng)建一個帶特殊字符的文件:
$ cd /tmp
$ touch “+Xy +8″
$ ls
2)嘗試用rm命令刪除
$ rm +Xy +8
3)找出這個文件的inode數(shù)字
$ ls -il
342137 -rw-r–r– 1 tw tw 0 2008-11-20 08:57 +Xy +8
4)342137就是要找的inode數(shù)字。下面用find命令刪除它
$ find . -inum 342137 -exec rm -i {} ;
比如,你的系統(tǒng)中有”2008/11/20″這個文件,用rm是刪除不了的。Linux不允許你建立這個文件,但是Windows下就可以。所以find配合inode的用處就在這里。
下面介紹一下其他有用的刪除技巧:
* 可以嘗試用文件名加引號的方法刪除文件。比如 “–help”文件,可以用rm “–help”刪除
* 也可以用unlink刪除文件。unlink 。unlink命令調(diào)用unlink函數(shù),可以刪除一個特定文件
* 用mtools刪除Windows下創(chuàng)建的非法文件。這種方法在find命令配合inode失效時,最為有用。專門對付autorun.inf病毒創(chuàng)建的文件夾。
也可以xargs配合rm批量刪除在不同位置的文件:把待刪文件的完整路徑都寫入一個文本文件,如file.txt內(nèi)容如下:
file1
/tmp/file2.txt
~/data.txt
然后運(yùn)行下面的命令刪除file.txt中所列的文件
$ xargs rm
提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP