mv command in linux terminal

How to Move Files in Linux: Mastering “mv” command

To move files in Linux you need to use the mv command. Here are some examples:

# move file1 to file2 (what command actually does is renaming the file)
$ mv file1 file2
# move file1 from dir1 to dir2
$ mv folder1/file1 folder2/
# move all files from folder1 to folder2
$ mv folder1/* folder2/

Khi được sử dụng để di chuyển một tập tin trong cùng một thư mục hoặc sang một thư mục khác, mv sẽ đổi tên tập tin một cách hiệu quả nếu đường dẫn nguồn và đích nằm trong thư mục đó. cùng một hệ thống tập tin.

Now when we touched the basics of the ‘mv’ command in Linux, lets explore more ways to efficiently move files and directories.

Mastering the “mv” command

Di chuyển nhiều tập tin

Lệnh mv không bị giới hạn trong việc di chuyển từng tệp một. Bạn có thể di chuyển nhiều tệp cùng lúc bằng ký tự đại diện. Ví dụ: để di chuyển tất cả các tệp văn bản từ thư mục này sang thư mục khác, bạn có thể sử dụng lệnh sau:

$ mv *.txt destination_directory/

This command selects all files with the “.txt” extension and moves them to the specified destination directory. The asterisk (*) acts as a wildcard, matching any characters.

Ghi đè tập tin

Khi di chuyển tệp, bạn có thể gặp phải tình huống tệp có cùng tên đã tồn tại trong thư mục đích. Theo mặc định, lệnh mv sẽ nhắc bạn xác nhận trước khi ghi đè tệp. Tuy nhiên, bạn có thể ghi đè hành vi này bằng cách sử dụng tùy chọn -f:

$ mv -f filename destination_directory/

Hãy thận trọng khi sử dụng tùy chọn -f vì nó sẽ ghi đè lên các tệp hiện có mà không có bất kỳ xác nhận nào.

Bảo quản siêu dữ liệu tệp

Lệnh mv không chỉ di chuyển các tệp mà còn cho phép bạn bảo toàn siêu dữ liệu của chúng, bao gồm dấu thời gian và quyền. Để duy trì dấu thời gian ban đầu của tệp trong quá trình di chuyển, hãy sử dụng tùy chọn -p:

$ mv -p filename destination_directory/

Điều này đặc biệt hữu ích khi bạn muốn đảm bảo rằng các tệp đã di chuyển vẫn giữ nguyên dấu thời gian tạo và sửa đổi ban đầu của chúng.

Chế độ dài dòng

Nếu bạn muốn xem thông tin chi tiết về các tệp đang được di chuyển, bạn có thể sử dụng tùy chọn -v để bật chế độ dài dòng:

$ mv -v filename destination_directory/

Chế độ chi tiết cung cấp phản hồi theo thời gian thực, hiển thị từng tệp khi nó được di chuyển, giúp hiểu rõ hơn về quy trình.

Di chuyển thư mục

Lệnh mv cũng có thể xử lý liền mạch các chuyển động của thư mục. Để di chuyển toàn bộ thư mục và nội dung của nó, chỉ cần chỉ định thư mục nguồn và đích:

$ mv source_directory/ destination_directory/

Lệnh này di chuyển toàn bộ nội dung của thư mục nguồn vào thư mục đích được chỉ định.

Các cách khác để di chuyển tệp trong Linux

In addition to the mv command, Linux provides a few other commands and utilities for moving files and directories. Here are a couple of alternatives:

Lệnh cp (Sao chép) với tùy chọn -r

Lệnh cp theo truyền thống được sử dụng để sao chép tệp, nhưng nó cũng có thể được sử dụng để di chuyển chúng bằng cách kết hợp nó với tùy chọn -r (đệ quy). Tùy chọn này là cần thiết khi xử lý các thư mục và nội dung của chúng.

$ cp -r source_directory/ destination_directory/

Lệnh này sao chép đệ quy nội dung của thư mục nguồn vào thư mục đích và thực hiện thao tác di chuyển một cách hiệu quả.

Lệnh rsync

Lệnh rsync là một công cụ mạnh mẽ để đồng bộ hóa và sao chép tệp. Nó cũng có thể được sử dụng để di chuyển các tập tin giữa các thư mục. Cú pháp cơ bản là:

$ rsync -av --remove-source-files source_directory/ destination_directory/

Tùy chọn -a duy trì quyền truy cập tệp và các thuộc tính khác.
Tùy chọn -v cho phép chế độ dài dòng hiển thị các tệp đang được xử lý.
The –remove-source-files option removes the files from the source directory after successful transfer.

rsync đặc biệt hữu ích để di chuyển lượng lớn dữ liệu và duy trì đồng bộ hóa giữa nguồn và đích.

tìm và thực thi lệnh

Lệnh find, kết hợp với exec, có thể được sử dụng để di chuyển tệp dựa trên các tiêu chí nhất định. Ví dụ: để di chuyển tất cả các tệp văn bản trong một thư mục và các thư mục con của nó đến một vị trí mới:

$ find source_directory/ -type f -name "*.txt" -exec mv {} destination_directory/

This command finds all files (-type f) with the “.txt” extension and executes the mv command on each of them, moving them to the specified destination.

Tóm tắt

Mastering the mv command in Linux is essential for efficient file and directory management. We’ve covered the fundamental usage of the mv command, from simple file renaming to moving entire directories. Additionally, we explored alternative commands like cp with the -r option, the rsync command, and the dynamic combination of findexec for more specialized moves. By incorporating these commands into your Linux toolkit, you empower yourself to manage files seamlessly and make the most of the robust capabilities that the Linux command line provides.