Alle Nachrichten mit eingeschränkter Berechtigung von "du" ausschließen
Ich versuche zu bewerten, die Speicherplatzauslastung eine Reihe von Unix-Benutzer-Konten.
Ganz einfach, ich bin mit dem folgenden Befehl:
du -cBM --max-depth=1 | sort -n
Aber ich habe viele gesehen, die Fehlermeldung wie unten. Wie kann ich ausschließen, alle diese "Permission denied" - Meldungen aus der Anzeige?
du: `./james/.gnome2': Permission denied
Meine bitte, könnte sehr ähnlich wie die folgende Liste, durch Austausch "finden" zu "du".
Wie kann ich ausschließen, alle "permission denied" Meldungen "finden"?
Folgenden thread funktioniert nicht. Ich denke, ich bin mit der bash.
InformationsquelleAutor der Frage Wen_CSE | 2013-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
oder besser in der bash (genau herausfiltern dieser spezielle Fehler, nicht alle, wie im letzten snippet)
InformationsquelleAutor der Antwort MevatlaveKraspek
2> /dev/nul verbirgt nur Fehlermeldungen.
den Befehl du immer versuchen, über run-Verzeichnis. Vorstellen, dass Sie Tausende von dirs?
du muss eval, wenn Sie persmission laufen, wenn nicht, gehen Sie mit der nächsten dir...
InformationsquelleAutor der Antwort Cristian T
Ich würde etwas prägnant, schließt nur die Zeilen, die Sie nicht sehen wollen. Umleiten von stderr zu stdout und grep, um auszuschließen, alle "verweigert"s:
InformationsquelleAutor der Antwort Claire T
Wenn
2>/dev/null
funktioniert nicht, wahrscheinlich ist die shell Sie verwenden, ist nichtbash
.Prüfen, welche shell Sie verwenden, können Sie versuchen
ps -p $$
(siehe https://askubuntu.com/a/590903/130162 )InformationsquelleAutor der Antwort 18446744073709551615