Android

Πώς να μετονομάσετε αρχεία και καταλόγους στο linux

Harvard CS50 lecture 1

Harvard CS50 lecture 1

Πίνακας περιεχομένων:

Anonim

Η μετονομασία αρχείων και καταλόγων είναι μια από τις πιο βασικές εργασίες που χρειάζεται συχνά να εκτελέσετε σε ένα σύστημα Linux.

Η μετονομασία ενός μόνο αρχείου είναι εύκολη, αλλά η μετονομασία πολλαπλών αρχείων ταυτόχρονα μπορεί να είναι μια πρόκληση, ειδικά για χρήστες που είναι νέοι στο Linux. Μπορείτε να μετονομάσετε αρχεία χρησιμοποιώντας έναν διαχειριστή αρχείων GUI ή μέσω του τερματικού γραμμής εντολών.

Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε τις εντολές mv και rename για μετονομασία αρχείων και καταλόγων.

Μετονομασία αρχείων με εντολή mv

Η εντολή mv (μικρή από την κίνηση) χρησιμοποιείται για τη μετονομασία ή την μετακίνηση αρχείων από μια θέση σε άλλη. Η σύνταξη της εντολής mv έχει ως εξής:

mv source destination

Η source μπορεί να είναι ένα ή περισσότερα αρχεία ή καταλόγους και ο destination μπορεί να είναι ένα μόνο αρχείο ή κατάλογος.

  • Εάν ορίσετε πολλά αρχεία ως source , ο destination πρέπει να είναι κατάλογος. Σε αυτή την περίπτωση, τα αρχεία source μετακινούνται στον κατάλογο στόχου. Εάν καθορίσετε ένα μόνο αρχείο ως source και ο destination προορισμού είναι ένας υπάρχων κατάλογος τότε το αρχείο μετακινείται στον καθορισμένο κατάλογο.Για να μετονομάσετε ένα αρχείο πρέπει να καθορίσετε ένα ένα μόνο αρχείο ως source και ένα μόνο αρχείο ως destination προορισμού.

Για παράδειγμα, για να μετονομάσετε το αρχείο file1.txt ως file2.txt θα εκτελέσετε:

mv file1.txt file2.txt

Μετονομασία πολλαπλών αρχείων με την εντολή mv

Η εντολή mv μπορεί να μετονομάσει μόνο ένα αρχείο τη φορά, αλλά μπορεί να χρησιμοποιηθεί σε συνδυασμό με άλλες εντολές, όπως find or inside bash για ή για βρόχους για να μετονομάσετε πολλά αρχεία.

Το παρακάτω παράδειγμα δείχνει τον τρόπο χρήσης του βρόχου Bash για να μετονομάσετε όλα τα αρχεία .html στον τρέχοντα κατάλογο, αλλάζοντας την επέκταση .html σε .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

Ας αναλύσουμε την γραμμή κώδικα κατά γραμμή:

  • Η πρώτη γραμμή δημιουργεί ένα για βρόχο και επαναλαμβάνει μέσω μιας λίστας όλων των αρχείων που συνοδεύουν το .html . Η δεύτερη γραμμή ισχύει για κάθε στοιχείο της λίστας και μετακινεί το αρχείο σε νέο που αντικαθιστά το .html με το .php . Το τμήμα ${file%.html} χρησιμοποιεί την επέκταση παραμέτρων κελύφους για να αφαιρέσει το τμήμα .html από το αρχείοname.done υποδηλώνει το τέλος του τμήματος βρόχου.

Μπορούμε επίσης να χρησιμοποιήσουμε την εντολή mv σε συνδυασμό με το find για να επιτύχουμε το ίδιο όπως παραπάνω.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

Η εντολή find περνάει όλα τα αρχεία που τελειώνουν με το .html στον τρέχοντα κατάλογο στην εντολή mv μία με ένα χρησιμοποιώντας το διακόπτη -exec . Η συμβολοσειρά {} είναι το όνομα του αρχείου που βρίσκεται υπό επεξεργασία.

Όπως μπορείτε να δείτε από τα παραπάνω παραδείγματα, η μετονομασία πολλών αρχείων χρησιμοποιώντας την εντολή mv δεν είναι εύκολη υπόθεση καθώς απαιτεί καλή γνώση του scripting Bash.

Μετονομασία αρχείων με εντολή μετονομασίας

Η εντολή rename χρησιμοποιείται για τη μετονομασία πολλών αρχείων. Αυτή η εντολή είναι πιο προηγμένη από την mv καθώς απαιτεί κάποια βασική γνώση των κανονικών εκφράσεων.

Υπάρχουν δύο εκδόσεις της εντολής rename με διαφορετική σύνταξη. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε την έκδοση perl της εντολής rename . Αν δεν έχετε αυτήν την έκδοση εγκατεστημένη στο σύστημά σας, μπορείτε να την εγκαταστήσετε εύκολα χρησιμοποιώντας το διαχειριστή πακέτων της διανομής σας.

  • Εγκαταστήστε μετονομασία σε Ubuntu και Debian

    sudo apt install rename

    Εγκαταστήστε μετονομασία σε CentOS και Fedora

    sudo yum install prename

    Εγκαταστήστε μετονομασία στο Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

Η σύνταξη για την εντολή rename έχει ως εξής:

rename perlexpr files

Η εντολή rename θα μετονομάσει όλα τα files σύμφωνα με την καθορισμένη κανονική έκφραση perlexpr . Μπορείτε να κάνετε σχετικά με τις κανονικές εκφράσεις perl εδώ.

Για παράδειγμα, η ακόλουθη εντολή θα αλλάξει όλα τα αρχεία με την επέκταση .html σε .php :

rename 's/.html/.php/' *.html

Μπορείτε να χρησιμοποιήσετε το όρισμα -n για να εκτυπώσετε τα ονόματα των αρχείων προς μετονομασία, χωρίς να τα μετονομάσετε.

rename -n 's/.html/.php/' *.html

Η έξοδος θα φαίνεται κάπως έτσι:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

Από προεπιλογή, η εντολή μετονομασίας δεν θα αντικαταστήσει υπάρχοντα αρχεία. Περάστε το όρισμα -f για να επιτρέψετε την -f των υφιστάμενων αρχείων.

rename -f 's/.html/.php/' *.html

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

  • Αντικαταστήστε τα κενά στα ονόματα των αρχείων με τις υποσημειώσεις

    rename 'y/ /_/' *

    Μετατρέψτε τα ονόματα αρχείων σε πεζά

    rename 'y/AZ/az/' *

    Μετατρέψτε τα ονόματα αρχείων σε κεφαλαία

    rename 'y/az/AZ/' *

συμπέρασμα

Μέχρι τώρα θα πρέπει να έχετε μια καλή κατανόηση για το πώς να χρησιμοποιήσετε τις εντολές mv και rename για να μετονομάσετε αρχεία. Φυσικά, υπάρχουν και άλλες εντολές για μετονομασία αρχείων στο Linux όπως το mmv . Οι νέοι χρήστες του Linux που εκφοβίζονται από τη γραμμή εντολών μπορούν να χρησιμοποιούν εργαλεία μετονομασίας GUI παρτίδας όπως το Métamorphose.

μετονομάστε το τερματικό mv