Utilitários do OS X Terminal "must have" [fechado]


109

Acabei de ler com prazer e aprendi muito com estas perguntas:

Mas não encontrei nessas algumas das minhas ferramentas favoritas, que uso diariamente , e acho que é porque essas são ferramentas destinadas ao OSX / Terminal , que não se encaixam bem nas perguntas acima.

Meus favoritos são, por ordem de preferência: oh-my-zsh , homebrew (mas também macports), janus ...

Estas ferramentas têm em comum:

  • Terminal : instalar e usar
  • OSX pretendido : brewé, gitnão é!
  • Instalação fácil : um revestimento, ou seja. git clone; wget ...etc.
  • Extensível : possivelmente possui extensões ou API simples (por exemplo, oh-my-zsh com plugins, mistura com fórmulas, janus com plugins vim incluídos no pacote ...)
  • Muitas vezes, de código aberto, gratuito, hospedado no github, com script, principalmente (mas não apenas!) Com ruby ​​...

Você conhece outras ferramentas indispensáveis ? Eu adoraria descobrir novos!

Inclua apenas um utilitário por resposta. Além disso, não adicione duplicatas. Verifique primeiro antes de postar. Se você vir uma duplicata, gentilmente diminua a resposta e informe o autor deixando um comentário.


homebrew e MacPorts juntos poderia ter problemas como MacPorts lerá arquivos instalados por homebrew e eles não serão necessariamente a versão correta
user151019

verdade, mas 95% do tempo não há nenhum problema grave e, para os 5% restantes, apenas mudar temporariamente o $ PATH geralmente é a solução ... Prefiro o brew por facilidade e leveza, mas o macports tem muito mais pacotes, provavelmente nunca vê em homebrew ...
Vincent

@Vincent - o ponto principal do homebrew é que você pode criar facilmente suas próprias fórmulas, de modo que o "nunca ver no homebrew" pareça perder totalmente o objetivo. O MacPorts é conveniente, já que você realmente não precisa fazer muito, oferecendo efetivamente um instalador no estilo BSD portou Debian apt-get.
ocodo 30/08

Não há problema em responder sua própria pergunta - por que não separar as "respostas" e deixar a pergunta?
Bmike

@slojomo, olhe algumas "portas" macports muito complexas com toneladas de dependências como o dilúvio, você vai entender ... mais o fato de o homebrew ter uma política de nenhuma fórmula substituindo os componentes do sistema ... (como o mysql ...)
Você é o

Respostas:


92

Homebrew

O gerenciador de pacotes ausente para o OS X.

É um gerenciador de pacotes incrível, muito leve e fácil de usar. Princípio KIS, isso me faz pensar no archlinux. Sua comunidade é grande e muito ativa.

(veja também macports que o brew não substitui completamente, prefiro instalar pacotes com o brew, mas alguns complexos são apenas para macports)

Veja também o brew tapcomando que fornece algumas fórmulas ausentes que podem ser úteis como quando você precisa da versão mais recente do php> brew tap josegonzalez/php.

(A Homebrew tem uma política de não substituir os componentes do sistema, mas, ei, às vezes é necessário)


O link do seu FormulaAlt está inoperante. (404)
ottel142

editado para mencionar brew tapqual é agora a solução incorporada para lidar com "fórmulas" externas .
23413 Vincent

Observe que você também pode especificar uma fórmula "externa" diretamente via URL para sua fórmula.rb
ocodo 31/12/13

ATUALIZAÇÃO: O Homebrew agora está disposto a substituir os componentes do sistema, por exemplo, make, curl, bash, zsh ... Você só precisa de uma etapa extra: brew link --force <package>substituir a cópia do sistema. Além disso, alguns pacotes duplicados não essenciais são armazenados no homebrew-dupesrepositório em vez do canônico.
Caleb Xu

62

iTerm2 (Grátis)

Mencionado nos comentários, mas é essencial , portanto, para dar ênfase ...


7
Sério, esqueça OSX Terminal + Visor, iTerm2 é muito melhor, estou painéis dividir o dia todo em tela cheia com uma tecla de atalho à la viseira ... Há também muitas outras características maravilhosas ...
Vincent

1
Estranhamente, ele não tem uma atualização do lançamento estável desde julho de 2011 e uma versão beta foi lançada em julho de 2012 que nunca foi promovida. Este projeto está morto?
Dan Rosenstark

1
@Yar ainda está sendo desenvolvido. O autor mantém o repositório
mh.

37

Ack (Grátis)

Ótimo para pesquisar arquivos de texto, você nunca precisará usar a combinação find / grep novamente.


