05. Linux Root Folders Explained
Πίνακας περιεχομένων:
- Πώς να χρησιμοποιήσετε την εντολή
diff - Κανονική μορφή
- Μορφή πλαισίου
- Ενοποιημένη μορφή
- Αγνοήστε την περίπτωση
- συμπέρασμα
diff
είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που σας επιτρέπει να συγκρίνετε δύο αρχεία ανά γραμμή. Μπορεί επίσης να συγκρίνει τα περιεχόμενα των καταλόγων.
Η εντολή
diff
χρησιμοποιείται συνήθως για να δημιουργηθεί μια ενημερωμένη έκδοση κώδικα που περιέχει τις διαφορές μεταξύ ενός ή περισσοτέρων αρχείων που μπορούν να εφαρμοστούν χρησιμοποιώντας την εντολή
patch
.
Πώς να χρησιμοποιήσετε την εντολή
diff
Η σύνταξη για την εντολή
diff
έχει ως εξής:
diff… FILES
Η εντολή
diff
μπορεί να εμφανίσει την έξοδο σε διάφορες μορφές με τις συνηθέστερες μορφές κανονικού, πλαισίου και ενιαίας μορφής. Η έξοδος περιλαμβάνει πληροφορίες σχετικά με τις γραμμές των αρχείων που πρέπει να τροποποιηθούν ώστε να καταστούν ταυτόσημες. Εάν ταιριάζουν τα αρχεία, δεν παράγεται καμία έξοδος.
Για να αποθηκεύσετε την έξοδο εντολών σε ένα αρχείο, χρησιμοποιήστε τον χειριστή ανακατεύθυνσης:
diff file1 file2 > patch
, θα χρησιμοποιήσουμε τα ακόλουθα δύο αρχεία για να εξηγήσουμε πώς λειτουργεί η εντολή
diff
:
Ubuntu Arch Linux Debian CentOS Fedora
αρχείο2
Kubuntu Ubuntu Debian Arch Linux Centos Fedora
Κανονική μορφή
Στην απλούστερη μορφή του, όταν η εντολή
diff
εκτελείται σε δύο αρχεία κειμένου χωρίς καμία επιλογή, παράγει έξοδο με την κανονική μορφή:
diff file1 file2
Η έξοδος θα φαίνεται κάπως έτσι:
0a1 > Kubuntu 2d2 < Arch Linux 4c4, 5 < CentOS --- > Arch Linux > Centos
Η κανονική μορφή εξόδου αποτελείται από μία ή περισσότερες ενότητες που περιγράφουν τις διαφορές. Κάθε τμήμα μοιάζει με αυτό:
change-command < from-file-line… --- > to-file-line…
0a1
,
2d2
και
4c4, 5
είναι εντολές αλλαγής. Κάθε εντολή αλλαγής περιέχει τα εξής, από αριστερά προς τα δεξιά:
- Ο αριθμός γραμμής ή το εύρος γραμμών στο πρώτο αρχείο. Ένας ειδικός χαρακτήρας αλλαγής. Ο αριθμός γραμμής ή το εύρος γραμμών στο δεύτερο αρχείο.
Ο χαρακτήρας αλλαγής μπορεί να είναι ένας από τους ακόλουθους:
-
a- Προσθέστε τις γραμμές.c- Αλλαγή των γραμμών.d- Διαγράψτε τις γραμμές.
Η εντολή αλλαγής ακολουθείται από τις πλήρεις γραμμές που αφαιρούνται (
<
) και προστίθενται στο αρχείο (
>
).
Ας εξηγήσουμε την έξοδο:
-
0a1- Προσθέστε τη γραμμή1του δεύτερου αρχείου στην αρχή του αρχείου1 (μετά τη γραμμή0).-
> Kubuntu- Η γραμμή από τη δεύτερη γραμμή που προστίθεται στο πρώτο αρχείο όπως περιγράφεται παραπάνω.
2d2- Διαγραφή της γραμμής2στο πρώτο αρχείο. Το σύμβολο2μετά τοdσημαίνει ότι εάν η γραμμή δεν διαγραφεί θα εμφανιστεί στη γραμμή2στο δεύτερο αρχείο.-
< Arch Linux- η διαγραμμένη γραμμή.
4c4, 5- Αντικαταστήστε (αλλάξτε) τη γραμμή5στο πρώτο αρχείο με τις γραμμές4-5από το δεύτερο αρχείο.-
< CentOS- Η γραμμή στο πρώτο αρχείο που πρέπει να αντικατασταθεί.---- Διαχωριστικό.> Arch Linuxκαι> Centos- Lines από το δεύτερο αρχείο που αντικαθιστά τη γραμμή στο πρώτο αρχείο.
-
Μορφή πλαισίου
Όταν χρησιμοποιείται η μορφή εξόδου περιβάλλοντος, η εντολή
diff
εμφανίζει αρκετές γραμμές περιβάλλοντος γύρω από τις γραμμές που διαφέρουν μεταξύ των αρχείων.
Η επιλογή
-c
λέει
diff
για την παραγωγή εξόδου στη μορφή περιβάλλοντος:
diff -c file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 6 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 7 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
Η έξοδος ξεκινά με τα ονόματα και τα timestamps αν τα αρχεία συγκρίνονται και μία ή περισσότερες ενότητες που περιγράφουν τις διαφορές. Κάθε τμήμα μοιάζει με αυτό:
*************** *** from-file-line-numbers **** from-file-line… --- to-file-line-numbers ---- to-file-line…
-
from-file-line-numbersto-file-line-numbers- Οι αριθμοί γραμμών ή το εύρος γραμμών διαχωρισμένων με κόμμα στο πρώτο και στο δεύτερο αρχείο, αντίστοιχα.from-file-lineto-file-line- Οι γραμμές που διαφέρουν και οι γραμμές περιβάλλοντος:- Γραμμές που ξεκινούν με δύο κενά είναι γραμμές γραμμών, οι γραμμές που είναι οι ίδιες και στα δύο αρχεία. Οι γραμμές που αρχίζουν με το σύμβολο μείον (
-) είναι οι γραμμές που δεν αντιστοιχούν σε τίποτα στο δεύτερο αρχείο. Γραμμές που λείπουν στο δεύτερο αρχείο. Γραμμές που αρχίζουν με το σύμβολο συν (+) είναι οι γραμμές που δεν αντιστοιχούν σε τίποτα στο πρώτο αρχείο. Γραμμές που λείπουν στο πρώτο αρχείο.Οι γραμμές που αρχίζουν με το θαυμαστικό (!) Είναι οι γραμμές που αλλάζουν μεταξύ δύο αρχείων. Κάθε ομάδα γραμμών αρχίζει με!από το πρώτο αρχείο έχει αντίστοιχη αντιστοιχία στο δεύτερο αρχείο.
- Γραμμές που ξεκινούν με δύο κενά είναι γραμμές γραμμών, οι γραμμές που είναι οι ίδιες και στα δύο αρχεία. Οι γραμμές που αρχίζουν με το σύμβολο μείον (
Ας εξηγήσουμε τα πιο σημαντικά μέρη της παραγωγής:
- Σε αυτό το παράδειγμα έχουμε μόνο μία ενότητα που περιγράφει τις διαφορές.
*** 1, 6 ****και--- 1, 7 ----μας λέει το εύρος των γραμμών από το πρώτο και το δεύτερο αρχείο που περιλαμβάνονται σε αυτή την ενότητα. ΓραμμέςUbuntu,Debian,Fedora, και η τελευταία κενή γραμμή είναι η ίδια και στα δύο αρχεία. Αυτές οι γραμμές ξεκινούν με το διπλό space.Line- Arch Linuxαπό το πρώτο αρχείο δεν αντιστοιχεί σε τίποτα στο δεύτερο αρχείο. Αν και αυτή η γραμμή υπάρχει και στο δεύτερο αρχείο, οι θέσεις είναι διαφορετικές. Το Line+ Kubuntuαπό το δεύτερο αρχείο δεν αντιστοιχεί σε τίποτα στο πρώτο αρχείο! CentOS! CentOSαπό το πρώτο αρχείο και γραμμές! Arch Linux! Arch Linuxκαι! CentOS! CentOSαπό το δεύτερο αρχείο αλλάζουν μεταξύ των αρχείων.
Από προεπιλογή, ο αριθμός των γραμμών περιβάλλοντος είναι προεπιλεγμένος σε τρεις. Για να ορίσετε έναν άλλο αριθμό, χρησιμοποιήστε την επιλογή
-C
(
--contexts
):
diff -C 1 file1 file2
*** file1 2019-11-25 21:00:26.422426523 +0100 --- file2 2019-11-25 21:00:36.342231668 +0100 *************** *** 1, 5 **** Ubuntu - Arch Linux Debian ! CentOS Fedora --- 1, 6 ---- + Kubuntu Ubuntu Debian ! Arch Linux ! Centos Fedora
Ενοποιημένη μορφή
Η ενοποιημένη μορφή εξόδου είναι μια βελτιωμένη έκδοση της μορφής περιβάλλοντος και παράγει μια μικρότερη απόδοση.
Χρησιμοποιήστε την επιλογή
-u
για να
diff
την
diff
για να εκτυπώσετε την έξοδο στην ενοποιημένη μορφή:
diff -u file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian -CentOS +Arch Linux +Centos Fedora
Η έξοδος ξεκινά με τα ονόματα και τις χρονικές σφραγίδες των αρχείων και μία ή περισσότερες ενότητες που περιγράφουν τις διαφορές. Κάθε τμήμα έχει την ακόλουθη μορφή:
*************** @@ from-file-line-numbers to-file-line-numbers @@ line-from-files…
-
@@ from-file-line-numbers to-file-line-numbers @@- Ο αριθμός γραμμών ή το εύρος των γραμμών από το πρώτο και δεύτερο αρχείο που περιλαμβάνονται σε αυτήν την ενότητα.line-from-files- Οι γραμμές που διαφέρουν και οι γραμμές περιβάλλοντος:- Οι γραμμές που ξεκινούν με δύο κενές θέσεις είναι γραμμές γραμμής, οι γραμμές που είναι οι ίδιες και στα δύο αρχεία. Οι γραμμές που αρχίζουν με το σύμβολο μείον (
-) είναι οι γραμμές που αφαιρούνται από το πρώτο αρχείο. Οι γραμμές που ξεκινούν με το σύμβολο συν (+) είναι τις γραμμές που προστίθενται από το πρώτο αρχείο.
- Οι γραμμές που ξεκινούν με δύο κενές θέσεις είναι γραμμές γραμμής, οι γραμμές που είναι οι ίδιες και στα δύο αρχεία. Οι γραμμές που αρχίζουν με το σύμβολο μείον (
Αγνοήστε την περίπτωση
Όπως μπορείτε να παρατηρήσετε στα παραπάνω παραδείγματα, η εντολή
diff
κάνει ευαίσθητη τη
diff
πεζών από προεπιλογή.
Χρησιμοποιήστε την επιλογή
-i
για να πείτε την περίπτωση διαφοράς στην περίπτωση που αγνοεί:
diff -ui file1 file2
--- file1 2019-11-25 21:00:26.422426523 +0100 +++ file2 2019-11-25 21:00:36.342231668 +0100 @@ -1, 6 +1, 7 @@ +Kubuntu Ubuntu -Arch Linux Debian +Arch Linux CentOS Fedora
συμπέρασμα
Η σύγκριση αρχείων κειμένου για διαφορές είναι μία από τις συνηθέστερες εργασίες για διαχειριστές συστημάτων Linux.
Η εντολή
diff
συγκρίνει τα αρχεία ανά γραμμή. Για περισσότερες πληροφορίες, πληκτρολογήστε
man diff
στο τερματικό σας.
Το Facebook κατέθεσε αγωγή εναντίον του Wallace και δύο άλλους άνδρες το Φεβρουάριο για προγράμματα spamming και phishing μέσω του ιστότοπου κοινωνικής δικτύωσης. Την επόμενη εβδομάδα, ο δικαστής Fogel εξέδωσε προσωρινή εντολή περιορισμού που απαγορεύει στο Wallace και σε δυο άλλους υποτιθέμενους spammers, Adam Arzoomanian και Scott Shaw, να έχουν πρόσβαση στο δίκτυο του Facebook.
Η αγωγή κατηγορεί μια εταιρεία που ονομάζεται Funmobile να στέλνει χιλιάδες ανεπιθύμητα μηνύματα τους τελευταίους τέσσερις μήνες. Η υπόθεση κατατέθηκε τον προηγούμενο μήνα στο King County Superior Court στο Σιάτλ, αλλά η Microsoft δεν ονόμασε την εμπλεκόμενη εταιρεία μέχρι την Πέμπτη. Η Microsoft ζητεί δικαστική εντολή για να σταματήσει το spam, καθώς και χρηματικές ζημίες.
Σύμφωνα με τις καταθέσεις των δικαστηρίων, η Funmobile και η θυγατρική της, Mobilefundster, έχουν στείλει άμεσα μηνύματα που περιλαμβάνουν συνδέσμους σε ιστότοπους ηλεκτρονικού "ψαρέματος" που ελέγχονται από την εταιρεία. Τα θύματα που έκαναν κλικ σε έναν σύνδεσμο θα βλέπουν μερικές φορές έναν ιστότοπο - που ονομάζεται MeetYourIM - ο οποίος τους ζήτησε να εισαγάγουν το MSN e-mail και τον κωδικό τους, ώστε να μπορούν να συμμετάσχουν σε μια "Αβλαβή κοινότητα που προσφέρει στους χρήστες μια πλατφόρ
Πώς να ελέγξετε το χώρο στο δίσκο στο linux χρησιμοποιώντας την εντολή df
Πόσο διάστημα έχω αφήσει στον σκληρό δίσκο μου; Σε συστήματα που βασίζονται στο Linux μπορείτε να χρησιμοποιήσετε την εντολή df για να πάρετε μια λεπτομερή αναφορά σχετικά με τη χρήση του χώρου στο δίσκο του συστήματος.







