Come ottenere un elenco completo di tutte le applicazioni installate?


15

Utilizzando OSX 10.8.4., Faccio fatica a trovare un elenco completo di tutte le applicazioni software installate sul mio Mac. Ovviamente, l' Launchpadunico mostra l'elenco di quelli che hanno creato un collegamento all'app, esclusi quelli che non lo fanno. Ho anche provato a tenere premuto il Optiontasto mentre nel menu Apple per passare About This Maca System Information, Software-->Installationsma quello non era ancora un elenco completo.

Come posso ottenere un elenco completo di tutte le applicazioni installate?


1
La cosa positiva di OS X è che in genere non "installi" la maggior parte delle applicazioni oltre a quelle del Mac App Store o poche altre di aziende come Adobe o Microsoft. La maggior parte delle app sono solo cose che scarichi in un file ZIP o DMG e trascini nella cartella Applicazioni. Quella cartella Applicazioni è dove si trovano quasi sempre le app e sarebbe completa come un elenco.
David,

8
C'è una sottile complessità in ciò che stai chiedendo qui e cioè: che cos'è una "applicazione"? Stai cercando tutti i .appbundle sul tuo sistema? O vuoi un elenco di tutto ciò che un utente può eseguire?
Ian C.

2
Se dovessi aggiungere ciò che hai intenzione di fare con questo elenco di applicazioni una volta che lo hai, sono curioso di vedere se le risposte risponderanno meglio alle tue esigenze poiché l'idea di un'app è piuttosto confusa e aperta all'interpretazione.
bmike

1
Non sono OP, ma la mia definizione sarebbe un elenco di tutto ciò che funzionerà come argomento open -a.
Mark Reed il

Risposte:


19

Prova: Informazioni su questo Mac> Ulteriori informazioni> Rapporto di sistema> Software

.

inserisci qui la descrizione dell'immagine

Non solo "Installazioni" ... ma anche gli altri potrebbero darti alcune informazioni.


3
Per me, la scheda "Applicazioni" aveva un elenco migliore, che ha richiesto un secondo per apparire.
ma11hew28,

14

Se stai solo cercando un elenco di applicazioni con estensione .app, avvia il Terminale ed eseguilo

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

fornirà (eventualmente) un elenco abbastanza completo di applicazioni, scritto in un file di testo chiamato "applicazioni.txt" nella cartella Home.


questo mostrerà in modo ricorsivo tutti i bundle utilizzati internamente dalle applicazioni installate e probabilmente non è quello che vuole l'op. quindi invece di contare Xcode.appcome "un'applicazione che ho installato", findrestituirà 242 (sulla mia installazione) sotto di essa. anche un semplice ls /Applicationsfornirà un numero più preciso in termini di ciò che è realmente installato.
meno

12

Dalla riga di comando, provare system_profiler (8) :

> system_profiler SPApplicationsDataType

Ecco uno snipet che mostra 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_profilerpuò anche generare output in formato XML ( plist (5) ) che può essere facilmente analizzato. Per questo, usa il -xmlparametro Ecco un frammento di Safari aggiornato in questo 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>

Qual è la condizione qui? Se trascino semplicemente una .appdirectory in /Applications, cosa deve succedere in modo che system_profilerpossa vederla?
ghoti,

1
L' spotlightindicizzazione @ghoti deve essere abilitata e anche i riflettori devono aver individuato la nuova applicazione e indicizzata. system_profilerrestituisce un risultato assoluto se l'indicizzazione è disabilitata.
meno

3

Questi comandi hanno elencato le stesse applicazioni sulla mia installazione:

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

Entrambi mancavano alcuni bundle di applicazioni all'interno di bundle di applicazioni e framework.

lsregister includeva più applicazioni all'interno di altri bundle di applicazioni, ma includeva anche applicazioni che sono state eliminate e applicazioni su un volume di Time Machine:

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

Questo trova più applicazioni all'interno di altri bundle, ma non corrisponde alle applicazioni che non hanno .appestensione:

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

1

Non è chiaro dalla domanda del PO se sta cercando la risposta facile o la risposta difficile. Il modo per ottenere quasi tutte le app in un comodo elenco sarebbe:

  1. Terminale aperto
  2. Immettere ls /Applicationsper un semplice elenco alfabetico o ls -l /Applicationsper ulteriori informazioni:

    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
    

mentre questo dà una figura accettabile del ballpark, mancherà ad esempio tutte le utilità di sistema sotto Utilities/e tutti gli altri programmi installati in una sottocartella (ad esempio Intel Power Gadget)
meno

1

