Προσπαθώ να αντιγράψω τα περιεχόμενα ενός φακέλου σε έναν άλλο φάκελο σε διαφορετικό κατάλογο χρησιμοποιώντας τερματικό.
Θα μπορούσε κάποιος να μου δώσει ένα παράδειγμα της σύνταξης της γραμμής εντολών που απαιτείται για να επιτευχθεί αυτό;
Μπορείτε να αντιγράψετε το περιεχόμενο ενός φακέλου /source
σε έναν άλλο υπάρχοντα φάκελο /dest
με την εντολή
cp -a /source/. /dest/
Η επιλογή -a
είναι μια βελτιωμένη αναδρομική επιλογή, η οποία διατηρεί όλα τα χαρακτηριστικά των αρχείων και διατηρεί επίσης τους συμβολικούς συνδέσμους.
Το .
στο τέλος της διαδρομής πηγής είναι μια ειδική σύνταξη cp
που επιτρέπει την αντιγραφή όλων των αρχείων και φακέλων, συμπεριλαμβανομένων και των κρυφών.
Μια εναλλακτική λύση είναι το rsync
rsync -r source/ destination
Τα πλεονεκτήματα του rsync είναι:
Μετά τον αρχικό συγχρονισμό, στη συνέχεια θα αντιγράψει μόνο τα αρχεία που έχουν αλλάξει.
Μπορείτε να το χρησιμοποιήσετε μέσω δικτύου, βολικό για αρχεία στο $HOME, ειδικά για αρχεία ρυθμίσεων.
Ας πούμε ότι έχετε έναν φάκελο με όνομα folder1 στο ~
σας, μέσα στον folder1 υπάρχει 1 αρχείο με όνομα file1 και 2 φάκελοι με ονόματα sub1 και sub2 ο καθένας με άλλα αρχεία και φακέλους μέσα σε αυτούς.
Για να αντιγράψετε όλα τα περιεχόμενα του ~/folder1
στο ~/new_folder1
θα χρησιμοποιούσατε
cp -r ~/folder1/. ~/new_folder1
Ο new_folder1
θα περιέχει τότε όλα τα αρχεία και τους φακέλους από τον folder1
.
cp
είναι η εντολή για αντιγραφή χρησιμοποιώντας ένα τερματικό, -r
το κάνει αναδρομικά (έτσι, τρέχων κατάλογος + περαιτέρω κατάλογοι μέσα στον τρέχων) ~/folder1
είναι ο αρχικός φάκελος, ~/new_folder1
είναι ο φάκελος προορισμού για τα αρχεία/φακέλους μέσα στον αρχικό.