Hướng dẫn đổi tên file trong Linux với lệnh mv

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 nhiệm vụ thường xuyên nhất bạn có thể thấy mình tham gia. Chúng tôi đã thảo luận về  lệnh mv cho phép bạn thực hiện việc này. Và ở đây, trong hướng dẫn này, chúng ta sẽ thảo luận về một công cụ như vậy, được đặt tên là đổi tên.

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

Linux đổi tên lệnh

Như tên cho thấy, lệnh đổi tên trong Linux cho phép bạn đổi tên các tệp. Sau đây là cú pháp của nó:

rename [options] expression replacement file...

Và đây là cách trang con người của công cụ giải thích nó:

rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.

Lưu ý rằng nếu bạn chưa cài đặt lệnh đổi tên, bạn có thể lấy nó bằng lệnh sau:

sudo apt install rename

Sau đây là một số ví dụ theo kiểu hỏi đáp sẽ cho bạn ý tưởng tốt hơn về cách hoạt động của lệnh đổi tên.

Q1. Làm thế nào để sử dụng lệnh đổi tên?

Sử dụng cơ bản không chính xác về phía trước, tôi phải nói, nhưng nó không khó hiểu. Giả sử bạn có một tệp có tên ‘test.txt’ và bạn muốn đổi tên nó thành ‘new.txt’. Sau đó, đây là cách bạn sử dụng lệnh đổi tên để làm điều này.

rename 's/test/new/' test.txt

Theo mặc định, lệnh đổi tên chỉ đổi tên tệp được truyền dưới dạng đầ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 theo các mục tiêu của chúng, thì 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 thao tác đổi tên xảy ra cho root.txt:

rename -s 's/root/new/' symlink.txt

H3 Làm thế nào để thực hiện một chạy khô với đổ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 nó, sau đó sử dụng tùy chọn dòng lệnh -n. Ví dụ: lệnh sau:

rename -n 's/new/test/' new.txt

sản xuất đầu ra sau đây:

rename(new.txt, test.txt)

nhưng thực tế không đổi tên new.txt thành test.txt.

Q4. Làm thế nào đổi tên xử lý ghi đè các tập tin?

Theo mặc định, lệnh đổi tên không thực hiện thao tác nếu nó liên quan đến việc ghi đè một 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:

rename 's/new/test/' new.txt

sản xuất đầu ra sau đây:

new.txt not renamed: test.txt already exists

Nhưng khi lệnh -f được sử dụng:

rename -f 's/new/test/' new.txt

Các hoạt động hoàn thành trơn tru và test.txt đã được ghi đè.

Phần 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 về một số trong những lựa chọn chính ở đây. Sau khi bạn thực hành xong, hãy đến trang người dùng của công cụ  để tìm hiểu thêm về nó.

Facebook Comments

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *