排查Linux中"Invalid cross-device link"錯誤的方法

遇到 “invalid cross-device link” 錯誤時,1. 首先確認源文件與目標目錄是否位于不同設(shè)備,使用 df -h 檢查掛載點;2. 使用 cp 命令復(fù)制文件后刪除源文件,保留權(quán)限可加 -p 參數(shù);3. 使用 rsync -av –remove-source-files 實現(xiàn)斷點續(xù)傳式跨設(shè)備移動;4. 批量處理可用 find 結(jié)合 cp 與 rm,支持特殊字符文件名;5. 可用 ln -s 創(chuàng)建符號鏈接替代硬鏈接;6. 規(guī)劃統(tǒng)一分區(qū)、使用網(wǎng)絡(luò)共享、腳本自動檢測設(shè)備可避免此問題;7. 注意硬鏈接依賴同一文件系統(tǒng) inode 表,跨設(shè)備不可行;8. 備份工具如 tar 或 docker 容器也可能觸發(fā)該錯誤,需調(diào)整配置或復(fù)制文件至同層解決。

排查Linux中"Invalid cross-device link"錯誤的方法

解決方案

解決這個問題,核心在于理解“跨設(shè)備”的概念。linux里,每個掛載點(比如你的硬盤分區(qū)、U盤、網(wǎng)絡(luò)共享目錄)都算一個獨立的設(shè)備。mv和硬鏈接ln只能在同一個設(shè)備內(nèi)部操作。

  1. 確認文件系統(tǒng): 首先,使用 df -h 命令查看源文件和目標目錄所在的文件系統(tǒng)。你會看到類似 /dev/sda1、/dev/sdb2 這樣的設(shè)備名稱以及掛載點(例如 /、/home、/mnt/usb)。如果源文件和目標目錄掛載在不同的設(shè)備上,那肯定會報錯。

  2. 使用 cp 命令復(fù)制: 最簡單的解決方法是用 cp 命令復(fù)制文件,然后再刪除源文件。cp 命令會把文件從一個文件系統(tǒng)讀取,然后寫入另一個文件系統(tǒng)。

    cp /path/to/source/file /path/to/destination/ rm /path/to/source/file

    如果想保留源文件的權(quán)限和時間戳,可以使用 cp -p 選項:

    cp -p /path/to/source/file /path/to/destination/ rm /path/to/source/file
  3. 使用 rsync 命令: rsync 是一個更強大的文件同步工具,它也可以用來跨設(shè)備移動文件,并且可以處理大型文件和目錄。

    rsync -av --remove-source-files /path/to/source/file /path/to/destination/

    –remove-source-files 選項會在復(fù)制完成后刪除源文件,實現(xiàn)移動的效果。rsync 的優(yōu)點是,如果復(fù)制過程中斷,可以重新運行命令,它會只復(fù)制未完成的部分。

  4. 使用 find 命令批量處理: 如果需要移動大量文件,可以使用 find 命令結(jié)合 cp 和 rm 命令。

    find /path/to/source/Directory -type f -print0 | while IFS= read -r -d $'
    
    久久亚洲中文字幕精品一区|
    久久久噜噜噜www成人网|
    久久本道伊人久久|
    香港aa三级久久三级|
    青青草原综合久久大伊人导航|
    一本色综合久久|
    精品久久8x国产免费观看|
    久久99精品久久久久久野外|
    久久久久久国产精品无码下载|
    97r久久精品国产99国产精|
    国产99久久久久久免费看|
    伊人色综合久久天天人手人婷
    |
    亚洲欧美另类日本久久国产真实乱对白
    |
    亚洲欧美国产精品专区久久|
    精品久久久久久无码中文字幕一区|
    国产农村妇女毛片精品久久|
    久久久无码一区二区三区|
    久久综合色之久久综合|
    久久99国产精品99久久|
    欧美一区二区三区久久综|
    少妇人妻综合久久中文字幕|
    久久精品国产亚洲一区二区三区|
    波多野结衣中文字幕久久|
    三上悠亚久久精品|
    亚洲女久久久噜噜噜熟女|
    亚洲婷婷国产精品电影人久久|
    一级做a爰片久久毛片16|
    成人免费网站久久久|
    日韩精品无码久久久久久|
    亚洲综合精品香蕉久久网|
    亚洲天堂久久久|
    欧美亚洲国产精品久久高清|
    怡红院日本一道日本久久|
    996久久国产精品线观看|
    国产精品女同久久久久电影院|
    久久久久亚洲精品天堂|
    久久综合久久自在自线精品自|
    亚洲va中文字幕无码久久不卡|
    99久久这里只精品国产免费|
    一本久道久久综合狠狠爱|
    久久久国产精品亚洲一区|