Cách di chuyển file và thư mục trong Linux bằng lệnh mv

Di chuyển file và thư mục trong Linux là một trong những tác vụ cơ bản nhất mà bạn thường xuyên phải thực hiện. Bài viết hôm nay sẽ hướng dẫn bạn cách sử dụng lệnh mv trong Linux để di chuyển file & folder.

Lưu ý: 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é.

Cách di chuyển file và thư mục trong Linux bằng lệnh mv

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 di chuyển file trong Linux bằng mv như sau:

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.

3.1 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 Nenter thì không ghi đè.

3.2 É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

3.3 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.

3.4 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.

3.5 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

Chúc bạn di chuyển file và thư mục trong Linux bằng lệnh mv thành công!

Nguồn: freetuts

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận
Tags: , ,