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/

Όταν χρησιμοποιείται για τη μετακίνηση ενός αρχείου στον ίδιο κατάλογο ή σε διαφορετικό κατάλογο, το mv μετονομάζει ουσιαστικά το αρχείο εάν οι διαδρομές προέλευσης και προορισμού βρίσκονται εντός του ίδιο σύστημα αρχείων.

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

Μετακίνηση πολλών αρχείων

Η εντολή mv δεν περιορίζεται στη μετακίνηση ενός αρχείου κάθε φορά. Μπορείτε να μετακινήσετε πολλά αρχεία ταυτόχρονα χρησιμοποιώντας χαρακτήρες μπαλαντέρ. Για παράδειγμα, για να μετακινήσετε όλα τα αρχεία κειμένου από έναν κατάλογο σε έναν άλλο, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:

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

Αντικατάσταση αρχείων

Κατά τη μετακίνηση αρχείων, ενδέχεται να αντιμετωπίσετε μια κατάσταση όπου ένα αρχείο με το ίδιο όνομα υπάρχει ήδη στον κατάλογο προορισμού. Από προεπιλογή, η εντολή mv θα σας ζητήσει επιβεβαίωση πριν αντικαταστήσετε ένα αρχείο. Ωστόσο, μπορείτε να παρακάμψετε αυτήν τη συμπεριφορά χρησιμοποιώντας την επιλογή -f:

$ mv -f filename destination_directory/

Να είστε προσεκτικοί όταν χρησιμοποιείτε την επιλογή -f, καθώς θα αντικαταστήσει τα υπάρχοντα αρχεία χωρίς καμία επιβεβαίωση.

Διατήρηση μεταδεδομένων αρχείου

Η εντολή mv όχι μόνο μεταφέρει τα αρχεία αλλά σας επιτρέπει επίσης να διατηρήσετε τα μεταδεδομένα τους, συμπεριλαμβανομένων των χρονικών σφραγίδων και των δικαιωμάτων. Για να διατηρήσετε τις αρχικές χρονικές σημάνσεις των αρχείων κατά τη μετακίνηση, χρησιμοποιήστε την επιλογή -p:

$ mv -p filename destination_directory/

Αυτό είναι ιδιαίτερα χρήσιμο όταν θέλετε να διασφαλίσετε ότι τα αρχεία που μετακινήθηκαν διατηρούν τις αρχικές χρονικές σημάνσεις δημιουργίας και τροποποίησης.

Λεπτή λειτουργία

Εάν προτιμάτε να βλέπετε λεπτομερείς πληροφορίες σχετικά με τα αρχεία που μετακινούνται, μπορείτε να χρησιμοποιήσετε την επιλογή -v για να ενεργοποιήσετε τη λεπτομερή λειτουργία:

$ mv -v filename destination_directory/

Η λειτουργία Verbose παρέχει ανατροφοδότηση σε πραγματικό χρόνο, εμφανίζοντας κάθε αρχείο καθώς μετακινείται, παρέχοντας μια σαφέστερη κατανόηση της διαδικασίας.

Μετακίνηση καταλόγων

Η εντολή mv μπορεί επίσης να χειριστεί απρόσκοπτα τις κινήσεις καταλόγου. Για να μετακινήσετε έναν ολόκληρο κατάλογο και τα περιεχόμενά του, απλώς καθορίστε τους καταλόγους προέλευσης και προορισμού:

$ mv source_directory/ destination_directory/

Αυτή η εντολή μετακινεί ολόκληρο το περιεχόμενο του καταλόγου προέλευσης στον καθορισμένο κατάλογο προορισμού.

Εναλλακτικοί τρόποι μετακίνησης αρχείων στο 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:

cp (Αντιγραφή) Εντολή με την επιλογή -r

Η εντολή cp χρησιμοποιείται παραδοσιακά για την αντιγραφή αρχείων, αλλά μπορεί επίσης να χρησιμοποιηθεί για τη μετακίνησή τους συνδυάζοντάς την με την επιλογή -r (αναδρομική). Αυτή η επιλογή είναι απαραίτητη όταν ασχολείστε με καταλόγους και το περιεχόμενό τους.

$ cp -r source_directory/ destination_directory/

Αυτή η εντολή αντιγράφει αναδρομικά τα περιεχόμενα του καταλόγου προέλευσης στον κατάλογο προορισμού και επιτυγχάνει αποτελεσματικά μια λειτουργία μετακίνησης.

Εντολή rsync

Η εντολή rsync είναι ένα ισχυρό εργαλείο για συγχρονισμό και αντιγραφή αρχείων. Μπορεί επίσης να χρησιμοποιηθεί για τη μετακίνηση αρχείων μεταξύ καταλόγων. Η βασική σύνταξη είναι:

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

Η επιλογή -a διατηρεί τα δικαιώματα του αρχείου και άλλα χαρακτηριστικά.
Η επιλογή -v επιτρέπει τη λεπτομερή λειτουργία για εμφάνιση των αρχείων που υποβάλλονται σε επεξεργασία.
The –remove-source-files option removes the files from the source directory after successful transfer.

Το rsync είναι ιδιαίτερα χρήσιμο για τη μεταφορά μεγάλων ποσοτήτων δεδομένων και τη διατήρηση του συγχρονισμού μεταξύ πηγής και προορισμού.

βρείτε και εκτελέστε την εντολή

Η εντολή find, σε συνδυασμό με το exec, μπορεί να χρησιμοποιηθεί για τη μετακίνηση αρχείων με βάση ορισμένα κριτήρια. Για παράδειγμα, για να μετακινήσετε όλα τα αρχεία κειμένου σε έναν κατάλογο και τους υποκαταλόγους του σε μια νέα θέση:

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

Περίληψη

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 find και exec 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.