Filesystems
我們可以在一個目錄中有多個同名的文件/目錄嗎?
為什麼我在同一個目錄中看到兩個具有相同名稱“storage”的文件(目錄)?inode 編號不同。
root@OpenWrt:/# fsck.ext4 -p /dev/sda1 /dev/sda1: clean, 2213/979200 files, 2026329/3912206 blocks root@OpenWrt:/# root@OpenWrt:/# mount /dev/sda1 /mnt root@OpenWrt:/# cd /mnt root@OpenWrt:/mnt# ls -l drwxr-xr-x 2 root root 4096 Jan 1 1970 etc drwx------ 2 root root 16384 Jan 31 21:16 lost+found drwxr-xr-x 9 root root 4096 Apr 14 2018 storage drwxr-xr-x 3 root root 4096 Jan 20 2018 storage drwxr-xr-x 11 root root 4096 Apr 3 2018 upper drwxr-xr-x 3 root root 4096 Jan 1 1970 work root@OpenWrt:/mnt# ls -li 261121 drwxr-xr-x 2 root root 4096 Jan 1 1970 etc 11 drwx------ 2 root root 16384 Jan 31 21:16 lost+found 391681 drwxr-xr-x 9 root root 4096 Apr 14 2018 storage 783361 drwxr-xr-x 3 root root 4096 Jan 20 2018 storage 130561 drwxr-xr-x 11 root root 4096 Apr 3 2018 upper 522241 drwxr-xr-x 3 root root 4096 Jan 1 1970 work root@OpenWrt:/mnt#
在未損壞的文件系統上,相同目錄中看起來相似的文件將具有不同的 inode 和文件名。在這種情況下,似乎有尾隨空格。使用
ls -Q
或檢查文件名ls -b
。find
您可以通過與謂詞一起使用來操作(重命名或刪除)您想要的-inum
索引節點編號,或者使用帶有互動式提示的 shell glob;就像是:for f in storage*; do printf 'removing: —>%b<—\n' "$f"; rm -i -- "$f"; done