一、inode節點號
在linux中,每一個文件都有唯一的inode號,inode號也是系統識別的唯一編碼,而文件名僅僅是為了使用者區分辨認, inode (index node )表中包含文件系統所有文件列表 一個節點(索引節點)是在一個表項,包含有關文件的信息(元數據 ),包括:
文件類型,權限,UID ,GID
鏈接數(指向這個文件名路徑名稱個數)
該文件的大小和不同的時間戳
指向磁盤上文件的數據塊指針
有關文件的其他數據
目錄的數據內容就是目錄里面的文件列表,目錄引用的是inode號,也就是目錄下的文件名和文件inode號之間的映射
ls -i 查看文件的節點編號





df -i 查看磁盤分區上的可用節點號

創建大量節點號

每秒掃描一次觀察df節點號的變化


當系統節點數被占用完時,再創建新文件會提示報錯,節點編號是可以耗盡的


ls file* 會因為參數過多無法顯示報錯,故使用ls命令即可

xargs 逐一的傳遞參數,從而解決參數過多的問題,將ls列出的參數逐一的傳遞給rm從而刪除

如果目標和源在一個不同的文件系統, mv相當于cp 和rm
2、shred:文件粉碎工具(覆蓋原文件)
徹底刪除文件
shred -u file
shred會用一些隨機內容覆蓋文件所在的節點和數據塊,并刪除文件(-u參數)。
假如想清除的更徹底一點可以也可使用-z 參數,意思是先用隨機數據填充,最后一次再用0填充。
shred -u -z file
另外shred還可以清除整個分區或磁盤,如果想徹底清除/dev/sdb1分區的內容可以這樣:
shred /dev/sdb1 (但是不能加-u參數)
還有一些其他參數如下:
-f, –force 更改權限允許寫入(如有必要)
-n, –iterations=N 重寫N次,默認為3次
–random-source=FILE 從指定文件讀取數據
-s, –size=N 將文件粉碎為固定大小 (可使用后綴如K、M、C等)
-u, –remove 重寫后截短并移除
-v, –verbose 顯示進度
-z, –zero – add 用0覆蓋數據
–help 顯示幫助
–version 顯示版本信息
![]()
3、復制
cp 復制文件
-i:覆蓋前提示 是否覆蓋
–n: 不覆蓋原文件 -i、-n最后的生效
![]()
-r, -R: 遞歸復制目錄及內部的所有內容
-a: 歸檔,相當于-dR –preserv=all-d:–no-dereference –preserv=links 不復制原文件,只復制鏈接名
![]()
–preserv[=ATTR_LIST]
mode: 權限
ownership: 屬主
timestamp:時間戳
links:復制鏈接文件
xattr
context 安全上下文
all
![]()
-p:等同–preserv=mode,ownership,timestamp
-v:–verbose 顯示復制過程
-f:–force 如果原文件不能打開,則刪除原文件后再次重新寫入,屬性發生改變
備份配置文件(-a,文件屬性信息完全復制,等同于備份)
cp -a /etc/passwd{,.bak}
cp -a /etc/passwd /etc/passwd.bak
![]()
mknod 創建復制設備文件
cp不能復制設備文件,復制設備文件用mknod
創建設備文件/app/sda
mknod /app/sda b 8 0 b表示設備文件,8表示設備的主設備號,0表示設備的次設備號
創建設備文件時,應制定文件類型b,以及主設備和次設備號
創建空設備文件

4、rename 批量更改文件名
5、tree 顯示目錄樹
-d:只顯示目錄
-L level:指定顯示的層級數目
-P pattern:只顯示由指定pattern匹配到的路徑
6、mkdir 創建目錄
-p: 遞歸創建目錄
-v: 顯示詳細信息
-m MODE: 創建目錄時直接指定權限 eg:-m 644
7、tr:轉換刪除字符
tr [OPTION]… SET1 [SET2]
選項:
-c –C –complement:取字符集的補集
-d –delete:刪除所有屬于第一字符集的字符
-s –squeeze-repeats:把連續重復的字符以單獨一個字符表示
-t –truncate-set1:將第一個字符集對應字符轉化為第二字符集
![]()
![]()
替換重定向到另一文件,或則>>追加重定向
![]()
![]()
s 重復字符壓縮
原創文章,作者:danran,如若轉載,請注明出處:http://www.www58058.com/76936