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ệp SOURCE đượ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àm DESTINATION đí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ành DESTINATION. Ngược lại, nếu DESTINATION tồn tại, nó sẽ được di chuyển vào bên trong thư mục DESTINATION.

Để 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.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments