Il terminale OS X "deve avere" utilità [chiuso]

Ho appena letto con piacere e ho imparato molto da queste domande:

Ma non ho trovato in questi alcuni dei miei strumenti preferiti, che uso su base giornaliera , e penso che sia perché questi sono strumenti progettati da OSX / Terminale , non si adatta bene alle domande precedenti.

I miei preferiti sono, per ordine di preferenza: oh-my-zsh , homebrew (ma anche macports), janus ...

Questi strumenti hanno in comune:

  • Terminale : installa e utilizza
  • Obiettivo OSX : brew è, git non lo è!
  • Installazione facile : una fodera, es. %codice%; git clone ecc.
  • Estensibile : possibilmente ha estensioni o API semplici (ad esempio oh-my-zsh con plug-in, brew con formule, janus con plugin vim in bundle ...)
  • Spesso open source, gratuito, ospitato su github, script, principalmente (ma non solo!) con ruby ...

Conosci altri strumenti simili must-have ? Mi piacerebbe scoprirne di nuovi!

Si prega di includere solo un'utilità per risposta. Inoltre, per favore non aggiungere duplicati. Controlla prima di postare. Se vedi un duplicato, invia la risposta in modo graduale e informa l'autore lasciando un commento.

    
posta Vincent 13.04.2017 - 14:45
fonte

25 risposte

Homebrew

The missing package manager for OS X.

È un gestore di pacchetti sorprendente, molto leggero e facile da usare. Principio KIS, che mi fa pensare ad archlinux. La sua comunità è grande e molto attiva.

(vedi anche macports che brew non sostituisce completamente, preferisco installare pacchetti con brew, ma alcuni complessi sono solo su macports)

Vedi anche il comando brew tap che fornisce alcune formule mancanti che possono essere utili come quando hai bisogno dell'ultima versione di php > brew tap josegonzalez/php .

(Homebrew ha una politica di non sostituzione dei componenti di sistema, ma hey, a volte devi)

    
risposta data 23.04.2013 - 20:16
fonte

iTerm2 (gratuito)

Menzionato nei commenti, ma è essenziale , quindi per l'enfasi ...

    
risposta data 30.08.2011 - 23:17
fonte

Ack (gratuito)

Ottimo per la ricerca di file di testo, non dovrai mai più utilizzare una combinazione find / grep.

Ack ha due ottimi plugin di integrazione per i principali editor di testo OSX:

risposta data 06.09.2011 - 15:36
fonte

oh-my-zsh (gratuito)

A handful of functions, auto-complete helpers, and stuff that makes you shout…

“OH MY ZSHELL!”

Mi ha fatto amare il guscio quando lo usavo quando dovevo ... Zsh è "bash on steroids", con oh-my-zsh e tutti i suoi plugin, molte specifiche per OSX, la shell è molto più user friendly e potente ... Oh anche i temi sono piuttosto interessanti.

