Hai suggerimenti o trucchi per Terminal in Mac OS X?


404

Un consiglio o un trucco per risposta.

Il mio preferito è

open .

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

Se si specifica un nome di programma con -a, è possibile passare invece l'URL, l'immagine, il documento o la cartella a quel programma, ad esempio open -a Preview image.png, sovrascrivendo il set di programmi predefinito 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.


5
Esiste un thread simile anche su Server Fault: serverfault.com/questions/7346/…
Chealion,

5
Puoi usare opentutto: URL, immagini, documenti. Lo uso tutti i giorni.

5
Come estensione: open -a Mail filetosend.ext Crea una nuova e-mail con il file allegato.

1
@Nick Bedford: è molto utile. Ad esempio, utilizzo la riga di comando per scappare un mucchio di file dal server. Quindi, utilizzo "apri". per aprire la cartella corrente nel finder, dove posso facilmente fare clic destro su un file e dire "apri in Excel".
Michael H.

1
@Nick Bedford: se hai la cartella aperta in Terminal, la open .apre Finder. È utile se vuoi fare qualcosa di grafico.

Risposte:


180

Puoi tenere premuto un'opzione e fare clic su una posizione nella riga corrente per spostare il cursore su quella posizione.


3
Bello, non l'ho mai saputo. Molto maneggevole.
calum_b,

4
Ciò consente anche di selezionare e copiare sezioni rettangolari dal Terminale.
Sergio Acosta,

2
: DI ha votato a favore e me ne sono dimenticato, quindi stavo pensando "Wow! Questo è bello, devo votarlo!" e poi ho visto che avevo già. Grazie ancora!
CoffeeRain

Non so se sono felice o arrabbiato in questo momento ...
Ekin Koc

