GNU/Linux >> Znalost Linux >  >> Linux

Alternativa k povelu tee bez STDOUT

Další možnost, která se vyhne vracení věcí zpět a poté do /dev/zero je

sudo command | sudo dd of=FILENAME

dd řešení stále tiskne nevyžádanou poštu do stderr:

$ ls | sudo dd of=FILENAME
0+1 records in
0+1 records out
459 bytes (459 B) copied, 8.2492e-05 s, 5.6 MB/s

Tomu se lze vyhnout pomocí status možnost:

command | sudo dd status=none of=FILENAME

Další zajímavá možnost (alespoň pro Linux):

command | sudo cp /dev/stdin FILENAME

Abych zkopíroval vstup TTY do souboru, často to dělám takto:

sudo cp /dev/tty FILENAME

Škoda, že tee nemá možnost potlačit stdout.


Můžete použít skript. Tj. vložte něco takového do, tj. $HOME/bin/stee , 0tee nebo podobné:

#!/bin/bash

argv=
while [[ "$1" =~ ^- ]]; do
    argv+=" $1"
    shift
done

sudo tee $argv "$1" > /dev/null

#!/bin/bash

sudo tee "[email protected]" > /dev/null

Udělejte jej spustitelným:

$ chmod 755 stee

Nyní udělejte např.:

$ ls -la | stee -a /root/foo


Linux
  1. Spustit příkaz Sudo a zadat heslo na stejném řádku?

  2. Příkaz Sudo po dlouhém spánku Volejte bez opětovného vyzvání hesla Sudo?

  3. Extrahujte sériové číslo Linuxu bez sudo

  1. Zvládněte příkaz Linux ls

  2. Úvod do příkazu diff

  3. Jak vzdáleně spustit příkaz ssh a příkaz sudo bez hesla

  1. Jak funguje Tee Command?

  2. Jaký je ekvivalent linuxového příkazu updatedb pro Mac?

  3. Vidíte dostupné bezdrátové přístupové body v terminálu?