Vale anche la pena dare un'occhiata, alcune alternative / complementi di materiale basato su zsh:

  • prezto È una completa riscrittura di oh-my-zsh, pulita e molto più attiva, ora usandola:)
  • zsh-users (gratuito) Alcune cose zsh molto belle (adoro l'evidenziazione della sintassi)
  • zcm (gratuito) gestore di configurazione zsh (ispirato a oh-my-zsh)
risposta data 04.03.2013 - 13:10
fonte

lolcat (gratuito)

    
risposta data 30.08.2011 - 23:26
fonte

Funzioni della shell

Non posso vivere senza questo.

  • Un comando per aggiornarli tutti.

    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
    }
    

    Ovviamente puoi aggiungere più comandi in base al gestore di pacchetti che usi. Questo è fatto da me.

  • Cambia directory nella directory del Finder corrente

    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 per aprire la directory Finder nel terminale e open . per aprire in Finder la directory del terminale directory.

    Source

  • Ottieni colori nelle pagine di manuale

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

    Source

  • Utilizza una chiave privata RSA in 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 "$@"
    }
    

    Ho notato che mettere questo nel tuo .rc rallenta git. Se vuoi evitare questo, devi decomprimere la funzione e salvarla come script di shell in $PATH

    Source (L'ho modificato un po ', l'originale chiede sempre il percorso del tasto.)

  • Evidenziazione della sintassi in cat

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

    Questo può essere piuttosto lento poiché è necessario analizzare l'intero file prima di stamparlo. Non usarlo mai su un file binario!

    pip install Pygments per installare pygments.

risposta data 24.11.2014 - 18:24
fonte

Inconsolata-dz (gratuito)

Questa è una leggera modifica della Inconsolata originale . È un fantastico font a spaziatura fissa da usare con Terminal.app, TextMate, MacVim e in qualsiasi altro posto ne hai bisogno. A deve avere per qualsiasi programmatore.

    
risposta data 04.03.2013 - 15:17
fonte

TotalTerminal (gratuito)

Schede, visiera, tasti di scelta rapida, molto semplici e affidabili. Ben mantenuto con frequenti aggiornamenti.

    
risposta data 31.08.2011 - 03:53
fonte

MTR (gratuito) di BitWizard - combina ping e traceroute

Installazione: 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 (gratuito) di Laffey Computer Imaging - Calcolatore di sottorete IPv4

Scarica binario OS X . Anche 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
    
risposta data 30.08.2011 - 23:36
fonte

Autojump (gratuito)

Grande utilità della riga di comando che memorizza i comandi cd e crea automaticamente un collegamento automatico alle directory più utilizzate.

Ancora meglio, se diverse directory hanno un nome simile (a partire dagli stessi caratteri), Autojump sceglierà semplicemente quello che più frequentemente vai. Non dovrai digitare l'intero nome.

Esempio:

cd project1

j p ti porterà direttamente al percorso project1 completo.

Ora, se crei una cartella simile chiamata progetto2 a cui accedi spesso (ma meno di project1 ), Autojump assegnerà un peso minore a project2 e ti portano direttamente a progetto1 .

Se colpisci TAB dopo aver digitato "pro" per esempio, la tua shell mostrerà project__ , suggerendo che ci sono più di una directory corrispondente. Un altro hit TAB mostrerà l'elenco delle directory corrispondenti e ti consentirà di selezionare quello che intendi.

Nota: ho recentemente installato ZSH e notato alcune interferenze dovute alle funzionalità di completamento automatico. Autojump funziona perfettamente su un terminale vaniglia.

    
risposta data 19.12.2011 - 16:51
fonte

Solarizzato (gratuito)

Combinazione colori per Terminale.

Lion supporta i colori ANSI quindi non sono più necessari elementi come SIMBL.

Per Snow Leopard e prima, avrai bisogno di SIMBL installato per sfruttarlo al massimo il supporto per i colori in Terminal.app è limitato.

    
risposta data 30.08.2011 - 23:28
fonte

MacPorts

The MacPorts Project is an open-source community initiative to design an easy-to-use system for compiling, installing, and upgrading either command-line, X11 or Aqua based open-source software on the Mac OS X operating system.

Molte persone ti diranno che non usi macport, usa invece homebrew. Questo è principalmente vero, homebrew è più leggero e facile da usare . Ma macports offre molti più pacchetti, e alcuni di loro non verranno mai in homebrew, a causa della loro diversa filosofia. (Uso entrambi, per esigenze diverse)

Ad esempio, raccomando GTK nella sua variante al quarzo (OSX nativo):

sudo port install gtk2 +no_x11+quartz

Quindi quando installi un pacchetto che può trarne vantaggio, come wireshark ... Avrai un'interfaccia utente OSX nativa, più veloce e molto più bella di X11 ...

    
risposta data 31.08.2011 - 01:23
fonte

DTerm (gratuito) di Decimus Software

Simile a Visor, ma con alcune caratteristiche extra (anche sembra essere in sviluppo attivo)

    
risposta data 06.09.2011 - 15:25
fonte

The Silver Searcher (gratuito)

Uno strumento di ricerca del codice simile a Ack, ma più veloce.

Installalo con brew

brew install the_silver_searcher
    
risposta data 02.02.2014 - 19:11
fonte

Pranzo (gratuito)

A friendly wrapper for launchctl. Start your agents and go to lunch!

Uno strumento utile per gestire (avviare / arrestare / riavviare) servizi / demoni OSX ...

Questa è una gemma rubino: gem install lunchy

    
risposta data 30.08.2011 - 23:32
fonte

Bropages :

Le pagine bro sono un supplemento altamente leggibile alle pagine man. Le pagine di Bro mostrano esempi concisi e di casi comuni per i comandi Unix.

Esempio:

$ 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)
    
