Đổi tên thư mục partition trên linux redhat

Đổi tên tệp là một trong những tác vụ cơ bản nhất bạn thường cần thực hiện trên hệ thống Linux. Bạn có thể đổi tên tệp bằng trình quản lý tệp GUI hoặc thông qua command line trên terminal.

Đổi tên một tệp thì dễ dàng, nhưng đổi tên nhiều tệp cùng một lúc có thể là một thách thức, đặc biệt là đối với người dùng mới làm quen với Linux.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách sử dụng lệnh mv và rename để đổi tên tệp và thư mục.

Nội dung chính

  • 1 Đổi tên tệp bằng lệnh mv
    • 1.1 Đổi tên nhiều tệp bằng lệnh mv
  • 2 Đổi tên tệp bằng lệnh rename
  • 3 Phần kết luận
    • 3.1 Share this:
    • 3.2 Like this:

Đổi tên tệp bằng lệnh mv

Lệnh mv [viết tắt của move] được sử dụng để đổi tên hoặc di chuyển tập tin từ nơi này đến nơi khác. Cú pháp của mv như sau:

mv [OPTIONS] source destination

Có source thể là một hoặc nhiều tệp, hoặc thư mục và destination có thể là một tệp hoặc thư mục.

  • Nếu bạn chỉ định nhiều tệp là source, tệp destination phải là một thư mục. Trong trường hợp này, các source được chuyển đến thư mục đích.
  • Nếu bạn chỉ định một tệp là source và destination đích là một thư mục hiện có, thì tệp sẽ được chuyển đến thư mục được chỉ định.
  • Để đổi tên tệp, bạn cần chỉ định một tệp duy nhất làm tệp source và một tệp duy nhất làm destination đích.

Ví dụ, để đổi tên tệp file1.txt như file2.txt bạn sẽ chạy:

mv file1.txt file2.txt

Đổi tên nhiều tệp bằng lệnh mv

Lệnh mv có thể đổi tên chỉ có một tập tin tại một thời điểm, nhưng nó có thể được sử dụng kết hợp với các lệnh khác như find hay bash bên trong for hoặc while vòng để đổi tên nhiều file.

Ví dụ sau đây cho thấy cách sử dụng vòng lặp Bash for để đổi tên tất cả các tệp .html trong thư mục hiện tại bằng cách thay đổi .html phần mở rộng thành .php.

for f in *.html; do
    mv -- "$f" "${f%.html}.php"
done

Hãy phân tích từng dòng code:

  • Dòng đầu tiên tạo một vòng lặp for và lặp lại qua danh sách tất cả các tệp được biên với .html.
  • Dòng thứ hai áp dụng cho từng mục của danh sách và chuyển tệp sang tệp mới thay thế .html bằng .php. Phần ${file%.html} này đang sử dụng phần mở rộng tham số shell để loại bỏ .html phần đó khỏi tên tệp.
  • done cho biết sự kết thúc của đoạn vòng lặp.

Dưới đây là một ví dụ sử dụng mv kết hợp với find để đạt được điều tương tự như trên:

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;

Lệnh find được thông qua tất cả các file có đuôi .html trong thư mục hiện hành để mv từng người một bằng cách sử dụng tùy chọn -exec. Chuỗi {} là tên của tệp hiện đang được xử lý.

Như bạn có thể thấy từ các ví dụ trên, đổi tên nhiều tệp bằng lệnh mv không phải là một nhiệm vụ dễ dàng vì nó đòi hỏi kiến ​​thức tốt về Bash scripting.

Đổi tên tệp bằng lệnh rename

Lệnh rename được sử dụng để đổi tên nhiều file. Lệnh này nâng cao hơn mv vì nó yêu cầu một số kiến ​​thức cơ bản về biểu thức chính quy.

Có hai phiên bản của rename với cú pháp khác nhau. Trong hướng dẫn này, chúng ta sẽ sử dụng phiên bản Perl của lệnh rename. Nếu bạn chưa cài đặt phiên bản này trên hệ thống của mình, bạn có thể dễ dàng cài đặt nó bằng cách sử dụng trình quản lý gói của bản phân phối của bạn.

  • Cài đặt rename trên Ubuntu và Debian
sudo apt install rename
  • Cài đặt rename trên CentOS và Fedora
sudo yum install prename
  • Cài đặt rename trên Arch Linux
yay perl-rename ## or yaourt -S perl-rename

Cú pháp của rename lệnh như sau:

rename [OPTIONS] perlexpr files

Lệnh rename sẽ đổi tên files theo quy định perlexpr biểu thức chính quy. Bạn có thể đọc thêm về biểu thức chính quy perl tại đây .

Ví dụ sau sẽ thay đổi tất cả các tệp có phần mở rộng .html thành .php:

rename 's/.html/.php/' \*.html

Bạn có thể sử dụng tùy chọn -n để in tên các tệp cần đổi tên mà không cần đổi tên chúng.

rename -n 's/.html/.php/' \*.html

Đầu ra sẽ giống như sau:

rename[file-90.html, file-90.php]
rename[file-91.html, file-91.php]
rename[file-92.html, file-92.php]
rename[file-93.html, file-93.php]
rename[file-94.html, file-94.php]

Theo mặc định,lệnh rename không ghi đè lên các tệp hiện có. Chuyển tùy chọn -f để cho phép các tệp hiện có bị ghi đè:

rename -f 's/.html/.php/' \*.html

Dưới đây là một số ví dụ phổ biến hơn về cách sử dụng rename

  • Thay thế khoảng trắng trong tên tệp bằng dấu gạch dưới: rename 'y/ /\_/' \*
  • Chuyển đổi tên tệp thành chữ thường: rename 'y/A-Z/a-z/' \*
  • Chuyển đổi tên tệp thành chữ hoa: rename 'y/a-z/A-Z/' \*

Phần kết luận

Chúng ta đã tìm hiểu cách sử dụng lệnh mv và rename để đổi tên tệp.

Ngoài ra còn có các lệnh khác để đổi tên tệp trong Linux, chẳng hạn như mmv . Người dùng Linux mới khó dùng lệnh có thể sử dụng các công cụ đổi tên hàng loạt GUI như Métamorphose .

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng để lại bình luận.

Bài Viết Liên Quan

Chủ Đề