OS X Terminal «должен иметь» утилиты [закрыто]

109

Я просто с удовольствием прочитал и многому научился по следующим вопросам:

Но я не нашел в них некоторых из моих любимых инструментов, которые я использую ежедневно , и я думаю, что это потому, что это инструменты , предназначенные для OSX / Terminal , которые не вписываются в вышеупомянутые вопросы.

Мои любимые, в порядке предпочтения: oh-my-zsh , homebrew (но также и macports), janus ...

Эти инструменты имеют общее:

  • Терминал : установить и использовать
  • OSX Предназначен : brewесть, gitнет!
  • Простота установки : один вкладыш, т.е. git clone; wget ...и т.п.
  • Расширяемый : возможно, имеет расширения или простой API (например, oh-my-zsh с плагинами, brew с формулами, janus с комплектными плагинами vim ...)
  • Часто с открытым исходным кодом, бесплатно, размещается на github, по сценарию, в основном (но не только!) С ruby ​​...

Знаете ли вы какие-либо аналогичные обязательные инструменты? Я хотел бы открыть новые!

Пожалуйста, включайте только одну утилиту в ответ. Также, пожалуйста, не добавляйте дубликаты. Проверьте сначала перед публикацией. Если вы видите дубликат, просим уменьшить ответ и сообщить автору, оставив комментарий.

Vincent
источник
У homebrew и macports вместе могут возникнуть проблемы, так как macports будет читать файлы, установленные homebrew, и они не обязательно будут правильной версией
user151019
да, но в 95% случаев нет серьезных проблем, а для оставшихся 5% случаев просто временное изменение $ PATH часто является решением ... Я предпочитаю brew для простоты и легкости, но у macports гораздо больше пакетов, которые мы, вероятно, найдем никогда не вижу в доморощенном ...
Винсент
@ Vincent - вся суть доморощенного в том, что вы можете довольно легко создать свою собственную формулу, поэтому «никогда не смотрите на доморощенный», похоже, полностью упускает смысл. MacPorts удобен, так как вам не нужно много делать, эффективно предоставляя вам установщик в стиле BSD portили Debian apt-get.
ocodo
Можно ответить на свой вопрос - почему бы не отделить «ответы» и просто оставить вопрос.
bmike
@slojomo, посмотрите на некоторые очень сложные «порты» macports с множеством зависимостей, таких как deluge, вы поймете ... плюс тот факт, что у homebrew есть политика без формул, переопределяющая системные компоненты ... (например, mysql ...)
Винсент

Ответы:

92

Homebrew

Отсутствует менеджер пакетов для OS X.

Это удивительный менеджер пакетов, очень легкий и простой в использовании. Принцип KIS, который заставляет меня думать об archlinux. Его сообщество большое и очень активное.

(см. также macports, который brew не заменяет полностью, я предпочитаю устанавливать пакеты с brew, но некоторые сложные пакеты есть только на macports)

Смотрите также brew tapкоманду, которая предоставляет некоторые пропущенные формулы, которые могут быть полезны, например, когда вам нужна последняя версия php> brew tap josegonzalez/php.

(Homebrew придерживается политики не заменять системные компоненты, но иногда приходится это делать)

Винсент
источник
Ваша ссылка FormulaAlt не работает. (404)
ottel142
отредактировано, чтобы упомянуть, brew tapкакое решение теперь является встроенным для обработки внешних «формул» .
Винсент
Обратите внимание, что вы также можете указать «внешнюю» формулу напрямую через URL-адрес ее формул. Rb
ocodo
ОБНОВЛЕНИЕ: Homebrew теперь готов заменить системные компоненты, например, make, curl, bash, zsh ... Вам просто нужен дополнительный шаг: brew link --force <package>перезаписать системную копию. Кроме того, в homebrew-dupesканцелярии хранятся некоторые второстепенные дубликаты, а не канонические.
Калеб Сюй
62

iTerm2 (бесплатно)

Упоминается в комментариях, но это важно , поэтому для акцента ...

