¿Cómo obtener una lista completa de todas las aplicaciones instaladas?


15

Con OSX 10.8.4., Me resulta difícil encontrar una lista completa de todas las aplicaciones de software instaladas en mi Mac. Por supuesto, Launchpadsolo muestra la lista de aquellos que tienen un acceso directo a la aplicación creado, excluyendo aquellos que no lo tienen. También probé manteniendo pulsada la Optiontecla en el menú de Apple para el cambio About This Macque System Information, a continuación, Software-->Installationspero que todavía no era una lista completa.

¿Cómo obtengo una lista completa de todas las aplicaciones instaladas?


1
El problema con OS X es que generalmente no 'instala' la mayoría de las aplicaciones, aparte de las de la Mac App Store o algunas otras de compañías como Adobe o Microsoft. La mayoría de las aplicaciones son solo cosas que descarga en un archivo ZIP o DMG y arrastra / suelta a su carpeta de Aplicaciones. Esa carpeta de aplicaciones es donde casi siempre se encuentran las aplicaciones y sería una lista tan completa como la que obtendrá.
David

8
Hay una complejidad sutil en lo que está preguntando aquí y es: ¿qué es una "aplicación"? ¿Está buscando todos los .apppaquetes en su sistema? ¿O quieres una lista de todo lo que un usuario puede ejecutar?
Ian C.

2
Si tuviera que agregar lo que planea hacer con esta lista de aplicaciones una vez que la tenga, tengo curiosidad por ver si las respuestas se adaptarían mejor a sus necesidades, ya que la idea de una aplicación es bastante confusa y abierta a interpretación.
bmike

1
No soy OP, pero mi definición sería una lista de todo lo que funcionará como argumento open -a.
Mark Reed

Respuestas:


19

Pruebe: Acerca de esta Mac> Más información> Informe del sistema> Software

.

ingrese la descripción de la imagen aquí

No solo "Instalaciones" ... sino que los demás también pueden brindarle información.


3
Para mí, la pestaña "Aplicaciones" tenía una lista mejor, que tardó un segundo en aparecer.
ma11hew28

14

Si solo está buscando una lista de aplicaciones con una extensión .app, inicie el Terminal y ejecute

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

(eventualmente) le dará una lista bastante completa de aplicaciones, escrita en un archivo de texto llamado "aplicaciones.txt" en su carpeta de Inicio.


esto mostrará de forma recursiva todos los paquetes utilizados internamente por las aplicaciones instaladas y eso probablemente no sea lo que quiere el operador. así que en lugar de contar Xcode.appcomo "una aplicación que instalé", finddevolverá 242 (en mi instalación) debajo de ella. incluso un simple ls /Applicationsdará un número más preciso en términos de lo que realmente está instalado.
menosf hace

12

Desde la línea de comando, intente system_profiler (8) :

> system_profiler SPApplicationsDataType

Aquí hay un fragmento que muestra Safari:

Safari:

  Version: 7.0.2
  Obtained from: Apple
  Last Modified: 2/25/14, 3:44 PM
  Kind: Intel
  64-Bit (Intel): Yes
  Signed by: Software Signing, Apple Code Signing Certification Authority, Apple Root CA
  Location: /Applications/Safari.app
  Get Info String: 7.0.2, Copyright © 2003-2014 Apple Inc.

system_profilertambién se puede generar en XML (formato plist (5) ) que se puede analizar fácilmente. Para esto, use el -xmlparámetro. Aquí hay un fragmento de Safari actualizado en este formato:

<dict>
    <key>_name</key>
    <string>Safari</string>
    <key>has64BitIntelCode</key>
    <string>yes</string>
    <key>info</key>
    <string>10.0, Copyright © 2003-2016 Apple Inc.</string>
    <key>lastModified</key>
    <date>2016-06-30T22:14:21Z</date>
    <key>obtained_from</key>
    <string>apple</string>
    <key>path</key>
    <string>/Applications/Safari.app</string>
    <key>runtime_environment</key>
    <string>arch_x86</string>
    <key>signed_by</key>
    <array>
        <string>Software Signing</string>
        <string>Apple Code Signing Certification Authority</string>
        <string>Apple Root CA</string>
    </array>
    <key>version</key>
    <string>10.0</string>
