GNU/Linux >> Tutoriels Linux >  >> Linux

Ubuntu grep, find etc:Autorisation refusée et aucune sortie de fichier ou de répertoire de ce type

avec grep, vous pouvez spécifier le drapeau -s qui fait à peu près ce que @ortang a dit

-s, --no-messages Supprimez les messages d'erreur concernant les fichiers inexistants ou illisibles. Remarque sur la portabilité :contrairement à GNU grep, la 7e édition d'Unix grep n'était pas conforme à POSIX, car il lui manquait -q et son option -s se comportait comme l'option -q de GNU grep. grep de style USG manquait également de -q mais son option -s se comportait comme grep GNU. Les shellscripts portables doivent éviter à la fois -q et -s et doivent plutôt rediriger la sortie d'erreur standard vers /dev/null.

avec trouver pour autant que je sache @ortangs la réponse est la meilleure.quelque chose comme

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


Essayez de rediriger stderr à /dev/null .

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

Redirection du strerr à /dev/null (alias black hole ) est un bon moyen de supprimer les erreurs d'autorisation refusée.

Cependant, notez que cette blessure ne supprime pas seulement permission denied messages mais TOUS messages d'erreur.

Si vous souhaitez conserver les messages d'erreur autres que permission denied alors vous pouvez faire quelque chose comme ça -

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

Si vous ne souhaitez pas les conserver, ce qui suit serait très bien -

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

Linux
  1. autorisation refusée pour composer dans /usr/local/bin/

  2. cp :ne peut pas créer de répertoire :aucun fichier ou répertoire de ce type

  3. Rediriger stderr vers /dev/null

  4. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

  5. Comment Linux utilise /dev/tty et /dev/tty0

Qu'est-ce que '/dev/null 2&1' sous Linux

/dev/null sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

/dev/sdb :aucun fichier ou répertoire de ce type (mais /dev/sdb1, etc. existe)

Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

noyau :désactiver /dev/kmem et /dev/mem