Slomojo
источник
7
Серьезно, забудьте об OSX Terminal + Visor, iTerm2 намного лучше, я весь день делю панели на весь экран с помощью горячей клавиши à la visor ... Есть также много других замечательных функций ...
Vincent
1
Как ни странно, с июля 2011 года не было обновления стабильной версии, а в июле 2012 года вышла бета-версия, которая так и не была продвинута. Этот проект мертв?
Дэн Розенстарк
1
@ Яр все еще в разработке. Официальный репо автор поддерживает здесь: github.com/gnachman/iTerm2
mh.
37

Ack (бесплатно)

Отлично подходит для поиска текстовых файлов, вам никогда не придется снова использовать комбинацию поиска / grep.


У Ack есть два замечательных модуля интеграции для основных текстовых редакторов OSX:

Vincent
источник
3
+1 Ack - отличная замена grep, если бы не тот факт, что grepу меня в мышечной памяти, я бы никогда не использовал его вообще.
ocodo
Ack - это обязательный инструмент, который делает grep удобным для разработчиков, но он немного не по теме, поскольку он не имеет отношения к OSX, редактируя этот ответ, чтобы добавить информацию Vim / AckMate.
Винсент
1
grinтоже хорошая альтернатива.
Гак
улыбка прекрасна, вот ссылка: pypi.python.org/pypi/grin
Лорин Хохштайн,
2
В наши дни все дело в Серебряном Искателе .
Зев Айзенберг
33

о-о-о (бесплатно)

Горстка функций, автозаполнение помощников и тому подобное, что заставляет вас кричать ...

«О, МОЯ ZSHELL!»

Заставил меня любить shell, когда я просто использовал его, когда мне было нужно ... Zsh - это "bash on стероиды", с oh-my-zsh и всеми его плагинами, многими особенностями для OSX, shell намного более удобен и мощен ... О, также темы довольно крутые.


Также стоит взглянуть, некоторые альтернативы / дополнения на основе zsh:

  • prezto Это полное переписывание oh-my-zsh, чистое и намного более активное, теперь использующее его :)
  • zsh-users (бесплатно) Некоторые очень приятные вещи в zsh (люблю подсветку синтаксиса)
  • zcm (бесплатно) менеджер конфигурации zsh (по мотивам oh-my-zsh)
Vincent
источник
1
zshс oh-my-zshдействительно удивительным, он даже завершит путь по команде scp/, sshесли вы включили аутентификацию с открытым ключом для сервера, на который вы смотрите, он качается. (удивительно мощное завершение ... /v/m/s/TAB 'расширяется до /Volumes/MyDrive/Src)
ocodo
+1 за презто. Мне нравится подход использования подмодулей git.
Желудь
Также проверьте github.com/zsh-users/antigen
ocodo
Презто намного быстрее чем о-о-о-о. Тебе стоит попробовать это.
Rnhmjoj
32

лолкат (бесплатно)

Lolcat

Сайрам
источник
2
Конечно, самый полезный инструмент терминала, да! (После корсей и фиглетки.)
ocodo
9
Очевидно, что в Lion Terminal была добавлена ​​поддержка 256 цветов.
Крис Пейдж
2
хороший (смеется), но немного не по теме, на самом деле не связанный с OSX
Vincent
Какая разница ? =) Это хороший инструмент!
Матье Риглер,
Самая полезная установка из всех.
января
24

Функции оболочки

