10:26 +07 Thứ ba, 16/10/2018
.: Có những mối quan hệ cũng giống như tấm kính, thà ngồi yên nhìn nó vỡ, còn hơn nhặt lại những mảnh vỡ để tự làm đau mình. :.

Menu

Thống kê truy cập

Đang truy cậpĐang truy cập : 20

Máy chủ tìm kiếm : 1

Khách viếng thăm : 19


Hôm nayHôm nay : 676

Tháng hiện tạiTháng hiện tại : 36470

Tổng lượt truy cậpTổng lượt truy cập : 4722962

Quảng cáo

 
 
Quảng cáo 2
Quảng cáo

Nhận tin qua e-mail

Tỷ giá ngoại tệ

Tháng Mười 16, 2018, 9:40 am
Code Buy Transfer Sell
AUD 16,459.82 16,559.18 16,739.94
CAD 17,710.07 17,870.91 18,066.00
CHF 23,329.19 23,493.65 23,797.66
DKK - 3,569.09 3,680.95
EUR 26,835.50 26,916.25 27,155.71
GBP 30,354.29 30,568.27 30,840.22
HKD 2,935.08 2,955.77 3,000.01
INR - 315.60 327.98
JPY 204.43 206.49 210.84
KRW 19.08 20.08 21.34
KWD - 76,851.91 79,866.99
MYR - 5,582.92 5,655.17
NOK - 2,821.81 2,910.25
RUB - 355.26 395.86
SAR - 6,203.45 6,446.82
SEK - 2,576.77 2,641.62
SGD 16,756.21 16,874.33 17,058.54
THB 700.60 700.60 729.82
USD 23,295.00 23,295.00 23,375.00

Trang Chủ » Chuyên mục » Kiến thức máy tính

Cách sao chép và đổi tên file trong Linux

Chủ nhật - 08/07/2018 19:19
Có nhiều cách để sao chép và đổi tên các file trên Linux hơn là chỉ dùng lệnh cp và mv. Hãy thử một số lệnh và các cách khác được gợi ý dưới đây. Chúng có thể làm bạn ngạc nhiên và tiết kiệm khá nhiều thời gian cho bạn đấy.

Người dùng Linux trong nhiều thập kỷ đã sử dụng lệnh cp và mv đơn giản để sao chép và đổi tên file. Các lệnh cp và mv là những lệnh đầu tiên mà hầu hết chúng ta được học và sử dụng hàng ngày. Nhưng có các kỹ thuật, các biến thể tiện dụng và một số lệnh khác để đổi tên các file, loại cung cấp một số tùy chọn duy nhất.

Cách sao chép file trong Linux

Trước tiên, hãy suy nghĩ về lý do tại sao bạn muốn sao chép file. Bạn có thể cần cùng một file ở một vị trí khác hoặc bạn có thể muốn tạo một bản sao trước khi bạn chỉnh sửa file để sử dụng trong trường hợp bạn cần hoàn nguyên về file gốc. Cách hiển nhiên để làm điều đó là sử dụng một lệnh như “cp myfile myfile-orig”.

Tuy nhiên, nếu bạn muốn sao chép một số lượng lớn file, thì phương pháp này sẽ không phù hợp. Lựa chọn thay thế tốt hơn là:

  • Sử dụng lệnh tar để tạo bản lưu trữ của tất cả các file bạn muốn sao lưu trước khi bạn bắt đầu chỉnh sửa chúng.
  • Sử dụng vòng lặp for để tạo các bản sao lưu dễ dàng hơn.

Tùy chọn tar rất đơn giản. Đối với tất cả các file trong thư mục hiện hành, bạn sẽ sử dụng lệnh như sau:

$ tar cf myfiles.tar *

Đối với một nhóm file mà bạn có thể xác định bằng mẫu, bạn sẽ sử dụng lệnh như sau:

$ tar cf myfiles.tar *.txt

Trong mỗi trường hợp, bạn kết thúc với một file myfiles.tar chứa tất cả các file trong thư mục hoặc tất cả các file có phần mở rộng .txt.

Một vòng lặp dễ dàng sẽ cho phép bạn tạo các bản sao lưu với các tên đã được sửa đổi:

$ for file in *> do> cp $file $file-orig> done