A Ack possui dois ótimos plugins de integração para os principais editores de texto OSX:


3
O +1 Ack é um substituto incrível do grep, se não fosse pelo fato de grepestar na minha memória muscular, eu nunca o usaria.
Ocodo 30/08

O Ack é uma ferramenta obrigatória, torna o desenvolvedor grep amigável, mas este é um pouco fora de tópico, pois não está relacionado ao OSX, editando esta resposta para adicionar informações do Vim / AckMate.
Vincent

1
grintambém é uma boa alternativa.
gak

sorriso é maravilhoso, aqui está o link: pypi.python.org/pypi/grin
Lorin Hochstein

2
Hoje em dia, é tudo sobre o Silver Searcher .
Zev Eisenberg 25/10

33

oh-my-zsh (grátis)

Um punhado de funções, ajudantes de preenchimento automático e coisas que fazem você gritar ...

"OH MEU ZSHELL!"

Me fez amar o shell quando eu o estava usando quando precisava ... O Zsh é "bash on steroids", com oh-my-zsh e todos os seus plugins, muitos detalhes sobre OSX, shell é muito mais amigável e poderoso ... Oh, também os temas são bem legais.


Também vale a pena dar uma olhada, algumas alternativas / complementam coisas baseadas em zsh:

  • prezto É uma reescrita completa do oh-my-zsh, limpa e muito mais ativa, agora usando-o :)
  • zsh-users (Free) Algumas coisas muito legais sobre o zsh (adoro o destaque da sintaxe)
  • zcm (Free) gerenciador de configuração zsh (inspirado em oh-my-zsh)

1
zshcom oh-my-zshrealmente é incrível, ele fará a conclusão do caminho com um comando scp/ sshse você tiver ativado a autenticação de chave pública para o servidor que você está vendo, isso é demais . (conclusão /v/m/s//Volumes/MyDrive/Src
incrivelmente

+1 para prezto. Eu amo a abordagem de usar sub-módulos git.
Bolota


O Prezto é muito mais rápido que o oh-my-zsh. Você deveria tentar.
precisa saber é o seguinte

32

lolcat (Grátis)

lolcat


2
Certamente a ferramenta de terminal mais útil, evah! (Depois cowsay e figlet que é.)
ocodo

9
Claramente, o motivo pelo qual o suporte de 256 cores foi adicionado ao Lion Terminal.
Chris Página

2
nice one (lol) , mas um pouco off-topic, não realmente OSX relacionadas
Vincent

Quem se importa ? =) É uma boa ferramenta!
Matthieu Riegler

Instalação mais útil de sempre.
Janeiro

24

Funções do shell

Eu não posso viver sem isso.

  • Um comando para atualizar todos eles.

    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
    }

    Obviamente, você pode adicionar mais comandos de acordo com os gerenciadores de pacotes que você usa. Isso é feito por mim.

  • Alterar diretório para o diretório atual do 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
    }

    cdfpara abrir o diretório do Finder no terminal e open .para abrir no Finder o diretório do terminal do diretório.

    Fonte

  • Obter cores nas páginas de manual

    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 "$@"
    }

    Fonte

  • Use uma chave privada RSA no 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 "$@"
    }

    Notei que colocar isso no seu .rc diminuirá a velocidade do git. Se você quiser evitar isso, descompacte a função e salve-a como um shell script no seu$PATH

    Fonte (modifiquei um pouco. O original pede sempre o caminho da chave.)

  • Destaque de sintaxe no gato

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

    Isso pode ser bastante lento, pois ele precisa analisar o arquivo inteiro antes de imprimi-lo. Nunca use isso em um arquivo binário!

    pip install Pygments instalar pigmentos.


usando a chave privada RSA no git melhor com a configuração do SSH via ~ / .ssh / config.
Eir Nym

21

Inconsolata-dz (Grátis)

Esta é uma ligeira modificação do Inconsolata original . É uma fonte monoespaçada fantástica para uso com Terminal.app, TextMate, MacVim e em qualquer outro lugar que você precisar. A deve ter para qualquer codificador. insira a descrição da imagem aqui


+1 Eu gosto deste melhor do que ProfontX
EmmEff

1
Infelizmente, não me parece muito bom na sua captura de tela.
Peter Štibraný

Parece que sofreu alguns artefatos de compressão - substituiu-o por um (espero) melhor!
Ingmar Hupp 04/03

Obrigado. Agora, essa é a minha fonte padrão em quase todos os aplicativos de escrita de texto.
Rnhmjoj 20/07


16

MTR (gratuito) da BitWizard - combina pingetraceroute