Я не могу жить без этого.

  • Одна команда, чтобы обновить их всех.

    update() {
        local brew="brew update; brew upgrade;"
        local gisty="gisty pull_all; gisty sync_delete"
        local gem="gem update;"
        local pip="pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs pip install -U -q"
        sh -c $brew$gisty; sudo sh -c $gem$pip
    }

    Очевидно, что вы можете добавить больше команд в соответствии с используемыми вами менеджерами пакетов. Это сделано мной.

  • Изменить каталог на текущий каталог Finder

    cdf() {
        target=`osascript -e 'tell application "Finder" to if (count of Finder windows) > 0 then get POSIX path of (target of front Finder window as text)'`
        if [ "$target" != "" ]; then
            cd "$target"; pwd
        else
            echo 'No Finder window found' >&2
        fi
    }

    cdfоткрыть каталог Finder в терминале и open .открыть в Finder каталог каталога терминала.

    Источник

  • Получить цвета на страницах руководства

    man() {
        env \
        LESS_TERMCAP_mb=$(printf "\e[1;31m") \
        LESS_TERMCAP_md=$(printf "\e[1;31m") \
        LESS_TERMCAP_me=$(printf "\e[0m") \
        LESS_TERMCAP_se=$(printf "\e[0m") \
        LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
        LESS_TERMCAP_ue=$(printf "\e[0m") \
        LESS_TERMCAP_us=$(printf "\e[1;32m") \
        man "$@"
    }

    Источник

  • Использовать закрытый ключ RSA в git

    git(){
        trap 'rm -f /tmp/.git_ssh.$$' 0
        SSH_KEY="~/.ssh/id_rsa"
        echo "ssh -i $SSH_KEY \$@" > /tmp/.git_ssh.$$
        chmod +x /tmp/.git_ssh.$$
        export GIT_SSH=/tmp/.git_ssh.$$
        [ "$1" = "git" ] && shift
        git "$@"
    }

    Я заметил, что добавление этого в ваш .rc замедлит работу git. Если вы хотите избежать этого, вы должны распаковать функцию и сохранить ее как скрипт оболочки в вашем$PATH

    Источник (я немного его изменил. Оригинал каждый раз запрашивает путь ключа).

  • Подсветка синтаксиса у кота

    cat() {
        local out colored
        out=$(/bin/cat $@)
        colored=$(echo $out | pygmentize -f console -g 2>/dev/null)
        [[ -n $colored ]] && echo "$colored" || echo "$out"
    }

    Это может быть довольно медленным, так как необходимо распечатать весь файл перед его печатью. Никогда не используйте это в двоичном файле!

    pip install Pygments установить фрагменты.

оборота Rnhmjoj
источник
использование закрытого ключа RSA в git лучше с настройкой SSH через ~ / .ssh / config.
Эйр Ним
21

Инконсолата-дз (бесплатно)

Это небольшая модификация оригинального Inconsolata . Это фантастический моноширинный шрифт для использования с Terminal.app, TextMate, MacVim и везде, где он вам нужен. Должно быть для любого кодера. введите описание изображения здесь

Ingmar Hupp
источник
+1 Мне нравится этот лучше, чем ProfontX
EmmEff
1
К сожалению, на вашем скриншоте это выглядит не очень хорошо для меня.
Питер Штибраны
Кажется, у него были некоторые артефакты сжатия - заменили его (надеюсь) лучшим!
Ингмар Хапп
Спасибо. Теперь это мой шрифт по умолчанию почти во всех приложениях для написания текстов.
Rnhmjoj
19

TotalTerminal (бесплатно)

Вкладки, козырек, горячие клавиши, очень простые и надежные. Хорошо поддерживается с частыми обновлениями.

TotalTerminal

nthonygreen
источник
16

MTR (бесплатно) от BitWizard - объединяет pingиtraceroute

Монтаж: brew install mtr --no-gtk

                                            Packets               Pings
 Host                                     Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 217.70.191.253                         0.0%    32    0.5   1.7   0.3  17.6   3.8
 2. p252-core4-d.paris.gandi.net           0.0%    32    0.5   1.1   0.3  17.8   3.1
 3. xe2-1-24-vcore1-dc1.balt.gandi.net     0.0%    32   97.4 105.7  96.9 187.7  22.0
 4. eqixva-google-gige.google.com         80.0%    31  100.8 100.2  99.6 100.8   0.4
 5. 209.85.252.80                          0.0%    31  100.3 108.0 100.0 210.4  24.3
 6. 209.85.243.114                         0.0%    31  111.9 112.6 111.7 118.6   1.2
 7. 64.233.174.87                          0.0%    31  119.8 112.7 111.6 119.8   1.9
    64.233.174.117
 8. 209.85.242.181                        16.1%    31  112.0 117.0 111.8 125.2   5.1
    209.85.253.185
    209.85.242.177
    209.85.253.181
 9. vx-in-f105.1e100.net                   0.0%    31  112.0 112.3 111.6 116.4   0.8

Whatmask (бесплатно) от Laffey Computer Imaging - калькулятор подсети IPv4

Скачать OS X бинарный файл . Также онлайн .

$ whatmask 192.168.5.6/22

------------------------------------------------
           TCP/IP NETWORK INFORMATION
