Làm thế nào để sử dụng Linux để sao chép tập tin và thư mục

Giới thiệu

Hướng dẫn này sẽ chỉ cho bạn cách sao chép các tệp và thư mục từ nơi này sang nơi khác bằng cách sử dụng các trình quản lý tệp đồ họa phổ biến nhất và cũng bằng cách sử dụng dòng lệnh Linux.

Hầu hết mọi người sẽ được sử dụng để sử dụng các công cụ đồ họa để sao chép các tập tin từ đĩa của họ. Nếu bạn quen với việc sử dụng Windows thì bạn sẽ nhận biết được một công cụ có tên là Windows Explorer, điều này rất dễ dàng.

Windows Explorer là một công cụ được gọi là trình quản lý tệp và Linux có một số trình quản lý tệp khác nhau. Một xuất hiện trên hệ thống của bạn phần lớn phụ thuộc vào phiên bản Linux bạn đang sử dụng và đến một mức độ nhất định môi trường máy tính để bàn bạn đang sử dụng.

Các trình quản lý tệp phổ biến nhất như sau:

Nếu bạn đang chạy Ubuntu , Linux Mint , Zorin , Fedora hoặc openSUSE thì có khả năng trình quản lý tệp của bạn được gọi là Nautilus.

Bất kỳ ai chạy phân phối với môi trường máy tính để bàn KDE có thể sẽ thấy rằng Dolphin là trình quản lý tệp mặc định. Các bản phân phối sử dụng KDE bao gồm Linux Mint KDE, Kubuntu, Korora và KaOS.

Trình quản lý tệp Thunar là một phần của môi trường máy tính để bàn XFCE, PCManFM là một phần của môi trường máy tính để bàn LXDE và Caja là một phần của môi trường máy tính để bàn MATE.

Làm thế nào để sử dụng Nautilus để sao chép tập tin và thư mục

Nautilus sẽ có sẵn thông qua menu trong Linux Mint và Zorin hoặc nó sẽ xuất hiện trong Unity Launcher trong Ubuntu hoặc thông qua giao diện bảng điều khiển trong bất kỳ phân phối nào sử dụng GNOME như Fedora hoặc openSUSE.

Để sao chép một tập tin điều hướng thông qua hệ thống tập tin bằng cách nhấp đúp vào các thư mục cho đến khi bạn nhận được tập tin bạn muốn sao chép.

Bạn có thể sử dụng các lệnh bàn phím tiêu chuẩn để sao chép tệp. Ví dụ, nhấp vào một tập tin và nhấn CTRL và C cùng nhau lấy một bản sao của một tập tin. Nhấn CTRL và V dán tệp vào vị trí bạn chọn để sao chép tệp.

Nếu bạn dán một tập tin vào cùng một thư mục thì nó sẽ có cùng tên với bản gốc ngoại trừ nó sẽ có từ (bản sao) ở cuối của nó.

Bạn cũng có thể sao chép tệp bằng cách nhấp chuột phải vào tệp và chọn mục menu "sao chép". Sau đó, bạn có thể chọn thư mục bạn muốn dán vào, nhấp chuột phải và chọn "dán".

Một cách khác để sao chép tệp là nhấp chuột phải vào tệp và chọn tùy chọn "sao chép vào". Một cửa sổ mới sẽ xuất hiện. Tìm thư mục bạn muốn sao chép tệp và nhấp vào nút "chọn".

Bạn có thể sao chép nhiều tệp bằng cách giữ phím CTRL trong khi chọn từng tệp. Bất kỳ phương pháp nào trước đây như chọn CTRL C hoặc chọn "sao chép" hoặc "sao chép" từ menu ngữ cảnh sẽ hoạt động với tất cả các tệp đã chọn.

Lệnh sao chép hoạt động trên các tệp và thư mục.

Làm thế nào để sử dụng Dolphin để sao chép tập tin và thư mục

Dolphin có thể được đưa ra thông qua menu KDE.

Nhiều tính năng trong Dolphin giống với Nautilus.

Để sao chép tệp, hãy điều hướng đến thư mục chứa tệp bằng cách nhấp đúp vào các thư mục cho đến khi bạn có thể xem tệp.

Sử dụng nút chuột trái để chọn tệp hoặc sử dụng phím CTRL và nút chuột trái để chọn nhiều tệp.

Bạn có thể sử dụng các phím CTRL và C cùng nhau để sao chép một tệp. Để dán tệp, hãy chọn thư mục để dán tệp vào và nhấn CTRL và V.

Nếu bạn chọn dán vào cùng thư mục với tệp bạn đã sao chép, cửa sổ sẽ xuất hiện yêu cầu bạn nhập tên mới cho tệp được sao chép.

