GNU/Linux >> Znalost Linux >  >> Linux

Ubuntu grep, find atd.:Oprávnění odepřeno a žádný takový výstup souboru nebo adresáře

s grep můžete zadat příznak -s, který dělá skoro to, co řekl @ortang

-s, --no-messages Potlačit chybové zprávy o neexistujících nebo nečitelných souborech. Poznámka k přenositelnosti:na rozdíl od GNU grep, 7th Edition Unix grep nevyhovoval POSIX, protože postrádal -q a jeho volba -s se chovala jako volba -q GNU grep. grep ve stylu USG také postrádal -q, ale jeho volba -s se chovala jako GNU grep. Přenosné shellscripty by se měly vyhýbat jak -q, tak -s a měly by místo toho přesměrovat standardní a chybový výstup do /dev/null.

s find, pokud vím, @ortangs odpověď je best.something like

find / -name "myfile" -type f -print 2>/dev/null


Zkuste přesměrovat stderr do /dev/null .

[email protected]:/$ grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn

Přesměrování strerr/dev/null (také znám jako black hole ) je dobrý způsob, jak potlačit chyby odepření povolení.

Uvědomte si však, že toto zranění nejen potlačí permission denied zprávy kromě VŠECHNY chybové zprávy.

Pokud si přejete zachovat jiné chybové zprávy než permission denied pak můžete udělat něco takového -

grep -rnP 'YII_CORE_PATH' ./ 2>&1 | grep -v 'permission denied' > error.log

Pokud si je nechcete ponechat, pak by bylo v pořádku následující -

grep -rnP 'YII_CORE_PATH' ./ 2> /dev/null | grep -v .svn

Linux
  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. Rozdíl mezi 2>&-, 2>/dev/null, |&, &>/dev/null A>/dev/null 2>&1?

  3. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  1. cp:nelze vytvořit adresář:Žádný takový soubor nebo adresář

  2. Přesměrujte stderr na /dev/null

  3. DD z /dev/zero do /dev/null...co se vlastně stane

  1. Co jsou soubory /dev/zero a /dev/null v Linuxu

  2. povolení odepřeno pro skladatele v /usr/local/bin/

  3. jádro:deaktivace /dev/kmem a /dev/mem