Apr
09
2009
Αποθήκευση της εξόδου μίας εντολής

Διαβάζοντας το παρακάτω post έμαθα μία πολύ ωραία εντολή την logsave.

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

π.χ. quick & simply example:

ebal@amilo:tmp$ logsave -v fdisk.log sudo fdisk -l
Log of sudo fdisk -l
Fri Apr 10 00:04:54 2009

Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0

Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 Linux

Fri Apr 10 00:04:54 2009
—————-
ebal@amilo:tmp$
ebal@amilo:tmp$
ebal@amilo:tmp$
ebal@amilo:tmp$ cat fdisk.log
Log of sudo fdisk -l
Fri Apr 10 00:04:54 2009

Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0

Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 Linux

Fri Apr 10 00:04:54 2009
—————-

ΥΓ: Μην ξεχνάτε ότι υπάρχει και αρκετοί άλλοι τρόποι, νομίζω όμως ότι αυτός είναι ο πιο elegant

ebal@amilo:tmp$ sudo fdisk -l > fdisk.log
ebal@amilo:tmp$ sudo fdisk -l | tee -a fdisk.log

κι πιθανά πολλοί ακόμα τρόποι

  1. Avatar di keramida keramida

    Friday, April 10, 2009 - 00:16:47

    Και πάντα υπάρχει το script(1), που δεν είναι Linux-specific, αλλά παίζει σε Linux, Solaris, BSD, AIX και γενικά σε οποιοδήποτε UNIX ή UNIX-like σύστημα έχει pseudo-terminals (πρακτικά όλα όσα υπάρχουν σήμερα)!

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

    % script fdisk.log
    Script started, output file is fdisk.log
    % sudo fdisk /dev/ad0
    Password:

    % exit
    exit

    Script done, output file is fdisk.log
    %

    Και το fdisk.log έχει ένα πλήρες log από όλο το “script session”!

    Τώρα γιατί ο δημιουργός της logsave θεώρησε ότι ο κόσμος χρειάζεται μία ακόμα ασύμβατη Linux-specific εντολή, και την έγραψε από την αρχή; Ποιός ξέρει… περί ορέξεως…

  2. Avatar di ebal ebal

    Friday, April 10, 2009 - 05:39:56

    Κι εγώ χρησιμοποιώ την εντολή script πυκνά/συχνά. Νιώθω και πιο αρκετά πιο ασφαλής. Προφανώς όμως ο Theodore Ts’o, που είναι και ο συγγραφέας της εντολής logsave, θα είχε κάτι πιο περίπλοκο στο μυαλό του από αυτό που έγραψα εγώ παραπάνω.

    Respect σε τέτοιους ανθρώπους :)