介紹
本指南將向您展示如何使用最流行的圖形文件管理器以及使用Linux命令行將文件和文件夾從一個地方復製到另一個地方。
大多數人習慣使用圖形工具從磁盤複製文件。 如果您習慣使用Windows,那麼您將會注意到一個稱為Windows資源管理器的工具,它非常容易。
Windows資源管理器是一種稱為文件管理器的工具,Linux有許多不同的文件管理器。 在你的系統上出現的那個在很大程度上取決於你正在使用的Linux版本以及在某種程度上你正在使用的桌面環境 。
最常見的文件管理器如下所示:
- 鸚鵡螺(又名文件)
- 海豚
- Thunar中
- PCManFM
- 卡哈
如果您正在運行Ubuntu , Linux Mint , Zorin , Fedora或openSUSE,那麼您的文件管理器很可能被稱為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
例如,假設您有以下文件夾結構:
- 家
- 加里
- 文件
- 文件夾1
- 文件1
- 文件2
- 文件3
- 文件夾2
- 文件4
- 文件夾1
- 文件
- 加里
如果要將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中復制符號鏈接時會發生什麼?
符號鏈接有點像桌面快捷方式。 符號鏈接的內容是物理文件的地址。
想像一下,因此你有以下文件夾結構:
- 家
- 加里
- 文件
- 文件夾1
- 文件1
- 文件夾2
- file1(符號鏈接指向folder1 / file1)
- folder3
- 文件夾1
- 文件
- 加里
看看下面的命令:
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。
如何復製文件夾
複製文件夾與復製文件相同。
例如,假設您有以下文件夾結構:
- 家
- 加里
- 文件
- 文件夾1
- 文件1
- 文件2
- 文件夾2
- 文件夾1
- 文件
- 加里
假設您想要移動folder1文件夾,以便它現在位於文件夾2下,如下所示:
- 家
- 加里
- 文件
- 文件夾2
- 文件夾1
- 文件1
- 文件2
- 文件夾1
- 文件夾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