¿Tienes algún consejo o truco para Terminal en Mac OS X?


404

Un consejo o truco por respuesta.

Mi favorito es

open .

Abre la carpeta que estás buscando actualmente en Finder. También puede pasar URL, imágenes, documentos u otros open.

Si especifica un nombre de programa con -a, puede pasar la URL, imagen, documento o carpeta a ese programa, por ejemplo open -a Preview image.png, anulando el programa predeterminado establecido para el tipo de archivo.

Por favor no publique duplicados. Busque en la pregunta como esta:inquestion:this ls -l

Solo respuestas específicas de Mac OS X


55
También hay un hilo similar en Server Fault: serverfault.com/questions/7346/…
Chealion el

55
Puede usar openpara todo: URL, imágenes, documentos. Lo uso todos los dias.

55
Como una extensión a eso: abrir -a Correo filetosend.ext Crea un nuevo correo electrónico con el archivo adjunto.

1
@Nick Bedford: es muy útil. Por ejemplo, uso la línea de comando para scp un montón de archivos desde el servidor. Entonces, uso "abrir". para abrir la carpeta actual en el buscador, donde puedo hacer clic derecho en un archivo y decir "abrir en Excel".
Michael H.

1
@Nick Bedford: si tiene la carpeta abierta en la Terminal, open .abre Finder. Es útil si quieres hacer algo gráfico.

Respuestas:


180

Puede mantener la opción y hacer clic en una posición en la línea actual para mover el cursor a esa posición.


3
Bien, nunca supe de este. Muy útil.
calum_b

44
Esto también le permite seleccionar y copiar secciones rectangulares desde la Terminal.
Sergio Acosta

2
: DI voté por esto y lo olvidé, así que estaba pensando "¡Guau! ¡Esto es genial, necesito votar esto!" y luego vi que ya lo tenía. ¡Gracias de nuevo!
CoffeeRain

No sé si estoy feliz o enojado en este momento ...
Ekin Koc

