Πώς να αντιγράψετε έναν κατάλογο και το περιεχόμενό του στο Linux

Χρησιμοποιήστε την εντολή «cp» για να αντιγράψετε και να επικολλήσετε ολόκληρους καταλόγους από το ένα μέρος στο άλλο

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

Η αντιγραφή αρχείων ή φακέλων γίνεται συνήθως χρησιμοποιώντας το GUI. Το Linux φροντίζει για τη συνήθεια σας να εργάζεστε στο τερματικό παρέχοντας ένα βοηθητικό πρόγραμμα γραμμής εντολών που σας επιτρέπει να αντιγράφετε αρχεία ή φακέλους από τη μια τοποθεσία στην άλλη. Χρησιμοποιώντας το cp Η εντολή με μια ποικιλία επιλογών σάς δίνει την ελευθερία να αντιγράφετε αρχεία και φακέλους με πολλούς τρόπους.

Επιτρέψτε μου να σας καθοδηγήσω σε αυτό το άρθρο όπου θα μάθετε για το cp εντολή και τους τρόπους αντιγραφής καταλόγων μαζί με το περιεχόμενό τους.

Διαθέσιμες επιλογές με cp εντολή

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

ΕπιλογέςΠεριγραφή
-vαναλυτική λειτουργία (δείχνει την πρόοδο)
-r/Rαντιγράψτε τους καταλόγους αναδρομικά
-nμην αντικαθιστάτε ένα υπάρχον αρχείο ή φάκελο
-Εγώπροτροπή πριν από την αντικατάσταση

Αντιγράψτε έναν κατάλογο από τη μια τοποθεσία στην άλλη

Ας ξεκινήσουμε με την πιο βασική χρήση του cp εντολή. Θα χρησιμοποιήσουμε αυτήν την εντολή με την επιλογή -r.

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

Σύνταξη:

cp -r [πηγή_τοποθεσία] [τοποθεσία_στόχος]

Παράδειγμα:

Έχω δύο καταλόγους στον τρέχοντα κατάλογο εργασίας μου που ονομάζονται «έργο» και «χώρος εργασίας».

Σε αυτό το παράδειγμα, θα χρησιμοποιήσω το cp -r εντολή για την αντιγραφή του καταλόγου «project» μαζί με όλο το περιεχόμενό του σε μια νέα τοποθεσία, π.χ. «/home/gaurav/workspace». Αυτό σημαίνει απλώς ότι αντιγράφω τον κατάλογο με το όνομα «project» σε έναν κατάλογο που ονομάζεται «χώρος εργασίας».

Αυτά είναι τα περιεχόμενα του καταλόγου «project». Χρησιμοποιώντας το ls εντολή για την εμφάνιση του περιεχομένου του.

gaurav@ubuntu:~/project$ ls -al σύνολο 288 drwxr-xr-x 6 gaurav gaurav 4096 Σεπ 17 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 17 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem1, drwxr-xr-x 2 gaurav 18:24 drwxr-xr-x 2 gaurav gaurav -x 2 gaurav gaurav 4096 Sep 17 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep:2617 Sep. ubuntu:~/project$

Τώρα, χρησιμοποιώντας το cp -r εντολή μπορούμε να αντιγράψουμε τον κατάλογο «project» σε οποιαδήποτε επιθυμητή θέση.

gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/workspace gaurav@ubuntu:~$

Παραγωγή:

gaurav@ubuntu:~/χώρος εργασίας$ ls -al σύνολο 408 drwxrwxr-x 4 gaurav gaurav 4096 Σεπ 17 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 17 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 Mar 22 2018 .metadata drwxr-xr-x 6 gaurav 1-7rw 2018 -- 1 gaurav gaurav 1535 Sep 16 17:13 source.c gaurav@ubuntu:~/workspace$ 

Στην παραπάνω έξοδο, μπορούμε να δούμε ότι ο κατάλογος «project» αντιγράφεται από την αρχική θέση σε αυτήν τη νέα θέση «/home/gaurav/workspace». Τώρα, ας ανοίξουμε τον κατάλογο «project» και ας ελέγξουμε αν όλα τα περιεχόμενα μέσα του έχουν επίσης αντιγραφεί.

gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$

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

Παραγωγή:

