GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erfassen Sie die Unix-Top-Befehlsausgabe in einer Datei im lesbaren Format

Frage: Ich versuche, die Ausgabe des top-Befehls zu erfassen in eine Datei. Wenn ich top> output.txt ausführe, enthält die Datei output.txt viele Junk-Zeichen. Was ist die beste Methode, um die Ausgabe des obersten Befehls in einer lesbaren Textdatei zu erfassen?

Antwort: Verwenden Sie die Stapelmodus-Operationsoption des obersten Befehls ( -b ), um die Ausgabe des obersten Befehls in einer Datei zu erfassen.

Wenn Sie versuchen, die Ausgabe des obersten Befehls wie unten gezeigt in eine Textdatei umzuleiten, werden Sie feststellen, dass die Ausgabedatei viele Junk-Zeichen enthält.

Wenn Sie versuchen, die Ausgabedatei mit dem Befehl less anzuzeigen, werden Sie feststellen, dass die Ausgabedatei mit vielen Junk-Zeichen erstellt wurde.

$ top -n 1 > top-output.txt

$ less top-output.txt
"top-output.txt" may be a binary file.  See it anyway? 

Hinweis: Option -n 1 gibt an, dass nur eine Iteration des obersten Befehls ausgeführt werden soll.

Um dieses Problem zu vermeiden und eine lesbare Ausgabe des Top-Befehls zu erhalten, verwenden Sie die Option -b im Top-Befehl. Führen Sie den obersten Befehl im Stapelmodus aus, wie unten gezeigt.

$ top -n 1 -b > top-output.txt

$ less top-output.txt
top - 16:56:36 up 246 days, 11:14,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 168 total,   1 running, 167 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8306856k total,  7940744k used,   366112k free,   285136k buffers
Swap:  8385920k total,      104k used,  8385816k free,  7391824k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
    1 root      15   0  2064  592  512 S  0.0  0.0   0:02.24 init               
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.47 migration/0        
    3 root      35  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0        
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0         
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.61 migration/1       

Über die Option -b und -n von der oberen Befehls-Manpage:

       -b : Batch mode operation
            Starts top in "Batch mode", which could be useful for sending out-
            put from top to other programs or to a file.  In  this  mode,  top
            will  not  accept input and runs until the iterations limit youâve
            set with the â-nâ command-line option or until killed.

       -n : Number of iterations limit as:  -n number
            Specifies the maximum number of iterations, or frames, top  should
            produce before ending.

Sie können diese Methode auch verwenden, um die Ausgabe des Befehls top an ein anderes Programm umzuleiten, wie unten gezeigt.

$ top -n1 -b | head
top - 16:58:36 up 246 days, 11:14,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 169 total,   1 running, 168 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8306856k total,  7941612k used,   365244k free,   285144k buffers
Swap:  8385920k total,      104k used,  8385816k free,  7392088k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
    1 root      15   0  2064  592  512 S  0.0  0.0   0:02.24 init               
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:00.47 migration/0        
    3 root      39  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0        

Linux
  1. So fügen Sie der Unix-Vmstat-Befehlsausgabe einen Zeitstempel hinzu

  2. 12 Beispiele für Ausgabeformatoptionen für UNIX-/Linux-Zeitbefehle

  3. So zeigen Sie Dateigröße/-details über den Befehl ls in Unix an

  4. Wie hängt man die Ausgabe an eine Datei an?

  5. Wie erfasst man die Ausgabe eines Top-Befehls in einer Datei unter Linux?

So leiten Sie die Shell-Befehlsausgabe um

So konvertieren Sie eine Windows-Datei in eine UNIX-Datei

So lesen Sie die Ausgabe und Verwendung von Linux Top Command

So verwenden Sie den TOP-Befehl

So zeigen Sie die Dateigröße im menschenlesbaren Format (KB, MB, GB) im Linux-Terminal an

Unix Sed Tutorial:So schreiben Sie mit Sed in eine Datei