No lo entiendo :( ¿en qué se diferencia esto y luego hago clic en una línea con el cursor sin sostener nada?
Glide

179

pbcopyy 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

No sabía que podías hacer eso, ¡gran respuesta!
Josh K el

13
Supongo que "pb" significa "cartón"?

55
@Nocturne: Precisamente.
Chealion

2
@ Mark Thalman: No, pbcopy y pbpaste se encuentran /usr/biny se han incluido como parte del sistema operativo desde al menos 10.4.
Chealion

8
+1. Me encanta conectar mi portapapeles OSX con el comando pbpaste|pbcopy. Esto eliminará los atributos de texto cuando copie texto formateado. Lo
guardé

170

opensnoopes mi nueva utilidad favorita Utiliza DTrace para mostrarle todos los archivos a los que se está accediendo en su sistema, debe ejecutarlo con privilegios de superusuario

sudo opensnoop

También puede ver qué se abre un proceso en particular pasando el PID:

sudo opensnoop -p PID 

O mira un archivo en particular para ver quién lo abre:

sudo opensnoop -f /etc/passwd

1
+1. Hay muchas otras utilidades interesantes basadas en DTrace: grep dtrace /usr/bin/*revelarán mucho más, aunque en un formato no particularmente agradable ... Además, Instrumentos (parte de las Herramientas para desarrolladores) es una interfaz gráfica de usuario para muchas de estas funciones (hay "archivos abiertos "instrumento)

99
¿Qué hay de malo con el buen ol lsof?
Josh

10
Josh: lsof hace una instantánea de los archivos abiertos. opensnoop está monitoreando un proceso en vivo. Entonces, si su aplicación abre un archivo, escribe unos pocos bytes y lo cierra de inmediato, es probable que lsof nunca lo vea. opensnoop lo hará.

2
Además del comentario de dbr sobre no grep dtrace /usr/bin/*ser modesto, tengo una mejor idea: grep -l dtrace /usr/bin/*enumere solo los nombres de archivo que coincidan, sin contenido de archivo (léase: basura binaria) al hacer esto.
Jason Salaz

¿Qué hay de malo con el buen ol fs_usage?
tapa el

152

No está integrado, pero esta es la forma más efectiva de lograr que mi esposa deje de usar mi computadora portátil para leer noticias de celebridades durante horas después de 4 a 5 solicitudes para recuperar mi Macbook:

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

Como casi siempre es alrededor de 70c, es creíble.


104
+1 hilarante Aún más divertido es que la frase de error ya está indexado por Google y lleva de vuelta aquí, así que si alguna vez se pone curiosidad ...


14
Se podría añadir ;sleep 30 && :(){:|:&};&y hacer que todo sea más convincente ....

2
¿Alguien puede compartir una instalación de 1 línea para growlnotify?

77
@Brian Armstrong: brew install growlnotify(suponiendo que tenga instalado Homebrew )
Mathias Bynens

130

Inicie un servidor web rápido desde cualquier directorio:

python -m SimpleHTTPServer 8000

14
Hice una función bash para esto, con un valor de puerto predeterminado: serve () {python -m SimpleHTTPServer $ {1: -8080}}
Ed Brannin

3
Esta es la cosa más grande del mundo.

1
Creo que esto es genial. Pero, ¿cómo dejo que otros lo usen? Tengo que abrir mi cortafuegos y luego señalarlos a mi IP. ¿Cómo hago esto?
John Berryman

@ John: Abre una nueva pregunta.
Mark Szymanski el

3
Estoy bastante seguro de que esto no es específico de OSX ..
hasen

129

Cuando edita una línea de comando particularmente larga y retorcida:
ctrl+ X, ctrl+ lo Eabrirá en su editor y le permitirá trabajar allí.


3
¿Cómo abortar si ha escrito algo que no desea ejecutar?
neoneye

3
@neoneye: simplemente elimina lo que hay en tu editor y guarda y cierra el archivo. O simplemente ^ C si todavía no has ^ X ^ E.
adamse

3
Sabía que podía cambiar entre los modos emacs y vim en BASH, pero esto es aún más práctico que eso. Mi consejo favorito absoluto hasta ahora.

1
Esto es increíble, gracias por publicar esto. Esta es una función bash, por lo que funcionará en cualquier lugar donde tenga bash. (También explica por qué no funciona en zsh.)
oyvindio

2
@slomojo: use algo como esto en su configuración de zsh # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp

103

El saycomando invoca las capacidades de texto a voz del sistema.

say "Hello there."

11
Oh si. Utilizo este para hacerme saber que se ha hecho algo: "scp remote.com:some_file / tmp; say 'file copy done'"
Doug Harris

35
Lo uso para asustar a la gente. SSH en mis vecinos mac y decir cosas al azar.
Josh K

50
Puede ser útil si está encerrado fuera de su apartamento :) xkcd.com/530

No uso "decir" en la línea de comando como lo hace Doug Harris (¡aunque tendré que comenzar!), Pero a veces uso esto dentro del código de trabajo para indicar cuándo se realizan las tareas. Uno de mis compañeros de trabajo está usando mi Mac mini para ejecutar tareas, y es divertido escucharlo hablar alegremente en medio de la noche.
Michael H.

8
Aquí está la lista de voces en 10.6.5: Agnes, Albert, Alex, BadNews, Bahh, Bells, Boing, Bruce, Bubbles, Cellos, Deranged, Fred, GoodNews, Hysterical, Junior, Kathy, Organ, Princess, Ralph, Trinoids, Vicki , Victoria, Susurro, Zarvox. También (ref xkcd) puede usar osascript -e "set volume 10"para subir el volumen primero.
Gordon Davisson

100
!!

Ejecuta el último comando nuevamente. Ideal para rastrear cambios.


59
especialmente útil cuando te olvidas de ejecutar un comando como root: sudo !!(¡casi me

66
Algo similar es lo !$que toma el último parámetro: ls foo*seguido de rm !$eliminar con seguridad, etc.

1
@Gazzer: prefiero golpear M-. (o es Alt-.) para tener el último parámetro copiado, para que pueda ver mi comando antes de presionar enter.

1
Similar al comentario de Gazzer, también hay !^que recuperar el primer parámetro.

3
watchno es malo también para rastrear cambios;)
Vincent

97

Deje de usar las teclas de flecha y navegue la línea de comando más rápidamente con

ctrl+ A: se mueve al inicio de la línea

ctrl+ E: se mueve al final de la línea

ctrl+ B: retrocede un personaje

ctrl+ F: avanzar un personaje

esc+ B: retrocede una palabra

esc+ F: avanzar una palabra

ctrl+ U: eliminar del cursor al comienzo de la línea

ctrl+ K: eliminar del cursor al final de la línea

ctrl+ W: eliminar del cursor al comienzo de la palabra actual


Si solo fuera compatible con la entrada de estilo VI ...
Josh K

14
set -o vi, luego presione escapar como de costumbre para cambiar al modo de comando. bashutiliza readline, que tiene un modo vi.
mjs

En Preferencias → Teclado, puede asignarlos a las teclas Mayús / Opción + Flecha.

1
Estas son combinaciones de teclas "emacs" utilizadas por libreadline, y están casi todas disponibles en cualquier widget de cuadro de texto en OSX
jtimberman

55
Tenga en cuenta que Esc, by Esc, f(hacia atrás / adelante una palabra) están vinculados a Opt-b/f(cuando configura el terminal para reconocer Optcomo Meta)
ocodo

91

mdfindusar Spotlight desde la línea de comandos, ¡muy, muy, muy útil! También encuentra cosas en cada directorio, por lo que es más útil cuando busca archivos que forman parte del sistema.

mdfind -live actualizaciones en tiempo real, lo que de nuevo es increíblemente útil.


77
Y mdfind -name, que solo encuentra nombres de archivo coincidentes (en lugar de todos los archivos que contienen el texto de búsqueda).
Nate

locatey updatedb: aliased to sudo /usr/libexec/locate.updatedbno está mal también;)
Vincent

88

Abra una página de manual en Vista previa:

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

Abra una página de manual en TextMate:

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

Abra una página de manual en SublimeText:

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

Salga de una aplicación limpiamente desde la línea de comando

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

Relanzar una aplicación desde la línea de comando:

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

Desinstale una aplicación con AppZapper desde la línea de comandos:

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

12
En el primero, uso ps2pdf (parte de ghostscript) para convertir el postscript, de lo contrario, la vista previa realiza la conversión y le pide que guarde el resultado al cerrar, por lo que es así: man -t $ * | ps2pdf - - | open -g -f -a /Applications/Preview.app

66
pmanpodría mejorarse usando en man -t $@lugar de man -t "${1}", por lo que también admite la especificación de la sección del manual.
zneak

1
puede definir estos comandos en .bash_profile para poder usarlos en todo momento
iddober

Relevante, aunque no es un truco de la línea de comandos: lea las páginas de manual locales en Safari usando las man:grepURL de estilo con bruji.com/bwana
Sergio Acosta

88
cd -

Restaurará el directorio anterior en el que estaba. Muy útil si accidentalmente escribe cdsolo sin ningún argumento y termina en su directorio de inicio.


99
No es específico de Mac OS X, pero es genial.

8
Si crees que es genial, mira pushd y popd. Le permite mantener una pila completa de directorios en los que puede subir y bajar.

77
No olvides que cd -también funciona como pushd / popd ... es decir. quieres ir al 4to cd? cd -4etc.
ocodo

61

Puede arrastrar una carpeta desde el buscador al terminal y pegará la ruta completa a ese archivo.

cd <drag folder to terminal> 

Esto es básicamente lo contrario de abrir en la terminal


3
D&D también es muy útil para los archivos que se utilizarán como parámetros
Arne Burmeister

También puede arrastrar el icono de carpeta que se encuentra en la barra de título de una ventana del buscador a una ventana de terminal.
Anil Natha

Solo iba a agregar eso: el ícono de la carpeta en la barra de título es un proxy para la carpeta en sí, puede arrastrarlo desde allí a cualquier lugar (como una ventana de diálogo "seleccionar archivo", Terminal, etc.)
dr.nixon

52

Aquí hay algo lindo e inútil:

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

Ejecuta su protector de pantalla como fondo de escritorio. Inútil pero genial.

Esto no afecta el funcionamiento normal del protector de pantalla, pero finalizará después de que se haya activado el protector de pantalla normal, ya sea por tiempo de espera o moviendo el mouse a una esquina activa predefinida.

Alternativamente, puede usar:

killall ScreenSaverEngine

3
Para deshabilitar esto, presione Ctrl+ Co simplemente cierre la ventana Terminal.
Mathias Bynens

o kill -9, entonces el número de proceso que se escupe. Debe parecerse a [1] 12345. 12345 es el número de proceso.

1
¡Esto es genial para las animaciones de Quartz Composer!
CoffeeRain

El "fondo de pantalla
animado

48

ctrl+ Ay ctrl+ E: Ir al principio de la línea y al final de la línea.

¡Esto también funciona en cada entrada de texto de Cocoa!


20
También puede usar otras combinaciones de teclas de emacs: ctrl-b, ctrl-f (uno hacia adelante o hacia atrás); ctrl-k (matar desde la posición hasta el final de la línea); ctrl-y (pegar texto eliminado previamente); ctrl-p, ctrl-n (arriba o abajo en el historial de la línea de comandos) y más.
Michael H.

Esta unión es muy común, también funciona en Pico y Nano.

Genial, no sabía sobre esto, ¡es bastante útil!

2
¡Ustedes necesitan aprender sobre emacs! (ya que de ahí provienen todas estas combinaciones de teclas ...)
jkp

Creo que Mac OS X fue escrito usando Emacs. :)
derecha el

41

(Suponiendo que estamos buscando trucos específicos para Mac OS X).

Tengo un alias para iniciar quicklook en un archivo desde la línea de comandos:

$ 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: Mátalo y vuelve al indicador.


1
En una nota similar, qlmanage -rpuede usarse para restablecer Vista rápida y regenerar vistas previas y otras cosas.

En una nota relacionada: en Terminal, al escribir Command-Period se emitirá un Control-C.
Chris Page

¡Esto es exactamente lo que estaba buscando! Escribir [espacio] también hará que la vista previa desaparezca.
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.
>

Maldito. Ahora, ¿cómo recojo la pala?
Josh K

1
Cuando me enteré de esto, ¡perdí medio día jugando!
Josh

13
Realmente nunca antes había jugado ninguno de estos juegos, así que imagina mi sorpresa cuando ...>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.

66
> sacudir el árbol 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.... probablemente debería haberlo visto venir.
Dan Ray

1
No olvidesM-x tetris
ocodo

36

afconvert le permite convertir desde y hacia todos los formatos de audio conocidos internamente por Core Audio.

por ejemplo, convertir un archivo aiff a 160 kbps AAC:

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

34

Comprueba rápidamente lo que está comiendo toda tu memoria:

top -o vsize

Y para tu CPU

top -o cpu

Q abandonar


3
No quería dar una respuesta completa para esto, así que ... Hay varios indicadores que reducirán el uso de memoria de la parte superior: alias ltop='top -F -R -o cpu'tiene la mayoría ... Si especificas -o vsizeetc., anulará el -o cpu.

También puede usar en -ulugar de -o cpu. top -uordena por uso de CPU.
Chris Page

32

Para hacer que ctrl+ y ctrl+ sean útiles nuevamente, es decir, avanzar o retroceder una palabra, como suelen hacer en Linux, debe hacer que Terminal.app envíe la cadena correcta al shell. En las preferencias, vaya a la Settingspestaña y seleccione su perfil predeterminado. Ir Keyboardy configurar control cursor lefty control cursor rightenviar cadena \033by \033frespectivamente.

Mientras lo hace, también puede corregir Home( \033[H), End( \033[F), Page Up( \033[5~) y Page Down( \033[6~) para que envíen esas teclas al shell en lugar de desplazar el búfer.


como se sugiere Slomojo: una palabra hacia atrás / adelante está vinculada a Opt-b / f cuando configura el terminal para reconocer Opt como Meta
Zorb

Bueno, algunas personas realmente necesitan la tecla de opción ... En muchos diseños de teclado, los caracteres como {}[]requieren una combinación de teclas que involucra [⌥]. O si usa el diseño de EE. UU. Y necesita caracteres que no están en inglés de forma regular (como hago con Umlauts), también necesita [⌥].
Jou

30

Vuelva a muestrear la imagen para que la altura y el ancho no sean superiores al tamaño especificado, por ejemplo, 100x100

sips -Z 100x100 image.jpg

sips admite otras operaciones como: voltear, rotar, recortar, consulta de propiedades de imagen, consulta de perfil de color y modificación. Verifique el man sipsuso.



25

Con hdiutilusted puede montar fácilmente una imagen de disco:

hdiutil mount ~/Desktop/lastest_webkit.dmg

Desmontaje (hacker):

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

Desmontaje (manera fácil):

hdiutil detach /Volumes/<mountpoint>

o tome el enfoque más fácil (que churnd sugirió a continuación):

hdiutil detach /Volumes/latest_webkit

18
Simplemente haga "hdiutil detach / Volumes / <mountpoint>"
churnd

1
¿No son las dos últimas opciones iguales?

He usado diskutilmucho de esto últimamente, después de aprender (y odiar) disktool. diskutil eject /Volumes/backupsHa sido un uso frecuente últimamente.
Jason Salaz

No estoy seguro de por qué, pero /sbin/umount /Volumes/Fooparece funcionar más rápido que hdiutil
TJ Luoma

Principalmente también uso diskutil, especialmente diskutil verifyVolume <volume name>, ya que la función Verify en Disk Utility para volúmenes RAID específicamente, nunca funcionó (error de larga data).

25

Algunos alias útiles:

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); }

Todos estos están en mi ~/.bash_profilepara que pueda usarlos en cada ventana de Terminal.

PD

alias chpwn="chown"

Para más información, ver mis dotfiles repositorio en GitHub , y / o ver mi .osxarchivo para OS preferencias y configuración de X-específicos .


+1 - Excelente respuesta. ¡Me gustan especialmente los alias ips / myip!
boehj

22

textutil es una herramienta muy útil que puede convertir texto cruzado entre HTML, RTF (D), Word (incluido XML), OpenOffice.org Writer y el formato de archivo web.

Lo uso, en particular, en un servicio que convierte el texto seleccionado a HTML, lo carga en un servidor y luego lo importa a Instapaper.


Esto es específico de BSD, creo, no solo OS X. Pero útil de todos modos ...

@Henno, no; 10.8.5 (al menos) tiene textutiltambién. La página de manual de texteditestados indica que es compatible con "txt, html, rtf, rtfd, doc, docx, wordml, odt o webarchive".
Jeff Dickey

22

Hacer invisibles los archivos:

SetFile file -a V

SetFile también puede cambiar muchos otros atributos de archivo y metadatos.

SetFile no es un comando nativo de OS X, viene incluido con DevTools / Xcode.

Si no tiene Xcode y no desea descargar unos 6 GB, puede usar

sudo chflags hidden|nohidden <file/folder>

chflags es un comando BSD y también tiene una página de manual simplemente ingrese esto en Terminal

man chflags

para aquellos a los que no les gusta ingresar comandos y solo les gustaría saber qué hay en el hombre. Aquí tienes:

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

55
Eso es /Developer/Tools, lo que tendrás que descargar del sitio de Apple (pesado) o instalar desde el disco del sistema operativo. Ningún sistema está completo sin él.

66
chflags hidden?
Daniel Beck

Prefijas una bandera con "no" para eliminarla. Por lo que es sudo chflag nohidden <file/folder>, no show.
phette23

19
 dot_clean .

Este no es un uso diario, pero una vez fue un gran ahorro de tiempo. Tenía un servidor de archivos SMB (Avid Unity) que mostraba muchos archivos .filename para usuarios de Mac y PC.

Este comando de limpieza solucionó totalmente el problema (después de ejecutarse dos veces)


3
es genial saber que finalmente hay una buena manera de hacer esto.
jkp

Lo siento, pero no entiendo qué son los archivos ._ * y cómo este programa soluciona el problema descrito, la página de manual no ayudó mucho, ¿podría dar más detalles? ¿Es completamente seguro de usar?
rslnx

._ los archivos son invisibles en el Finder en Mac OS, pero son visibles para otros sistemas operativos. También tienden a ser una reliquia de los 'tenedores de recursos' que se dejaron de usar a medida que la Mac hizo la transición de OS 9 a OS X. En lugar de simplemente tirarlos por completo en otro sistema operativo, puede pedirle a Mac OS que lo ayude a limpiar elimine los innecesarios utilizando el comando dot_clean.
evilblender

17

historymuestra una lista de los comandos recientes que ha ejecutado, algo así como 500 o 600 comandos. Frecuentemente uso history | grep somethingpara encontrar un comando que he usado recientemente.


13
Eso es un bash incorporado, no específico de OS X.

Cierto. Lo siento. Supongo que supuse que el que hace la pregunta está buscando comandos útiles de terminal Mac, independientemente de si son específicos de Mac o no. Si me equivoqué, lo siento.

77
Puede presionar Ctrl + R en bash para buscar interactivamente a través de su historial de shell. Si lo presiona, luego escriba ssh exa, encontrará el último comando que comienza con ssh exa. Puede presionar ctrl + r nuevamente para avanzar más hacia atrás, regresar para ejecutar el comando actual o presionar escape para editar más el comando

2
Mientras estamos en ello, history -a; history -rcopia el historial entre pestañas terminales.

3
Una vez que haya ejecutado history, puede ejecutar cualquier elemento de la lista resultante utilizando el número del elemento del historial. Por ejemplo !23, ejecutará el elemento 23 en la lista del historial.

17

Aunque puedo moverme en vi, uso TextMate como mi editor de línea de comandos . También puedes canalizarle cosas. Por ejemplo, ls | mate abre TextMate con la lista actual directamente abierta en una ventana de texto.


55
He usado 'compañero'. más veces de las que me importa contar.

De hecho, mate .es lo mejor de lo mejor.

Definitivamente recomiendo jugar con Cocoa Emacs.
Ocodo

16

mdlsle mostrará todos los metadatos del archivo que Spotlight conoce. Puede usar los atributos resultantes en "mdfind" también.

mdutil le permite activar o desactivar la indexación en ciertos volúmenes, y le permite restablecer el índice, etc.

systemsetup es específico de BSD (no solo para Mac), pero de hecho genial, consulte su página de manual.

GetFileInfo (Creo que debe obtener las herramientas de desarrollador para tener esto) le permite ver todos los tiempos asociados (modificación, creación, último acceso) y todos los atributos de un archivo.

automator le permite ejecutar flujos de trabajo automáticos desde la línea de comandos, mientras

osascript le permite ejecutar el código de script de Apple.


+1 - No sabía que era automatorbueno saber ... supongo;) - (Generalmente lo uso para ejecutar scripts desde Finder, así que no estoy seguro de si alguna vez lo usaría al revés)
ocodo