Estoy intentando obtener una lista de aplicaciones en mi Mac usando find
para buscar *.app
. Sin embargo, cuando ejecuto el comando, recibo muchos mensajes de Permiso denegado, como se muestra a continuación.
La computadora es mía y tengo acceso administrativo. ¿Cómo puedo ejecutar el comando sin los errores?
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
Debe ser root para acceder a ciertos directorios del sistema. Anteponga su comando con sudo
:
sudo find / -iname *.app > ~/applications.txt
Esto le pedirá su contraseña:
Password:
Ingrese su contraseña (no se mostrarán los caracteres), luego presione Enter. El comando de búsqueda se ejecutará como root y tendrá acceso a los directorios.
Recibe esos mensajes porque, como usuario normal, no tiene permisos para ver los directorios enumerados. Por ejemplo /.fseventsd
, es propiedad de root y solo root puede acceder a él ( drwx------ 587 root wheel
). Para obtener privilegios de root, debe ejecutar su comando con sudo
. En tu caso será:
sudo find / -iname *.app > ~/applications.txt
njboot
sudo find / -iname *.app 2>/dev/null > ~/applications.txt
por ejemplo, esto no escribirá/dev/fd/4
en el archivo. El error estándar se pasa por alto, lo canaliza directamente al archivo txt. Es posible que esté mejor consudo find .
... etc., o creando una base de datos de localizaciónsudo /usr/libexec/locate.updatedb
, luegolocate [string--see help for further options]
njboot
sudo find / -iname *app 2>/dev/null > ~/applications.txt