Αντιγραφή αρχείων και αντιγραφή καταλόγων σε Linux

Copying Files Copying Directories Linux



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

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







Όταν θέλετε να αντιγράψετε ένα αρχείο/φάκελο, πρέπει να το διευκρινίσετε αρκετά στο σύστημα, ώστε να μην μπερδευτούν τα πράγματα. Είναι επίσης ένα υπέροχο πράγμα που κάθε φορά που αντιγράφετε/μετακινείτε αρχείο από τη μία ή την άλλη μονάδα δίσκου, εξακολουθείτε να τα βάζετε σε ένα φάκελο!



Αντιγραφή κόλπων

Για την αντιγραφή, θα χρησιμοποιήσουμε την εντολή cp. Αυτή είναι η βασική δομή cp -



cp [παράμετρος]source_file_directory target_file_directory

Εάν θέλετε να αντιγράψετε ένα αρχείο σε άλλο κατάλογο, πρέπει να εκτελέσετε τις ακόλουθες εντολές. Σημειώστε ότι χρησιμοποιώ το _ _+_ | με 3 δοκιμαστικά αρχεία ως επίδειξη για αυτόν τον οδηγό.





CD~/Λήψεις/testDir

# Αντιγράψτε όλα τα διαθέσιμα αρχεία στο | _+_ | Ευρετήριο

cp *~/Επιφάνεια εργασίας/testDir1

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

  • -Εγώ - Διαδραστική λειτουργία αντιγραφής. Εάν το πρόγραμμα διαπιστώσει τυχόν εμπόδια (υπάρχει ήδη αρχείο κ.λπ.), θα ζητήσει τη δράση σας σχετικά με την κατάσταση.
  • -r - Αναδρομική. Αυτή η επιλογή θα αντιγράψει όλα τα αρχεία και τους καταλόγους που περιλαμβάνονται στον προορισμό. Θα διατηρήσει επίσης τη δομή δέντρου του καταλόγου προέλευσης.
  • - Λεπτή λειτουργία. Αυτό είναι χρήσιμο εάν θέλετε να λάβετε σχόλια ότι η εργασία αντιγραφής βρίσκεται σε εξέλιξη. Για κάθε ερώτηση, υπάρχουν 2 διαθέσιμες απαντήσεις - y (Ναι) και n (Όχι).
cp *~/Επιφάνεια εργασίας/testDir1/

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

cp -irv~/Επιφάνεια εργασίας/testDir1/

Αντιγραφή ολόκληρου καταλόγου

Τώρα, ας σκεφτούμε μια κατάσταση κατά την οποία πρέπει να αντιγράψετε όλα τα αρχεία και τους καταλόγους σας (φακέλους) στον κατάλογο προορισμού. Maybeσως σκέφτεστε να χρησιμοποιήσετε το ίδιο κόλπο με το παραπάνω, σωστά;

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

cp *υπο/

Το αποτέλεσμα είναι αυτό -

Φρικιαστικό, σωστά; Όλα είναι εντάξει και ο cp θα έπρεπε να έχει αντιγράψει τα πάντα σε αυτόν τον κατάλογο. Ποιο είναι το πρόβλημα?

Η απάντηση που συζητήσαμε παραπάνω. Θυμάστε την παράμετρο cp -r; Υποδεικνύει την εκτέλεση της εργασίας αναδρομικά-αντιγράψτε όλους τους υπο-καταλόγους και αρχεία από την πηγή στον προορισμό.

Ας το διορθώσουμε αμέσως! Εκτελέστε τη σταθερή εντολή -

cp -βρ *υπο/

Τώρα, όλα φαίνονται καλά και λειτουργούν.

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

Όπως μπορείτε να δείτε, όλα στον κατάλογο λήψεων, συμπεριλαμβανομένου του υπο-καταλόγου, βρίσκονται μέσα στον υποκατάλογο.

Ακριβώς έτσι, εάν θέλετε να αντιγράψετε έναν ολόκληρο κατάλογο σε έναν άλλο κατάλογο, χρησιμοποιήστε την παράμετρο -r. Για παράδειγμα, θα αντιγράψω ~/Downloads/στο/Desktop/testDir1/.

cp -βρ~/Λήψεις/~/Επιφάνεια εργασίας/testDir1/

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