Apri il terminale e scrivi la seguente commando sudo find / -iname *.app È la stessa risposta di "binarybob" ma con il sudo puoi accedere ed elencare alcune cartelle che non puoi fare senza i diritti di amministratore. Ti verrà chiesta la password e otterrai i vantaggi dei "diritti" sudo se il tuo account è un account amministratore.

Ad esempio, con find / -iname *.appottengo 430 linee e con sudo find / -iname *.appottengo 432 linee. È un esempio sul mio computer e forse il risultato sarà lo stesso qualunque sia il comando per te.


Tuttavia, questo otterrà anche i backup se tali dischi sono montati, ad esempio i dischi TimeMachine
user151019

1

Usando plistbuddy puoi ottenere alcune informazioni e analizzarle per le cose di cui hai bisogno.

Ciò otterrà tutte le app / utility installate con i loro numeri di versione e le inserirà in un file di testo per te.

#!/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

Come eseguirlo? Aggiungi altri passaggi nella tua risposta.
Hemang,

0
  1. LaunchPad dovrebbe mostrare tutte le app in / Applicazioni; non devono avere una "scorciatoia" creata per apparire lì.
  2. Puoi guardare direttamente in / Applicazioni e / Applicazioni / Utilità.
  3. Informazioni di sistema ha una sezione Software> Applicazioni nella barra laterale che mostrerà un elenco ancora più completo, comprese le app memorizzate in posizioni impreviste (penso che stia usando Spotlight per trovarle).

0

Risposta semplice Ho appena creato da tutte le risposte sopra.

ls /Applications > Desktop/applications.txt

Perché il voto negativo?
Vinozio,

Le applicazioni possono essere installate al di fuori della cartella / Applicazioni.
user151019,

è un duplicato
historystamp,

0

So che la domanda è stata posta 4 anni fa, sono state fornite diverse risposte, ognuna cerca di risolvere il problema in modo diverso (tramite GUI o CLI) ma nessuna di esse è completa.

Ieri nella mia azienda, ogni utente macOS è stato invitato a fornire:

un elenco di tutte le applicazioni installate sui loro sistemi OS X / macOS per un controllo del software

Per rendere il processo coerente, semplice e completo, tutti hanno eseguito lo stesso comando nel terminale

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

Il comando precedente apre 2 file in un editor di testo predefinito con un elenco di tutte le app installate e un elenco di tutti gli " eseguibili " che dovrebbero anche essere considerati applicazioni.

Penso che ciò fornisca la soluzione più completa per un determinato problema. È veloce e fa il lavoro.

Per fornire una risposta più dettagliata, esaminiamo finalmente tutti i comandi e gli argomenti in modo che tutto sia chiaro a coloro che hanno paura di usare il terminale.

Il lscomando elenca semplicemente i contenuti della directory. In questo caso /Applicationse anche /usr/local/bin- questa posizione è per i programmi che un normale utente può eseguire.

L'argomento -lvisualizza l'elenco in un "formato lungo". Maggiori informazioni sul "formato lungo" sono disponibili qui .

Successivamente abbiamo un simbolo di pipa | . Separa due programmi su una riga comandi in modo che l'output elencato possa essere aperto successivamente in un altro programma. In questo caso usando il opencomando.

Il opencomando apre semplicemente file e directory ma combinato con -ef:

  • -e Fa sì che il file venga aperto con /Applications/TextEdit
  • -f Legge l'input dall'input standard e apre i risultati nell'editor di testo predefinito.

Infine, la combinazione di entrambi gli elenchi viene incollata insieme con la &&quale consente di eseguire più comandi contemporaneamente, quindi alla fine si arriva a un comando terminale "a una riga".

inserisci qui la descrizione dell'immagine

Spero che questo aiuti e fornisca spiegazioni dettagliate.


Applicazioni d Non devo essere in / applicazioni
user151019

0

Prova a eseguirlo in 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

Questa è una query di ricerca che cerca gli elementi con il predicato di metadati dato kMDItemContentType == "com.apple.application-bundle", ti fornirà un elenco completo di tutti i bundle di applicazioni ( .app) nel tuo ambito dato, o se -onlyinnon viene fornito, la scala globale (comprese le unità esterne / di rete) sarà Usato.



-2

Vai a FINDER

Fai clic su APPLICAZIONI


3
Le applicazioni possono essere installate al di fuori della cartella / Applicazioni.
Scot

-4

La cartella dell'applicazione. Basta accedere alla cartella delle applicazioni


3
Le applicazioni possono essere installate al di fuori della cartella Applicazioni.
Ian C.

-5

finder> applicazioni. semplice come quella


Così semplice che manca qualsiasi applicazione non installata in /Applications...
nohillside
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.