Різниця між додатками .app та файлами в / usr / bin?


4

Я не розумію різниці. Я спробував покласти .app файл в / usr / bin і виконав, якщо з терміналу, але це не робить нічого. Які файли йдуть?

Відповіді:


6

У Вікіпедії є гарна стаття Пакет прикладних програм s.

Коротше кажучи, a .app не є файлом: це дерево каталогів з певною структурою. Фактичний двійковий файл, який виконується (тобто, еквівалент двійкового файлу, який ви знайдете в /usr/bin ) є PackageName.app/Contents/MacOS/PackageName. Проте ви (як правило) не можете просто скопіювати цей файл до "/ usr / bin" і запустити його, оскільки він очікує, що в папці .app буде багато інших файлів, які потрібно, наприклад, багато програм файли перекладу, які дозволяють їм представляти інтерфейс користувача на різних мовах PackageName.app/Contents/Resources/de.lproj (де de мається на увазі german ).

У деяких випадках .app пакет може містити виконувані файли, які можна виконувати безпосередньо - наприклад, я часто використовую ebook-convert двійковий з calibre.app пучок, запускаючи /Applications/calibre.app/Contents/Resources/loaders/ebook-convert. В даному випадку, ebook-convert виявляється автономним скриптом python і цілком щасливим, коли його називають таким чином - не всі виконувані файли будуть такими щасливими.

Зазвичай можна запустити a .app викликаючи безпосередньо головний двійковий файл, наприклад, /Applications/Safari.app/Contents/MacOS/Safari запустить Safari. Тим не менш, це багато набору тексту - open /Applications/Safari.app це ярлик, який робить те ж саме.

man open має багато інших прикладів використання open діяти так, як ніби користувач двічі натиснув на значок у пошуку.


Тільки примітка додати тут. У Finder ви можете побачити, що знаходиться всередині пакету прикладних програм (або будь-якого пакета), клацнувши правою кнопкою миші на його значку і вибравши "Показувати вміст пакета" з контекстного меню.
Josh

4

Як сказав Томас Маркаускас, .app є пачкою.

Чому ви спробували перемістити файл .app до / usr / bin? Я збираюся здогадатися, що те, що ви дійсно хочете знати, це "як відкрити файл за допомогою Foo.app, коли я перебуваю в командному рядку?"

Якщо я прав, відповідь не полягає в тому, щоб перемістити файл .app до / usr / bin. Правильна відповідь полягає у використанні open команда:

$ open -a Foo some_file

Використання open без -a відкриє файл зі своєю стандартною програмою - так само, як якщо ви двічі клацнете some_file у Finder.


2

.app - це не файл, а папка (або пакет додатків) з багатьма різними файлами. Він також містить виконувані файли.


0

Ви також можете запустити програму безпосередньо з open команда:

open /Applications/Safari.app/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.