Android

Βρείτε μεγάλα αρχεία στο linux

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

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

Πίνακας περιεχομένων:

Anonim

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

Αυτό το σεμινάριο εξηγεί πώς μπορείτε να βρείτε τα μεγαλύτερα αρχεία και καταλόγους σε συστήματα Linux χρησιμοποιώντας τις εντολές find και du .

Εύρεση μεγάλων αρχείων με χρήση της εντολής find

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

Για παράδειγμα, αν θέλετε να αναζητήσετε αρχεία με μέγεθος μεγαλύτερο από 100MB, στον τρέχοντα κατάλογο εργασίας θα χρησιμοποιούσατε την ακόλουθη εντολή:

sudo find. -xdev -type f -size +100M Αντικατάσταση . με τη διαδρομή προς τον κατάλογο όπου θέλετε να αναζητήσετε τα μεγαλύτερα αρχεία.

Η έξοδος θα εμφανίσει μια λίστα αρχείων χωρίς πρόσθετες πληροφορίες.

/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img

Η εντολή find μπορεί επίσης να χρησιμοποιηθεί σε συνδυασμό με άλλα εργαλεία όπως ls ή sort για να εκτελέσει λειτουργίες σε αυτά τα αρχεία.

Στο παράδειγμα που ακολουθεί, περάσαμε την έξοδο της εντολής find στο ls που θα εκτυπώσει το μέγεθος κάθε αρχείου που βρέθηκε και στη συνέχεια το pipe που εξάγει στην εντολή sort για να το ταξινομήσει με βάση την 5η στήλη που είναι το μέγεθος του αρχείου.

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r

Η έξοδος θα φαίνεται κάπως έτσι:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img

Αν η έξοδος περιέχει πολλές γραμμές πληροφοριών, μπορείτε να χρησιμοποιήσετε την εντολή head για να εκτυπώσετε μόνο τις πρώτες 10 γραμμές:

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head

Ας καταρρίψουμε την εντολή:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - αναζήτηση μόνο για αρχεία ( -type f ) στον τρέχοντα κατάλογο εργασίας ( . ), μεγαλύτερο από 100MB ( -size +100M ), δεν κατεβαίνουν καταλόγους σε άλλα συστήματα αρχείων -xdev ) και να εκτυπώσετε το πλήρες όνομα αρχείου στην τυπική έξοδο, ακολουθούμενη από μια νέα γραμμή ( -print ). xargs ls -lh - η έξοδος της εντολής find είναι διοχετευμένη στο xargs οποία εκτελεί την ls -lh που θα εκτυπώσει την έξοδο σε μια μακρά λίστα με μορφή αναγνώσιμη από τον άνθρωπο. sort -k5, 5 -h -r - ταξινομήστε τις γραμμές με βάση την 5η στήλη ( -k5, 5 ), συγκρίνετε τις τιμές σε μορφή αναγνώσιμη από τον άνθρωπο ( -h ) και αντιστρέψτε το αποτέλεσμα ( -r ). head : εκτυπώνει μόνο τις πρώτες 10 γραμμές της εξόδου των σωληνώσεων.

Η εντολή find έρχεται με πολλές δυνατές επιλογές. Για παράδειγμα, μπορείτε να αναζητήσετε μεγάλα αρχεία που είναι παλαιότερα από x ημέρες, μεγάλα αρχεία με συγκεκριμένη επέκταση ή μεγάλα αρχεία που ανήκουν σε συγκεκριμένο χρήστη.

Βρείτε μεγάλα αρχεία και καταλόγους χρησιμοποιώντας την εντολή du

Η εντολή du χρησιμοποιείται για την εκτίμηση της χρήσης του χώρου του αρχείου και είναι ιδιαίτερα χρήσιμη για την εύρεση καταλόγων και αρχείων που καταναλώνουν μεγάλες ποσότητες χώρου στο δίσκο.

Η ακόλουθη εντολή θα εκτυπώσει τα μεγαλύτερα αρχεία και καταλόγους:

du -ahx. | sort -rh | head -5

Η πρώτη στήλη περιλαμβάνει το μέγεθος του αρχείου και το δεύτερο το όνομα του αρχείου:

55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube

Επεξήγηση της εντολής:

  • du -ahx. : υπολογίστε τη χρήση του χώρου στο δίσκο στον τρέχοντα κατάλογο εργασίας ( . ), μετρήστε τα αρχεία και τους καταλόγους ( a ), τα μεγέθη εκτύπωσης σε μορφή αναγνώσιμη από τον άνθρωπο ( h ) και παρακάμψτε τους καταλόγους σε διαφορετικά συστήματα αρχείων ( x ). sort -rh : να ταξινομήσετε γραμμές συγκρίνοντας τις τιμές σε μορφή αναγνώσιμη από τον άνθρωπο ( -h ) και να αντιστρέψετε το αποτέλεσμα ( -r ). head -5 : εκτυπώνει μόνο τις πρώτες 5 γραμμές της εξόδου με σωληνώσεις.

Η εντολή du περιλαμβάνει άλλες επιλογές που μπορείτε να χρησιμοποιήσετε για να βελτιώσετε την έξοδο της χρήσης του χώρου στο δίσκο.

συμπέρασμα

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

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

βρείτε τερματικό δίσκου