------------------------------------------------
IP Entered = ..................: 192.168.5.6
CIDR = ........................: /22
Netmask = .....................: 255.255.252.0
Netmask (hex) = ...............: 0xfffffc00
Wildcard Bits = ...............: 0.0.3.255
------------------------------------------------
Network Address = .............: 192.168.4.0
Broadcast Address = ...........: 192.168.7.255
Usable IP Addresses = .........: 1,022
First Usable IP Address = .....: 192.168.4.1
Last Usable IP Address = ......: 192.168.7.254
Ingmar Hupp
источник
хороший, но немного не по теме, не совсем связанный с OSX :)
Vincent
вау, эта штука удивительная Спасибо за обмен
jupp0r
Как вы управляете mtr? Независимо от того, что я запускаю, даже если я хочу узнать помощь или версию, я не могу получить необработанные сокеты
AntK
Вы можете запустить его с помощью sudo mtr example.comили установить двоичный файл с помощью chown root:admin /usr/local/sbin/mtr && chmod +s /usr/local/sbin/mtr.
Ингмар Хапп
16

Автопрыжок (бесплатно)

Отличная утилита командной строки, которая хранит cdкоманды и автоматически создает ярлык автозаполнения для ваших самых посещаемых каталогов.

Еще лучше, если несколько каталогов имеют одинаковое имя (начиная с одинаковых символов), Autojump просто выберет тот, к которому вы чаще всего обращаетесь. Вам не нужно будет вводить полное имя.

Пример:

cd project1

j pТеперь вы попадете прямо на полный путь проекта1 .

Теперь , что если создать подобную папку под названием project2 который вы также получить доступ к часто (но меньше , чем project1 ), Autojump будет назначать меньший вес проекта2 и доставит вас прямо к project1 .

Если вы нажмете TABпосле ввода, "pro"например, ваша оболочка будет отображаться project__, намекая на тот факт, что существует более 1 соответствующего каталога. Другой TABудар отобразит список подходящих каталогов и позволит вам выбрать тот, который вы имеете в виду.

Примечание: я недавно установил ZSH и заметил некоторые помехи из-за функций автозаполнения. Autojump отлично работает на ванильном терминале.

Оливье Лакан
источник
При использовании zsh просто попробуйте cd -[TAB] посмотреть, как вы попали.
ocodo
@Slomojo Это другое; прыжки переходят в иерархию без промежуточных шагов. Если не хватает zsh-функции, которая делает это (очень возможно, я что-то упускаю).
Дейв Ньютон,
15

Соляризация (бесплатно)

Цветовая схема для терминала.

Lion поддерживает цвета ANSI, поэтому такие хакерские вещи, как SIMBL, больше не нужны.

Для Snow Leopard и более ранних версий вам потребуется SIMBL, чтобы максимально использовать его, поскольку поддержка цвета в Terminal.app ограничена.

Грэм
источник
к вашему сведению, его vim-версия поставляется с janus;)
Винсент
Соляризация для Lion Terminal выглядит не совсем правильно для меня - цвета не соответствуют по сравнению с Vim и iTerm. Кто-нибудь сталкивался с этим?
yjsoon
3
@yjsoon забудь Lion Terminal, используй iTerm2 ...
Винсент
1
@ Vincent Мне нравилось iTerm2 ... пока не вышел Lion Terminal, и я мог открывать новые вкладки в том же каталоге, что и текущая вкладка, и затемнять историю. В ожидании iTerm, чтобы получить их.
yjsoon
@yjsoon Я не удивлюсь, что вы можете получить такое поведение с некоторыми плагинами oh-my-zsh ... или с небольшим количеством сценариев;) omz ftw!
Винсент
14

MacPorts

Проект MacPorts - это инициатива сообщества разработчиков программного обеспечения с открытым исходным кодом, направленная на создание простой в использовании системы для компиляции, установки и обновления программного обеспечения с открытым исходным кодом на основе командной строки, X11 или Aqua в операционной системе Mac OS X.

Многие скажут, что вы не используете macport, вместо этого используйте homebrew. Это в основном верно, домашний напиток легче и проще в использовании . Но macports предлагает гораздо больше пакетов, и некоторые из них никогда не станут доморощенными из-за их другой философии. (Я использую оба, для разных нужд)

