GNU/Linux >> Znalost Linux >  >> Linux

Jak zachytit výstup nejvyššího příkazu Unix do souboru v čitelném formátu

Otázka: Snažím se zachytit výstup top příkazu do souboru. Když spustím top> output.txt, soubor output.txt obsahuje spoustu nevyžádaných znaků. Jaká je nejlepší metoda pro zachycení výstupu příkazu top do čitelného textového souboru?

Odpověď: Použijte volbu operace dávkového režimu horního příkazu ( -b) k zachycení výstupu příkazu top do souboru.

Pokud se pokusíte přesměrovat výstup horního příkazu do textového souboru, jak je uvedeno níže, všimnete si, že výstupní soubor obsahuje mnoho nevyžádaných znaků.

Když se pokusíte zobrazit výstupní soubor pomocí příkazu less, všimnete si, že výstupní soubor je vytvořen s mnoha nevyžádanými znaky.

$ top -n 1 > top-output.txt

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

Poznámka: Volba -n 1 označuje, že by měla být provedena pouze jedna iterace příkazu top.

Chcete-li se tomuto problému vyhnout a získat čitelný výstup příkazu top, použijte volbu -b v příkazu top. Proveďte horní příkaz v dávkovém režimu, jak je znázorněno níže.

$ 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       

O volbě -ba -n z horní manuálové stránky příkazu:

       -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.

Tuto metodu můžete také použít k přesměrování výstupu příkazu top do jiného programu, jak je uvedeno níže.

$ 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. Jak zobrazit velikost/podrobnosti souboru z příkazu ls v Unixu

  2. Jak zachytit výstup top příkazu do souboru v linuxu?

  3. Jak přesměrovat výstup příkazu time do souboru v Linuxu?

  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak vytisknout výstup příkazu Linuxu do souboru?

  3. Jak získám top příkaz k zabalení jeho výstupu?

  1. Zobrazit výstup příkazu nebo obsah souboru ve formátu sloupce

  2. Jak zachytit terminálové relace a výstup pomocí příkazu skriptu Linux

  3. Unix Stat Command:Jak identifikovat atributy souboru