如何使用Linux來複製文件和文件夾

介紹

本指南將向您展示如何使用最流行的圖形文件管理器以及使用Linux命令行將文件和文件夾從一個地方復製到另一個地方。

大多數人習慣使用圖形工具從磁盤複製文件。 如果您習慣使用Windows,那麼您將會注意到一個稱為Windows資源管理器的工具,它非常容易。

Windows資源管理器是一種稱為文件管理器的工具,Linux有許多不同的文件管理器。 在你的系統上出現的那個在很大程度上取決於你正在使用的Linux版本以及在某種程度上你正在使用的桌面環境

最常見的文件管理器如下所示:

如果您正在運行UbuntuLinux MintZorinFedoraopenSUSE,那麼您的文件管理器很可能被稱為Nautilus。

任何使用KDE桌面環境運行發行版的人都可能會發現Dolphin是默認的文件管理器。 使用KDE的發行版包括Linux Mint KDE,Kubuntu,Korora和KaOS。

Thunar文件管理器是XFCE桌面環境的一部分,PCManFM是LXDE桌面環境的一部分,Caja是MATE桌面環境的一部分。

如何使用Nautilus複製文件和文件夾

Nautilus將通過Linux Mint和Zorin中的菜單提供,或者它將顯示在Ubuntu的Unity Launcher中,或者通過任何使用GNOME的分發版(例如Fedora或openSUSE)的儀表板視圖顯示。

通過雙擊文件夾來複製文件在文件系統中導航,直到找到想要復制的文件。

您可以使用標準鍵盤命令來複製文件。 例如,單擊一個文件並一起按CTRL和C需要一個文件的副本。 按CTRL和V將文件粘貼到您選擇將文件複製到的位置。

如果將一個文件粘貼到同一個文件夾中,則它將與原始文件具有相同的名稱,除了它將在其末尾具有單詞(複製)。

您也可以通過右鍵單擊文件並選擇“複製”菜單項來複製文件。 然後,您可以選擇您想要粘貼的文件夾,右鍵單擊並選擇“粘貼”。

複製文件的另一種方法是右鍵單擊該文件並選擇“複製到”選項。 將出現一個新窗口。 找到您要將文件複製到的文件夾,然後單擊“選擇”按鈕。

按住CTRL鍵的同時選擇每個文件,可以復制多個文件。 任何以前的方法,例如選擇CTRL C或從上下文菜單中選擇“複製”或“複製到”都適用於所有選定的文件。

複製命令適用於文件和文件夾。

如何使用Dolphin複製文件和文件夾

海豚可以通過KDE菜單啟動。

Dolphin中的許多功能與Nautilus相同。

要復製文件,請雙擊文件夾,導航到文件所在的文件夾,直到看到文件。

使用鼠標左鍵選擇文件或使用CTRL鍵和鼠標左鍵選擇多個文件。

您可以一起使用CTRL和C鍵來複製文件。 要粘貼文件,請選擇要將文件粘貼到的文件夾,然後按CTRL和V.

如果您選擇粘貼與您複製的文件相同的文件夾,則會出現一個窗口,要求您輸入複製文件的新名稱。

您也可以通過右鍵單擊文件並選擇“複製”來複製文件。 要粘貼文件,您可以右鍵單擊並選擇“粘貼”。

也可以通過將文件從一個文件夾拖到另一個文件夾來複製文件。 當你這樣做時,將出現一個菜單,其中有復製文件,鏈接文件或移動文件的選項。

如何使用Thunar複製文件和文件夾

Thunar文件管理器可以從XFCE桌面環境的菜單中啟動。

與Nautilus和Dolphin一樣,您可以使用鼠標選擇文件並使用CTRL和C鍵來複製文件。 然後可以使用CTRL和V鍵粘貼文件。

如果您將該文件粘貼到與原始文件相同的文件夾中,則復制的文件保持相同的名稱,但將“(副本)”作為其名稱的一部分添加到Nautilus中。

您也可以通過右鍵單擊文件並選擇“複製”選項來複製文件。 請注意,Thunar不包含“複製到”選項。

一旦你複製了一個文件,你可以通過導航到要粘貼的文件夾來粘貼它。 現在只需右鍵單擊並選擇“粘貼”。

將文件拖動到文件夾會移動文件而不是複製文件。

如何使用PCManFM來複製文件和文件夾

PCManFM文件管理器可以從LXDE桌面環境的菜單中啟動。