Например, я рекомендую GTK в его кварцевом (родном OSX) варианте:

sudo port install gtk2 +no_x11+quartz

Затем, когда вы устанавливаете пакет, который может извлечь из этого пользу, например, wireshark ... Вы получите собственный OSX UI, более быстрый и выглядящий намного лучше, чем X11 ...

Vincent
источник
13

DTerm (бесплатно) от компании Decimus Software

Подобно Visor, но с некоторыми дополнительными дружественными функциями (также, кажется, находится в активной разработке)

Slomojo
источник
8

Обед (бесплатно)

Дружественная обертка для launchctl. Начни свои агенты и иди на обед!

Удобный инструмент для управления (запуск / остановка / перезапуск) служб / демонов OSX ...

Это рубиновый камень: gem install lunchy

Vincent
источник
8

Bropages :

Страницы братана - очень удобочитаемое дополнение к страницам руководства. Страницы Bro показывают краткие, типичные примеры для команд Unix.

Пример:

$ bro find
14 entries for find -- submit your own example with "bro add find"

# Executes a command on the files and folders matching a given pattern, in this case, output the last lines of each .foo file in the current folder and subfolders.
find . -name "*.foo" -exec tail {} \;

        bro thanks      to upvote (24)
        bro ...no       to downvote (0)

.......................................................................................................................................

# Outputs all the file names/paths that start with the name "Casey".  Searches recursively starting from my current directory (.)
# Throws out any error output by sending it to /dev/null
find . -name "Casey*" 2>/dev/null

        bro thanks 2    to upvote (16)
        bro ...no 2     to downvote (0)

.......................................................................................................................................

# Finds all files in and under the current directory that contain 'foo' in their name
find . -iname '*foo*'

        bro thanks 3    to upvote (13)
        bro ...no 3     to downvote (1)
оборота джерран
источник
7

Янус + Маквим

Janus - это базовый дистрибутив плагинов и инструментов vim, предназначенный для запуска поверх последнего снимка MacVIM.

установите macvim с помощью homebrew brew install macvim и следуйте (легким) инструкциям janus, и вы получите мощный текстовый редактор, предварительно настроенный для вас бриллиантами. Кривая изучения vim на первый взгляд пугающая, но как только вы освоитесь с ней, вы никогда не вернетесь (или, возможно, к emacs ...) (к сожалению, многие программисты отказались от своей выгоды TextMate)

Это может звучать странно, но я предпочитаю использовать vim в iTerm2, чем macvim ... (vim входит в состав macvim, просто используйте brew install macvim --override-system-vim)

Винсент
источник
5

ProfontX (бесплатно)

Мой любимый программный и терминальный шрифт на MacOS. (ProfontX - исправленная версия Profont, в которой были проблемы с некоторыми персонажами)

apouche
источник
Хороший шрифт, спасибо, не знал этого, попробую, даже если я думаю, что я, наконец, откажусь от этого старого доброго Монако (которое отлично воспроизводится в iTerm2)
Винсент
Монако победило, лучшая читаемость для моих глаз :), хотелось бы переключиться на современный Menlo, но его специальные символы UTF-8, такие как too, слишком малы для удовольствия.
Винсент
безусловно, дело вкуса;), в Монако есть кое-что, чего я просто не выношу, мне кажется, он слишком хрустящий
apouche
1
о да, безусловно, личный выбор. Не знаю, если его еще нет, но было бы неплохо, если бы вики сообщества была посвящена исключительно разработчикам шрифтов фиксированного размера для OSX ...;)
Vincent
4

Boxen - Автоматическая настройка Mac OS и сборка, установка / обновление программного обеспечения. Это помогает сэкономить много времени, когда вам нужны точно такие же настройки (программное обеспечение, версия) в команде разработчиков, а также позволяют каждому человеку устанавливать другие инструменты для повышения производительности.

Спрашивай и учись
источник
3

забрало

это интересная утилита. Он описывает себя как:

общесистемный терминал на горячей клавише

Довольно круто. Он опускает терминал по нажатию комбинации клавиш.

РЕДАКТИРОВАТЬ :

