Πώς δημιουργείτε ένα ενιαίο αρχείο που εμφανίζεται να εμφανίζεται ταυτόχρονα σε πολλούς φακέλους;
Εάν έχετε έναν μεγάλο αριθμό φακέλων που έχουν ρυθμιστεί για την εργασία σας και πρέπει να χρησιμοποιήσετε το ίδιο αρχείο σεναρίων σε όλες τις ημέρες εργασίας, τότε ποιος είναι ο ευκολότερος τρόπος για να επιτευχθεί αυτό πέρα από πολλές αντιγραφές και επικόλληση; Η σημερινή θέση Q & A της SuperUser έχει μερικές χρήσιμες απαντήσεις και συμβουλές για έναν απογοητευμένο αναγνώστη.
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Στιγμιότυπο οθόνης από csaveanu (Flickr).
Το ερώτημα
Ο αναγνώστης SuperUser Elliot αναζητά τον καλύτερο τρόπο να εμφανιστεί ταυτόχρονα το ίδιο αρχείο σε πολλούς φακέλους:
Έχω 50+ φακέλους, καθένας από τους οποίους περιέχει ένα μεγάλο αριθμό δεδομένων που πρέπει να υποστούν επεξεργασία. Όλες επεξεργάζονται χρησιμοποιώντας τον ίδιο ακριβή κώδικα, χρησιμοποιώντας os.path.dirname (αρχείο os.path.realpath (αρχείο)) για να αποκτήσετε τον κατάλογο στον οποίο βρίσκεται το σενάριο python, ώστε να μην υπάρχει καμία χειρωνακτική επεξεργασία που χρειάζεται ο χρήστης, πρέπει απλά να κάνετε διπλό κλικ.
Χρειάζομαι τη δέσμη ενεργειών να εμφανίζεται σαν να είναι σε κάθε φάκελο, ενώ στην πραγματικότητα είναι μόνο σε ένα σημείο, ώστε να μπορώ να την επεξεργαστώ μία φορά, τότε όταν τρέχει από οποιαδήποτε από αυτές τις θέσεις, η διαδρομή του φακέλου είναι σωστή. Η εναλλακτική λύση είναι η επεξεργασία του master και στη συνέχεια η τοποθέτησή του σε ένα φάκελο κάθε φορά μέσω όλων των 50+ φακέλων κάθε φορά που ενημερώνω τον κώδικα, ο οποίος είναι πολύ κουραστικός και επιρρεπής σε σφάλματα. Στο Linux, θα μπορούσα να το ορίσω με ένα συμβολικό σύνδεσμο, αλλά δεν μπορώ να καταλάβω πώς να το κάνουμε αυτό με τα Windows.
Εναλλακτικά, ένας τρόπος για να επικολλήσετε το αρχείο σε όλους τους καταλόγους στόχων ταυτόχρονα, αντί για ένα κάθε φορά, θα επιτύγχανε τον ίδιο στόχο.
Υπάρχει τρόπος να το κάνετε αυτό αντί να αντιγράφετε και να επικολλάτε το φάκελο δέσμης ενεργειών ένα φάκελο κάθε φορά?
Η απάντηση
Ο συνεργάτης του SuperUser gronostaj έχει την απάντηση για εμάς:
Χρειάζεσαι ένα Συμβολική σύνδεση ή α Σκληρή σύνδεση.
Συμβολικοί σύνδεσμοι (ή Συνδυασμοί για συντομία) είναι αρκετά παρόμοια με τις συντομεύσεις: υπάρχει ένα πραγματικό αρχείο και πολλαπλές αναφορές (Συνδυασμοί) σε αυτό. Έχουν ακόμη και αυτό το μικρό βέλος στις εικόνες. Αντίθετα από τις συντομεύσεις, Συνδυασμοί μπορεί να έχει οποιαδήποτε επέκταση.
Σκληροί σύνδεσμοι δεσμεύσετε ένα αρχείο σε μια μονάδα σκληρού δίσκου σε μια θέση στην δέντρο καταλόγου. Κάθε αρχείο έχει τουλάχιστον ένα Σκληρή σύνδεση, διαφορετικά δεν θα υπήρχε σε κανένα κατάλογο. Αν ένα αρχείο έχει πολλαπλά Σκληροί σύνδεσμοι, το αρχικό δεν μπορεί να διακριθεί από τα άλλα και το αρχείο υπάρχει φυσικά σε μία μόνο θέση.
Και οι δύο έχουν τους περιορισμούς τους:
- Ορισμένο λογισμικό δεν παίζει όμορφα με Συνδυασμοί.
- Η διαγραφή του αρχικού αρχείου αφήνει όλα του Συνδυασμοί σπασμένος.
- Δεν μπορείς Σκληρή σύνδεση φακέλους (αλλά μπορείτε να δημιουργήσετε μια σύνδεση Junction εάν a Symlink δεν είναι αρκετό).
- Δημιουργία διασταυρούμενου διαμερίσματος Σκληροί σύνδεσμοι είναι αδύνατο.
Συνδυασμοί είναι συνήθως επαρκείς.
Για να δημιουργήσετε ένα συμπτωματικό σύνδεσμο ή έναν σκληρό σύνδεσμο:
1. Εκκινήστε μια προνομιακή γραμμή εντολών: Πατήστε το Κλειδί Windows, τύπος cmd, στη συνέχεια πατήστε Ctrl + Shift + Enter.
2. Εκδώστε την εντολή mklink:
- mklink link_name link_target για ένα αρχείο Symlink
- mklink / d link_name link_target για ένα φάκελο Symlink
- mklink / h link_name link_target για ένα αρχείο Σκληρή σύνδεση
- mklink / j link_name link_target για ένα Λίστα συνδέσεων
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.