這個文件管理器相當於Thunar的基礎。

您可以通過用鼠標選擇文件來複製文件。 要復製文件,請同時按下CTRL和C鍵,或右鍵單擊文件並從菜單中選擇“複製”。

要粘貼文件,請在要將文件複製到的文件夾中按CTRL和V. 您也可以右鍵單擊並從菜單中選擇“粘貼”。

拖放文件不會復製文件,它會移動文件。

右擊一個名為“複製路徑”的文件時有一個選項。 如果您想要將文件的URL以任何理由粘貼到文檔或命令行中,這很有用。

如何使用Caja複製文件和文件夾

您可以從MATE桌面環境中的菜單啟動Caja。

Caja和Nautilus很像,工作原理也很相似。

要復製文件,請通過瀏覽文件夾來找到它。 點擊文件,然後選擇CTRL和C來複製文件。 您也可以右鍵單擊並從菜單中選擇“複製”。

要粘貼文件,請導航到要將文件複製到的位置,然後按CTRL和V.或者右鍵單擊並從菜單中選擇“粘貼”。

如果您粘貼到與原始文件相同的文件夾中,則該文件將具有相同的名稱,但會在其末尾附加“(副本)”。

右鍵單擊文件也會提供一個名為“複製到”的選項。 這不如Nautilus中的“複製到”選項有用。 您只能選擇複製到桌面或主文件夾。

按住文件上的shift鍵並將其拖動到文件夾將顯示一個菜單,詢問您是否要復制,移動或鏈接文件。

如何將文件從一個目錄複製到另一個使用Linux

將文件從位置複製到另一個位置的語法如下所示:

cp / source / path / name / target / path / name

例如,假設您有以下文件夾結構:

如果要將file1從其在/ home / documents / folder1中的當前位置複製到/ home / documents / folder2,則可以在命令行中鍵入以下內容:

cp / home / gary / documents / folder1 / file1 / home / gary / documents / folder2 / file1

你可以在這裡做一些捷徑。

/ home部分可以替換為本文中介紹的波浪號(〜)。 這改變了這個命令

cp〜/ documents / folder1 / file1〜/ documents / folder2 / file1

如果您打算使用相同的文件名,則可以簡單地省略目標文件名

cp〜/ documents / folder1 / file1〜/ documents / folder2

如果您已經在目標文件夾中,則可以簡單地使用句號替換目標的路徑。

cp〜/ documents / folder1 / file1。

或者,如果您已經在源文件夾中,則可以簡單地將文件名稱作為源提供,如下所示:

cp file1〜/ documents / folder2

如何在Linux中復製文件之前進行備份

在上一節中,folder1包含一個名為file1的文件,而folder2不包含該文件。 想像一下,然而,folder2確實有一個名為file1的文件,並且您運行了以下命令:

cp file1〜/ documents / folder2

上述命令將覆蓋當前位於文件夾2中的file1。沒有提示,沒有警告和錯誤,因為就Linux而言,您已指定了有效的命令。

您可以在復製文件時採取預防措施,讓Linux在覆蓋文件之前創建文件的備份。 只需使用以下命令:

cp -b / source / file / target / file

例如:

cp -b〜/ documents / folder1 / file1〜/ documents / folder2 / file1


在目標文件夾中,現在將會有已被複製的文件,並且最後還會有一個帶有波形符號(〜)的文件,該文件基本上是原始文件的備份。

您可以更改備份命令以稍微不同的方式工作,以便創建編號的備份。 如果您之前已經復制了文件並且懷疑備份已存在,則可能需要執行此操作。 這是一種版本控制。

cp --backup =編號〜/ documents / folder1 / file1〜/ documents / folder2 / file1

備份的文件名將沿著file1。〜1〜,file1。〜2〜等行。

如何在使用Linux複製文件時覆蓋文件之前提示

如果您不想讓文件的備份副本位於您的文件系統周圍,但您也希望確保副本命令不會無差別地覆蓋文件,則可以顯示提示,詢問您是否要覆蓋目標。

為此,請使用以下語法:

cp -i / source / file / target / file

例如:

cp -i〜/ documents / folder1 / file1〜/ documents / folder2 / file1

一條消息將如下所示: cp:覆蓋'./file1'?

要覆蓋文件,請按鍵盤上的Y或取消同時按N或CTRL和C.

在Linux中復制符號鏈接時會發生什麼?

符號鏈接有點像桌面快捷方式。 符號鏈接的內容是物理文件的地址。

