Hai qualche consiglio o suggerimento per il terminale in Mac OS X?

Un consiglio o trucco per risposta.

Il mio preferito è

open .

Apre la cartella che stai attualmente navigando nel Finder. Puoi anche passare URL, immagini, documenti o altro a open .

Se si specifica il nome di un programma con -a è possibile passare invece l'URL, l'immagine, il documento o la cartella a quel programma, ad es. open -a Preview image.png , sovrascrivendo il programma predefinito impostato per il tipo di file.

Si prega di non pubblicare duplicati. Cerca nella domanda in questo modo: inquestion:this ls -l

Solo risposte specifiche per Mac OS X.

    
posta Josh K 27.08.2013 - 12:58
fonte

133 risposte

Stampa quasi tutti i documenti come PDF, purché abbia un tipo MIME definito correttamente in OS / X

 cupsfilter $filename > output
    
risposta data 22.01.2012 - 10:34
fonte

Ecco una funzione di shell per ottenere il percorso della finestra frontale del Finder. Può essere utile (Ho iniziato a farlo invece di trascinando una cartella nel Finestra del terminale. )

function fp { osascript -e 'tell application "Finder"'\
 -e "if (${1-1} <= (count Finder windows)) then"\
 -e "get POSIX path of (target of window ${1-1} as alias)"\
 -e 'else' -e 'get POSIX path of (desktop as alias)'\
 -e 'end if' -e 'end tell'; };\

## alias to copy it to the clipboard
alias cfp='fp | pbcopy'

(Questo è stato nel mio zshrc per un po ', ma non so dove l'ho preso / parti di esso, altrimenti avrei citato il merito.)

    
risposta data 20.03.2017 - 11:18
fonte

Masterizza facilmente un ISO dalla riga del comando (con verifica della masterizzazione alla fine):

hdiutil burn /path/to/iso

Senza verificare la masterizzazione:

hdiutil burn -noverifyburn /path/to/iso
    
risposta data 26.07.2010 - 00:48
fonte

Ottieni un elenco di% di aeroporti% co_de

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -s

l'utilità SSID ha molte più opzioni per gestire la configurazione dell'aeroporto. Esegui senza airport per ottenere una lista.

    
risposta data 12.07.2010 - 22:11
fonte

lo psicoterapeuta più interessante con cui parlerai mai:

  • Esegui emacs
  • Premi + esc + X
  • digita doctor e premi invio
  • divertiti: D
risposta data 22.01.2012 - 10:24
fonte

alias per aprire l'anteprima dalla riga di comando

alias preview='groff -Tps > /tmp/tmp.ps && open -a Preview /tmp/tmp.ps'

Quindi puoi fare:

echo "toto" | preview
cat /tmp/test.log | preview
cheat git | preview
    
risposta data 06.07.2010 - 15:03
fonte

Mettendo un paio di questi insieme, possiamo ottenere pagine di manuale in un browser con il markup appropriato:

bman () {
    gunzip < 'man -w $@' | groff -Thtml -man | bcat
}
    
risposta data 07.07.2010 - 01:08
fonte

Nessuno di questi è esattamente specifico per OSX, ma ecco alcune cose del mio .bash_profile che trovo utili:

Prompt colorato:

PS1="\[\e[0;31m\][\[\e[1;31m\]\u\[\e[0;34m\]@\h \[\e[32m\]\w\[\e[0;31m]\]\$\[\e[0m\] ";

esempio http://grab.by/grabs/c2c7cdff8e49dd764d326620df762665.png

Completamento della scheda SSH degli host esistenti in ~ / .ssh / config: (disponibile in MacOSXHints )

complete -o default -o nospace -W "$(/usr/bin/env ruby -ne 'puts $_.split(/[,\s]+/)[1..-1].reject{|host| host.match(/\*|\?/)} if $_.match(/^\s*Host\s+/);' < $HOME/.ssh/config)" scp sftp ssh

Grep evidenziato:

alias grep="grep --color=auto"

grep evidenziato http://grab.by/grabs/dd26dd993c74f8dd076e2f911a8e4ec6.png

Esegui il dump automatico della tua chiave ssh pubblica in un host per un'autenticazione futura senza password: (può essere facilmente ottimizzato per aggiungere l'host a ~ / .ssh / config)

ssh-setup() { cat ~/.ssh/id_rsa.pub | ssh $1 'cat - >> ~/.ssh/authorized_keys'; }

Altre cose specifiche di OSX che ho impostato costringono la macchina a scattare una foto con iSight incorporato ogni volta che il coperchio della macchina è aperto e scarica l'immagine in una directory.
Requisiti:

Crea una directory da qualche parte per contenere tutte le tue immagini. Scaricalo in ~ / .wakeup:

date=$(date +%y%m%d_%H_%M_%S).jpg;
/PATH/TO/isightcapture -w 640 -h 480 -n 3 -d -t jpg /PATH/TO/PICTURE/DUMP/$date > /dev/null
unset date

Ho incappucciato un fotogramma ogni volta che il mio MacBook si sveglia per gli ultimi 3 anni e mezzo, è interessante vedere tutto compilato in un video lungo con un framerate alto.

    
risposta data 25.07.2010 - 21:15
fonte

Non installato per impostazione predefinita, ma MacPorts è ottimo per aggiungere altri programmi da riga di comando. Dopo aver scaricato e installato puoi usare il comando port per trovare e installare più programmi, e molto altro ancora.

port search convert video
port install ffmpeg
    
risposta data 25.07.2010 - 22:14
fonte

Il mio alias preferito:

alias redo='sudo \!-1'

Quando ti dimentichi di usare 'sudo', basta fare 'redo' per rieseguire l'ultimo comando usando sudo.

    
risposta data 25.07.2010 - 23:22
fonte

Utilizza !$ per ripetere l'ultimo parametro nell'ultimo comando inserito, ad esempio:

~$ mkdir test-dir
~$ cd !$
cd test-dir
test-dir$  

!$ è in realtà l'abbreviazione di !!$ che significa "dal comando più recente, tira l'ultimo parametro"

Per ulteriori informazioni, consultare la sezione "ESPANSIONE DELLA STORIA" della pagina man di bash.

    
risposta data 11.01.2012 - 11:50
fonte
afplay ~/path/to/file.mp3

Riproduciamo brani dalla riga di comando. Puoi anche aggiungere [space]& e lasciarlo girare in background. :)

    
risposta data 22.01.2012 - 10:36
fonte

Non una caratteristica enorme, ma ho notato che non era qui.

+ trascinamento del mouse sul testo del terminale, facciamo una selezione rettangolare.

    
risposta data 11.01.2012 - 11:44
fonte

L'app di installazione OSX ha anche un'interfaccia a riga di comando.

sudo installer -pkg /Volumes/Growl-1.2.1/Growl.pkg -target LocalSystem

È un comando di installazione su una riga per Growl, GrowlNotify è un extra sulla stessa immagine del disco di installazione.

Puoi trovare i domini supportati da un file del pacchetto tramite

installer -pkg  /Volumes/Growl-1.2.1/Growl.pkg -dominfo
    
risposta data 11.01.2012 - 11:45
fonte
xattr -h

ti consente di visualizzare gli attributi del file. L'uso più utile di questo comando è quello di rimuovere l'avviso di download da Internet dal finder:

cd /the/directory/where/you/downloaded/all/your/files

xattr -rd com.apple.quarantine .
    
risposta data 22.01.2012 - 10:33
fonte
history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -r

Fornisce un elenco di alcuni dei tuoi comandi più recenti, numerati in base alla frequenza con cui li utilizzi.

    
risposta data 22.01.2012 - 10:39
fonte

Crea una nuova directory e inseriscila:

md() { mkdir -p "$@" && cd "$@"; }

Per ulteriori informazioni, consulta il mio repository dotfiles su GitHub e / o visualizza il mio file .osx per le preferenze e le impostazioni specifiche di OS X .

    
risposta data 21.03.2012 - 12:41
fonte

Ripeti il comando precedente con una sostituzione della sottostringa:

Sintassi :

^before^after^

Esempio :

Hai inserito:

git clonr https://unbelievablylongurl.org/projectdirectory/evenmoreprojects/project.git

Usa questo:

^clonr^clone^

E il comando verrà rieseguito con la sottostringa sostituita:

git clone http://unbelievablylongurl.org/projectdirectory/evenmoreprojects/project.git
    
risposta data 16.11.2013 - 20:35
fonte

Puoi trasferire una directory di lavoro da una finestra di Terminale a un'altra con questi due comandi aggiunti al tuo file .bash_profile:

alias cwd='pwd | pbcopy'
alias gowd='cd "'pbpaste'"'

cwd copia la tua directory di lavoro da una finestra e gowd apre quella directory in un'altra finestra.

    
risposta data 22.07.2010 - 13:25
fonte

Nel mio profilo bash ho questi alias:

# Alias for "." shows current directory
alias -- .='pwd'

# Alias for ".." goes to parent directory
alias -- ..="cd .."
alias -- ...="cd .. ; cd .."
alias -- ....="cd .. ; cd .. ; cd .." 
    