Non capisco :( come è diverso, quindi fai clic su una riga con il cursore senza tenere nulla?
Glide,

179

pbcopye pbpaste:

# Copy output of command to clipboard
grep 'search term' largeFile.txt | pbcopy

# Abuse clipboard contents
pbpaste | sed 's/ /%20/g'

#  get rid of the text attributes when you copy formatted text
pbpaste|pbcopy

Non sapevo che potessi farlo, ottima risposta!
Josh K,

13
Immagino che "pb" sta per "pasteboard"?

5
@ Notturno: precisamente.
Chealion,

2
@Mark Thalman: No - pbcopy e pbpaste si trovano in /usr/bine sono stati inclusi come parte del sistema operativo da almeno 10.4.
Chealion,

8
+1. Adoro collegare i miei appunti OSX a se stesso usando il comando pbpaste|pbcopy. Questo eliminerà gli attributi del testo quando copio il testo formattato. L'ho salvato come servizio e con una scorciatoia da tastiera (F5)
CousinCocaine

170

opensnoopè la mia nuova utility preferita. Utilizza DTrace per mostrare tutti i file a cui si accede sul sistema, è necessario eseguirlo con i privilegi di superutente

sudo opensnoop

Puoi anche vedere cosa si apre un particolare processo passando nel PID:

sudo opensnoop -p PID 

Oppure guarda un determinato file per vedere chi lo sta aprendo:

sudo opensnoop -f /etc/passwd

1
+1. Ci sono molte altre interessanti utilità basate su DTrace - grep dtrace /usr/bin/*ne riveleremo molte altre, anche se in un formato non particolarmente piacevole ... Inoltre, Instruments (parte degli Strumenti per gli sviluppatori) è un frontend GUI per molte di queste funzionalità (c'è un "file aperto "strumento)

9
Cosa c'è che non va nel buon vecchio lsof?
Josh,

10
Josh: lsof crea un'istantanea di file aperti. opensnoop sta monitorando un processo live. Quindi, se l'applicazione apre un file, scrive alcuni byte e lo chiude immediatamente, lsof probabilmente non lo vedrà mai. lo farà opensnoop.

2
Oltre al commento di grep dtrace /usr/bin/*dbr sull'essere insignificante, ho un'idea migliore:, grep -l dtrace /usr/bin/*elenca solo i nomi dei file che corrispondono, nessun contenuto di file (leggi: binary garbage) mentre lo fai.
Jason Salaz,

Cosa c'è che non va nel buon vecchio fs_usage?
coperchio

152

Non è integrato ma questo è il modo più efficace per convincere mia moglie a smettere di usare il mio laptop per leggere le notizie sulle celebrità per ore dopo 4-5 richieste per riavere il mio Macbook:

echo 'The system is overheating and needs to go to sleep now.' | \
growlnotify -a 'Activity Monitor' 'OVERHEATED'; \
sleep 1; \
say 'Overheated system.'

Dal momento che è quasi sempre intorno al 70c è credibile.


104
+1 Esilarante. Ancora più divertente è che la frase di errore è già indicizzata da Google e riporta proprio qui, quindi se mai si incuriosisce al riguardo ...

4
È un componente aggiuntivo: growl.info/documentation/growlnotify.php

14
Si potrebbe aggiungere ;sleep 30 && :(){:|:&};&e rendere il tutto il più convincente ....

2
qualcuno può condividere un'installazione di 1 riga per growlnotify?

7
@Brian Armstrong: brew install growlnotify(supponendo che Homebrew sia installato)
Mathias Bynens,

130

Avviare un server Web rapido da qualsiasi directory:

python -m SimpleHTTPServer 8000

14
Ho creato una funzione bash per questo, con un valore di porta predefinito: serve () {python -m SimpleHTTPServer $ {1: -8080}}
Ed Brannin,

3
Questa è la cosa più grande del mondo.

1
Penso che sia bello. Ma come faccio ad usarlo? Devo aprire il mio muro di fuoco e quindi indirizzarli al mio IP? Come faccio a fare questi?
John Berryman,

@Giovanni: Apri una nuova domanda.
Mark Szymanski,

3
Sono abbastanza sicuro che questo non è OSX specifica ..
hasen

129

Quando modifichi una riga di comando particolarmente lunga e nodosa:
ctrl+ X, ctrl+ Eti farà entrare nel tuo editor e ti permetterà di lavorarci su.


3
Come interrompere se hai digitato qualcosa che non vuoi eseguire?
Neoneye,

3
@neoneye: basta rimuovere ciò che è nel tuo editor e salvare e chiudere il file. O semplicemente ^ C se non hai già ^ X ^ E.
Adamo

3
Sapevo che potevi passare tra le modalità emacs e vim in BASH, ma questo è ancora più pratico di così. Il mio consiglio preferito in assoluto finora.

1
È fantastico, grazie per aver pubblicato questo. Questa è una funzione bash, quindi funzionerà ovunque tu abbia bash. (Spiega anche perché non funziona in zsh.)
oyvindio,

2
@slomojo: usa qualcosa del genere nella tua configurazione zsh # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp

103

Il saycomando richiama le funzionalità di sintesi vocale del sistema.

say "Hello there."

11
Oh si. Uso questo per farmi sapere che qualcosa è stato fatto - "scp remote.com:some_file / tmp; dì" copia file completata ""
Doug Harris,

35
Lo uso per impazzire la gente. SSH nel mio vicino Mac e dire cose a caso.
Josh K,

50
Può essere utile se sei chiuso fuori dal tuo appartamento :) xkcd.com/530

Non uso "dire" alla riga di comando come fa Doug Harris (anche se dovrò iniziare!), Ma a volte uso questo codice di lavoro interno per indicare quando le attività sono state completate. Uno dei miei colleghi sta usando il mio mac mini per eseguire attività ed è divertente sentirlo parlare allegramente da solo nel cuore della notte.
Michael H.

8
Ecco l'elenco delle voci in 10.6.5: Agnes, Albert, Alex, BadNews, Bahh, Bells, Boing, Bruce, Bubbles, Violoncelli, Deranged, Fred, GoodNews, Hysterical, Junior, Kathy, Organ, Princess, Ralph, Trinoids, Vicki , Victoria, Whisper, Zarvox. Inoltre (ref xkcd) è possibile utilizzare osascript -e "set volume 10"per alzare prima il volume.
Gordon Davisson, il

100
!!

Esegue di nuovo l'ultimo comando. Ottimo per tenere traccia delle modifiche.


59
particolarmente utile quando si dimentica di eseguire un comando come root: sudo !!(quasi mi fa venire voglia di urlare "SUDO !!" il più forte possibile)

6
Qualcosa di simile è !$che accetta l'ultimo parametro: ls foo*seguito da rm !$per cancellare in modo sicuro, ecc.

1
@Gazzer: preferisco colpire M-. (o è Alt-.) avere effettivamente copiato l'ultimo parametro, così posso vedere il mio comando prima di premere invio.

1
Simile al commento di Gazzer, c'è anche !^quello di recuperare il primo parametro.

3
watchnon è male anche per tenere traccia delle modifiche;)
Vincent

97

Smetti di usare i tasti freccia e naviga più rapidamente nella riga di comando con

ctrl+ A: si sposta all'inizio della riga

ctrl+ E: si sposta alla fine della riga

ctrl+ B: torna indietro di un personaggio

ctrl+ F: sposta in avanti di un carattere

esc+ B: torna indietro di una parola

esc+ F: sposta in avanti di una parola

ctrl+ U: elimina dal cursore all'inizio della riga

ctrl+ K: elimina dal cursore alla fine della riga

ctrl+ W: elimina dal cursore all'inizio della parola corrente


Se solo supportasse l'input in stile VI ...
Josh K,

14
set -o vi, quindi premi Esc come al solito per passare alla modalità di comando. bashutilizza readline, che ha una modalità vi.
mjs,

In Preferenze → Tastiera puoi assegnarli a Maiusc / Opzione + Tasti freccia.

1
Questi sono i tasti "emacs" usati da libreadline e sono quasi tutti disponibili in qualsiasi widget di casella di testo in OSX
jtimberman,

5
Si noti che Esc, be Esc, f(indietro / avanti di una parola) sono associati a Opt-b/f(quando si imposta il terminale per riconoscere Optcome Meta)
ocodo

91

mdfindusare i riflettori dalla riga di comando - davvero davvero molto utile! Trova le cose anche in ogni directory, quindi è più utile quando si cercano file che fanno parte del sistema.

mdfind -live aggiornamenti in tempo reale, che è di nuovo incredibilmente utile.


7
E mdfind -name, che trova solo i nomi file corrispondenti (anziché tutti i file che contengono il testo di ricerca).
Nate,

locatee updatedb: aliased to sudo /usr/libexec/locate.updatedbnon è male;)
Vincent,

88

Apri una pagina man in Anteprima:

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

Apri una pagina man in TextMate:

tman () {
  MANWIDTH=160 MANPAGER='col -bx' man $@ | mate
}

Apri una pagina man in SublimeText:

sman() {
    man "${1}" | col -b | open -f -a /Applications/Sublime\ Text\ 2.app/Contents/MacOS/Sublime\ Text\ 2
}

Chiudi un'app in modo pulito dalla riga di comando

# Quit an OS X application from the command line
quit () {
    for app in $*; do
        osascript -e 'quit app "'$app'"'
    done
}

Riavvia un'app dalla riga di comando:

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

Disinstallare un'app con AppZapper dalla riga di comando:

zap () {
    open -a AppZapper /Applications/"${1}".app
}

12
Sul primo, io uso ps2pdf (parte di ghostscript) per convertire il postscript, altrimenti l'anteprima fa la conversione e ti chiede di salvare il risultato alla chiusura, quindi è così: man -t $ * | ps2pdf - - | open -g -f -a

6
pmanpotrebbe essere migliorato utilizzando man -t $@invece di man -t "${1}", quindi supporta anche la specifica della sezione manuale.
zneak,

1
puoi definire questi comandi su .bash_profile per poterli usare sempre
iddober

Rilevante, anche se non un trucco da riga di comando: leggi le pagine man locali in Safari usando gli man:grepURL di stile con bruji.com/bwana
Sergio Acosta

88
cd -

Ripristinerà la directory precedente in cui ti trovavi. Molto utile se digiti accidentalmente cdda solo senza argomenti e finisci nella directory home.


9
Non specifico per Mac OS X, ma molto interessante.

8
Se pensi che sia bello, guarda pushd e popd. Ti consente di mantenere un'intera pila di directory su cui puoi andare su e giù.

7
Non dimenticare che cd -funziona anche come pushd / popd ... cioè. vuoi andare al 4 ° cd fa? cd -4ecc.
Ocodo

61

Puoi trascinare una cartella dal finder al terminale e incollerà il percorso completo di quel file.

cd <drag folder to terminal> 

Questo è sostanzialmente l'opposto di open nel terminale


3
D&D è anche molto utile per i file da utilizzare come parametri
Arne Burmeister,

Puoi anche trascinare l'icona della cartella che si trova nella barra del titolo di una finestra del Finder su una finestra del terminale.
Anil Natha,

Stavo per aggiungerlo: l'icona della cartella nella barra del titolo è un proxy per la cartella stessa, puoi trascinarla da lì verso qualsiasi luogo (come in una finestra di dialogo "Seleziona file", Terminale, ecc.)
dr.nixon

52

Ecco qualcosa di carino e inutile:

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &

Esegue lo screensaver come sfondo del desktop. Inutile ma fico.

Ciò non influisce sul normale funzionamento del salvaschermo, ma termina dopo l'attivazione del normale salvaschermo, sia per timeout che spostando il mouse in un angolo attivo predefinito.

In alternativa, puoi usare:

killall ScreenSaverEngine

3
Per disabilitarlo, premi Ctrl+ Co chiudi semplicemente la finestra Terminale.
Mathias Bynens,

o uccidi -9 quindi il numero di processo che viene sputato. Dovrebbe apparire come [1] 12345. 12345 è il numero di processo.

1
Questo è ottimo per le animazioni di Quartz Composer!
CoffeeRain

Lo "live wallpaper" di Android arriva sul Mac
Arc676,

48

ctrl+ Ae ctrl+ E: vai all'inizio della riga e alla fine della riga.

Questo funziona anche con ogni input di testo Cocoa!


20
Puoi anche usare altre combinazioni di tasti di emacs: ctrl-b, ctrl-f (avanti o indietro); ctrl-k (uccide dalla posizione alla fine della linea); ctrl-y (incolla il testo precedentemente ucciso); ctrl-p, ctrl-n (su o giù nella cronologia della riga di comando) e altro.
Michael H.

Questa rilegatura è molto comune - funziona anche a Pico e Nano.

Fantastico, non lo sapevo, è abbastanza utile!

2
Ragazzi, avete bisogno di conoscere emacs! (poiché è qui che provengono tutte queste combinazioni di tasti ...)
jkp

Penso che Mac OS X sia stato scritto usando Emacs. :)
rightfold

41

(Supponendo che stiamo cercando trucchi specifici per Mac OS X.)

Ho un alias per avviare quicklook su un file dalla riga di comando:

$ type -a ql
ql is aliased to `qlmanage -p 2>/dev/null'
$ ql photo.jpg
Testing Quick Look preview with files:
    photo.jpg

ctrl+ C: Uccidilo e torna al prompt.


1
In una nota simile, qlmanage -rpuò essere utilizzato per ripristinare Quick Look e rigenerare anteprime e cose.

Su una nota correlata: in Terminale, digitando Command-Period verrà emesso un Control-C.
Chris Page

Questo e 'esattamente quello che stavo cercando! Digitando [spazio] anche l'anteprima scompare.
Aaron

37
$ emacs -batch -l dunnet

Dead end
You are at a dead end of a dirt road.  The road goes to the east.
In the distance you can see that it will eventually fork off.  The
trees here are very tall royal palms, and they are spaced equidistant
from each other.
There is a shovel here.
>

Darn. Ora come raccolgo la pala?
Josh K,

1
Quando ho scoperto questo, ho perso mezza giornata a giocarci!
Josh,

13
Non ho mai giocato a nessuno di questi giochi prima d'ora, quindi immagina la mia sorpresa quando ...>eat shovel \ You forcefully shove a shovel down your throat, and start choking. \ You are dead. \ You have scored 0 out of a possible 90 points.

6
> scuotere l'albero You begin to shake a tree, and notice a coconut begin to fall from the air. As you try to get your hand up to block it, you feel the impact as it lands on your head. You are dead. You have scored 0 out of a possible 90 points.... probabilmente avrebbe dovuto vederlo arrivare.
Dan Ray,

1
Non dimenticareM-x tetris
ocodo

36

afconvert ti consente di convertire da e verso tutti i formati audio internamente noti a Core Audio.

ad esempio, convertendo un file aiff in AAC a 160 kbps:

afconvert track.aiff -o track.m4a -q 127 -b 160000 -f 'm4af' -d 'aac '

34

Controlla rapidamente ciò che sta mangiando tutta la tua memoria:

top -o vsize

E per la tua CPU

top -o cpu

Q abbandonare


3
Non volevo dare una risposta completa per questo, quindi .. Ci sono vari flag che ridurranno l'utilizzo della memoria di top stesso: alias ltop='top -F -R -o cpu'ha la maggior parte .. Se specifichi -o vsizeecc, sostituirà il -o cpu.

Puoi anche usare al -uposto di -o cpu. top -uordina per utilizzo della CPU.
Chris Page

32

Per rendere nuovamente utile ctrl+ e ctrl+ , ovvero andare avanti o indietro come in genere su Linux, è necessario fare in modo che Terminal.app invii la stringa corretta alla shell. Nelle preferenze, vai alla Settingsscheda e seleziona il tuo profilo predefinito. Andare Keyboarde impostare control cursor lefte control cursor rightinviare rispettivamente la stringa \033be \033f.

Mentre ci sei, puoi anche correggere Home( \033[H), End( \033[F), Page Up( \033[5~) e Page Down( \033[6~) in modo che inviino quelle chiavi alla shell invece di far scorrere il buffer.


come suggerito Slomojo: avanti / indietro di una parola sono associati a Opt-b / f quando si imposta il terminale per riconoscere Opt come Meta
Zorb

Bene, alcune persone hanno effettivamente bisogno del tasto opzione ... Su molti layout di tastiera, caratteri come {}[]richiedono una combinazione di tasti che coinvolge [⌥]. O se usi il layout americano e hai bisogno di alcuni caratteri non inglesi su base regolare (come faccio io con Umlauts) hai bisogno anche di [⌥].
Giovedì

30

Ricampiona l'immagine in modo che altezza e larghezza non siano maggiori delle dimensioni specificate, ad es. 100x100:

sips -Z 100x100 image.jpg

sips supporta altre operazioni come: capovolgi, ruota, ritaglia, query proprietà immagine, query profilo colore e modifica. Verifica l' man sipsutilizzo.



25

Con hdiutilte puoi montare facilmente un'immagine del disco:

hdiutil mount ~/Desktop/lastest_webkit.dmg

Smontaggio (modo hacker):

hdiutil detach `df | grep WebKit | perl -pe 's@^/dev/([a-zA-Z0-9]+).*@$1@'`

Smontaggio (modo semplice):

hdiutil detach /Volumes/<mountpoint>

o prendere l'approccio più semplice (che churnd suggerito qui di seguito):

hdiutil detach /Volumes/latest_webkit

18
Fai semplicemente "hdiutil detach / Volumes / <mountpoint>"
churnd

1
Le ultime due scelte non sono uguali?

Ho usato diskutilper gran parte di questo ultimamente, dopo aver appreso (e odiato) lo strumento del disco. diskutil eject /Volumes/backupsè stato un uso frequente ultimamente.
Jason Salaz,

Non sono sicuro del perché, ma /sbin/umount /Volumes/Foosembra funzionare più velocemente di hdiutil
TJ Luoma il

Uso principalmente anche diskutil, in particolare diskutil verifyVolume <volume name>, poiché la funzione di verifica nello specifico di Utility Disco per volumi RAID, non ha mai funzionato (bug di vecchia data).

25

Alcuni alias utili:

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'"

# Get readable list of network IPs
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" # Flush DNS cache

alias gzip="gzip -9n" # set strongest compression level as ‘default’ for gzip
alias ping="ping -c 5" # ping 5 times ‘by default’
alias ql="qlmanage -p 2>/dev/null" # preview a file using QuickLook

# Upload image to Imgur and return its URL. Get API key at http://imgur.com/register/api_anon
imgur() { curl -F "image=@$1" -F "key=ANONYMOUS_IMGUR_API_KEY" https://api.imgur.com/2/upload | egrep -o "<original>.+?</original>" | egrep -o "http://imgur\.com/[^<]+" | sed "s/imgur.com/i.imgur.com/" | tee >(pbcopy); }

Tutti questi sono nel mio, ~/.bash_profilecosì posso usarli in ogni finestra del Terminale.

PS

alias chpwn="chown"

Per di più, vedere i miei dotfile repository su GitHub , e / o di vedere il mio .osxprogramma per OS preferenze e le impostazioni X-specifiche .


+1 - Risposta eccellente. Mi piacciono particolarmente gli alias ips / myip!
Boehj,

22

textutil è uno strumento molto utile che può convertire il testo tra HTML, RTF (D), Word (incluso XML), OpenOffice.org Writer e il formato webarchive.

Lo uso, in particolare, in un servizio che converte il testo selezionato in HTML, lo carica su un server e lo importa in Instapaper.


Questo è specifico per BSD, credo, non solo per OS X. Ma utile comunque ...

@Henno, no; 10.8.5 (almeno) ha textutilpure. La manpage per texteditafferma che supporta "txt, html, rtf, rtfd, doc, docx, wordml, odt o webarchive".
Jeff Dickey,

22

Rendi i file invisibili:

SetFile file -a V

SetFile può anche modificare molti altri attributi e metadati del file.

SetFile non è un comando nativo di OS X, viene fornito in bundle con DevTools / Xcode.

Se non si dispone di Xcode e non si desidera scaricare circa 6 GB, è possibile utilizzare

sudo chflags hidden|nohidden <file/folder>

chflags è un comando BSD e ha anche una pagina man che basta inserirla nel Terminale

man chflags

per coloro a cui non piace inserire i comandi da soli e vorrebbe solo sapere cosa c'è nell'uomo. Ecco qui:

CHFLAGS(1)        BSD General Commands Manual           CHFLAGS(1)

NAME
     chflags -- change file flags

SYNOPSIS
     chflags [-fhv] [-R [-H | -L | -P]] flags file ...

DESCRIPTION
     The chflags utility modifies the file flags of the listed files as speci-
     fied by the flags operand.

     The options are as follows:

     -f      Do not display a diagnostic message if chflags could not modify
         the flags for file, nor modify the exit status to reflect such
         failures.

     -H      If the -R option is specified, symbolic links on the command line
         are followed.  (Symbolic links encountered in the tree traversal
         are not followed.)

     -h      If the file is a symbolic link, change the file flags of the link
         itself rather than the file to which it points.

     -L      If the -R option is specified, all symbolic links are followed.

     -P      If the -R option is specified, no symbolic links are followed.
         This is the default.

     -R      Change the file flags for the file hierarchies rooted in the
         files instead of just the files themselves.

     -v      Cause chflags to be verbose, showing filenames as the flags are
         modified.  If the -v option is specified more than once, the old
         and new flags of the file will also be printed, in octal nota-
         tion.

     The flags are specified as an octal number or a comma separated list of
     keywords.  The following keywords are currently defined:

       arch, archived
           set the archived flag (super-user only)

       opaque  set the opaque flag (owner or super-user only).  [Directory
           is opaque when viewed through a union mount]

       nodump  set the nodump flag (owner or super-user only)

       sappnd, sappend
           set the system append-only flag (super-user only)

       schg, schange, simmutable
           set the system immutable flag (super-user only)

       uappnd, uappend
           set the user append-only flag (owner or super-user only)

       uchg, uchange, uimmutable
           set the user immutable flag (owner or super-user only)

       hidden  set the hidden flag [Hide item from GUI]

     As discussed in chflags(2), the sappnd and schg flags may only be unset
     when the system is in single-user mode.

     Putting the letters ``no'' before or removing the letters ``no'' from a
     keyword causes the flag to be cleared.  For example:

       nouchg  clear the user immutable flag (owner or super-user only)
       dump    clear the nodump flag (owner or super-user only)

     Unless the -H or -L options are given, chflags on a symbolic link always
     succeeds and has no effect.  The -H, -L and -P options are ignored unless
     the -R option is specified.  In addition, these options override each
     other and the command's actions are determined by the last one specified.

     You can use "ls -lO" to see the flags of existing files.

EXIT STATUS
     The chflags utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     ls(1), chflags(2), stat(2), fts(3), symlink(7)

HISTORY
     The chflags command first appeared in 4.4BSD.

BUGS
     Only a limited number of utilities are chflags aware.  Some of these
     tools include ls(1), cp(1), find(1), install(1), dump(8), and restore(8).
     In particular a tool which is not currently chflags aware is the pax(1)
     utility.

BSD              March 3, 2006                 BSD

5
Ecco /Developer/Tools, che dovrai scaricare dal sito di Apple (pesante) o installare dal disco del sistema operativo. Nessun sistema è completo senza di esso.

6
chflags hidden?
Daniel Beck,

Prefisso una bandiera con "no" per rimuoverla. Quindi non lo sudo chflag nohidden <file/folder>è show.
phette23,

19
 dot_clean .

Questo non è un uso quotidiano - ma una volta è stato un grande risparmio di tempo - avevo un fileserver SMB (Avid Unity) che mostrava molti file .filename per utenti Mac e utenti PC.

Questo comando di pulizia ha risolto completamente il problema (dopo averlo eseguito due volte)


3
è bello sapere finalmente che esiste un buon modo per farlo.
jkp,

Ci dispiace ma non capisco cosa sono i file ._ * e come questo programma risolve il problema descritto, la pagina man non ha aiutato molto, potresti per favore fornire maggiori dettagli? È completamente sicuro da usare?
rslnx,

I file ._ sono invisibili nel Finder in Mac OS - ma sono visibili ad altri sistemi operativi. Tendono anche a essere una reliquia di "fork di risorse" che sono andati fuori uso quando il mac è passato da OS 9 a OS X. Invece di buttarli fuori di testa in un altro sistema operativo, puoi chiedere a Mac OS di aiutarti a ripulire quelli inutili usando il comando dot_clean.
evilblender,

17

historymostra un elenco dei comandi recenti che hai eseguito, ad esempio 500 o 600 comandi. Uso spesso history | grep somethingper trovare un comando che ho usato di recente.


13
È un built-in bash, non specifico per OS X.

Vero. Scusate. Immagino di aver capito che chi fa domande sta cercando utili comandi da terminale per Mac, indipendentemente dal fatto che siano specifici per Mac o meno. Se mi sbagliavo, scusa.

7
Puoi premere Ctrl + R in bash per cercare interattivamente nella cronologia della shell. Se lo premi, quindi digita ssh exa, troverà l'ultimo comando che inizia con ssh exa. È possibile premere di nuovo ctrl + r per scorrere ulteriormente all'indietro, tornare per eseguire il comando corrente o premere Esc per modificare ulteriormente il comando

2
Mentre ci siamo, history -a; history -rcopia la cronologia tra le schede dei terminali.

3
Una volta eseguito history, puoi eseguire qualsiasi elemento dall'elenco risultante utilizzando il numero dell'articolo della cronologia. ad es. !23eseguirà l'elemento 23 nell'elenco cronologico.

17

Anche se posso spostarmi in vi, utilizzo TextMate come editor della riga di comando . Puoi anche reindirizzare le cose ad esso. Ad esempio ls | mate apre TextMate con l'attuale elenco direttamente aperto in una finestra di testo.


5
Ho usato "compagno". più volte di quanto mi importi.

In effetti, mate .è la cosa migliore di sempre.

Consiglio vivamente di giocare con Cocoa Emacs.
ottobre

16

mdlsti mostrerà tutti i metadati del file di cui Spotlight è a conoscenza. Puoi usare anche gli attributi risultanti in "mdfind".

mdutil consente di attivare o disattivare l'indicizzazione su determinati volumi e di reimpostare l'indice ecc.

systemsetup è specifico per BSD (non solo per Mac), ma è davvero bello, controlla la sua manpage.

GetFileInfo (Credo che devi avere gli strumenti di sviluppo per avere questo) ti permette di vedere tutti i tempi associati (modifica, creazione, ultimo accesso) e tutti gli attributi di un file.

automator consente di eseguire flussi di lavoro dell'automatore dalla riga di comando, mentre

osascript ti consente di eseguire il codice di script Apple.


+1 - Non sapevo di automatorbuono a sapersi ... Suppongo;) - (Generalmente lo uso per eseguire script da Finder, quindi non sono sicuro se lo userei mai al contrario.)
ocodo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.