9 ví dụ về lệnh mv trên Centos / Ubuntu / Debian / Fedora

Trong hướng dẫn dành cho người mới bắt đầu này, chúng ta sẽ thảo luận một số ví dụ thực tế về lệnh mv. Sau khi làm theo hướng dẫn, người mới sử dụng Linux sẽ có khả năng đổi tên và di chuyển tập tin và thư mục một cách dễ dàng từ giao diện dòng lệnh.

Lệnh mv là gì?

Tập tin và thư mục là những thành phần cơ bản của hệ điều hành. Với tư cách người dùng thông thường, chúng ta tương tác với tập tin và thư mục hàng ngày. Thường thì chúng ta đổi tên hoặc di chuyển tập tin từ một vị trí khác sang vị trí khác để tổ chức tốt hơn. 

Tất nhiên, chúng ta có thể thực hiện thao tác này bằng cách sử dụng giao diện người dùng đồ họa (GUI). Tuy nhiên, hầu hết người dùng Linux thích sử dụng lệnh mv vì tính năng phong phú của nó.

Như tên gọi của nó, lệnh mv được sử dụng để đổi tên hoặc di chuyển tập tin và thư mục. Trong hướng dẫn bên dưới, bạn được tìm hiểu về lệnh mv thông qua các ví dụ thực tế. Người mới bắt đầu có thể sử dụng những ví dụ này trong công việc hàng ngày với hệ thống Linux.

Cú pháp của lệnh mv tương tự như các lệnh Linux khác. Ở mức cao, nó được chia thành hai phần - tùy chọn và đối số:

