Bagaimana cara mendapatkan daftar lengkap semua aplikasi yang diinstal?

15

Menggunakan OSX 10.8.4., Saya mengalami kesulitan menemukan daftar lengkap semua aplikasi perangkat lunak yang diinstal pada Mac saya. Tentu saja, Launchpadhanya menampilkan daftar yang memiliki pintasan aplikasi dibuat, tidak termasuk yang tidak. Saya juga mencoba menekan Optiontombol saat dalam Menu Apple untuk perubahan About This Macke System Information, kemudian Software-->Installationstapi itu masih bukan daftar lengkap.

Bagaimana cara saya mendapatkan daftar lengkap semua aplikasi yang diinstal?

amfibi
sumber
1
Masalahnya dengan OS X adalah bahwa Anda biasanya tidak 'menginstal' sebagian besar aplikasi selain dari yang dari Mac App Store atau beberapa lainnya dari perusahaan seperti Adobe atau Microsoft. Sebagian besar aplikasi hanyalah hal-hal yang Anda unduh dalam file ZIP atau DMG dan seret / lepas ke folder Aplikasi Anda. Folder Aplikasi itu adalah tempat aplikasi hampir selalu berada dan akan selengkap daftar seperti yang Anda dapatkan.
David
8
Ada kerumitan halus untuk apa yang Anda tanyakan di sini dan itu adalah: apa itu "aplikasi"? Apakah Anda mencari semua .appbundel di sistem Anda? Atau Anda ingin daftar apa saja yang dapat dilakukan pengguna?
Ian C.
2
Jika Anda menambahkan apa yang Anda rencanakan dengan daftar Aplikasi ini setelah Anda memilikinya, saya ingin tahu apakah jawabannya akan lebih baik menargetkan kebutuhan Anda karena gagasan Aplikasi cukup kabur dan terbuka untuk interpretasi.
bmike
1
Saya bukan OP, tetapi definisi saya akan menjadi daftar segala sesuatu yang akan berfungsi sebagai argumen open -a.
Mark Reed

Jawaban:

19

Coba: Tentang Mac Ini> Info Lebih Lanjut> Laporan Sistem> Perangkat Lunak

.

masukkan deskripsi gambar di sini

Bukan hanya "Instalasi" ... tetapi yang lain mungkin memberi Anda beberapa info juga.

GEdgar
sumber
3
Bagi saya, tab "Aplikasi" memiliki daftar yang lebih baik, yang membutuhkan waktu sedetik untuk muncul.
ma11hew28
15

Jika Anda hanya mencari daftar aplikasi dengan ekstensi .app, maka mulailah Terminal dan berjalan

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

akan (pada akhirnya) memberi Anda daftar aplikasi yang cukup komprehensif, ditulis ke file teks yang disebut "application.txt" di folder Beranda Anda.

binarybob
sumber
12

Dari baris perintah, coba system_profiler (8) :

> system_profiler SPApplicationsDataType

Berikut ini adalah cuplikan yang menunjukkan 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_profilerjuga dapat menghasilkan format XML ( plist (5) ) yang dapat dengan mudah diuraikan. Untuk ini, gunakan -xmlparameter. Berikut adalah fragmen Safari yang diperbarui dalam format ini:

<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
sumber
Apa ketentuannya di sini? Jika saya hanya menyeret .appdirektori ke dalam /Applications, apa yang harus terjadi sehingga system_profilerakan melihatnya?
ghoti
3

Perintah-perintah ini mendaftar aplikasi yang sama pada instalasi saya:

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

Keduanya kehilangan beberapa bundel aplikasi di dalam bundel aplikasi dan kerangka kerja.

lsregister termasuk lebih banyak aplikasi di dalam bundel aplikasi lain, tetapi juga termasuk aplikasi yang telah dihapus dan aplikasi pada 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}'

Ini menemukan lebih banyak aplikasi di dalam bundel lain, tetapi tidak cocok dengan aplikasi yang tidak memiliki .appekstensi:

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

Tidak jelas dari pertanyaan OP apakah dia mencari jawaban yang mudah atau jawaban yang sulit. Cara memasukkan hampir semua aplikasi ke daftar yang mudah adalah:

  1. Buka Terminal
  2. Masukkan ls /Applicationsuntuk daftar alfabet sederhana, atau ls -l /Applicationsuntuk informasi lebih lanjut:

    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
sumber
1

Buka terminal, dan tulis perintah berikut. sudo find / -iname *.app Ini adalah penjawab yang sama dengan "binarybob" tetapi dengan sudo Anda dapat mengakses dan mendaftar beberapa folder yang tidak dapat Anda lakukan tanpa hak administrator. Kata sandi Anda akan ditanyakan dan Anda mendapatkan manfaat dari "hak" sudo jika akun Anda adalah akun admin.

Misalnya, dengan find / -iname *.appsaya mendapatkan 430 baris, dan dengan sudo find / -iname *.appsaya mendapatkan 432 baris. Ini contoh di komputer saya dan mungkin hasilnya akan sama apa pun yang diperintahkan untuk Anda.

