Làm thế nào để có được một danh sách đầy đủ của tất cả các ứng dụng được cài đặt?


15

Sử dụng OSX 10.8.4., Tôi gặp khó khăn khi tìm danh sách đầy đủ tất cả các ứng dụng phần mềm được cài đặt trên máy Mac của mình. Tất nhiên, Launchpadchỉ hiển thị danh sách những người có lối tắt ứng dụng được tạo, ngoại trừ những người không có. Tôi cũng đã cố gắng giữ Optionphím trong khi trong Menu Apple để thay đổi About This Macđể System Information, sau đó Software-->Installationsnhưng điều đó vẫn không phải là một danh sách đầy đủ.

Làm cách nào để có được danh sách đầy đủ tất cả các ứng dụng được cài đặt?


1
Vấn đề với OS X là bạn thường không 'cài đặt' hầu hết các ứng dụng ngoài các ứng dụng từ Mac App Store hoặc một vài ứng dụng khác từ các công ty như Adobe hoặc Microsoft. Hầu hết các ứng dụng chỉ là những thứ bạn tải xuống trong tệp ZIP hoặc DMG và kéo / thả vào thư mục Ứng dụng của bạn. Thư mục Ứng dụng đó là nơi các ứng dụng hầu như luôn nằm và sẽ hoàn thành một danh sách như bạn sẽ nhận được.
David

8
Có một sự phức tạp tinh tế đối với những gì bạn đang hỏi ở đây và đó là: "ứng dụng" là gì? Bạn đang tìm kiếm tất cả .appcác gói trên hệ thống của bạn? Hay bạn muốn một danh sách bất cứ điều gì người dùng có thể thực hiện?
Ian C.

2
Nếu bạn đã thêm những gì bạn dự định làm với danh sách Ứng dụng này một khi bạn có nó, tôi tò mò muốn xem liệu câu trả lời sẽ nhắm mục tiêu tốt hơn cho nhu cầu của bạn hay không vì ý tưởng về Ứng dụng khá mờ nhạt và dễ giải thích.
bmike

1
Tôi không phải là OP, nhưng định nghĩa của tôi sẽ là một danh sách tất cả mọi thứ sẽ hoạt động như một đối số open -a.
Mark Reed

Câu trả lời:


19

Thử: Giới thiệu về máy Mac này> Thông tin thêm> Báo cáo hệ thống> Phần mềm

.

nhập mô tả hình ảnh ở đây

Không chỉ "Cài đặt" ... mà những người khác cũng có thể cung cấp cho bạn một số thông tin.


3
Đối với tôi, tab "Ứng dụng" có một danh sách tốt hơn, mất một giây để xuất hiện.
ma11hew28

15

Nếu bạn chỉ tìm kiếm danh sách các ứng dụng có phần mở rộng .app thì hãy khởi động Terminal và chạy

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

(cuối cùng) sẽ cung cấp cho bạn một danh sách các ứng dụng khá toàn diện, được ghi vào một tệp văn bản có tên là "application.txt" trong thư mục Home của bạn.


12

Từ dòng lệnh, hãy thử system_profiler (8) :

> system_profiler SPApplicationsDataType

Đây là một snipet hiển thị 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_profilercũng có thể xuất ra định dạng XML ( plist (5) ) có thể dễ dàng phân tích cú pháp. Đối với điều này, sử dụng -xmltham số. Đây là một đoạn Safari được cập nhật theo định dạng này:

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

Cái gì ở đây? Nếu tôi chỉ cần kéo một .appthư mục vào /Applications, những gì phải xảy ra để system_profilersẽ thấy nó?
ghoti

3

Các lệnh này liệt kê các ứng dụng tương tự trong cài đặt của tôi:

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

Cả hai đều thiếu một số gói ứng dụng bên trong các gói ứng dụng và khung.

lsregister bao gồm nhiều ứng dụng hơn trong các gói ứng dụng khác, nhưng nó cũng bao gồm các ứng dụng đã bị xóa và các ứng dụng trên ổ đĩa Time Machine:

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

Điều này tìm thấy nhiều ứng dụng hơn trong các gói khác, nhưng nó không khớp với các ứng dụng không có .apptiện ích mở rộng:

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

1

Không rõ từ câu hỏi của OP liệu anh ấy / cô ấy đang tìm kiếm câu trả lời dễ hay câu trả lời khó. Cách để đưa hầu hết tất cả các ứng dụng vào một danh sách thuận tiện sẽ là:

  1. Mở Terminal
  2. Nhập ls /Applicationscho một danh sách chữ cái đơn giản hoặc ls -l /Applicationsđể biết thêm thông tin:

    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
    

1

Mở terminal và viết lệnh sau sudo find / -iname *.app Đây là cùng một câu trả lời so với "binarybob" nhưng với sudo bạn có thể truy cập và liệt kê một số thư mục bạn không thể làm mà không có quyền quản trị viên. Mật khẩu của bạn sẽ được hỏi và bạn nhận được lợi ích của "quyền" sudo nếu tài khoản của bạn là tài khoản quản trị viên.

Ví dụ: với find / -iname *.apptôi nhận được 430 dòng và với sudo find / -iname *.apptôi nhận được 432 dòng. Đó là một ví dụ trên máy tính của tôi và có thể kết quả sẽ giống với bất kỳ lệnh nào dành cho bạn.


