Comment obtenir une liste complète de toutes les applications installées?

15

Avec OSX 10.8.4., J'ai du mal à trouver une liste complète de toutes les applications logicielles installées sur mon Mac. Bien sûr, le Launchpadseul affiche la liste de ceux qui ont un raccourci d'application créé, à l'exclusion de ceux qui n'en ont pas. J'ai également essayé de maintenir la Optiontouche enfoncée dans le menu Apple pour passer About This Macà System Information, Software-->Installationsmais ce n'était toujours pas une liste complète.

Comment obtenir une liste complète de toutes les applications installées?

amphibient
la source
1
Le problème avec OS X est que vous n'installez généralement pas la plupart des applications, à l'exception de celles du Mac App Store ou de quelques autres entreprises comme Adobe ou Microsoft. La plupart des applications ne sont que des éléments que vous téléchargez dans un fichier ZIP ou DMG et que vous faites glisser / déposer vers votre dossier Applications. Ce dossier Applications est l'endroit où les applications sont presque toujours situées et constitueraient une liste aussi complète que possible.
David
8
Il y a une subtile complexité dans ce que vous demandez ici et c'est: qu'est-ce qu'une "application"? Recherchez-vous tous les .appbundles sur votre système? Ou voulez-vous une liste de tout ce qu'un utilisateur peut exécuter?
Ian C.
2
Si vous deviez ajouter ce que vous prévoyez de faire avec cette liste d'applications une fois que vous l'avez, je suis curieux de voir si les réponses cibleraient mieux vos besoins car l'idée d'une application est assez floue et ouverte à l'interprétation.
bmike
1
Je ne suis pas OP, mais ma définition serait une liste de tout ce qui fonctionnera comme argument open -a.
Mark Reed

Réponses:

19

Essayez: À propos de ce Mac> Plus d'infos> Rapport système> Logiciel

.

entrez la description de l'image ici

Non seulement "Installations" ... mais les autres peuvent aussi vous donner des informations.

GEdgar
la source
3
Pour moi, l'onglet "Applications" avait une meilleure liste, qui a mis une seconde à apparaître.
ma11hew28
14

Si vous recherchez simplement une liste d'applications avec une extension .app, démarrez le terminal et exécutez

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

vous donnera (éventuellement) une liste assez complète d'applications, écrites dans un fichier texte appelé "applications.txt" dans votre dossier d'accueil.

binarybob
la source
cela affichera récursivement tous les bundles utilisés en interne par les applications installées et ce n'est probablement pas ce que l'op veut. donc au lieu de compter Xcode.appcomme "une application que j'ai installée", findje retournerai 242 (sur mon installation) en dessous. même un simple ls /Applicationsdonnera un nombre plus précis en termes de ce qui est réellement installé.
minusf Il y a
12

Depuis la ligne de commande, essayez system_profiler (8) :

> system_profiler SPApplicationsDataType

Voici un snipet montrant 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_profilerpeut également sortir au format XML (format plist (5) ) qui peut être facilement analysé. Pour cela, utilisez le -xmlparamètre. Voici un fragment Safari mis à jour dans ce format:

<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>
NuSkooler
la source
Quelle est la condition ici? Si je fais simplement glisser un .apprépertoire dans /Applications, que doit-il se passer pour qu'il system_profilerle voit?
ghoti
1
L' spotlightindexation @ghoti doit être activée et Spotlight doit également avoir repéré la nouvelle application et l'indexer. system_profilerrenvoie un résultat emptry si l'indexation est désactivée.
minusf Il y a
3

Ces commandes listaient les mêmes applications sur mon installation:

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

Il manquait tous les deux des bundles d'application dans les bundles d'application et de framework.

lsregister inclus plus d'applications dans d'autres ensembles d'applications, mais il comprenait également des applications qui ont été supprimées et des applications sur un volume Time Machine:

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

Cela trouve plus d'applications dans d'autres bundles, mais cela ne correspond pas aux applications qui n'ont pas d' .appextension:

sudo find -x / -type d -name \*.app
Lri
la source
1

La question du PO ne permet pas de savoir clairement s'il / elle cherche la réponse facile ou la réponse difficile. La façon d'obtenir presque toutes les applications dans une liste pratique serait:

  1. Terminal ouvert
  2. Entrez ls /Applicationspour une liste alphabétique simple, ou ls -l /Applicationspour plus d'informations:

    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
    
Ewan Makepeace
la source
bien que cela donne un chiffre approximatif acceptable, il manquera par exemple tous les utilitaires système sous Utilities/et tous les autres programmes installés dans un sous-dossier (par exemple Intel Power Gadget)
minusf il y a
1

Ouvrez le terminal et écrivez la commande suivante sudo find / -iname *.app C'est le même répondeur que "binarybob" mais avec le sudo vous pouvez accéder et lister certains dossiers que vous ne pouvez pas faire sans droits d'administrateur. Votre mot de passe vous sera demandé et vous bénéficierez des "droits" sudo si votre compte est un compte administrateur.

