¿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

Josh K
fuente
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.

Alex Robinson
fuente
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
Chealion
fuente
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
Ted Naleid
fuente
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.

dlamblin
fuente
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
Devon
fuente
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í.

Wesley Darlington
fuente
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."
jtbandes
fuente
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.

Jarrod
fuente
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

moldeado
fuente
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.

Rich Bradshaw
fuente
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
}
Aziz Light
fuente
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.

Fortyrunner
fuente
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

Ryan
fuente
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
Kalessin
fuente
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!

gentmatt
fuente
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.

Doug Harris
fuente
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.
>
jtbandes
fuente
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 '
Robin
fuente
34

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

top -o vsize

Y para tu CPU

top -o cpu

Q abandonar

Aurélien Bottazini
fuente
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.

jou
fuente
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.

Ronny Haryanto
fuente
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
Doekman
fuente
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 .

rev. Mathias Bynens
fuente
+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.

louije
fuente
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
konqui
fuente
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)

evilblender
fuente
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.

Avi Flax
fuente
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.

hanleyp
fuente
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.

Henno
fuente
+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