Hướng dẫn copy file hoặc folder trên Linux bằng lệnh CP

762
20-03-2018
Hướng dẫn copy file hoặc folder trên Linux bằng lệnh CP

Bài viết hôm nay Bizfly Cloud sẽ hướng dẫn các bạn cách sử dụng lệnh CP nhằm mục đích sao chép nội dung một file hoặc thư mục trên Linux. Đây là kiến thức cơ bản về sử dụng lệnh trên Linux bạn cần phải hiểu rõ. Hãy cùng tìm hiểu nhé!

1. Lệnh CP trên Linux là gì?

Chương trình lệnh CP trên hệ điều hành Linux được sử dụng để copy một tệp hoặc một thư mục từ vị trí này đến vị trí khác. Đây gần như là chương trình lệnh cực kì cơ bản của các dòng Linux phân phối khác.

>> Tìm hiểu thêm : Hướng dẫn hiển thị các File và thư mục bị ẩn trên Linux

Cấu trúc lệnh coppy trong linux như sau: 

cp [option] [option2] source1 source2 destination

2. Các ví dụ về sử dụng lệnh CP trên Linux

(1) Copy file A thành B

Ở ví dụ này, bạn chỉ đơn giản là copy một file A và sao chép A tạo thành file B giống y hệt.

# touch A.txt

# cp A.txt B.txt

# ls

0 -rw-r--r-- 1 root root 0 Oct 15 17:47 A.txt

0 -rw-r--r-- 1 root root 0 Oct 15 17:47 B.txt

(2) Copy nhiều file cùng lúc vào thư mục

Ta có thể copy nhiều file cùng một lúc vào trong một thư mục đích đến trên Linux. Bạn chỉ cần lưu ý rằng, tham số cuối cùng của dòng lệnh phải là một thư mục thực sự. Còn trước đó, bạn có thể để rất nhiều tên file khác nhau.

– Tạo nhiều file text rỗng.

# touch ./{A,B,C}.txt

# touch ./{D,E}.exe

# ll

total 8.0K

4.0K drwxr-xr-x 2 root root 4.0K Oct 15 17:50 .

4.0K drwxr-xr-x. 15 root root 4.0K Oct 15 17:49 ..

0 -rw-r--r-- 1 root root 0 Oct 15 17:50 A.txt

0 -rw-r--r-- 1 root root 0 Oct 15 17:50 B.txt

0 -rw-r--r-- 1 root root 0 Oct 15 17:50 C.txt

0 -rw-r--r-- 1 root root 0 Oct 15 17:50 D.exe

0 -rw-r--r-- 1 root root 0 Oct 15 17:50 E.exe

– Tạo một thư mục rỗng trên Linux rồi copy file vào thư mục rỗng để test.

# mkdir -p ./lab/

# cp A.txt B.txt C.txt D.exe E.exe ./lab/

(3) Sử dụng option ‘-v’ hiển thị quá trình copy

Với option -v, bạn sẽ có thêm một sự lựa chọn để hiển thị quá trình copy file hoặc thư mục.

# cp -v A.txt B.txt C.txt D.txt E.txt lab/

`A.txt' -> `lab/A.txt'

`B.txt' -> `lab/B.txt'

`C.txt' -> `lab/C.txt'

`D.txt' -> `lab/D.txt'

`E.txt' -> `lab/E.txt'

(4) Copy file từ một nguồn khác sang một nguồn đích khác

Bạn cũng có thể sao chép một file nằm ở một thư mục khác sang một thư mục khác trên Linux.

# cp /usr/report/hr_team/report.xlsx /home/sale_team/

(5) Copy file nhưng giữ lại toàn bộ thuộc tính file

Bạn sẽ sử dụng option -p để giữ lại các thuộc tính thông tin của file được copy như sau:

# cp -p ./*.txt ./lab/

Bảy thuộc tính giữ lại, bao gồm:

- Access time

- Modification date

- User ID

- Group ID

- File flags

- File mode

- Access Control Lists

(6) Lệnh copy thư mục trong Linux

Bạn sẽ sử dụng option "-r" hoặc "-a" để thực hiện copy thư mục trên hệ thống.

# cp -av Devops/ /home/john/

`Devops/Files/file.a' -> `/home/john/Devops/Files/file.a'

`Devops/Files/file.b' -> `/home/john/Devops/Files/file.b'

`Devops/Report/file.a' -> `/home/john/Devops/Report/file.a'

`Devops/Report/file.b' -> `/home/john/Devops/Report/file.b'

`Devops/Report/sa_team' -> `/home/john/Devops/Report/sa_team'

`Devops/file.a' -> `/home/john/Devops/file.a'

`Devops/file.b' -> `/home/john/Devops/file.b'

`Devops/latestreport/file.a' -> `/home/john/Devops/latestreport/file.a'

`Devops/latestreport/file.b' -> `/home/john/Devops/latestreport/file.b'

`Devops/latestreport/sales_team' -> `/home/john/Devops/latestreport/sales_team'

Chú thích:

-r: copy toàn bộ thư mục hoặc file cấp con của thư mục được copy.

-a: bao gồm option -r và thực hiện việc duy trì các thuộc tính của file hoặc thư mục như file mode, ownership, timestamps …

(7) Không cho phép lệnh "CP" ghi đè file đang có

Giả sử thư mục đích của bạn đã có file name cùng tên file name bạn đang muốn copy. Thì bạn có thể sử dụng option -n để ép buộc lệnh copy CP không được ghi đè nếu file nguồn và file đích cùng tên. Khi bạn sử dụng option -n sẽ không xuất hiện prompt xác nhận copy, mà là ép lệnh luôn.

# cp -n A.txt ./lab/

(8) Copy file ghi đè không hỏi xác nhận

Bạn sử dụng option -f (force) để ép buộc lệnh CP copy file ghi đè lên file đang tồn tại ở thư mục đích nếu nó cùng tên file nguồn copy.

# cp -f A.txt /tmp/

(9) Trợ giúp thông tin về lệnh copy

Bạn có thể sử dụng lệnh manual man để xem thông tin hỗ trợ về lệnh CP trên hệ thống Linux. Hoặc xem manual online tại link sau: https://linux.die.net/man/1/cp

# man cp

Vậy là đã kết thúc hướng dẫn về chương trình lệnh CP trên Linux, bạn hãy áp dụng thuần thục lệnh trên bằng cách sử dụng và thực hành thật nhiều. Chúc các bạn thành công!

Theo Bizfly Cloud chia sẻ

>> Có thể bạn quan tâm: Hướng dẫn mở và khóa đăng nhập mật khẩu của tài khoản user trên Linux

TAGS: linux
SHARE
Hỗ trợ kỹ thuật
Kinh doanh, CSKH