Thibault
sumber
Namun ini juga akan mendapatkan cadangan jika disk tersebut dipasang misalnya disk TimeMachine
user151019
1

Dengan menggunakan plistbuddy Anda dapat memperoleh beberapa informasi dan menguraikannya untuk hal-hal yang Anda butuhkan.

Ini akan mendapatkan semua aplikasi / utilitas yang diinstal dengan nomor versi mereka dan memasukkannya ke dalam file teks untuk Anda.

#!/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
sumber
Bagaimana cara menjalankannya? Silakan tambahkan lebih banyak langkah dalam jawaban Anda.
Hemang
0
  1. LaunchPad harus menampilkan semua aplikasi di / Aplikasi; mereka tidak harus memiliki "jalan pintas" yang dibuat untuk muncul di sana.
  2. Anda dapat melihat langsung di / Aplikasi dan / Aplikasi / Utilitas.
  3. Informasi Sistem memiliki bagian Perangkat Lunak> Aplikasi di bilah samping yang akan menampilkan daftar yang lebih lengkap, termasuk aplikasi yang disimpan di lokasi yang tidak terduga (saya pikir menggunakan Spotlight untuk menemukannya).
Gordon Davisson
sumber
0

Jawaban sederhana yang baru saja saya buat dari semua jawaban di atas.

ls /Applications > Desktop/applications.txt
Vinozio
sumber
Mengapa memilih bawah?
Vinozio
Aplikasi dapat diinstal di luar folder / Aplikasi.
user151019
itu duplikat
historystamp
0

Saya tahu pertanyaan telah ditanyakan 4 tahun lalu, beberapa jawaban telah diberikan, masing-masing mencoba untuk memecahkan masalah secara berbeda (melalui GUI atau CLI) tetapi tidak satupun dari mereka yang lengkap.

Kemarin di perusahaan saya, setiap pengguna macOS diminta untuk memberikan:

daftar semua aplikasi yang diinstal pada sistem OS X / macOS mereka untuk audit perangkat lunak

Untuk membuat proses konsisten, mudah dan lengkap, semua orang menjalankan perintah yang sama di terminal

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

Perintah di atas membuka 2 file dalam editor teks default dengan daftar semua aplikasi yang diinstal serta daftar semua " executable " yang juga harus dianggap sebagai aplikasi.

Saya pikir ini memberikan solusi paling komprehensif untuk masalah yang diberikan. Cepat dan melakukan pekerjaan.

Untuk memberikan jawaban yang lebih rinci, mari kita lihat semua perintah dan argumen sehingga semuanya jelas bagi mereka yang takut menggunakan terminal.

The lsperintah hanya berisi daftar isi direktori. Dalam hal ini /Applicationsdan juga /usr/local/bin- lokasi ini adalah untuk program yang dapat dijalankan oleh pengguna normal.

Argumen -lmenampilkan daftar dalam "format panjang". Lebih lanjut tentang "format panjang" dapat ditemukan di sini .

Selanjutnya kita memiliki simbol pipa | . Ini memisahkan dua program pada baris perintah sehingga output yang terdaftar dapat selanjutnya dibuka di program lain. Dalam hal ini menggunakan openperintah.

The openperintah hanya membuka file dan direktori tapi dikombinasikan dengan -ef:

  • -e Menyebabkan file dibuka dengan /Applications/TextEdit
  • -f Membaca input dari input standar dan membuka hasilnya di editor teks default.

Akhirnya kombinasi kedua daftar terpaku bersama &&yang memungkinkan untuk mengeksekusi beberapa perintah sekaligus sehingga akhirnya kita berakhir dengan perintah terminal "satu baris".

masukkan deskripsi gambar di sini

Semoga ini bisa membantu dan memberikan penjelasan rinci.

Matt Komarnicki
sumber
Aplikasi d Saya tidak harus berada di / aplikasi
user151019
0

Coba jalankan ini di 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

Ini adalah permintaan pencarian yang mencari item dengan predikat metadata yang diberikan kMDItemContentType == "com.apple.application-bundle", itu akan memberi Anda daftar lengkap semua bundel aplikasi ( .app) dalam cakupan yang Anda berikan, atau jika -onlyintidak disediakan, skala global (termasuk drive eksternal / jaringan) akan menjadi bekas.

AgenBilly
sumber
-2

Pergi ke FINDER

Klik APLIKASI

pengguna2506231
sumber
3
Aplikasi dapat diinstal di luar folder / Aplikasi.
Scot,
-4

Folder aplikasi .. Masuk saja ke folder aplikasi

kuk
sumber
3
Aplikasi dapat diinstal di luar folder Aplikasi.
Ian C.
-5

finder> aplikasi. sederhana seperti itu

vinay
sumber
Begitu sederhana sehingga melewatkan aplikasi yang tidak diinstal di /Applications...
nohillside