gaurav@ubuntu:~/workspace/project$ ls -al συνολικά 28 drwxr-xr-x 6 gaurav gaurav 4096 Σεπ 17 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 Sep 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 17 drwxr-xr-x 2 gaurav gaurav: 2 gaurav gaurav 4096 Sep 17 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 temp.urav 18: ~/χώρος εργασίας/έργο$ 

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

Αντιγραφή πολλών καταλόγων από μια τοποθεσία σε άλλη

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

Σύνταξη:

cp -r [source_path_1] [source_path_n] [destination_path]

Ας ελέγξουμε αυτήν την εντολή με ένα παράδειγμα.

Παράδειγμα:

gaurav@ubuntu:~/χώρος εργασίας$ cp -r ./snap ./project /home/gaurav/tomcat

Εδώ, έχω αντιγράψει δύο καταλόγους «snap» και «project» από τον τρέχοντα κατάλογο εργασίας μου σε μια νέα τοποθεσία «/home/gaurav/tomcat».

Τώρα ας ελέγξουμε αν οι κατάλογοι έχουν αντιγραφεί με το περιεχόμενό τους στη νέα τοποθεσία.

gaurav@ubuntu:~/tomcat$ ls -al σύνολο 9316 drwxrwxr-x 5 gaurav gaurav 4096 Σεπ 19 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 19 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 Sep 19 12:16 project drwxr-xr-x 7 gaurav 0912 Sep 4:

Έλεγχος εάν το περιεχόμενο αυτών των καταλόγων αντιγράφεται επίσης.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb eclipse htop pycharm-community vim-editor gaurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$

Χρησιμοποιώντας cp εντολή με αναλυτική λειτουργία

Χρησιμοποιώντας το cp εντολή με την επιλογή -v ενεργοποιεί τη λεπτομερή λειτουργία. Αυτή η δυνατότητα εμφανίζει τα αρχεία στο τερματικό που αντιγράφονται. Το όνομα του αρχείου ή του φακέλου που αντιγράφεται εμφανίζεται στο τερματικό σας.

Σύνταξη:

cp -vr [πηγή_κατάλογος] [target_location_path]

Παράδειγμα:

gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space

Σε αυτό το παράδειγμα, ο κατάλογος "apache" αντιγράφεται σε έναν νέο φάκελο "space". Έχω χρησιμοποιήσει το -v επιλογή με -r, έτσι ώστε όλα τα περιεχόμενα του καταλόγου apache να αντιγράφονται επίσης.

Παραγωγή:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

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

Αποφύγετε την αντικατάσταση κατά τη χρήση cp εντολή

Μερικές φορές κατά τη χρήση του cp εντολή για την αντιγραφή πολλών αρχείων ή φακέλων, μπορεί να καταλήξετε να αντικαταστήσετε αρχεία που έχουν ήδη αντιγραφεί στη νέα θέση. Για να αποφευχθεί αυτό, συνιστάται να χρησιμοποιείτε το -Εγώ επιλογή με το cp εντολή. Αυτό θα σας ζητήσει πριν αντικαταστήσετε οποιοδήποτε αρχείο ή φάκελο.

Σύνταξη:

cp -ri [πηγή_καταλόγου_διαδρομή] [target_location_path]

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

Παράδειγμα:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: αντικατάσταση του './tomcat/snap/pycharm-community/current';

Εδώ, προσπάθησα να αντιγράψω έναν κατάλογο με το όνομα «snap» σε μια νέα τοποθεσία. Αλλά το όνομα καταλόγου "snap" υπάρχει ήδη στη νέα τοποθεσία. Ως εκ τούτου, θα μου ζητηθεί από το τερματικό πριν αντικαταστήσω τον υπάρχοντα κατάλογο snap.

Μπορείτε να πληκτρολογήσετε 'Ναί' ή 'Οχιως απάντηση σε αυτή την προτροπή.

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

Παράλειψη αντικατάστασης αρχείων και καταλόγων με cp εντολή

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

Σύνταξη:

cp -nr [πηγή_καταλόγου_διαδρομή] [target_location_path]

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

Παράδειγμα:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$

Εδώ, ο κατάλογος 'snap' υπάρχει ήδη στη θέση προορισμού. Ως εκ τούτου, χρησιμοποιώντας -n Η επιλογή θα εξασφαλίσει ότι δεν θα αντικατασταθεί αυτός ο κατάλογος.

Διαφορετικός -Εγώ επιλογή, εδώ δεν θα σας ζητηθεί η αντικατάσταση.

συμπέρασμα

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

Κατηγορία: Linux