Di chuyển tệp 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.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách sử dụng lệnh mv
để di chuyển tệp và thư mục.
Cách sử dụng lệnh mv
Lệnh mv
(viết tắt của từ di chuyển) được sử dụng để đổi tên và di chuyển và các tập tin và thư mục từ một địa điểm khác. Cú pháp của lệnh mv
như sau:
mv [OPTIONS] SOURCE DESTINATION
Có thể SOURCE
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.
- Khi nhiều tệp hoặc thư mục được cung cấp dưới dạng a
SOURCE
, thìDESTINATION
phải là một thư mục. Trong trường hợp này, các tệpSOURCE
được chuyển đến thư mục đích. - Nếu bạn chỉ định một tệp duy nhất 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. - Nếu bạn chỉ định một tệp duy nhất là
SOURCE
và một tệp duy nhất làmDESTINATION
đích thì bạn đang đổi tên tệp . - Khi thư mục
SOURCE
là một thư mục vàDESTINATION
không tồn tại,SOURCE
sẽ được đổi tên thànhDESTINATION
. Ngược lại, nếuDESTINATION
tồn tại, nó sẽ được di chuyển vào bên trong thư mụcDESTINATION
.
Để di chuyển một tệp hoặc thư mục, bạn cần có quyền ghi trên cả SOURCE
và DESTINATION
. Nếu không, bạn sẽ nhận được lỗi bị từ chối cho phép.
Ví dụ, để di chuyển tệp file1
từ thư mục làm việc hiện tại sang thư mục /tmp
bạn sẽ chạy:
mv file1 /tmp
Để đổi tên tệp, bạn cần chỉ định tên tệp đích:
mv file1 file2
Cú pháp để di chuyển thư mục cũng giống như khi di chuyển tệp. Trong ví dụ sau, nếu dir2
thư mục tồn tại, lệnh sẽ di 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
Di chuyển nhiều tệp và thư mục
Để di chuyển nhiều tệp và thư mục, hãy chỉ định các tệp bạn muốn di chuyển làm nguồn. Ví dụ: để di chuyển các tệp file1
và file2
đến dir1
thư mục bạn sẽ nhập:
mv file1 file2 dir1
Lệnh mv
cũng cho phép bạn sử dụng mô hình kết hợp. Ví dụ: để di chuyển tất cả các tệp pdf
từ thư mục hiện tại sang thư mục ~/Documents
, bạn sẽ sử dụng:
mv *.pdf ~/Documents
Tùy chọn khác của lệnh mv
Lệnh mv
chấp nhận một vài lựa chọn có ảnh hưởng đến hành vi của lệnh mặc định.
Trong một số bản phân phối Linux, mv
có thể là một bí danh của lệnh mv
với một tập hợp các tùy chọn tùy chỉnh. Ví dụ, trong CentOS mv
là một bí danh cho mv -i
. Bạn có thể tìm xem có phải mv
là bí danh hay không bằng cách sử dụng lệnh type
:
type mv
Nếu mv
là bí danh, đầu ra sẽ giống như sau:
mv is aliased to `mv -i'
Nếu các tùy chọn xung đột được đưa ra, thì tùy chọn cuối cùng sẽ được ưu tiên.
Nhắc trước khi ghi đè
Theo mặc định, nếu tệp đích tồn tại, nó sẽ bị ghi đè. Để nhắc xác nhận, hãy sử dụng -i
tùy chọn:
mv -i file1 /tmp
mv: overwrite '/tmp/file1'?
Để ghi đè loại tệp y
hoặc Y
.
Buộc ghi đè
Nếu bạn cố gắng ghi đè tệp chỉ đọc, lệnh mv
sẽ nhắc bạn có muốn ghi đè tệp hay không:
mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)?
Để tránh bị nhắc, hãy sử dụng tùy chọn -f
:
mv -f file1 /tmp
Tùy chọn này đặc biệt hữu ích khi bạn cần ghi đè nhiều tệp chỉ đọc.
Không ghi đè lên các tệp hiện có
Tùy chọn -n
nói mv
không bao giờ ghi đè lên bất kỳ tập tin hiện có:
mv -n file1 /tmp
Nếu file1
tồn tại, lệnh trên sẽ không làm gì cả. Nếu không, nó sẽ di chuyển tệp vào thư mục /tmp
.
Sao lưu các tập tin
Nếu tệp đích tồn tại, bạn có thể tạo bản sao lưu của nó bằng cách sử dụng tùy chọn -b
:
mv -b file1 /tmp
Tệp sao lưu sẽ có cùng tên với tệp gốc với dấu ngã ( ~
) được thêm vào.
Sử dụng lệnh ls để xác minh rằng bản sao lưu đã được tạo:
ls /tmp/file1*
/tmp/file1 /tmp/file1~
Verbose output
Một tùy chọn khác có thể hữu ích là -v
. Khi tùy chọn này được sử dụng, lệnh sẽ in tên của mỗi tệp được di chuyển:
mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'
Phần kết luận
Lệnh mv
được sử dụng để di chuyển và đổi tên tập tin và thư mục.
Để biết thêm thông tin về lệnh mv
, hãy kiểm tra trang man hoặc nhập man mv
vào terminal của bạn.
Người dùng Linux mới bị đe dọa bởi dòng lệnh có thể sử dụng trình quản lý tệp GUI để di chuyển tệp của họ.
Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, hãy để lại bình luận.