Αν είστε διαχειριστής συστήματος Linux, δεν υπάρχει καμία αμφιβολία ότι πρέπει να ξοδεύετε το μεγαλύτερο μέρος του χρόνου εργασίας σας στη γραμμή εντολών - εγκατάσταση και αφαίρεση πακέτων. στατιστικά στοιχεία συστήματος παρακολούθησης. αντιγραφή, μετακίνηση, διαγραφή στοιχείων? προβλήματα κατά την εκκαθάριση; κι αλλα. Υπάρχουν φορές που πυροδοτείτε μια εντολή και διαρκεί λίγο πριν τελειώσει η λειτουργία. Ωστόσο, υπάρχουν επίσης και στιγμές όπου η εντολή που εκτελέσατε κρέμεται, αφήνοντας σας να μαντέψετε τι συμβαίνει στην πραγματικότητα πίσω από τις σκηνές.

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

PV Command

Αναπτύχθηκε από τον Andrew Wood, το PV - το οποίο σημαίνει Pipe Viewer - εμφανίζει πληροφορίες σχετικά με την εξέλιξη των δεδομένων μέσω ενός αγωγού. Οι πληροφορίες περιλαμβάνουν το χρονικό διάστημα που έχει παρέλθει, το ποσοστό που έχει ολοκληρωθεί (με γραμμή προόδου), το τρέχον ρυθμό απόδοσης, τα συνολικά μεταφερόμενα δεδομένα και το ETA.

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

Τα παραπάνω εξηγούν τη σελίδα του χρήστη της εντολής.

Λήψη και εγκατάσταση

Οι χρήστες συστημάτων που βασίζονται στο Debian, όπως το Ubuntu, μπορούν εύκολα να εγκαταστήσουν το βοηθητικό πρόγραμμα εκτελώντας την ακόλουθη εντολή στο τερματικό:

 sudo apt-get install pv 

Εάν χρησιμοποιείτε οποιαδήποτε άλλη διανομή Linux, μπορείτε να εγκαταστήσετε την εντολή χρησιμοποιώντας το πρόγραμμα διαχείρισης πακέτων που είναι εγκατεστημένο στο σύστημά σας. Μόλις εγκατασταθεί με επιτυχία, μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα γραμμής εντολών σε διάφορα σενάρια (δείτε την επόμενη ενότητα). Αξίζει να σημειωθεί ότι η έκδοση pv 1.2.0 έχει χρησιμοποιηθεί σε όλα τα παραδείγματα που αναφέρονται σε αυτό το άρθρο.

Χαρακτηριστικά και χρήση

Ένα πολύ συνηθισμένο σενάριο που πιθανότατα οι περισσότεροι από μας (που εργάζονται στη γραμμή εντολών στο Linux) θα είναι να αντιγράψετε ένα αρχείο ταινίας από μια μονάδα USB στον υπολογιστή σας. Εάν προσπαθήσετε να ολοκληρώσετε την παραπάνω λειτουργία χρησιμοποιώντας την εντολή cp, θα πρέπει να περιμένετε τυφλά μέχρι να ολοκληρωθεί η αντιγραφή ή να ριχτεί κάποιο λάθος.

Ωστόσο, η εντολή pv μπορεί να είναι χρήσιμη σε αυτή την περίπτωση. Ακολουθεί ένα παράδειγμα:

 pv / media / himanshu / 1AC2-A8E3/fNf.mkv> ./Desktop/fnf.mkv 

Και εδώ είναι η έξοδος:

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

Η εντολή pv παρέχει διάφορους διακόπτες οθόνης. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το -p για εμφάνιση ποσοστού, -t για χρονόμετρο, -r για ρυθμό μεταφοράς, -e για eta και -b για μετρητή byte. Το καλό είναι ότι δεν θα πρέπει να θυμάστε κανένα από αυτά, καθώς όλα αυτά είναι ενεργοποιημένα από προεπιλογή. Ωστόσο, εάν χρειάζεστε αποκλειστικά πληροφορίες σχετικά με έναν συγκεκριμένο διακόπτη οθόνης στην έξοδο, μπορείτε να περάσετε εκείνο το διακόπτη στην εντολή pv .

Υπάρχει επίσης ένας διακόπτης εμφάνισης -n που επιτρέπει στην εντολή να εμφανίζει ένα ακέραιο ποσοστό, ένα ανά γραμμή στο τυπικό σφάλμα, αντί για την κανονική ένδειξη οπτικής προόδου. Τα παρακάτω είναι ένα παράδειγμα αυτού του διακόπτη σε ενέργεια:

 pv -n /media/himanshu/1AC2-A8E3/fNf.mkv> ./Desktop/fnf.mkv 

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

Προχωρώντας, υπάρχει επίσης μια επιλογή γραμμής εντολών, -L, που σας επιτρέπει να τροποποιήσετε την ταχύτητα μεταφοράς δεδομένων της εντολής pv. Για παράδειγμα, χρησιμοποίησα -L για να περιορίσω το ρυθμό μεταφοράς δεδομένων σε 2MB / s.

 pv -L 2m /media/himanshu/1AC2-A8E3/fNf.mkv> ./Desktop/fnf.mkv 

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

Ένα άλλο σενάριο όπου το pv μπορεί να βοηθήσει είναι κατά τη συμπίεση των αρχείων. Ακολουθεί ένα παράδειγμα για το πώς μπορείτε να χρησιμοποιήσετε αυτήν την εντολή κατά τη συμπίεση των αρχείων χρησιμοποιώντας το Gzip:

 pv /media/himanshu/1AC2-A8E3/fnf.mkv | gzip> ./Desktop/fnf.log.gz 

συμπέρασμα

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