Hướng dẫn lệnh đổi tên Linux dành cho người mới bắt đầu (có ví dụ)

theanh

Administrator
Nhân viên
Nếu bạn làm việc với các tệp trên dòng lệnh trong Linux, đổi tên tệp là một trong những tác vụ thường xuyên nhất mà bạn có thể thấy mình tham gia. Chúng tôi đã thảo luận về lệnh themv cho phép bạn thực hiện việc này. Và ở đây, trong hướng dẫn này, chúng tôi sẽ thảo luận về một công cụ khác như vậy, được gọi là đổi tên.

Nhưng trước khi bắt đầu, cần đề cập rằng tất cả các ví dụ trong bài viết này đã được thử nghiệm trên máy Ubuntu 18.04 LTS.

Lệnh đổi tên Linux​

Như tên gọi của nó, lệnh đổi tên trong Linux cho phép bạn đổi tên tệp. Sau đây là cú pháp của nó:
Mã:
rename [options] expression replacement file...
Và đây là cách trang hướng dẫn của công cụ giải thích về nó:
Mã:
rename sẽ đổi tên các tệp đã chỉ định bằng cách thay thế lần xuất hiện đầu tiên của expression trong tên của chúng bằng lệnh thay thế.
Lưu ý rằng nếu bạn không cài đặt lệnh đổi tên, bạn có thể tải xuống bằng lệnh sau:
Mã:
sudo apt install rename
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh đổi tên hoạt động.

Câu hỏi 1. Làm thế nào để sử dụng lệnh đổi tên?​

Tôi phải nói rằng cách sử dụng cơ bản không hoàn toàn dễ hiểu, nhưng không khó để hiểu. Giả sử bạn có một tệp có tên là 'test.txt' và bạn muốn đổi tên tệp đó thành 'new.txt'. Sau đây là cách bạn sử dụng lệnh đổi tên để thực hiện việc này.
Mã:
rename 's/test/new/' test.txt

Câu hỏi 2. Lệnh đổi tên xử lý các liên kết tượng trưng như thế nào?​

Theo mặc định, lệnh đổi tên chỉ đổi tên tệp được truyền làm đầu vào, ngay cả khi đó là liên kết tượng trưng. Tuy nhiên, nếu bạn muốn công cụ không đổi tên các liên kết tượng trưng mà thay vào đó hành động trên các mục tiêu của chúng, hãy sử dụng tùy chọn dòng lệnh -s.

Vì vậy, nếu symlink.txt là một liên kết tượng trưng trỏ đến root.txt, thì lệnh sau sẽ đảm bảo hoạt động đổi tên xảy ra đối với root.txt:
Mã:
rename -s 's/root/new/' symlink.txt

Câu hỏi 3. Làm thế nào để chạy thử với lệnh đổi tên?​

Giả sử bạn chỉ muốn xem thay đổi cuối cùng sẽ xảy ra với lệnh đổi tên, mà không thực sự thực hiện lệnh đó, thì hãy sử dụng tùy chọn dòng lệnh -n. Ví dụ, lệnh sau:
Mã:
rename -n 's/new/test/' new.txt
tạo ra đầu ra sau:
Mã:
rename(new.txt, test.txt)
nhưng không thực sự đổi tên new.txt thành test.txt.

Câu hỏi 4. Lệnh đổi tên xử lý việc ghi đè tệp như thế nào?​

Theo mặc định, lệnh đổi tên không thực hiện thao tác nếu liên quan đến việc ghi đè tệp hiện có. Tuy nhiên, bạn có thể buộc công cụ ghi đè bằng tùy chọn dòng lệnh -f.

Ví dụ, lệnh sau:
Mã:
rename 's/new/test/' new.txt
tạo ra kết quả sau:
Mã:
new.txt not changed: test.txt already exists
Nhưng khi lệnh -f được sử dụng:
Mã:
rename -f 's/new/test/' new.txt
Hoạt động hoàn thành suôn sẻ và test.txt đã bị ghi đè.

Kết luận​

Lệnh đổi tên không cung cấp quá nhiều tùy chọn và chúng tôi đã thảo luận một số tùy chọn chính ở đây. Sau khi bạn thực hành xong các lệnh này, hãy đến trang hướng dẫn của công cụ để tìm hiểu thêm về nó.
 
Back
Bên trên