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
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'
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
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
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
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