$ mv [OPTIONS] <SOURCE> <DEST>
$ mv [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>

Trong cú pháp trên, các dấu ngoặc vuông ([]) đại diện cho các đối số tùy chọn, trong khi đó các dấu ngoặc nhọn (<>) đại diện cho các đối số bắt buộc.

9 cách phổ biến sử dụng lệnh mv

Các đổi tên tệp bằng lệnh mv

Việc sử dụng cơ bản nhất của lệnh mv là để đổi tên một tệp tin. Dưới đây là hướng dẫn về cách đổi tên một tệp tin từ thư mục hiện tại.

Trước tiên, hãy tạo một tệp tin mẫu bằng lệnh touch:

$ touch file-1.txt

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

$ mv file-1.txt file-2.txt

Cuối cùng, hãy xác minh rằng tệp tin đã được đổi tên thành công bằng lệnh ls:

$ ls -1

9 cách sử dụng lệnh mv mà bạn cần biết trong hệ điều hành Linux

Cách đổi tên tệp trên hệ điều hành Linux

Bật chế độ chi tiết trong lệnh mv

Nếu bạn muốn biết rõ ràng những tệp tin hoặc thư mục đang được đổi tên thì có thể sử dụng tùy chọn -v để bật chế độ chi tiết.

Để hiểu rõ hơn, hãy đổi tên tệp tin bằng chế độ chi tiết:

$ mv -v file-2.txt file-1.txt 

renamed 'file-2.txt' -> 'file-1.txt'

Trong kết quả trên, chúng ta có thể thấy rằng, lệnh mv hiển thị thông báo về việc đổi tên.

Cách để đổi tên một thư mục 

Tương tự như các tệp tin, chúng ta cũng có thể sử dụng lệnh mv để đổi tên thư mục. Để hiểu rõ hơn, đầu tiên bạn cần tạo một thư mục mới với tên là "src":

$ mkdir src

Bây giờ, hãy đổi tên thư mục bằng lệnh sau đây:

$ mv -v src dst

renamed 'src' -> 'dst'

Cách di chuyển nhiều tệp vào một thư mục

Chúng ta thường xuyên phải di chuyển các tệp vào một thư mục duy nhất để tổ chức tốt hơn. Ví dụ, việc giữ tất cả các tệp âm thanh trong một thư mục duy nhất.

Tất nhiên, bạn vẫn có thể sử dụng lệnh mv nhiều lần để làm điều này. Tuy nhiên, quá trình này sẽ khá tốn thời gian khi số lượng tệp tăng lên. Và để tiết kiệm thời gian hơn chúng ta cần có một cú pháp thay thế cho lệnh mv. Hiểu rõ hơn bằng cách tạo một số tệp và một thư mục mới:

$ touch 1.mp3 2.txt 3.dat
$ mkdir misc

Tiếp đó, hãy di chuyển tất cả các tệp này vào thư mục misc bằng lệnh sau:

$ mv -v 1.mp3 2.txt 3.dat misc

renamed '1.mp3' -> 'misc/1.mp3'
renamed '2.txt' -> 'misc/2.txt'
renamed '3.dat' -> 'misc/3.dat'

9 cách sử dụng lệnh mv mà bạn cần biết trong hệ điều hành Linux

Di chuyển nhiều tệp trong Linux

Lưu ý rằng, để sử dụng cú pháp thay thế này, thư mục phải tồn tại sẵn và phải là đối số cuối cùng của lệnh.

Cách di chuyển nhiều thư mục 

Tương tự như với các tệp tin, bạn cũng có thể sử dụng lệnh mv để di chuyển nhiều thư mục cùng một lúc. Hãy hiểu điều này qua một ví dụ đơn giản.

Đầu tiên, hãy tạo một số thư mục bằng lệnh mkdir: 

$ mkdir dir-1 dir-2 dir-3 dir-4

Tiếp theo, hãy di chuyển tất cả các thư mục này vào thư mục dir-4 bằng lệnh sau:

$ mv -v dir-1 dir-2 dir-3 dir-4

9 cách sử dụng lệnh mv mà bạn cần biết trong hệ điều hành Linux

Cách di chuyển nhiều thư mục trong Linux

Trong đầu ra trên, bạn có thể thấy rằng tất cả các thư mục đã di chuyển thành công.

Cách tránh ghi đè tệp

Theo như mặc định, lệnh mv ghi đè lên tệp đích. Đôi khi, chúng ta muốn vô hiệu hóa hành vi mặc định này để tránh mất dữ liệu. Trong những trường hợp như vậy, bạn có thể sử dụng tùy chọn -n. Để hiểu điều này, trước tiên hãy tạo một tệp mẫu: 

$ touch file-2.txt

Sau đó, hãy thử ghi đè lên nó bằng cách sử dụng lệnh sau:

$ mv -v -n file-1.txt file-2.txt

Bạn có thể thấy rằng chế độ verbose không hiển thị bất kỳ thông báo nào. Điều này cho thấy tệp file-2.txt chưa được ghi đè lên.

Cách ghi đè tệp tin tương tác

Trong ví dụ trước, chúng ta đã thấy cách tắt chức năng ghi đè tệp tin. Tuy nhiên, đôi khi chúng ta muốn ghi đè lên tệp tin một cách an toàn.

Trong những trường hợp như vậy, bạn có thể sử dụng lệnh mv ở chế độ tương tác. Ở chế độ này, chúng hiển thị thông báo cảnh báo và chờ xác nhận từ người dùng trước khi ghi đè lên tệp tin.

Bây giờ, hãy thử ghi đè lên tệp tin file-2.txt ở chế độ tương tác: 

$ mv -v -i file-1.txt file-2.txt

mv: overwrite ‘file-2.txt’?

Trong đầu ra, lệnh đang chờ xác nhận từ người dùng. Tương tự như các lệnh Linux khác, bạn có thể sử dụng 'y' để tiếp tục hoặc 'n' để hủy bỏ thao tác.

Chỉ ghi đè tệp khi nguồn mới hơn

Trong ví dụ trước, chúng ta đã thấy cách ghi đè tệp bằng cách sử dụng chế độ tương tác, nhưng phương pháp này không thực tế khi chúng ta muốn ghi đè lên một số lượng lớn các tệp.

Tuy nhiên, bạn không nên thực hiện thao tác ghi đè mà không được xác minh, vì người dùng có thể vô tình ghi đè lên tệp mới hơn. Trong trường hợp như vậy, bạn có thể sử dụng tùy chọn -u để thực hiện thao tác di chuyển chỉ khi nguồn mới hơn đích.

Để hiểu điều này, hãy cập nhật thời gian của tệp nguồn:

$ touch -t 201912301000 file-1.txt 
$ ls -l file-1.txt 

Chúng ta đã sử dụng tùy chọn -t của lệnh touch để đặt thời gian cũ hơn trên tệp file-1.txt. Tiếp theo, hãy cập nhật thời gian của tệp đích thành thời gian hiện tại: 

$ touch file-2.txt

Cuối cùng, hãy thử thực hiện ghi đè lên tệp đích bằng cách sử dụng tùy chọn -u:

$ mv -v -u file-1.txt file-2.txt

9 cách sử dụng lệnh mv mà bạn cần biết trong hệ điều hành Linux

Ví dụ ghi đè tệp khi tệp nguồn mới hơn

Trong đầu ra trên, bạn có thể thấy rằng chế độ verbose không hiển thị bất kỳ thông báo nào. Điều này có nghĩa là tệp file-2.txt không bị ghi đè lên.

Cách tạo một bản sao lưu trước khi ghi đè lên các tệp

Lệnh mv còn cung cấp một tùy chọn khác, cho phép bạn xác định một chính sách sao lưu bằng cách sử dụng tùy chọn --backup, nó tạo một bản sao lưu của tệp đích trước khi ghi đè lên nó. 

$ touch file-1.txt file-2.txt
$ mv --backup=numbered -v file-1.txt file-2.txt

Ở đây, chúng ta đã sử dụng chính sách sao lưu có số, sử dụng các số tăng dần trong tên tệp sao lưu. Hãy thực hiện hai lệnh này một vài lần và kiểm tra kết quả: 

$ touch file-1.txt file-2.txt
$ mv --backup=numbered -v file-1.txt file-2.txt

$ touch file-1.txt file-2.txt
$ mv --backup=numbered -v file-1.txt file-2.txt

$ touch file-1.txt file-2.txt
$ mv --backup=numbered -v file-1.txt file-2.txt

9 cách sử dụng lệnh mv mà bạn cần biết trong hệ điều hành Linux

Tạo bản sao lưu trước khi ghi đè tệp

Các ví dụ trên tập trung vào các chức năng chính của lệnh mv đó chính là đổi tên và di chuyển tệp tin, thư mục. Người mới sử dụng Linux có thể tham khảo các cách hướng dẫn cụ thể này trong cuộc sống hàng ngày khi làm việc với hệ thống Linux.

Mọi người cùng tìm kiếm: lệnh mv trong linux