GNU/Linux >> Znalost Linux >  >> Linux

Terminál Ctrl+s versus Ctrl+z?

Mám například dlouho běžící a podrobný tar cvf /backup/backup.tar příkaz, který vypíše na obrazovku velké množství textu*. Nechci nutně vidět celý výstup po celou dobu. Chtěl bych zastavit textový výstup, udělat jiné věci, pak se k tomu vrátit a „obnovit“, abych viděl, jak daleko je proces zálohování. Čekal jsem, že se to bude chovat jako

/files/big_file_1
/files/big_file_2
/files/big_file_3
# Ctrl+s
# Do other stuff
# Ctrl+q , notice big jump in progress
/home/user/.bash_history
/home/user/small_file_1
/home/user/small_file_2
/home/user/small_file_3
...

Ctrl+s zastaví výstup na obrazovku (a Ctrl+q obnoví výstup na obrazovku), zatímco Ctrl+z pozastaví proces a vrátím se zpět k výzvě PS1. Moje otázka zní, udržuje Ctrl+s příkaz spuštěný?

Během výše uvedeného tar příkazu, zvýraznil bych poslední soubor TARred ho nechal několik minut sedět, Ctrl+q, a další soubory se zdály být ve stejném adresáři, nebo alespoň v relativně blízkém adresáři.

*Používám Putty na Windows, takže pokud se chování liší od tohoto standardního terminálu na Linuxu/Unixu, omlouvám se.

Přijatá odpověď:

Moje otázka zní, udržuje Ctrl+s příkaz spuštěný?

Ano, až do bodu, kdy se systémové vyrovnávací paměti zaplní a proces se začne blokovat, aby bylo možné zapisovat na terminál. Takže to nebude fungovat donekonečna. Navíc nebudete moci spouštět nic jiného na stejném terminálu, protože výstup je blokován.

Chcete-li se odpojit od programu a zároveň zachovat možnost vrátit se, máte tyto možnosti:

  • Spusťte další terminál na straně (další Putty, další připojení SSH)
  • Spusťte screen nebo tmux k multiplexování více „oken“ uvnitř stejného terminálu
  • Přesměrujte výstup do souboru, spusťte příkaz na pozadí a poté nahlédněte do souboru, když budete chtít:tar cvf ... > /tmp/tar.out & a tail /tmp/tar.out

Linux
  1. Jak oklamat příkaz, aby si myslel, že jeho výstup směřuje do terminálu?

  2. Provést příkaz ve vzdáleném aktivním terminálu?

  3. | V příkazu terminálu?

  1. Zobrazení úplného výstupu příkazu PS

  2. Přesměrování výstupu příkazu do souboru a terminálu

  3. ip příkaz v terminálu Mac OS X

  1. Jak skrýt výstup terminálu při provádění příkazu?

  2. 5 použití příkazu mv v linuxovém terminálu

  3. Příklady příkazů času Linux