Der Versuch, den Befehl find auszuführen, gibt "Berechtigung verweigert"

Ich versuche, eine Liste von Anwendungen auf meinem Mac abzurufen, indem ich findnach *.app. Wenn ich den Befehl jedoch ausführe, erhalte ich viele Permission-denied-Meldungen, wie unten gezeigt.

Der Computer gehört mir und ich habe administrativen Zugriff. Wie kann ich den Befehl ohne die Fehler ausführen?

Last login: Thu Jul 17 07:42:01 on ttys000
pamelas-mbp:~ pamelabohler-sampson$ find / -iname *.app > ~/applications.txt
find: /.DocumentRevisions-V100: Permission denied
find: /.fseventsd: Permission denied
find: /.MobileBackups: Permission denied
find: /.Spotlight-V100: Permission denied
find: /.Trashes: Permission denied
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
find: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
find: /Library/Application Support/com.apple.TCC: Permission denied
find: /Library/Caches/com.apple.Spotlight/schema.201.plist: Permission denied
[...]
find: /private/var/spool/postfix/private: Permission denied
find: /private/var/spool/postfix/public: Permission denied
find: /private/var/spool/postfix/saved: Permission denied
find: /private/var/spool/postfix/trace: Permission denied
find: /private/var/tmp/launchd: Permission denied
find: /System/Library/Caches/com.apple.coresymbolicationd: Permission denied
find: /System/Library/DirectoryServices/DefaultLocalDB/Default: Permission denied
sudo find / -iname *.app 2>/dev/null > ~/applications.txtDies wird beispielsweise nicht /dev/fd/4in die Datei geschrieben. Der Standardfehler wird übersehen, es wird direkt in die txt-Datei geleitet. Möglicherweise sind Sie mit ...etc besser dran oder erstellen dann sudo find .eine locate dbsudo /usr/libexec/locate.updatedblocate [string--see help for further options]
Ich würde das so ausführensudo find / -iname *app 2>/dev/null > ~/applications.txt

Antworten (2)

Sie müssen root sein, um auf bestimmte Systemverzeichnisse zugreifen zu können. Stellen Sie Ihrem Befehl Folgendes voran sudo:

sudo find / -iname *.app > ~/applications.txt

Dies wird Sie zur Eingabe Ihres Passworts auffordern:

Password:

Geben Sie Ihr Passwort ein (die Zeichen werden nicht angezeigt) und drücken Sie dann die Eingabetaste. Der find-Befehl wird dann als root ausgeführt und hat Zugriff auf die Verzeichnisse.

Sie erhalten diese Meldungen, weil Sie als normaler Benutzer keine Berechtigung zum Anzeigen der aufgeführten Verzeichnisse haben. Zum Beispiel /.fseventsdgehört root und nur root kann darauf zugreifen ( drwx------ 587 root wheel). Um Root-Privilegien zu erhalten, müssen Sie Ihren Befehl mit ausführen sudo. In Ihrem Fall wird es sein:

sudo find / -iname *.app > ~/applications.txt