Bạn cũng có thể sao chép tệp bằng cách nhấp chuột phải vào chúng và chọn "Sao chép". Để dán một tệp, bạn có thể nhấp chuột phải và chọn "Dán".

Các tập tin cũng có thể được sao chép bằng cách kéo chúng từ một thư mục này sang thư mục khác. Khi bạn thực hiện điều này, một menu sẽ xuất hiện với các tùy chọn để sao chép tệp, liên kết tệp hoặc di chuyển tệp.

Làm thế nào để sử dụng Thunar để sao chép tập tin và thư mục

Trình quản lý tệp Thunar có thể được khởi chạy từ trình đơn trong môi trường máy tính để bàn XFCE.

Như với Nautilus và Dolphin, bạn có thể chọn một tệp bằng chuột và sử dụng các phím CTRL và C để sao chép tệp. Sau đó, bạn có thể sử dụng các phím CTRL và V để dán tệp.

Nếu bạn dán tệp trong cùng thư mục với tệp gốc thì tệp được sao chép giữ nguyên tên nhưng có "(bản sao)" được thêm vào như một phần của tên của nó trong cùng một tên giống với Nautilus.

Bạn cũng có thể sao chép tệp bằng cách nhấp chuột phải vào tệp và chọn tùy chọn "sao chép". Lưu ý rằng Thunar không bao gồm tùy chọn "sao chép vào".

Khi bạn đã sao chép một tệp, bạn có thể dán tệp đó bằng cách điều hướng đến thư mục cần dán. Bây giờ chỉ cần nhấp chuột phải và chọn "dán".

Kéo tệp vào thư mục sẽ di chuyển tệp thay vì sao chép tệp.

Làm thế nào để sử dụng PCManFM để sao chép tập tin và thư mục

Trình quản lý tệp PCManFM có thể được khởi chạy từ trình đơn trong môi trường máy tính để bàn LXDE.

Trình quản lý tệp này khá cơ bản dọc theo các dòng Thunar.

Bạn có thể sao chép các tập tin bằng cách chọn chúng bằng chuột. Để sao chép tệp, nhấn phím CTRL và C cùng một lúc hoặc nhấp chuột phải vào tệp và chọn "sao chép" từ trình đơn.

Để dán tệp, nhấn CTRL và V trong thư mục bạn muốn sao chép tệp. Bạn cũng có thể nhấp chuột phải và chọn "dán" từ trình đơn.

Kéo và thả một tập tin không sao chép một tập tin, nó sẽ di chuyển nó.

Có một tùy chọn khi nhấp chuột phải vào một tệp có tên là "đường dẫn sao chép". Điều này rất hữu ích nếu bạn muốn dán URL của tệp trong tài liệu hoặc trên dòng lệnh vì bất kỳ lý do gì.

Làm thế nào để sử dụng Caja để sao chép tập tin và thư mục

Bạn có thể khởi chạy Caja từ trình đơn trong môi trường máy tính để bàn MATE.

Caja rất giống với Nautilus và hoạt động giống nhau.

Để sao chép một tập tin định vị nó bằng cách điều hướng theo cách của bạn thông qua các thư mục. Nhấp vào tệp và sau đó chọn CTRL và C để sao chép tệp. Bạn cũng có thể nhấp chuột phải và chọn "sao chép" từ trình đơn.

Để dán tệp, hãy điều hướng đến vị trí bạn muốn sao chép tệp và nhấn CTRL và V. Hoặc nhấp chuột phải và chọn "dán" từ trình đơn.

Nếu bạn dán vào cùng thư mục với tệp gốc thì tệp sẽ có cùng tên nhưng sẽ có "(bản sao)" được thêm vào phần cuối của tệp.

Kích chuột phải vào một tập tin cũng cung cấp một tùy chọn gọi là "Copy To". Điều này không hữu ích như tùy chọn "copy to" trong Nautilus. Bạn chỉ có thể chọn sao chép vào máy tính để bàn hoặc thư mục chính.

Giữ phím shift trên một tập tin và kéo nó vào một thư mục sẽ hiển thị một menu hỏi xem bạn có muốn sao chép, di chuyển hoặc liên kết tệp hay không.

Làm thế nào để sao chép một tập tin từ một thư mục khác sử dụng Linux

Cú pháp sao chép tệp từ vị trí sang tệp khác như sau:

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

Ví dụ, hãy tưởng tượng bạn có cấu trúc thư mục sau:

Nếu bạn muốn sao chép file1 từ vị trí hiện tại của nó trong / home / documents / folder1 đến / home / documents / folder2 thì bạn sẽ gõ như sau trong dòng lệnh:

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

Có một số phím tắt bạn có thể thực hiện ở đây.

Phần / home có thể được thay thế bằng dấu ngã (~) được giải thích trong bài viết này. Điều đó thay đổi lệnh này