risposta data 25.07.2010 - 20:12
fonte

Utilizza il ASCIIMoviePlayer di Apple per riprodurre filmati QuickTime nel Terminale:

(Ci sono anche due grandi adattamenti là fuori che consentono di usare l'output a colori ANSI).

Una nota più seria: CoreImageTool (di terze parti, solo google per esso) è un ottimo modo per utilizzare i filtri di CoreImage dalla riga di comando.

    
risposta data 25.07.2010 - 22:51
fonte
sips -i *

Questo crea automaticamente un'anteprima delle icone per tutte le immagini.

Questo è meglio dell'utilizzo dell'opzione "Mostra anteprima icona" del Finder se si dispone di file di grandi dimensioni, in particolare su un server.

    
risposta data 26.07.2010 - 00:10
fonte

drutil fa un sacco di roba

drutil cdtext

mostra le informazioni sul cdtext (se presenti) sul CD attualmente nel drive

drutil info

ti mostra la capacità delle tue unità ottiche

drutil eject

Indovina che cosa fa

Inoltre molto altro. 'man drutil' per vedere tutto

    
risposta data 26.07.2010 - 05:12
fonte

Uso spesso + K per cancellare la mia schermata Terminale invece del comando UNIX clear .

La differenza è clear nasconde i comandi precedenti dalla nostra vista, ma possiamo ancora scorrere indietro nel frattempo + K lo cancella completamente - non possiamo scorrere indietro.

Mi piace usarlo perché posso sempre premere ctrl + R o digitare:

history | grep command-that-I-want-to-do-again

se voglio ridigitare un comando senza bisogno di guardare il terminale "affollato di caratteri affollati".

    
risposta data 22.01.2012 - 10:38
fonte

Nel menu Aiuto di Terminal, puoi cercare pagine man. (La prima volta che lo fai, ci possono volere alcuni secondi per indicizzare i file della pagina man, quindi aspetta un po 'che i risultati appaiano, ma le ricerche successive sono veloci.) Mostrerà i risultati della pagina man nei risultati della ricerca del menu Aiuto. Selezionandone uno si apre una finestra che mostra la pagina formattata.

A partire da Mac OS X Lion 10.7, esistono numerosi miglioramenti al supporto della pagina man:

  • Ricerca pagine uomo ti consente di fornire numeri / nomi di sezioni in vari formati: "2 apri", "apri 2", "apri (2)". Supporta anche l'asterisco "*" per le ricerche con caratteri jolly.
  • Ora cerca tutti i file in MANPATH (prima di Lion cercava solo un set fisso di directory, quindi, per esempio, non trovava pagine man X11). Tuttavia, non si esegue in una shell, quindi se si desidera personalizzare MANPATH potrebbe essere necessario personalizzare man.conf (x-man-page: // 1 / man) o impostarlo nel ambiente globale .
  • Ci sono comandi nel menu Aiuto per aprire le pagine man ( Apri man page per Selection ) ed eseguire una ricerca apropos ( Cerca nelle pagine man per la selezione ). Ci sono i comandi corrispondenti nel menu contestuale e ci sono dei servizi che puoi abilitare per eseguire queste ricerche da altre applicazioni ( Preferenze di sistema > Tastiera > Tasti di scelta rapida > Servizi > Apri man Page in Terminal / Cerca man Pages nel Terminale ).
  • Se non c'è testo selezionato, Apri man page per Selection guarderà automaticamente il testo alla sinistra del cursore. Ciò significa che è possibile immettere un nome comando, quindi utilizzare questo comando per aprire la pagina man prima di immettere gli argomenti del comando. Salterà oltre lo spazio bianco. Comprende anche i riferimenti alle pagine man "open (2)" e gli URL "x-man-page: // 2 / open". (Se selezioni esplicitamente il testo, comprende anche "2 apri" e "apri 2".)
  • Le finestre della pagina Man utilizzano il profilo delle impostazioni "Pagina Man". È possibile personalizzarlo per modificare l'aspetto delle pagine man visualizzate con questi comandi. Ricorda anche la posizione delle finestre di pagina man separatamente dalle altre finestre, così puoi avere ogni volta pagine man nello stesso posto sullo schermo, indipendentemente da dove posizioni altre finestre del terminale.
  • + doppio clic apre i riferimenti della pagina man "open (2)", consentendo di navigare i riferimenti da una pagina man all'altra. ( + doppio clic aprirà anche qualsiasi URL riconosciuto, o anche alcuni modelli come gli indirizzi email-crea un nuovo messaggio di posta e nomi di dominio-si apre in Safari.)
  • Quando si visualizza una finestra di una pagina man (o qualsiasi terminale i cui comandi sono tutti completati / chiusi), Terminal supporta alcuni comandi del cercapersone "meno" compatibili: space = Pagina giù , + spazio = Pagina su , F = Pagina giù (" avanti "), B = Pagina su (" indietro "), = Scorri verso il basso di una riga, / = Scorri su / giù di una riga.
risposta data 23.05.2017 - 14:40
fonte

Ho i seguenti alias e funzioni in ~/.bash_profile :

alias ..="cd .."
alias ...="cd .. ; cd .."
alias ls="ls -G" # list
alias la="ls -Ga" # list all, includes dot files
alias ll="ls -Gl" # long list, excludes dot files
alias lla="ls -Gla" # long list all, includes dot files
alias stfu="osascript -e 'set volume output muted true'"
alias pumpitup="sudo osascript -e 'set volume 10'"
alias ips="ifconfig -a | perl -nle'/(\d+\.\d+\.\d+\.\d+)/ && print $1'"
alias myip="dig +short myip.opendns.com @resolver1.opendns.com"
alias flush="dscacheutil -flushcache"
alias gzip="gzip -9n"
alias ping="ping -c 5"
alias ql="qlmanage -p 2>/dev/null" # preview a file using QuickLook

# Create a new directory and enter it
md() { mkdir -p "$@" && cd "$@"; }

# Define a term using Google
define() { local y="$@"; curl -sA "Opera" "http://www.google.com/search?q=define:${y// /+}" | grep -Po '(?<=<li>)[^<]+'|nl|perl -MHTML::Entities -pe 'decode_entities($_)' 2>/dev/null; }

# gzip a file with strongest compression settings
ubergzip() { gzip -9n < "$@" > "$@".gz; }

# Open a man page in Preview.app
pman() { man -t "${1}" | open -f -a /Applications/Preview.app; }

# Open a man page in TextMate.app
tman() { MANWIDTH=160 MANPAGER='col -bx' man $@ | mate; }

# Quit an app cleanly
quit() {
    for app in $*; do
        osascript -e 'quit app "'$app'"'
    done
}

# Relaunch an app
relaunch() {
    for app in $*; do
        osascript -e 'quit app "'$app'"';
        sleep 2;
        open -a $app
    done
}

# Uninstall an app with AppZapper
zap() { open -a AppZapper /Applications/"${1}".app; }

Per ulteriori informazioni, consulta il mio repository dotfiles su GitHub e / o visualizza il mio file .osx per le preferenze e le impostazioni specifiche di OS X .

    
risposta data 21.03.2012 - 12:42
fonte
net rpc shutdown --server=<servername> --username=<username>

Questo spegnerà le finestre di windows.

    
risposta data 27.12.2013 - 14:09
fonte

Scorciatoie da riga di comando per attivare la visibilità dei file nascosti nel finder:

alias show_hidden="defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder"
alias hide_hidden="defaults write com.apple.finder AppleShowAllFiles FALSE && killall Finder"
    
risposta data 08.07.2010 - 01:12
fonte

Ecco uno script che ottiene il / i percorso / i alla / e selezione / i corrente / i in Finder:

#!/bin/sh

osascript' << EOT

tell application "Finder"       
        set theFiles to selection
        set theList to ""
        repeat with aFile in theFiles
                set theList to theList & POSIX path of (aFile as alias) & " "
        end repeat
        theList
end tell

EOT

Come lo uso:

$ cat 'selected'
    
risposta data 25.07.2010 - 23:42
fonte

Ok, decisamente non specifico per Mac, ma il completamento del TAB in zsh è così buono che penso meriti una menzione specifica.

Ottenete il completamento delle opzioni, ad es.

find . -d[TAB]

ti darà -daystart -delete -depth come possibili completamenti.

Anche il completamento del percorso è migliorato rispetto al completamento di Bash, ad esempio, ho un volume chiamato Wubly e all'interno di quel video/tv/comedy , quindi digitando:

cd /v/w/v/t/co[TAB] 

si espanderà in.

cd /Volumes/Wubly/Video/TV/Comedy

(nota che è anche senza distinzione tra maiuscole e minuscole.)

Se ci sono più percorsi che corrispondono a questo modello, verranno mostrati.

Il completamento è anche interattivo, quindi puoi spostarti tra le opzioni disponibili con i controlli del cursore.

    
risposta data 29.01.2011 - 11:13
fonte

Leggi altre domande sui tag