risposta data 24.11.2014 - 15:38
fonte

Janus + macvim

Janus is a basic distribution of vim plugins and tools intended to be run on top of the latest MacVIM snapshot

installa macvim con homebrew brew install macvim e segui le (facili) istruzioni janus e ti trovi con un potente editor di testo che è stato preconfigurato per te da menti brillanti. La curva di apprendimento di vim è spaventosa a prima vista, ma una volta che ti senti a tuo agio, non tornerai mai indietro (o forse a emacs ...) (fyi, TextMate è stato abbandonato a profitto da molti programmatori)

Potrebbe sembrare strano, ma preferisco usare vim in iTerm2 che macvim ... (vim è in bundle in macvim, usa brew install macvim --override-system-vim )

    
risposta data 30.08.2011 - 10:24
fonte

ProfontX (gratuito)

La mia programmazione preferita e il carattere del terminale su MacOS. (ProfontX è una versione corretta di Profont che ha avuto problemi con alcuni caratteri)

    
risposta data 30.08.2011 - 23:26
fonte

Boxen - Configurazione e configurazione automatica di Mac OS, installazione / aggiornamento del software. Aiuta a risparmiare un sacco di tempo quando vuoi esattamente la stessa configurazione (software, versione) nel team di sviluppo e anche consentire a ciascun individuo di installare altri strumenti per aumentare la produttività.

    
risposta data 17.12.2013 - 13:52
fonte

Visor

è un'interessante utility. Si descrive come:

a system-wide terminal on a hot-key

Abbastanza cool. Si abbassa un terminale alla pressione di una combinazione di tasti.

EDIT :

Visor has been renamed to TotalTerminal... (see other answer, this could/should be deleted)

    
risposta data 06.09.2011 - 15:24
fonte

bash-it (gratuito)

Un'alternativa a oh-my-zsh (vedi sopra). Una raccolta davvero utile di script, alias e funzioni per bash . Fornisce anche un bel sistema di plugin per aggiungere le tue aggiunte.

    
risposta data 27.02.2013 - 08:13
fonte

Go2Shell (gratuito)

Non è un'utilità terminale, ma un'utilità per l'utilizzo di Terminal. Inserisce un pulsante nella barra degli strumenti del Finder e quando viene premuto crea una nuova finestra di Terminale cd'ed in quella directory.

modifica Gli sviluppatori stanno dicendo che la versione dell'app disponibile direttamente da loro ha più funzionalità rispetto alla versione sull'App Store. Ho aggiornato il collegamento per accedere alla loro pagina, ma la versione di App Store è ancora disponibile qui .

    
risposta data 30.01.2015 - 08:35
fonte

Bwana (gratuito)

Tecnicamente non è un comando da terminale, ma è molto utile per le ricerche rapide di manpage consentendo all'URL di: "man: ls" di mostrare la pagina html della pagina man nel tuo browser.

    
risposta data 20.12.2011 - 10:21
fonte

Jodies.de ipcalc

                                     
risposta data 21.09.2015 - 11:26
fonte

Mi piace Color Maven

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

Colore LS

alias ls='ls -FG'
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
-or-
echo export CLICOLOR >> ~/.bashrc
echo export CLICOLOR >> ~/.bash_profile
    
risposta data 22.02.2016 - 20:00
fonte

Leggi altre domande sui tag