cp ~ / documents / folder1 / file1 ~ / documents / folder2 / file1

Bạn chỉ có thể bỏ qua tên tệp cho mục tiêu nếu bạn dự định sử dụng cùng tên tệp

cp ~ / documents / folder1 / file1 ~ / documents / folder2

Nếu bạn đã ở trong thư mục đích, bạn chỉ có thể thay thế đường dẫn cho mục tiêu bằng một điểm dừng đầy đủ.

cp ~ / documents / folder1 / file1.

Ngoài ra, nếu bạn đã ở trong thư mục nguồn, bạn có thể chỉ cần cung cấp tên tệp làm nguồn như sau:

cp file1 ~ / documents / folder2

Làm thế nào để có một bản sao lưu trước khi sao chép tập tin trong Linux

Trong phần trước của thư mục 1 chứa một tệp có tên là file1 và folder2 thì không. Hãy tưởng tượng tuy nhiên thư mục đó2 đã có một tập tin gọi là file1 và bạn chạy lệnh sau:

cp file1 ~ / documents / folder2

Lệnh trên sẽ ghi đè lên tệp tin 1 hiện đang nằm trong thư mục 2. Không có lời nhắc, không cảnh báo và không có lỗi vì khi Linux liên quan đến bạn đã chỉ định một lệnh hợp lệ.

Bạn có thể thực hiện các biện pháp phòng ngừa khi sao chép tệp bằng cách tạo Linux để tạo bản sao lưu tệp trước khi ghi đè lên tệp. Chỉ cần sử dụng lệnh sau:

cp -b / source / file / target / file

Ví dụ:

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


Trong thư mục đích, bây giờ sẽ có tệp đã được sao chép và cũng sẽ có một tệp có dấu ngã (~) ở cuối mà về cơ bản là bản sao lưu của tệp gốc.

Bạn có thể thay đổi lệnh sao lưu để làm việc theo một cách hơi khác để nó tạo bản sao lưu được đánh số. Bạn có thể muốn làm điều này nếu bạn đã sao chép các tập tin trước và nghi ngờ sao lưu đã tồn tại. Nó là một hình thức kiểm soát phiên bản.

cp --backup = numbered ~ / documents / folder1 / file1 ~ / tài liệu / thư mục2 / file1

Tên tệp cho các bản sao lưu sẽ nằm dọc theo các dòng của tệp1. ~ 1 ~, tệp1. ~ 2 ~ v.v.

Làm thế nào để nhắc trước khi ghi đè lên tập tin khi sao chép chúng bằng cách sử dụng Linux

Nếu bạn không muốn sao lưu các tệp nằm xung quanh hệ thống tệp nhưng bạn cũng muốn đảm bảo lệnh sao chép không ghi đè lên một tệp bừa bãi, bạn có thể nhận được lời nhắc hiển thị hỏi bạn có muốn ghi đè đích hay không.

Để thực hiện việc này, hãy sử dụng cú pháp sau:

cp -i / source / file / target / file

Ví dụ:

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

Một thông báo sẽ xuất hiện như sau: cp: overwrite './file1'?

Để ghi đè lên tệp, nhấn Y trên bàn phím hoặc để hủy nhấn N hoặc CTRL và C cùng một lúc.

Điều gì xảy ra khi bạn sao chép liên kết tượng trưng trong Linux

Một liên kết tượng trưng giống như một lối tắt trên màn hình. Nội dung của liên kết tượng trưng là địa chỉ của tệp vật lý.

Hãy tưởng tượng do đó bạn có cấu trúc thư mục sau:

Nhìn vào lệnh sau:

cp ~ / documents / folder1 / file1 ~ / documents / folder3 / file1

Điều này sẽ không có gì mới vì nó đang sao chép một tệp vật lý từ một thư mục này sang một thư mục khác.

Tuy nhiên, điều gì xảy ra nếu bạn sao chép liên kết tượng trưng từ thư mục 2 sang thư mục3?

cp ~ / documents / folder2 / file1 ~ / documents / folder3 / file1

Tệp được sao chép vào thư mục3 không phải là liên kết tượng trưng. Nó thực sự là tập tin được trỏ đến bởi liên kết tượng trưng, ​​vì vậy trên thực tế bạn sẽ có được kết quả tương tự như bạn làm bằng cách sao chép file1 từ thư mục1.

Ngẫu nhiên bạn có thể nhận được kết quả tương tự bằng cách sử dụng lệnh sau:

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

Chỉ cần chắc chắn rằng có thêm một nút chuyển đổi hoàn toàn buộc tệp phải được sao chép chứ không phải liên kết tượng trưng:

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

Nếu bạn muốn sao chép liên kết tượng trưng, ​​bạn cần chỉ định lệnh sau:

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