</dict>

¿Cuál es la condición aquí? Si solo arrastro un .appdirectorio /Applications, ¿qué tiene que pasar para que system_profilerlo vea?
ghoti

1
La spotlightindexación @ghoti debe estar habilitada y también Spotlight debe haber detectado la nueva aplicación e indexada. system_profilerdevuelve un resultado vacío si la indexación está deshabilitada.
menosf hace

3

Estos comandos enumeran las mismas aplicaciones en mi instalación:

mdfind kMDItemContentTypeTree=com.apple.application-bundle -onlyin /
system_profiler SPApplicationsDataType|sed -n 's/^ *Location: \(.*\)/\1/p'

A ambos les faltaban algunos paquetes de aplicaciones dentro de los paquetes de aplicaciones y marcos.

lsregister incluyó más aplicaciones dentro de otros paquetes de aplicaciones, pero también incluyó aplicaciones que se han eliminado y aplicaciones en un volumen de Time Machine:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump|awk '/^bundle\tid/{getline;sub(/^\tpath: */,"");print}'

Esto encuentra más aplicaciones dentro de otros paquetes, pero no coincide con las aplicaciones que no tienen una .appextensión:

sudo find -x / -type d -name \*.app

1

No está claro a partir de la pregunta de OP si él / ella está buscando la respuesta fácil o la respuesta difícil. La forma de obtener casi todas las aplicaciones en una lista conveniente sería:

  1. Terminal abierta
  2. Ingrese ls /Applicationspara obtener una lista alfabética simple o ls -l /Applicationspara obtener más información:

    Ewans-Retina-MacBook-Pro:Applications ewan$ ls /Applications
    
    1000 OpenType Fonts.app        Garmin MapInstall.app    ScreenFlow.app
    1Password.app                  Garmin MapManager.app    Sequel Pro.app
    A Better Finder Rename 8.app   Garmin WebUpdater.app    Server.app
    

Si bien esto da una cifra aceptable, se perderá, por ejemplo, todas las utilidades del sistema Utilities/, y todos los demás programas instalados en una subcarpeta (por ejemplo Intel Power Gadget)
menos

1

Abra el terminal y escriba el siguiente comando. sudo find / -iname *.app Es el mismo respondedor que "binarybob" pero con el sudo puede acceder y enumerar algunas carpetas que no puede prescindir de los derechos de administrador. Se le pedirá su contraseña y obtendrá los beneficios de los "derechos" de sudo si su cuenta es una cuenta de administrador.

Por ejemplo, con find / -iname *.app430 líneas, y con sudo find / -iname *.app432 líneas. Es un ejemplo en mi computadora y tal vez el resultado sea el mismo sea cual sea el comando para usted.


Sin embargo, esto también obtendrá copias de seguridad si esos discos están montados, por ejemplo, discos
TimeMachine

1

Con plistbuddy puedes obtener información y analizarla para encontrar las cosas que necesitas.

Esto obtendrá todas las aplicaciones / utilidades instaladas con sus números de versión y lo colocará en un archivo de texto para usted.

