Thứ Sáu, 28 tháng 7, 2023

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

Mục lục

  • 1. Cú pháp lệnh mv trong Linux
  • 2. Di chuyển nhiều file và nhiều thư mục bằng lệnh mv
  • 3. Tùy chọn option trong lệnh mv Linux
    • Hỏi xác nhận trước khi overwrite
    • Ép buộc ghi đè
    • Không ghi đè vào file đã tồn tại
    • Backup file
    • Xuất báo cáo kết quả

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 [tranvanbinh.vn]

1
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:

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

1
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:

1
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:

1
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:

1
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:

1
type mv

Kết quả sẽ có dạng như sau:

1
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é.

1
mv -i file1 /tmp

Nội dung hỏi sẽ có dạng như sau:

1
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?

1
2
3
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):

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

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

1
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é.

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

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master