Để buộc liên kết tượng trưng được sao chép và không phải tệp vật lý sử dụng lệnh sau:

cp -P ~ / documents / folder2 / file1 ~ tài liệu / thư mục3 / file1

Cách tạo liên kết cứng bằng lệnh cp

Sự khác biệt giữa liên kết tượng trưng và liên kết cứng là gì?

Liên kết tượng trưng là lối tắt đến tệp vật lý. Nó không chứa bất kỳ địa chỉ nào khác ngoài địa chỉ tệp vật lý.

Tuy nhiên, một liên kết cứng về cơ bản là một liên kết đến cùng một tệp vật lý nhưng với một tên khác. Nó gần giống như một biệt hiệu. Đây là một cách tuyệt vời để tổ chức các tệp mà không chiếm bất kỳ dung lượng đĩa nào khác.

Hướng dẫn này cho bạn biết mọi thứ bạn cần biết về các liên kết cứng .

Bạn có thể tạo một liên kết cứng bằng cách sử dụng lệnh cp tuy nhiên tôi thường sẽ sử dụng lệnh ln.

cp -l ~ / source / file ~ / target / file

Ví dụ như tại sao bạn có thể sử dụng một liên kết cứng xem xét rằng bạn có một thư mục được gọi là video và trong thư mục video đó bạn có một tệp video thực sự lớn được gọi là honeymoon_video.mp4. Bây giờ hãy tưởng tượng bạn cũng muốn video đó được gọi là barbados_video.mp4 bởi vì nó cũng có cảnh của Barbados là nơi bạn đi tuần trăng mật.

Bạn có thể chỉ cần sao chép tệp và đặt tên mới nhưng điều đó có nghĩa là bạn đang chiếm gấp đôi dung lượng đĩa cho những gì về cơ bản là cùng một video.

Thay vào đó, bạn có thể tạo một liên kết tượng trưng gọi là barbados_video.mp4 trỏ đến tệp honeymoon_video.mp4. Điều này sẽ làm việc tốt nhưng nếu ai đó xóa honeymoon_video.mp4 bạn sẽ được trái với một liên kết và không có gì khác và liên kết vẫn chiếm không gian đĩa.

Nếu bạn tạo một liên kết cứng tuy nhiên bạn sẽ có 1 tập tin với 2 tên tập tin. Sự khác biệt duy nhất là chúng chứa các số inode khác nhau. (số nhận dạng duy nhất). Xóa tệp honeymoon_video.mp4 không xóa tệp nhưng chỉ giảm số lượng tệp đó xuống 1. Tệp sẽ chỉ bị xóa nếu tất cả các liên kết đến tệp đó bị xóa.

Để tạo liên kết bạn sẽ làm một cái gì đó như thế này:

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

Cách tạo liên kết tượng trưng bằng lệnh cp

Nếu bạn muốn tạo liên kết tượng trưng thay vì liên kết cứng, bạn có thể sử dụng lệnh sau:

cp -s / source / file / target / file

Một lần nữa, cá nhân tôi thường sử dụng lệnh ln -s thay vào đó, nhưng nó cũng hoạt động tốt.

Làm thế nào để chỉ sao chép tập tin nếu chúng là mới hơn

Nếu bạn muốn sao chép tệp vào một thư mục nhưng chỉ ghi đè tệp đích nếu tệp nguồn mới hơn thì bạn có thể sử dụng lệnh sau:

cp -u / source / file / target / file

Cần lưu ý rằng nếu tập tin không tồn tại ở phía đích thì bản sao sẽ diễn ra.

Làm thế nào để sao chép nhiều tập tin

Bạn có thể cung cấp nhiều hơn một tệp nguồn trong lệnh sao chép như sau:

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

Lệnh trên sẽ copy file1, file2 và file3 vào thư mục đích.

Nếu các tệp khớp với một mẫu nhất định thì bạn cũng có thể sử dụng các ký tự đại diện như sau:

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

Lệnh trên sẽ sao chép tất cả các tệp có phần mở rộng .mp3 vào thư mục music2.

Cách sao chép thư mục

Sao chép các thư mục giống như sao chép tệp.

Ví dụ, hãy tưởng tượng bạn có cấu trúc thư mục sau:

Hãy tưởng tượng bạn muốn di chuyển thư mục folder1 để nó hiện đang sống trong thư mục 2 như sau:

Bạn có thể sử dụng lệnh sau:

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

Bạn cũng có thể sử dụng lệnh sau:

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

Điều này sao chép nội dung của thư mục 1 cũng như bất kỳ thư mục con và tệp nào trong thư mục con.

Tóm lược

Hướng dẫn này đã cung cấp hầu hết các công cụ bạn cần để sao chép các tệp trong Linux. Đối với mọi thứ khác, bạn có thể sử dụng lệnh người đàn ông Linux .

man cp