Khi bạn sao lưu một file và file đó có tên rất dài, bạn có thể dựa vào việc sử dụng lệnh tab để sử dụng tính năng Filename completion (hoàn thành tên file) bằng cách nhấn phím tab sau khi nhập tên file và sử dụng cú pháp như thế này để thêm "-orig" vào bản sao.

$ cp file-with-a-very-long-name{,-orig}

Sau đó, bạn có 2 tên file dạng như sau:

x-x-x-x-x-x-x-x-x-x-x-x và x-x-x-x-x-x-x-x-x-x-x-x-orig.

Cách đổi tên file trong Linux

Cách truyền thống để đổi tên một file là sử dụng lệnh mv. Lệnh này sẽ di chuyển một file vào một thư mục khác, thay đổi tên của nó và để nó ở một vị trí nào đó.

$ mv myfile /tmp$ mv myfile notmyfile$ mv myfile /tmp/notmyfile

Nhưng bây giờ chúng ta đã có nhiều lệnh đổi tên khác để thực hiện một số thay đổi tên file quan trọng. Bí quyết sử dụng lệnh đổi tên là làm quen với cú pháp của nó, nhưng nếu bạn biết một số perl, bạn có thể không thấy nó phức tạp chút nào cả.

Đây là một ví dụ rất hữu ích. Giả sử bạn muốn đổi tên các file trong thư mục để thay thế tất cả các chữ hoa bằng chữ thường. Nói chung, thường thì bạn sẽ không tìm thấy nhiều file có chữ hoa trên hệ thống Unix hoặc Linux, nhưng đôi khi điều này có thể xảy ra. Dưới đây là một cách dễ dàng để đổi tên chúng mà không phải sử dụng lệnh mv cho từng file một. Thông số /A-Z/a-z/ cho biết lệnh đổi tên nhằm thay đổi bất kỳ chữ cái nào trong phạm vi A-Z thành các chữ cái tương ứng trong a-z.

$ lsAgenda Group.JPG MyFile$ rename 'y/A-Z/a-z/' *$ lsagenda group.jpg myfile

Bạn cũng có thể sử dụng đổi tên để xóa phần mở rộng file. Có thể bạn thấy không thoải mái với các file văn bản có đuôi .txt. Đơn giản chỉ cần loại bỏ chúng bằng một lệnh như sau:

$ lsagenda.txt notes.txt weekly.txt$ rename 's/.txt//' *$ lsagenda notes weekly

Bây giờ, hãy tưởng tượng bạn thay đổi suy nghĩ và muốn đặt những phần mở rộng file đó quay trở lại. Không vấn đề gì. Chỉ cần thay đổi lệnh. Bí quyết là hiểu rằng "s" trước dấu gạch chéo đầu tiên có nghĩa là "substitute” (thay thế). Giữa hai dấu gạch chéo đầu tiên là những gì bạn muốn thay đổi. Giữa hai dấu gạch chéo thứ hai và thứ ba là những gì bạn muốn thay đổi thành. Vì vậy, $ đại diện cho phần cuối của tên file và ta sẽ đổi tên thành “.txt”.

$ lsagenda notes weekly$ rename 's/$/.txt/' *$ lsagenda.txt notes.txt weekly.txt

Bạn cũng có thể thay đổi các phần khác của tên file. Giữ nguyên quy tắc s/old/new/.

$ lsdraft-minutes-2018-03 draft-minutes-2018-04 draft-minutes-2018-05$ rename 's/draft/approved/' *minutes*$ lsapproved-minutes-2018-03 approved-minutes-2018-04 approved-minutes-2018-05

Lưu ý: Trong các ví dụ ở trên mà khi chúng ta sử dụng một s như trong "s/old/new/", chúng ta sẽ thay thế một phần của tên này bằng tên khác. Khi sử dụng y, tức là bạn đang chuyển ngữ (thay thế các ký tự từ một phạm vi này sang phạm vi khác).

Có rất nhiều tùy chọn để sao chép và đổi tên file trong Linux. Hãy tìm ra một phương án thích hợp nhất cho bạn. Chúc bạn thành công!

Nguồn tin: quantrimang.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá
Click để đánh giá bài viết

Bài đăng mới hơn

Bài đăng cũ hơn

 

Đăng nhập thành viên

Thăm dò ý kiến

Bạn thấy nội dung Website ra sao?

Cần sửa đổi, bổ sung nội dung

Được

Hay

Lưu niệm