查找文件系统中的長檔名檔案 向 OOS 等對象存儲轉移數據的時候,因為文件系統兼容性的問題,最好處理掉那些檔名長度大於 255 的檔案,以免出現轉移失敗的情況
Windows 下可以使用 Powershell 的 Get-ChildItem 命令方式
Get-ChildItem -r * # 獲取文件夾下所有對象 {$_.GetType ().Name -match"File” } #獲取檔案類型的名稱 {$_.fullname.length -ge 256} # 檔名長度大於等於 256 的檔案 %{$_.fullname} #打印檔名
Get-ChildItem -r * |? {$_.GetType().Name -match"File" } |? {$_.fullname.length -ge 256} |%{$_.fullname}
linux 直接利用 length 屬性即可
find. -type f | awk 'length> 255'> longfilename-list.txt
附各文件系統的最大檔名長度
文件系統 | 最大檔名長度 | 最大檔案大小 | 最大分區大小 |
---|---|---|---|
ext2 | 255 bytes | 2 TB | 16 TB |
ext3 | 255 bytes | 2 TB | 16 TB |
ext4 | 255 bytes | 16 TB | 1 EB |
XFS | 255 bytes | 8 EB | 8 EB |
Btrfs | 255 bytes | 16 EB | 16 EB |
參考 https://stackoverflow.com/q/12697259/614863 https://www.helplib.com/diannao/article\_172660 https://blog.csdn.net/baixiaokanglili/article/details/78804991