Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn di chuyển file và thư mục nhanh chóng bằng lệnh mv trong Linux

    Nguyễn Hưng

    Ngày đăng:

    13/01/2026

    Cập nhật lần cuối:

    13/01/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/01/2026

    Cập nhật lần cuối:

    13/01/2026

    Mục lục

    Trong cấu trúc hệ thống file Linux, lệnh mv là công cụ di chuyển dữ liệu giữa các đường dẫn và đồng thời cũng là trình đổi tên file nhanh chóng, hữu ích. Khác với cp, lệnh mv thao tác trực tiếp lên liên kết của file trong bảng Inode nên có tốc độ thực thi nhanh chóng. Trong bài viết dưới đây, mình sẽ hướng dẫn bạn cách sử dụng lệnh mv chi tiết, đơn giản.

    Những điểm chính

    • Khái niệm: Hiểu rõ mv là lệnh dùng để di chuyển hoặc đổi tên file/thư mục.
    • Các chức năng quan trọng: Nắm được các chức năng chính của lệnh mv, từ di chuyển, đổi tên đến các tùy chọn ghi đè có hoặc không có xác nhận.
    • Các tùy chọn phổ biến: Có được một bảng tra cứu nhanh các tùy chọn quan trọng, giúp bạn tùy chỉnh việc di chuyển file một cách linh hoạt.
    • Cách di chuyển an toàn: Biết được tổ hợp lệnh mv -vi là giải pháp tối ưu để di chuyển dữ liệu một cách an toàn, tránh ghi đè nhầm.
    • Các ví dụ sử dụng thực tế: Thành thạo cách sử dụng mv trong các tình huống thực tế như đổi tên, di chuyển, thao tác hàng loạt và giám sát tiến trình.
    • Cách thiết lập Alias an toàn: Học cách tạo alias để biến việc di chuyển an toàn thành hành vi mặc định.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến lệnh mv trong Linux.

    Lệnh mv trong Linux là gì?

    Lệnh mv trong hệ điều hành Linux là một công cụ dòng lệnh được sử dụng để di chuyển file hoặc thư mục từ vị trí này đến vị trí khác trong hệ thống file. Ngoài ra, bạn cũng có thể dùng lệnh này để đổi tên file hoặc thư mục mà không cần sao chép dữ liệu. Lệnh mv hoạt động trực tiếp trong Terminal, phổ biến trên các hệ điều hành UNIX và các bản phân phối tương tự UNIX.

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

    mv [OPTION]... SOURCE... DEST

    Trong đó:

    • [OPTION]: Bao gồm các tùy chọn mở rộng giúp điều chỉnh cách lệnh hoạt động, bạn có thể kết hợp nhiều tùy chọn trong một lệnh.
    • SOURCE: Chỉ ra đường dẫn tới file hoặc thư mục cần di chuyển hay đổi tên.
    • DEST: Là vị trí hoặc tên mới mà bạn muốn chuyển file/thư mục đến. Lưu ý, mỗi lần thực thi lệnh chỉ chấp nhận một đích đến duy nhất.
    Lệnh mv được sử dụng để di chuyển file hoặc thư mục
    Lệnh mv được sử dụng để di chuyển file hoặc thư mục

    Các chức năng quan trọng của lệnh mv

    Chức năng chính của lệnh mv là giúp di chuyển file và thư mục nhanh chóng. Đồng thời, lệnh này cũng có nhiều chức năng quan trọng khác giúp bạn kiểm soát cách ghi đè và theo dõi quá trình thao tác trên file, thư mục an toàn và linh hoạt hơn như:

    • Di chuyển file đơn lẻ: Lệnh mv cho phép bạn di chuyển một file từ thư mục hiện tại sang thư mục khác, vẫn giữ nguyên nội dung file mà không sao chép dữ liệu.​
    • Di chuyển thư mục: Lệnh mv hỗ trợ di chuyển toàn bộ thư mục và nội dung bên trong. Nếu đích không tồn tại, hệ thống sẽ coi lệnh này như một thao tác đổi tên thư mục.​
    • Đổi tên file hoặc thư mục: Người dùng có thể sử dụng lệnh mv để đổi tên file hoặc thư mục trực tiếp mà không thay đổi vị trí, giúp bạn chỉnh sửa tên file nhanh chóng.​
    • Ghi đè với xác nhận: Lệnh mv kết hợp tùy chọn -i sẽ hỏi xác nhận trước khi ghi đè file tồn tại, giúp người dùng tránh mất dữ liệu ngoài ý muốn.​
    • Ghi đè không xác nhận: Tùy chọn -f cho phép buộc ghi đè và sẽ bỏ qua cảnh báo, cách làm này phù hợp với script tự động nhưng bạn cần thao tác cẩn thận để tránh mất dữ liệu.​
    • Hiển thị chi tiết quá trình: Tùy chọn -v trong lệnh mv sẽ báo cáo từng bước, giúp bạn theo dõi hoạt động lớn dễ dàng hơn.​
    Các chức năng quan trọng của lệnh mv
    Các chức năng quan trọng của lệnh mv

    Các tùy chọn phổ biến của lệnh mv trong Linux

    Tùy chọnChức năngVí dụ minh họa
    -iInteractive: Yêu cầu xác nhận (y/n) trước khi ghi đè.mv -i a b
    -fForce: Bắt buộc ghi đè, bỏ qua mọi cảnh báo (nguy hiểm).mv -f a b
    -vVerbose: Chế độ hiển thị chi tiết tiến trình thực thi.mv -v a b
    -nNo-clobber: Tuyệt đối không ghi đè nếu file đích đã tồn tại.mv -n a b
    –backupSafety Backup: Tự động tạo bản sao lưu cho file đích trước khi ghi đè.mv --backup a b
    -u, –updateUpdate: Chỉ di chuyển/ghi đè file đích nếu file nguồn mới hơn file đích.mv -u a b
    –versionVersion: In ra thông tin phiên bản của chương trình mv.mv --version

    Cách di chuyển file an toàn với lệnh mv

    Để tránh rủi ro ghi đè nhầm lên các file cấu hình quan trọng (như /etc/nginx hay database config), bạn nên tuân thủ cú pháp an toàn sau cho mọi thao tác thủ công:

    mv -vi SOURCE DEST

    Trong đó:

    • -v (Verbose): Hiển thị chi tiết file nào đang được di chuyển/đổi tên, giúp người dùng nhận thức rõ hành động của mình.
    • -i (Interactive): Cơ chế bắt buộc hệ thống phải hỏi xác nhận (prompt) trước khi ghi đè lên bất kỳ file đích nào đã tồn tại.

    1. Đổi tên file

    Khi DEST là một tên file và cùng thư mục với nguồn, mv thực hiện chức năng đổi tên. Để tiến hành đổi tên file, bạn thực hiện câu lệnh sau:

    mv file.txt file_old.txt
    Đổi tên file
    Đổi tên file

    2. Di chuyển vào thư mục

    Khi DEST là một đường dẫn thư mục, file sẽ được chuyển vào bên trong đó. Để di chuyển file vào thư mục, bạn thực thi lệnh sau:

    mv index.html /var/www/html/
    Di chuyển vào thư mục
    Di chuyển vào thư mục

    3. Thao tác hàng loạt với Wildcard

    Bạn có thể sử dụng ký tự đại diện (Wildcard) để di chuyển nhóm file có cùng định dạng sang khu vực lưu trữ với lệnh như sau:

    mv *.log /backup/logs/
    Thao tác hàng loạt với Wildcard
    Thao tác hàng loạt với Wildcard

    4. Di chuyển file an toàn (có hỏi trước khi ghi đè)

    Bạn có thể sử dụng lệnh sau để hạn chế việc vô tình thay thế file quan trọng. Lúc này, hệ thống sẽ tạm dừng và chờ phản hồi từ người quản trị.

    mv -i file.log backup/logs/

    Trên màn hình, hệ thống sẽ hỏi overwrite 'backup/logs/file.log'?

    Chế độ tương tác an toàn
    Chế độ tương tác an toàn

    Khi xuất hiện thông báo hỏi ghi đè, bạn cần nhập lựa chọn từ bàn phím:

    • Nhập y (yes) rồi nhấn Enter để đồng ý ghi đè file cũ.
    • Nhập n (no) rồi nhấn Enter để hủy thao tác di chuyển, file nguồn sẽ được giữ nguyên.

    5. Di chuyển file không ghi đè

    Lệnh sau dùng để di chuyển tất cả các file có đuôi .log vào thư mục backup/logs/ nhưng không ghi đè lên những file nào đã tồn tại sẵn trong thư mục đích.

    mv -n *.log backup/logs/
    Di chuyển file không ghi đè
    Di chuyển file không ghi đè

    6. Di chuyển danh sách file được lọc qua grep

    Lệnh dưới đây dùng để tìm tất cả các file có đuôi .txt trong thư mục hiện tại rồi di chuyển từng file đó vào thư mục docs/.

    ls | grep ".txt$" | xargs -I {} mv {} docs/

    Trong đó:

    • ls: Liệt kê tất cả file/thư mục trong thư mục hiện tại.
    • grep ".txt$": Lọc các dòng (tên file) kết thúc bằng .txt, tức là chỉ giữ lại file .txt.
    • xargs -I {} mv {} docs/: Với mỗi tên file nhận được, thay {} bằng tên đó và chạy lệnh mv <tên_file> docs/.
    Kết hợp lọc và di chuyển
    Kết hợp lọc và di chuyển

    Cách thiết lập Alias an toàn

    Trong môi trường Production, mọi thao tác ghi đè file đều phải được kiểm soát chặt chẽ, đặc biệt với file cấu hình và file hệ thống. Thiết lập alias cho mv sang chế độ tương tác giúp biến an toàn thành hành vi mặc định, thay vì phụ thuộc vào thói quen từng lệnh. Để thiết lập Alias, bạn thực thi lệnh sau:

    echo "alias mv='mv -i'" >> ~/.bashrc
    source ~/.bashrc

    Sau khi cấu hình alias, mỗi khi bạn gõ lệnh mv, shell sẽ tự động thực thi mv -i nhờ cơ chế alias nội bộ. Tùy chọn -i sẽ bắt buộc hệ thống phải hỏi xác nhận trước khi ghi đè lên file đích, giúp giảm thiểu các thao tác sai hoặc gõ nhầm lệnh.

    Vì chỉ một thao tác di chuyển nhầm file cấu hình trên server thật cũng có thể khiến Nginx không thể khởi động lại, ứng dụng bị dừng hoạt động và toàn bộ hệ thống bị gián đoạn nên việc kích hoạt mv -i sẽ giúp bạn ngăn ngừa phần lớn những sự cố này ngay từ thời điểm nhập lệnh.

    Câu hỏi thường gặp

    Tại sao mv di chuyển file trong cùng phân vùng lại nhanh hơn so với cp rồi xóa?

    Khi di chuyển trong cùng một phân vùng, lệnh mv chỉ cập nhật liên kết trong bảng inode thay vì đọc – ghi toàn bộ nội dung file, nên gần như chỉ tốn thời gian thao tác metadata.

    Khi nào mv có thể làm mất dữ liệu và làm sao giảm rủi ro?

    Dữ liệu có thể mất khi file đích đã tồn tại và bị ghi đè mà không có cảnh báo, đặc biệt khi dùng tùy chọn -f hoặc không bật chế độ tương tác. Bạn có thể sử dụng -i, -n hoặc alias mv=’mv -i’ để tránh ghi đè ngoài ý muốn.

    Lệnh mv xử lý thế nào khi di chuyển dữ liệu giữa hai phân vùng khác nhau?

    Khi nguồn và đích nằm trên hai phân vùng khác nhau, mv sẽ thực chất thực hiện sao chép nội dung sang phân vùng mới rồi xóa bản gốc, nên tốc độ phụ thuộc vào kích thước file và tốc độ I/O của thiết bị.

    Thông qua bài viết này, mình đã giới thiệu chi tiết cách sử dụng lệnh mv trong Linux để di chuyển file và thư mục một cách nhanh chóng, chính xác. Việc nắm vững các tùy chọn của mv không chỉ giúp tiết kiệm thời gian thao tác mà còn hạn chế rủi ro sai sót khi quản lý dữ liệu trên hệ thống. Hy vọng nội dung trên sẽ giúp bạn làm việc với Linux hiệu quả và chủ động hơn trong quá trình quản trị hoặc sử dụng hằng ngày.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách sử dụng fping để kiểm tra trạng thái của nhiều host cùng lúc
    Cách sử dụng fping để kiểm tra trạng thái của nhiều host cùng lúc

    fping là phiên bản mở rộng của lệnh ping, được dùng để kiểm tra trạng thái của nhiều địa chỉ IP hoặc domain cùng lúc nhanh chóng. Trong bài viết này, mình sẽ cung cấp một hướng dẫn toàn diện về fping, từ việc định nghĩa, cài đặt, cho đến cách khai thác các tính…

    06/02/2026

    Cách sử dụng lệnh stat Linux chi tiết và đơn giản
    Cách sử dụng lệnh stat Linux chi tiết và đơn giản

    Lệnh stat trong Linux là một tiện ích dòng lệnh dùng để hiển thị thông tin chi tiết về một file hoặc thư mục, cung cấp các thuộc tính như kích thước file, quyền truy cập, quyền sở hữu, các dấu thời gian liên quan đến lần truy cập, chỉnh sửa và thay đổi metadata…

    06/02/2026

    Hướng dẫn sử dụng lệnh rmdir để xóa thư mục trong Linux chi tiết
    Hướng dẫn sử dụng lệnh rmdir để xóa thư mục trong Linux chi tiết

    Lệnh rmdir là một công cụ dòng lệnh cơ bản trong hệ điều hành Linux, được thiết kế chuyên biệt để giúp bạn gỡ bỏ các thư mục trống khỏi hệ thống một cách an toàn. rmdir sẽ kiểm tra và chỉ thực hiện lệnh xóa khi thư mục thực sự không chứa tệp tin…

    06/02/2026

    Hướng dẫn check swap space Linux nhanh chóng, chính xác
    Hướng dẫn check swap space Linux nhanh chóng, chính xác

    Swap space được hiểu là vùng đệm lưu trữ dữ liệu tạm thời trên ổ cứng khi dung lượng RAM thực tế không còn đủ để đáp ứng các tiến trình đang chạy. Việc hiểu rõ cơ chế này giúp bạn duy trì sự ổn định của máy chủ, tránh tình trạng treo hệ thống…

    06/02/2026

    linux

    lenh

    text