Cách dùng lệnh mv trong Linux để di chuyển file và folder
Trong bài này mình sẽ hướng dẫn cách sử dụng lệnh mv trong Linux, đây là lệnh dùng để di chuyển file và folder trong hệ thống Linux.
Di chuyển file và thư mục là một trong những tác vụ cơ bản nhất mà bạn thường cần thực hiện trên hệ thống Linux. Bạn cũng có thể áp dụng cách này để đổi tên file bằng cách di chuyển và đặt cho nó một cái tên mới.
Sau đây chúng ta cùng tìm hiểu cú pháp và làm một vài ví dụ về mv command nhé.
1. Cú pháp lệnh mv trong Linux
Lệnh mv (viết tắt của move) được sử dụng để đổi tên và di chuyển các file và thư mục từ vị trí này sang vị trí khác. Cú pháp của lệnh mv như sau:
Bài viết này được đăng tại [free tuts .net]
mv [OPTIONS] SOURCE DESTINATION
Trong đó SOURCE có thể là file hoặc thư mục cần di chuyển, DESTINATION chính là nơi đến và số lượng thì tùy thuộc vào SOURCE.
- Khi SOURCE là nhiều file hoặc thư mục thì DESTINATION phải là một thư mục. Trường hợp này thì các file hoặc folder sẽ di chuyển tới folder đích.
- Nếu SOURCE là một file và DESTINATION là thư mục thì file đó se được chuyển đến thư mục.
- Néu SOURCE là một file và DESTINATION cũng là một file thì bạn đang di chuyển và đổi tên file.
- Khi SOURCE là một file và DESTINATION không tồn tại thì tức là bạn đang đổi tên của file tại ngay thư mục đang đứng. Ngược lại, nếu DESTINATION tồn tại thì là một hành động di chuyển file.
Để di chuyển một file hoặc thư mục thì bạn cần có quyền write trên cả SOURCE và DESTINATION.
Ví dụ: để di chuyển file1 từ thư mục làm việc hiện tại hiện tại sang thư mục /tmp thì bạn sẽ chạy lệnh sau:
mv file1 /tmp
Để đổi tên file thì bạn chỉ cần nhập vào file gốc và nhập tên file mới.
mv file1 file2
Cú pháp để di chuyển thư mục cũng giống như khi di chuyển file. Trong ví dụ sau, nếu thư mục dir2 tồn tại thì lệnh sẽ chuyển dir1 vào bên trong dir2. Nếu dir2 không tồn tại, dir1 sẽ được đổi tên thành dir2:
mv dir1 dir2
2. Di chuyển nhiều file và nhiều thư mục bằng lệnh mv
Để di chuyển nhiều file và thư mục thì hãy chỉ định các file mà bạn muốn di chuyển làm nguồn.
Ví dụ, để di chuyển các file file1 và file2 vào thư mục dir1 thì bạn sẽ nhập lệnh sau:
mv file1 file2 dir1
Lệnh mv cũng cho phép bạn sử dụng pattern. Ví dụ: để di chuyển tất cả các file pdf từ thư mục hiện tại sang thư mục ~/Documents
thì bạn sẽ chạy lệnh sau:
mv *.pdf ~/Documents
3. Tùy chọn option trong lệnh mv Linux
Lệnh mv cho phép bạn nhập một số tùy chọn cấu hình để thực hiện di chuyển dữ liệu theo mong muốn.
Trong một số bản phân phối Linux, lệnh mv có thể là bí danh alias của lệnh mv với một option khác. Ví dụ, trong CentOS thì lệnh mv là bí danh của mv -i
. Bạn có thể kiểm tra xem mv có phải là bí danh hay không bằng cách sử dụng lệnh type:
type mv
Kết quả sẽ có dạng như sau:
mv is aliased to `mv -i'
Nếu các tùy chọn xung đột thì tùy chọn cuối cùng sẽ được lấy.
Hỏi xác nhận trước khi overwrite
Theo mặc định, nếu file đích tồn tại thì nó sẽ bị ghi đè và không có một thông báo gì cho bạn biết cả. Nếu bạn muốn nhận thông báo trước khi ghi đè thì hãy thêm tùy chọn -i
nhé.
mv -i file1 /tmp
Nội dung hỏi sẽ có dạng như sau:
mv: overwrite '/tmp/file1'?
Nếu bạn nhập Y và nhấn enter thì đồng ý ghi đè, nhập N và enter thì không ghi đè.
Ép buộc ghi đè
Nếu bạn cố gắng ghi đè lên file chỉ đọc thì lệnh mv sẽ nhắc bạn có muốn ghi đè lên file đó không?
mv -i file1 /tmp mv: replace '/tmp/file1', overriding mode 0400 (r--------)?
Để tránh bị nhắc thông báo thì bạn hãy thêm tùy chọn -f (--force):
mv -f file1 /tmp
Không ghi đè vào file đã tồn tại
Tùy chọn -n sẽ cho lệnh mv biết là không được ghi đè nếu file đã tồn tại.
mv -f file1 /tmp
nếu file 1 đã tồn tại trong thư mục /tmp thì lệnh sẽ không làm gì, ngược lại nó sẽ được di chuyển vào thư mục /tmp.
Backup file
Nếu file đích đã tồn tại thì bạn có thể tạo ra một bản backup của file đó trước khi ghi đè. Để làm điều này thì sử dụng tùy chọn -b
.
mv -b file1 /tmp
Tên của file backup sẽ cùng tên với file gốc cộng với dấu ~ được thêm vào.
Xuất báo cáo kết quả
Nếu bạn muốn lệnh mv trả về một báo cáo kết quả thì hãy sử dụng tùy chọn -v
nhé.
mv -v file1 /tmp
Như vậy là mình đã hướng dẫn xong cách sử dụng lệnh mv để di chuyển file và thư mục trong Linux, đây là lệnh rất hay và được sử dụng rất nhiều trong lúc quản lý hệ thống Linux.