Visor был переименован в TotalTerminal ... (см. Другой ответ, это можно / нужно удалить)

boehj
источник
4
К вашему сведению, я перешел с терминала на iTerm2, который имеет встроенную функцию, подобную козырьку, и намного больше похожую на сплитпаны! :)
Винсент
3

bash-it (бесплатно)

Альтернатива oh-my-zsh (см. Выше). Действительно полезная коллекция скриптов, псевдонимов и функций для bash. Также предусмотрена хорошая система плагинов для добавления собственных дополнений.

nwinkler
источник
3

Go2Shell (бесплатно)

Не утилита терминала, а утилита для использования Терминала. Он помещает кнопку в панель инструментов Finder и при нажатии создает новое окно терминала, которое будет добавлено в этот каталог.

редактирование: разработчики говорят, что версия приложения, доступная непосредственно у них, имеет больше возможностей, чем версия в App Store. Я обновил ссылку, чтобы перейти на их страницу, но версия App Store все еще доступна здесь .

оборота ThomasW
источник
В настоящее время не работает на Йосемити.
Джерран
@jherran Я сам не пробовал, но разработчики утверждают, что он работает на Yosemite. Если это не для вас, попробуйте связаться с ними.
ThomasW
Я сделал. И сказал мне то же самое, они работают над этим, но отныне не работает на Йосемити.
Джерран
Они выпустили версию 2.2 на своем сайте, которая, по их утверждению, совместима с Yosemite.
ThomasW
2

Бвана (бесплатно)

Технически это не терминальная команда, но она очень удобна для быстрого поиска по man-странице, позволяя url of: "man: ls" показывать html-страницу man-страницы в вашем браузере.

Кли
источник
1

Jodies.de ipcalc

 🍺  /usr/local/Cellar/ipcalc/0.41: 4 files, 40K, built in 2 seconds
 bash-3.2$ ipcalc 10.20.30.40/8
 Address:   10.20.30.40          00001010. 00010100.00011110.00101000
 Netmask:   255.0.0.0 = 8        11111111. 00000000.00000000.00000000
 Wildcard:  0.255.255.255        00000000. 11111111.11111111.11111111
 =>
 Network:   10.0.0.0/8           00001010. 00000000.00000000.00000000
 HostMin:   10.0.0.1             00001010. 00000000.00000000.00000001
 HostMax:   10.255.255.254       00001010. 11111111.11111111.11111110
 Broadcast: 10.255.255.255       00001010. 11111111.11111111.11111111
 Hosts/Net: 16777214              Class A, Private Internet

Это также доступно в HomeBrew:

 bash-3.2$ brew install ipcalc
 ==> Downloading http://jodies.de/ipcalc-archive/ipcalc-0.41.tar.gz
январь
источник
0

Мне нравится Color Maven

alias maven="command mvn"
color_maven() {
  maven $* | sed -e "s/\(\[INFO\]\ \-.*\)/[36;01m\1[m/g" \
               -e "s/\(\[INFO\]\ >>> .*\)/[32;01m\1[m/g" \
               -e "s/\(\[INFO\]\ <<< .*\)/[32;01m\1[m/g" \
               -e "s/\(\[INFO\]\ Building .*\)/[36;01m\1[m/g" \
               -e "s/\(\[INFO\]\ \[.*\)/01m\1[m/g" \
               -e "s/\(\[INFO\]\ BUILD SUCCESS\)/[01;32m\1[m/g" \
               -e "s/\(\[INFO\]\ BUILD FAILURE\)/[01;31m\1[m/g" \
               -e "s/\(\[WARNING\].*\)/[01;33m\1[m/g" \
               -e "s/\(WARN.*\)/[01;33m\1[m/g" \
               -e "s/\(DEBUG.*\)/[01;33m\1[m/g" \
               -e "s/\(\[ERROR\].*\)/[01;31m\1[m/g" \
               -e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/[32mTests run: \1[m, Failures: [01;31m\2[m, Errors: [01;31m\3[m, Skipped: [01;33m\4[m/g"
}
alias mvn=color_maven

Цвет LS

alias ls='ls -FG'
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
-or-
echo export CLICOLOR >> ~/.bashrc
echo export CLICOLOR >> ~/.bash_profile
оборота Джиф
источник