Instalação: 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 (Free) por Laffey Computer Imaging - Calculadora de sub-rede IPv4

Baixe o OS X binário . Também online .

$ 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

bom, mas um pouco off-topic, não realmente OSX relacionada :)
Vincent

uau, isso é incrível. thx for sharing
jupp0r 29/03/12

Como você executa o mtr? Não importa o que eu corro mesmo se eu quiser saber ajuda ou versão fico incapaz de obter soquetes brutos
ANTK

Você pode executá-lo sudo mtr example.comou configurar o binário com chown root:admin /usr/local/sbin/mtr && chmod +s /usr/local/sbin/mtr.
Ingmar Hupp

16

Autojump (grátis)

Ótimo utilitário de linha de comando que armazena cdcomandos e cria automaticamente um atalho de preenchimento automático para os diretórios mais acessados.

Melhor ainda, se vários diretórios tiverem um nome semelhante (começando com os mesmos caracteres), o Autojump simplesmente escolherá o que você mais usa. Você não precisará digitar o nome inteiro.

Exemplo:

cd project1

j pagora o levará direto ao caminho completo do projeto1 .

Agora, o que se você criar uma pasta similar chamado project2 que você também acessar muitas vezes (mas menos de project1 ), Autojump irá atribuir um peso menor para project2 e levá-lo direto para project1 .

Se você pressionar TABapós digitar, "pro"por exemplo, seu shell será exibido project__, sugerindo o fato de que há mais de um diretório correspondente. Outro TABhit exibirá a lista de diretórios correspondentes e permitirá que você selecione o que você quer dizer.

Nota: Instalei recentemente o ZSH e observei algumas interferências devido aos recursos de preenchimento automático. O Autojump funciona perfeitamente em um terminal de baunilha.


Enquanto estiver usando o zsh, tente cd -[TAB] e veja como você se sai.
Ocodo 31/12

@Slomojo Isso é diferente; saltar entra em hierarquias sem etapas intermediárias. A menos que esteja faltando um recurso zsh que faça isso (é possível que esteja faltando alguma coisa).
Dave Newton

15

Solarizado (Grátis)

Esquema de cores para o Terminal.

O Lion suporta cores ANSI, de modo que itens como SIMBL não são mais necessários.

Para o Snow Leopard e versões anteriores, você precisará do SIMBL instalado para aproveitar ao máximo, pois o suporte a cores no Terminal.app é limitado.


FYI, sua versão vim vem com Janus;)
Vincent

O Solarized for Lion Terminal não parece muito bom para mim - as cores são diferentes em comparação com o Vim e o iTerm. Alguém encontrou isso?
yjsoon

3
@yjsoon esquecer Terminal Lion, utilize iTerm2 ...
Vincent

1
@Incinc Eu gostei do iTerm2 ... até o Lion Terminal ser lançado, e poder abrir novas abas no mesmo diretório da aba atual e acinzentar o histórico. Esperando pelo iTerm para obtê-los.
yjsoon 5/09/11

@yjsoon Eu não ficaria surpreso que você possa obter esse comportamento com alguns plugins oh-my-zsh ... ou com um pouco de script;) omz ftw!
Vincent Vincent

14

MacPorts

O MacPorts Project é uma iniciativa da comunidade de código aberto para projetar um sistema fácil de usar para compilar, instalar e atualizar o software de código aberto baseado em linha de comando, X11 ou Aqua no sistema operacional Mac OS X.

Muitas pessoas dirão que você não usa macport, use homebrew. Isso é verdade, o homebrew é mais leve e fácil de usar . Mas o macports oferece muito mais pacotes, e alguns deles nunca chegarão ao homebrew, por causa de sua filosofia diferente. (Eu uso os dois, para diferentes necessidades)

Por exemplo, eu recomendo o GTK em sua variante de quartzo (OSX nativo):

sudo port install gtk2 +no_x11+quartz

Então, quando você instala um pacote que pode se beneficiar dele, como o wireshark ... Você obterá uma interface OSX nativa, mais rápida e com uma aparência muito melhor que o X11 ...


13

DTerm (Grátis) da Decimus Software

Semelhante ao Visor, mas com alguns recursos adicionais amigáveis ​​(também parece estar em desenvolvimento ativo)


12

The Silver Searcher (Grátis)

Uma ferramenta de busca de código semelhante ao ack, mas mais rápida.

Instale-o com o brew

brew install the_silver_searcher

8

Almoço (grátis)

Um wrapper amigável para o launchctl. Comece seus agentes e vá almoçar!

Uma ferramenta conveniente para gerenciar (iniciar / parar / reiniciar) serviços / daemons OSX ...