想像一下,因此你有以下文件夾結構:

看看下面的命令:

cp〜/ documents / folder1 / file1〜/ documents / folder3 / file1

這應該不是什麼新東西,因為它將一個物理文件從一個文件夾複製到另一個文件夾。

但是,如果您將符號鏈接從folder2複製到folder3,會發生什麼情況?

cp〜/ documents / folder2 / file1〜/ documents / folder3 / file1

複製到folder3的文件不是符號鏈接。 它實際上是由符號鏈接指向的文件,所以實際上您可以通過從folder1複製file1獲得相同的結果。

順便提一句,您可以使用以下命令獲得相同的結果:

cp -H〜/ documents / folder2 / file1〜/ documents / folder3 / file1

只要確保有一個開關絕對強製文件被複製,而不是符號鏈接:

cp -L〜/ documents / folder2 / file1〜/ documents / folder3 / file1

如果您想複製符號鏈接,則需要指定以下命令:

cp -d〜/ documents / folder2 / file1〜/ documents / folder3 / file1

要強制複製符號鏈接而不是物理文件,請使用以下命令:

cp -P〜/ documents / folder2 / file1〜documents / folder3 / file1

如何使用cp命令創建硬鏈接

符號鏈接和硬鏈接有什麼區別?

符號鏈接是物理文件的快捷方式。 它不包含比物理文件更多的地址。

然而,硬鏈接基本上是指向相同物理文件的鏈接,但具有不同的名稱。 這幾乎就像一個綽號。 這是組織文件的好方法,不佔用任何更多的磁盤空間。

本指南將告訴您關於硬鏈接所需的一切

您可以使用cp命令創建一個硬鏈接,但是我通常會主張使用ln命令。

cp -l〜​​/ source / file〜/ target / file

作為一個例子,為什麼你可能會使用硬鏈接考慮你有一個名為視頻的文件夾,並在該視頻文件夾中有一個非常大的視頻文件,名為honeymoon_video.mp4。 現在想像你也想讓這段視頻被稱為barbados_video.mp4,因為它還有巴巴多斯的片段,這是你去蜜月的地方。

您可以簡單地複制該文件並為其指定新名稱,但這意味著您佔用兩倍的磁盤空間用於實質上相同的視頻。

您可以改為創建一個名為barbados_video.mp4的符號鏈接,它指向honeymoon_video.mp4文件。 這樣可以很好地工作,但是如果有人刪除了honeymoon_video.mp4,你將會留下一個鏈接而沒有其他任何東西,鏈接仍然佔用磁盤空間。

如果你創建了一個硬鏈接,但是你將有一個文件和兩個文件名。 唯一的區別是它們包含不同的inode編號。 (唯一標識符)。 刪除honeymoon_video.mp4文件不會刪除該文件,只會將該文件的計數降低1.該文件只有在刪除了該文件的所有鏈接時才會被刪除。

要創建鏈接,你可以這樣做:

cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4

如何使用cp命令創建符號鏈接

如果你想創建一個符號鏈接而不是硬鏈接,你可以使用下面的命令:

cp -s / source / file / target / file

我再次親自一般使用ln -s命令,但是這也適用。

如何只複製文件,如果它們較新

如果您想將文件複製到文件夾,但只覆蓋源文件較新的目標文件,則可以使用以下命令:

cp -u / source / file / target / file

值得注意的是,如果文件不存在於目標端,則復制將發生。

如何復制多個文件

您可以在復制命令中提供多個源文件,如下所示:

cp / source / file1 / source / file2 / source / file3 / target

上述命令會將file1,file2和file3複製到目標文件夾。

如果文件匹配某種模式,那麼你也可以使用通配符,如下所示:

cp /home/gary/music/*.mp3 / home / gary / music2

上述命令會將所有帶擴展名.mp3的文件複製到文件夾music2。

如何復製文件夾

複製文件夾與復製文件相同。

例如,假設您有以下文件夾結構:

假設您想要移動folder1文件夾,以便它現在位於文件夾2下,如下所示:

您可以使用以下命令:

cp -r / home / gary / documents / folder1 / home / gary / documents / folder2

您也可以使用以下命令:

cp -R / home / gary / documents / folder1 / home / gary / documents / folder2

這將復制folder1的內容以及子目錄內的任何子目錄和文件。

概要

本指南提供了在Linux中復製文件所需的大部分工具。 對於其他任何你可以使用Linux man命令

man cp