Par exemple, avec find / -iname *.appj'obtiens 430 lignes, et avec sudo find / -iname *.appj'obtiens 432 lignes. C'est un exemple sur mon ordinateur et peut-être que le résultat sera le même quelle que soit la commande pour vous.

Thibault
la source
Cependant, cela obtiendra également des sauvegardes si ces disques sont montés, par exemple les disques TimeMachine
user151019
1

En utilisant plistbuddy, vous pouvez obtenir des informations et les analyser pour les choses dont vous avez besoin.

Cela obtiendra toutes les applications / utilitaires installés avec leurs numéros de version et les placera dans un fichier texte pour vous.

#!/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
Chris Edwards
la source
Comment l'exécuter? Veuillez ajouter d'autres étapes dans votre réponse.
Hemang
0
  1. LaunchPad devrait afficher toutes les applications dans / Applications; ils n'ont pas besoin d'avoir un "raccourci" créé pour y apparaître.
  2. Vous pouvez regarder directement dans / Applications et / Applications / Utilitaires.
  3. Les informations système ont une section Logiciel> Applications dans la barre latérale qui affichera une liste encore plus complète, y compris les applications stockées dans des emplacements inattendus (je pense qu'il utilise Spotlight pour les trouver).
Gordon Davisson
la source
0

Réponse simple que je viens de créer à partir de toutes les réponses ci-dessus.

ls /Applications > Desktop/applications.txt
Vinozio
la source
Pourquoi le vote négatif?
Vinozio
Les applications peuvent être installées en dehors du dossier / Applications.
user151019
c'est un doublon
historystamp
0

Je sais que la question a été posée il y a 4 ans, plusieurs réponses ont été données, chacune essaie de résoudre le problème différemment (via GUI ou CLI) mais aucune n'est complète.

Hier, dans mon entreprise, chaque utilisateur de macOS a été invité à fournir:

une liste de toutes les applications installées sur leurs systèmes OS X / macOS pour un audit logiciel

Pour rendre le processus cohérent, facile et complet, tout le monde a exécuté la même commande dans le terminal

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

La commande ci-dessus ouvre 2 fichiers dans un éditeur de texte par défaut avec une liste de toutes les applications installées ainsi qu'une liste de tous les « exécutables » qui doivent également être considérés comme des applications.

Je pense que cela fournit la solution la plus complète à un problème donné. C'est rapide et fait le travail.

Pour fournir une réponse plus détaillée, examinons enfin toutes les commandes et tous les arguments afin que tout soit clair pour ceux qui ont peur d'utiliser le terminal.

La lscommande répertorie simplement le contenu du répertoire. Dans ce cas /Applications, ainsi que /usr/local/bin- cet emplacement est destiné aux programmes qu'un utilisateur normal peut exécuter.

L'argument -laffiche la liste dans un «format long». Pour en savoir plus sur le «format long», cliquez ici .

Ensuite, nous avons un symbole de tuyau | . Il sépare deux programmes sur une ligne de commande afin que la sortie répertoriée puisse ensuite être ouverte dans un autre programme. Dans ce cas, utilisez la opencommande.

La opencommande ouvre simplement des fichiers et des répertoires mais combinée avec -ef:

  • -e Provoque l'ouverture du fichier avec /Applications/TextEdit
  • -f Lit l'entrée depuis l'entrée standard et ouvre les résultats dans l'éditeur de texte par défaut.

Enfin, la combinaison des deux listes est collée ensemble, &&ce qui permet d'exécuter plusieurs commandes à la fois, donc nous nous retrouvons finalement avec une commande de terminal "une ligne".

entrez la description de l'image ici

J'espère que cela aide et fournit une explication détaillée.

Matt Komarnicki
la source
Applications d Je ne dois pas être dans / applications
user151019
0

Essayez de l'exécuter dans 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

Il s'agit d'une requête de recherche qui recherche des éléments avec le prédicat de métadonnées donné kMDItemContentType == "com.apple.application-bundle", elle vous donnera une liste complète de tous les bundles d'application ( .app) dans votre portée donnée, ou si elle -onlyinn'est pas fournie, l'échelle globale (y compris les lecteurs externes / réseau) sera utilisé.

AgentBilly
la source
-2

Allez à FINDER

Cliquez sur APPLICATIONS

user2506231
la source
3
Les applications peuvent être installées en dehors du dossier / Applications.
Scot
-4

Le dossier d'application .. Accédez simplement au dossier d'application

kuk
la source
3
Les applications peuvent être installées en dehors du dossier Applications.
Ian C.
-5

finder> applications. aussi simple que cela

vinay
la source
Si simple qu'il manque des applications non installées dans /Applications...
nohillside