Essa é uma gema de rubi: gem install lunchy


8

Bropages :

As páginas bro são um complemento altamente legível para as páginas de manual. As páginas Bro mostram exemplos concisos de casos comuns para comandos do Unix.

Exemplo:

$ 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 + macvim

O Janus é uma distribuição básica de plugins e ferramentas do vim destinados a serem executados com base no snapshot mais recente do MacVIM

instale o macvim com homebrew brew install macvim e siga as instruções (fáceis) do janus, e você será configurado com um poderoso editor de texto que foi pré-configurado para você pelas mentes brilhantes. A curva de aprendizado do vim é assustadora à primeira vista, mas uma vez que você esteja confortável com ela, nunca mais voltará (ou talvez acabe ...) (fyi, o TextMate foi abandonado em proveito por muitos programadores)

Pode parecer estranho, mas prefiro usar o vim no iTerm2 do que o macvim ... (o vim está incluído no macvim, basta usar brew install macvim --override-system-vim)


5

ProfontX (Grátis)

Minha fonte de programação e terminal favorita no MacOS. (ProfontX é uma versão corrigida do Profont que teve problemas com alguns caracteres)


Pia batismal agradável, obrigado, não sabia que um, vai dar-lhe uma tentativa, mesmo que eu acho que eu vou finalmente fallback para que o bom e velho Monaco (que torna grande em iTerm2)
Vincent

Mônaco venceu, melhor legibilidade para os meus olhos :), gostaria de mudar para o moderno Menlo, mas seus caracteres UTF-8 especiais como ✭ são pequenos demais para o prazer da concha.
Vincent Vincent

definitivamente uma questão de gosto;), há algo sobre monaco eu só não pode ficar, é simplesmente muito crocante para o meu gosto eu acho
apouche

1
oh sim, definitivamente uma escolha pessoal. Não sei se não é já um, mas uma comunidade wiki exclusivamente sobre fontes dev de tamanho fixo para OSX seria bom ...;)
Vincent

4

Boxen - Configuração automatizada do Mac OS e compilação, instalação / atualização de software. Isso ajuda a economizar muito tempo quando você deseja exatamente a mesma configuração (software, versão) na equipe de desenvolvimento e também permite que cada indivíduo instale outras ferramentas para aumentar a produtividade.


3

Viseira

é uma utilidade interessante. Ele se descreve como:

um terminal de todo o sistema em uma tecla de atalho

Bem legal. Ele desce um terminal pressionando uma combinação de teclas.

EDIT :

Visor foi renomeado para TotalTerminal ... (veja outra resposta, isso pode / deve ser excluído)


4
fyi, mudei do Terminal para o iTerm2, que possui um recurso nativo de viseira e muito mais como splitpanes! :)
Vincent

3

bash-it (grátis)

Uma alternativa ao oh-my-zsh (veja acima). Uma coleção realmente útil de scripts, aliases e funções para bash. Também fornece um bom sistema de plugins para adicionar suas próprias adições.


3

Go2Shell (Grátis)

Não é um utilitário de terminal, mas um utilitário para usar o Terminal. Ele pressiona um botão na barra de ferramentas do Finder e, quando pressionado, cria uma nova janela do Terminal conectada com esse diretório.

editar: os desenvolvedores estão dizendo que a versão do aplicativo disponível diretamente a partir deles tem mais recursos do que a versão na App Store. Atualizei o link para acessar a página deles, mas a versão da App Store ainda está disponível aqui .


Hoje em dia não funciona em Yosemite.
jherran

@ jherran Eu ainda não tentei, mas os desenvolvedores afirmam que funciona no Yosemite. Caso contrário, tente entrar em contato com eles.
precisa saber é o seguinte

Eu fiz. E disse o mesmo para mim, eles estão trabalhando nisso, mas a partir de agora, não funciona em Yosemite.
jherran

Eles lançaram a versão 2.2 em seu site, que afirmam ser compatível com Yosemite.
precisa saber é o seguinte

2

Bwana (Grátis)

Tecnicamente, não é um comando de terminal, mas é muito útil para pesquisas rápidas na página de manual, permitindo que o URL de: "man: ls" mostre a página html da página de manual no seu navegador.


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

Também está disponível no HomeBrew:

 bash-3.2$ brew install ipcalc
 ==> Downloading http://jodies.de/ipcalc-archive/ipcalc-0.41.tar.gz

0

Eu gosto do 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

Color LS

alias ls='ls -FG'
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
-or-
echo export CLICOLOR >> ~/.bashrc
echo export CLICOLOR >> ~/.bash_profile
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.