Hãy nhìn lại cuộc sống của bạn.

Hướng dẫn copy file hoặc thư mục trên Linux bằng lệnh Command

2 18

Chào các bạn, chúng ta sẽ tìm hiểu nội dung cơ bản của kiến thức sử dụng lệnh Linux nhé. Bài này sẽ hướng dẫn các bạn cách sử dụng lệnh cp trên Linux nhằm copy sao chép nội dung một file hoặc thư mục từ thư mục này sang thư mục nọ trên Linux nhé. Cực kì đơn giản và dễ hiểu, giờ ta 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 Linux được sử dụng để copy một file hoặc một thư mục từ một vị trí đến vị trí khác. Đây gần như là chương trình lệnh cơ bản của các dòng Linux phân phối khác.

Cấu trúc lệnh CP

cp [option] [option2] source1 source2 destination

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

2.1 Copy file A thành B

Ở ví dụ này ta chỉ đơn giản là copy một file A và sao chép tạo thành file B 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.2 Copy nhiều file cùng lúc vào thư mục

Ta có thể cùng lúc copy rất là nhiều file trên Linux vào thư mục đích đến. Bạn chỉ cần lưu ý 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 đó thì 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/

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

Với option ‘-v‘ bạn sẽ có thêm được 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’

2.4 Copy file từ một nguồn khác sang 1 nguồn đích khác

Bạn cũng có thể copy một file nằm ở một thư mục khác sang một thư mục khác trên hệ thống.

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

2.5 Copy file nhưng giữ 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.

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

Các thuộc tính được giữ lại gồm :

  • Access time
  • Modification date
  • User ID
  • Group ID
  • File flags
  • File mode
  • Access Control Lists

2.6 Copy thư mục trên Linux

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

# 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:

  1. -r : copy folder và file đệ quy , tức copy toàn bộ thư mục hoặc file cấp con của thư mục được copy.
  2. -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,…

2.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‘, thì sẽ không có hiện prompt xác nhận copy mà là ép lệnh luôn.

# cp -n A.txt ./lab/

2.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/

2.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 : https://linux.die.net/man/1/cp

# man cp

Vậy là bạn đã có thể thực hiện các câu lệnh cơ bản về việc thực thi copy file hoặc thư mục trên Linux rồi. Lệnh copy này có vài option thú vị khác đang chờ bạn khám phá qua trang manual của ‘cp‘ đấy. Hãy thực hành lệnh này đi nào.

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố.

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.