#!/bin/sh
(
    for i in /Applications/*.app
     do
         Printf "$i \t" | cut -c15-1000
      /usr/libexec/plistbuddy -c Print:CFBundleShortVersionString: "$i"/Contents/info.plist
        done

    for u in /Applications/Utilities/*.app
     do
         Printf "$u \t" | cut -c25-1000
      /usr/libexec/plistbuddy -c Print:CFBundleShortVersionString: "$u"/Contents/info.plist
    done
)   >${USER}Applist.txt

¿Cómo ejecutarlo? Agregue más pasos en su respuesta.
Hemang

0
  1. LaunchPad debería mostrar todas las aplicaciones en / Aplicaciones; no tienen que tener un "atajo" creado para aparecer allí.
  2. Puede buscar directamente en / Aplicaciones y / Aplicaciones / Utilidades.
  3. La Información del sistema tiene una sección de Software> Aplicaciones en la barra lateral que mostrará una lista aún más completa, incluidas las aplicaciones almacenadas en ubicaciones inesperadas (creo que está usando Spotlight para encontrarlas).

0

Respuesta simple que acabo de crear a partir de todas las respuestas anteriores.

ls /Applications > Desktop/applications.txt

¿Por qué el voto negativo?
Vinozio

Las aplicaciones se pueden instalar fuera de la carpeta / Aplicaciones.
user151019

es un duplicado
historystamp

0

Sé que la pregunta se hizo hace 4 años, se han dado varias respuestas, cada una intenta resolver el problema de manera diferente (a través de GUI o CLI) pero ninguna de ellas está completa.

Ayer en mi empresa, se le pidió a cada usuario de macOS que proporcionara:

Una lista de todas las aplicaciones instaladas en sus sistemas OS X / macOS para una auditoría de software

Para que el proceso sea consistente, fácil y completo, todos ejecutaron el mismo comando en la terminal

ls -l /Applications | open -ef &&  ls -l /usr/local/bin | open -ef

El comando anterior abre 2 archivos en un editor de texto predeterminado con una lista de todas las aplicaciones instaladas , así como una lista de todos los " ejecutables " que también deben considerarse como aplicaciones.

Creo que esto proporciona la solución más completa para un problema dado. Es rápido y hace el trabajo.

Para proporcionar una respuesta más detallada, finalmente revisemos todos los comandos y argumentos para que todo esté claro para aquellos que tienen miedo de usar el terminal.

El lscomando simplemente enumera el contenido del directorio. En este caso /Applications, así como también /usr/local/bin, esta ubicación es para programas que puede ejecutar un usuario normal.

El argumento -lmuestra la lista en un "formato largo". Más información sobre "formato largo" se puede encontrar aquí .

A continuación tenemos un símbolo de tubería | . Separa dos programas en una línea de comando para que la salida listada se pueda abrir en otro programa. En este caso usando el opencomando.

El opencomando simplemente abre archivos y directorios, pero combinado con -ef:

  • -e Hace que el archivo se abra con /Applications/TextEdit
  • -f Lee la entrada de la entrada estándar y abre los resultados en el editor de texto predeterminado.

Finalmente, se combina la combinación de ambas listas, lo &&que permite ejecutar múltiples comandos a la vez, así que finalmente terminamos con un comando de terminal de "una línea".

ingrese la descripción de la imagen aquí

Espero que esto ayude y proporcione una explicación detallada.


Aplicaciones d No tengo que estar en / aplicaciones
user151019

0

Intente ejecutar esto en Terminal (/Applications/Utilities/Terminal.app):

mdfind "kMDItemContentType == 'com.apple.application-bundle'" -onlyin $scope

# $scope is your search range
# this command will only search all the applications under the given scope if -onlyin is specified

Esta es una consulta de búsqueda que busca elementos con el predicado de metadatos dado kMDItemContentType == "com.apple.application-bundle", le dará una lista completa de todos los paquetes de aplicaciones ( .app) en su alcance dado, o si -onlyinno se proporciona, la escala global (incluidas las unidades externas / de red) será usado.



-2

Ir al buscador

Haga clic en APLICACIONES


3
Las aplicaciones se pueden instalar fuera de la carpeta / Aplicaciones.
Scot

-4

La carpeta de la aplicación. Simplemente vaya a la carpeta de la aplicación


3
Las aplicaciones se pueden instalar fuera de la carpeta Aplicaciones.
Ian C.

-5

buscador> aplicaciones. simple como eso


Tan simple que se pierde cualquier aplicación no instalada en /Applications...
nohillside
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.