Tuy nhiên, điều này cũng sẽ nhận được bản sao lưu nếu các đĩa đó được gắn kết, ví dụ như đĩa TimeMachine
user151019

1

Sử dụng plistbuddy bạn có thể nhận được một số thông tin và phân tích thông tin cho những thứ bạn cần.

Điều này sẽ nhận được tất cả các ứng dụng / tiện ích được cài đặt với số phiên bản của chúng và đặt nó vào một tệp văn bản cho bạn.

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

Làm thế nào để chạy nó? Vui lòng thêm các bước trong câu trả lời của bạn.
Hemang

0
  1. LaunchPad sẽ hiển thị tất cả các ứng dụng trong / Ứng dụng; họ không cần phải có một "phím tắt" được tạo để xuất hiện ở đó.
  2. Bạn có thể xem trực tiếp trong / Ứng dụng và / Ứng dụng / Tiện ích.
  3. Thông tin hệ thống có phần Phần mềm> Ứng dụng trong thanh bên sẽ hiển thị danh sách đầy đủ hơn, bao gồm các ứng dụng được lưu trữ ở các vị trí không mong muốn (Tôi nghĩ rằng nó đang sử dụng Spotlight để tìm thấy chúng).

0

Câu trả lời đơn giản tôi vừa tạo từ tất cả các câu trả lời ở trên.

ls /Applications > Desktop/applications.txt

Tại sao bỏ phiếu xuống?
Vinozio

Các ứng dụng có thể được cài đặt bên ngoài thư mục / Ứng dụng.
dùng151019

đó là một bản sao
historystamp

0

Tôi biết câu hỏi đã được hỏi 4 năm trước, một số câu trả lời đã được đưa ra, mỗi câu trả lời cố gắng giải quyết vấn đề khác nhau (thông qua GUI hoặc CLI) nhưng không có câu trả lời nào hoàn chỉnh.

Hôm qua trong công ty của tôi, mọi người dùng macOS được yêu cầu cung cấp:

danh sách tất cả các ứng dụng được cài đặt trên hệ thống OS X / macOS của họ để kiểm toán phần mềm

Để làm cho quá trình nhất quán, dễ dàng và đầy đủ, mọi người đều chạy cùng một lệnh trong thiết bị đầu cuối

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

Lệnh trên sẽ mở ra 2 tập tin trong một trình soạn thảo văn bản mặc định với một danh sách tất cả các ứng dụng được cài đặt cũng như danh sách của tất cả các “ thực thi mà cũng cần được xem xét như các ứng dụng.

Tôi nghĩ rằng điều này cung cấp giải pháp toàn diện nhất cho một vấn đề nhất định. Thật nhanh chóng và thực hiện công việc.

Để cung cấp câu trả lời chi tiết hơn, cuối cùng chúng ta sẽ thực hiện tất cả các lệnh và đối số để mọi thứ rõ ràng với những người sợ sử dụng thiết bị đầu cuối.

Các lslệnh đơn giản liệt kê nội dung thư mục. Trong trường hợp này /Applicationscũng như /usr/local/bin- vị trí này dành cho các chương trình mà người dùng bình thường có thể chạy.

Đối số -lhiển thị danh sách trong một định dạng lâu dài. Tìm hiểu thêm về định dạng dài " có thể tìm thấy ở đây .

Tiếp theo chúng ta có một biểu tượng ống | . Nó phân tách hai chương trình trên một dòng lệnh để đầu ra được liệt kê có thể được mở tiếp theo trong một chương trình khác. Trong trường hợp này sử dụng openlệnh.

Các openlệnh đơn giản mở file và thư mục nhưng kết hợp với -ef:

  • -e Làm cho tập tin được mở bằng /Applications/TextEdit
  • -f Đọc đầu vào từ đầu vào tiêu chuẩn và mở kết quả trong trình soạn thảo văn bản mặc định.

Cuối cùng, sự kết hợp của cả hai danh sách được dán cùng với &&nó cho phép thực thi nhiều lệnh cùng một lúc, vì vậy cuối cùng chúng ta kết thúc bằng lệnh đầu cuối "một dòng".

nhập mô tả hình ảnh ở đây

Hy vọng điều này sẽ giúp và cung cấp giải thích chi tiết.


Ứng dụng d Tôi không phải ở trong / ứng dụng
user151019

0

Hãy thử chạy cái này trong Terminal (/Appluggest/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

Đây là truy vấn tìm kiếm tìm kiếm các mục với vị từ siêu dữ liệu đã cho kMDItemContentType == "com.apple.application-bundle", nó sẽ cung cấp cho bạn danh sách đầy đủ tất cả các gói ứng dụng ( .app) trong phạm vi đã cho của bạn hoặc nếu -onlyinkhông được cung cấp, quy mô toàn cầu (bao gồm cả ổ đĩa ngoài / mạng) sẽ được đã sử dụng.




-4

Thư mục ứng dụng .. Chỉ cần vào thư mục ứng dụng


3
Các ứng dụng có thể được cài đặt bên ngoài thư mục Ứng dụng.
Ian C.

-5

công cụ tìm> ứng dụng. đơn giản như thế


Đơn giản đến nỗi nó bỏ lỡ bất kỳ ứng dụng nào không được cài đặt trong /Applications...
nohillside
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.