在 Linux 中將所有檔案(包括隱藏檔案)移動到父目錄


簡介

在 Linux 中,隱藏檔案,也稱為點檔案,是指名稱以點 (.) 字元開頭的檔案。這些檔案通常用於儲存配置資料或其他不應由使用者更改或刪除的重要資訊。如果您有一個包含大量隱藏檔案的目錄,並且您希望將它們全部移動到根目錄,則有幾種方法可以做到這一點。在本教程中,我們將討論兩種在 Linux 中將所有檔案(包括隱藏檔案)從目錄移動到其主目錄的方法:mv 命令和 rsync 命令。

使用 mv 命令

mv 命令用於將檔案和目錄從一個位置移動到另一個位置,以及重新命名檔案和目錄。

使用 mv 命令移動所有檔案

要使用 mv 命令將子目錄中的所有檔案移動到其父目錄,可以使用以下語法:

$ mv /path/subdirectory/* /path/

此命令會將子目錄資料夾中的所有檔案移動到 path 目錄,但隱藏檔案和目錄除外。

使用 mv 命令移動所有檔案(包括隱藏檔案)

要移動所有檔案(包括隱藏檔案和目錄),可以使用以下語法:

$ mv -f /path/subdirectory/{.,}* /path/

此命令擴充套件為:

$ mv /path/subdirectory/* /path/subdirectory/.* /path/

這裡,星號 (*) 符號表示子目錄資料夾中的所有檔案,點星號 (.*) 符號表示子目錄資料夾中的**所有隱藏檔案**。這兩種型別的檔案都將移動到 path 目錄。

“-f” 選項允許您覆蓋目標資料夾中任何現有的檔案和目錄,而無需提示。需要注意的是,原始的子目錄資料夾不會作為 mv 操作的一部分被刪除。

使用 rsync 命令

**rsync** 是一個 Linux 實用程式,用於在本地或遠端將檔案從一個目錄移動或複製到另一個目錄。它還支援移動組、許可權、連結和裝置。rsync 使用遠端更新協議來移動或複製檔案,只允許傳輸兩個檔案集之間的差異。

使用 rsync 預覽要移動的檔案

要檢視哪些檔案將被移動而不實際執行移動操作,可以使用帶有“--dry-run”選項的**rsync**命令:

$ sudo rsync --dry-run /path/subdirectory/ /path/

使用 rsync 移動所有檔案

要使用 rsync 將所有檔案(包括隱藏檔案)從子目錄目錄移動到根目錄,可以使用以下命令:

$ sudo rsync --remove-source-files /path/subdirectory/ /path/

此命令會將子目錄目錄中的所有檔案移動到 path 目錄。“**--remove-source-files**” 選項將在檔案複製到目標目錄後將其從源目錄中刪除。此選項還會將原始的子目錄資料夾作為 rsync 操作的一部分刪除。

需要注意的是,您需要使用 sudo 以管理員許可權執行**rsync**命令。這將有助於避免在建立目標目錄時出現許可權問題。如果您不使用**sudo**並且在建立目標目錄時存在許可權問題,則檔案將不會被複制,但它們仍將從原始目錄中刪除。

處理 rsync 的許可權問題

如果您在使用 rsync 命令時遇到許可權問題,可以嘗試在命令中新增“**--chmod=ugo=rwX**”選項。此選項將複製的檔案和目錄的許可權設定為允許所有者、組和其他使用者讀取和寫入訪問許可權。

例如,以下命令會將所有檔案(包括隱藏檔案)從子目錄目錄移動到根目錄,並將複製的檔案和目錄的許可權設定為允許**所有者、組和其他使用者**讀取和寫入訪問許可權:

$ sudo rsync --chmod=ugo=rwX --remove-source-files /path/subdirectory/ /path/

結論

在本教程中,我們討論了兩種在 Linux 中將所有檔案(包括隱藏檔案)從目錄移動到其主目錄的方法:**mv** 命令和**rsync** 命令。這兩種方法都允許您輕鬆地將目錄中的所有檔案(包括隱藏檔案)移動到新位置。無論您選擇使用**mv**還是**rsync**命令,在 Linux 上移動檔案都是一個簡單的過程,只需幾個命令即可完成。

更新於: 2023年1月25日

8K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.