NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
03/05/2024
Lượt xem

Hướng dẫn copy file và thư mục trong Linux

03/05/2024
6 phút đọc
Lượt xem

Đánh giá

5/5 - (167 bình chọn)

Copy file, thư mục hẳn là những tác vụ cơ bản nhất khi làm việc với command line. Để sử dụng thành thạo và nhanh hơn khi thao tác trên Linux, bài viết này Vietnix sẽ hướng dẫn các câu lệnh cơ phổ biến nhất để copy file và thư mục trong Linux dễ dàng.

Copy file trong Linux bằng lệnh cp

Để thực hiện được việc copy file và thư mục thì trước hết bạn luôn phải có quyền đọc trên file gốc, và quyền viết ở trên thư mục đích. Trên các hệ điều hành UnixLinux, lệnh cp được dùng để copy file và thư mục.

  • Trường hợp đơn giản nhất là khi bạn cần copy một file trong thư mục đang làm việc. Chẳng hạn, bạn có một file tên file.txt và muốn copy thành file_backup.txt trong thư mục đang làm việc thì có thể dùng lệnh sau:
cp file.txt file_backup.txt
  • Nếu file đích đã tồn tại thì nó sẽ bị ghi đè bởi lệnh cp. Để nhận thông báo yêu cầu xác định trước khi thực hiện ghi đè file thì bạn có thể thêm option -i vào lệnh như sau:
cp -i file.txt file_backup.txt
  • Theo mặc định thì file được tạo bởi lệnh cp sẽ có quyền sở hữu thuộc về người dùng đã thực thi lệnh. Nếu muốn giữ nguyên chế độ, quyền sở hữu và timestamp của file thì bạn có thể thêm option -p vào lệnh:
cp -p file.txt file_backup.txt
  • Lệnh cp còn có thêm một option phổ biến nữa là -v, dùng để hiển thị tiến trình khi thực thi lệnh:
cp -v file.txt file_backup.txt

Copy file vào một thư mục

Để copy file vào một thư mục, bạn cần chỉ định đường dẫn tương đối hoặc đường dẫn đầy đủ đến thư mục. Nếu không chỉ định đường dẫn cho thư mục gốc thì mặc định file sẽ được copy vào thư mục hiện tại.

  • Ví dụ bạn cần copy file file.txt vào thư mục /backup:
cp file.txt /backup

Nếu chỉ chỉ định tên thư mục thì file được copy sẽ có tên giống file gốc.

  • Mặt khác, nếu muốn copy file rồi đổi thành tên mới thì có thể chỉ định tên như sau:
cp file.txt /backup/new_file.txt

Copy nhiều file cùng một lúc

Để copy nhiều file một lúc trong Linux, bạn hãy chỉ định tên của các file và thư mục gốc, đổi số cuối trong câu lệnh sẽ là thư mục đích cần copy đến.

cp file.txt dir file1.txt file2.txt dir1

Khi copy nhiều file, cần lưu ý rằng đích để copy bắt buộc phải là một thư mục.

Ngoài ra, lệnh cp còn cho phép khớp mẫu. Như bạn đang cần copy các file .png từ thư mục hiện tại vào thư mục /backup thì có thể dùng lệnh sau:

cp *.png /backup

Copy directory trong Linux bằng lệnh cp

Để copy thư mục trong Linux (bao gồm tất cả file và thư mục con có chứa trong đó), bạn dùng các option -R hoặc -r trong lệnh cp. Ví dụ bạn cần copy thư mục Pictures vào Pictures_backup thì có thể sử dụng lệnh như dưới đây:

cp -R Pictures Pictures_backup

Lệnh trên sẽ tạo thư mục đích rồi copy tất cả file và thư mục con trong thư mục gốc vào thư mục đích này. Nếu thư mục đích đã có sẵn thì thư mục gốc, cùng với các nội dung có trong đó, sẽ được copy đến thư mục đích mà không cần tạo nữa.

Các option khác cũng tương tự như thực hiện copy file trong Linux, chỉ khác ở chỗ bạn phải dùng option -R khi cần thực hiện copy thư mục.

Copy file và thư mục trong Linux bằng lệnh rsync

rsync là một công cụ command line rất nhanh và linh hoạt, được dùng để đồng bộ hoá file và thư mục giữa hai vị trí khác nhau. Vì vậy, bạn hoàn toàn có thể dùng lệnh rsync để copy file đến những vị trí khác.

Đặc biệt hơn, rsync cung cấp rất nhiều option khác nhau để kiểm soát cách hoạt động của lệnh. Trong đó option hữu ích nhất chắc chắn là -a, có khả năng copy các thư mục (theo kiểu đệ quy), chuyển các thiết bị đặc biệt và vẫn bảo tồn được symlink (liên kết tượng trưng), thời gian chỉnh sửa, nhóm, quyền sở hữu và quyền truy cập.

  • Để copy từng file sang một vị trí mới, bạn có thể dùng lệnh như sau:
rsync -a file.txt file_backup.txt

Nếu file đích đã có sẵn thì rsync sẽ ghi đè lên.

  • Cách copy thư mục trong Linux bằng lệnh rsync cũng tương tự:
rsync -a /var/www/public_html/ /var/www/public_html_backup/

Lưu ý: Nếu bạn thêm dấu gạch chéo (/) vào thư mục gốc thì lệnh rsync sẽ chỉ copy nội dung của thư mục gốc vào thư mục đích. Nếu không có dấu (/) thì lệnh rsync sẽ copy thư mục gốc bên trong thư mục đích. Nói chung, để an toàn thì hãy luôn viết dấu (/) vào trong cả thư mục gốc lẫn thư mục đích.

Lời kết

Vietnix chia sẻ các câu lệnh trong Linux trong series này, có thể giúp bạn hiểu hơn từng câu lệnh và hữu ích với trong quá trình sử dụng Linux. Đặc biệt, trong bài viết này là sử dụng câu lệnh cprsync để thực hiển copy file trong Linux nhanh chóng thông qua Terminal. Các hệ điều hành dựa trên Unix cũng có thể thực hiện tương tự với hai câu lệnh mạnh mẽ và phổ biến nhất là cprsync.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG