Acabo de leer con placer y aprendí mucho de estas preguntas:
Pero no encontré en estas algunas de mis herramientas favoritas, que uso a diario , y creo que se debe a que estas son herramientas destinadas a OSX/Terminal , que no encajan bien en las preguntas anteriores.
Mis favoritos son, por orden de preferencia: oh-my-zsh , homebrew (pero también macports), janus ...
Estas herramientas tienen en común:
brew
es, git
no es!git clone
; wget ...
etc.¿Conoces alguna otra herramienta similar imprescindible ? Me encantaría descubrir nuevos!
Por favor incluya solo una utilidad por respuesta. Además, no agregue duplicados. Verifique primero antes de publicar. Si ve un duplicado, vote negativamente la respuesta e informe al autor dejando un comentario.
El administrador de paquetes faltante para OS X.
Es un administrador de paquetes increíble, muy ligero y fácil de usar. Principio KIS, eso me hace pensar en archlinux. Su comunidad es grande y muy activa.
(ver también macports que brew no reemplaza por completo, prefiero instalar paquetes con brew, pero algunos complejos solo están en macports)
Consulte también brew tap
el comando que proporciona algunas fórmulas faltantes que pueden ser útiles cuando necesita la última versión de php > brew tap josegonzalez/php
.
(Homebrew tiene una política de no reemplazar los componentes del sistema, pero bueno, a veces tienes que hacerlo)
brew tap
cuál es ahora la solución integrada para manejar "fórmulas" externas .brew link --force <package>
sobrescribir la copia del sistema. Además, algunos paquetes duplicados no esenciales se almacenan en el homebrew-dupes
repositorio en lugar del canónico.Mencionado en los comentarios, pero es esencial , así que para enfatizar...
grep
está en mi memoria muscular, nunca lo usaría.grin
también es una buena alternativa.Un puñado de funciones, asistentes de autocompletar y cosas que te hacen gritar...
"¡OH MI ZSHELL!"
Me hizo amar Shell cuando lo estaba usando cuando tenía que hacerlo ... Zsh es "bash on steroids", con oh-my-zsh y todos sus complementos, muchas especificaciones para OSX, Shell es mucho más fácil de usar y potente ... Oh, también los temas son muy buenos.
También vale la pena echarle un vistazo, algunas alternativas/complementos basados en zsh:
zsh
con oh-my-zsh
realmente es increíble, incluso completará la ruta con un comando scp
/ ssh
si ha habilitado la autenticación de clave pública en el servidor que está mirando, es genial. (finalización asombrosamente poderosa... /v/m/s/
TAB' se expande a /Volumes/MyDrive/Src
)No puedo vivir sin esto.
update() {
local brew="brew update; brew upgrade;"
local gisty="gisty pull_all; gisty sync_delete"
local gem="gem update;"
local pip="pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U -q"
sh -c $brew$gisty; sudo sh -c $gem$pip
}
Obviamente, puede agregar más comandos de acuerdo con los administradores de paquetes que use. Esto está hecho por mí.
cdf() {
target=`osascript -e 'tell application "Finder" to if (count of Finder windows) > 0 then get POSIX path of (target of front Finder window as text)'`
if [ "$target" != "" ]; then
cd "$target"; pwd
else
echo 'No Finder window found' >&2
fi
}
cdf
para abrir el directorio del Finder en la terminal y open .
para abrir en el Finder el directorio del terminal del directorio.
man() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[1;31m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
man "$@"
}
git(){
trap 'rm -f /tmp/.git_ssh.$$' 0
SSH_KEY="~/.ssh/id_rsa"
echo "ssh -i $SSH_KEY \$@" > /tmp/.git_ssh.$$
chmod +x /tmp/.git_ssh.$$
export GIT_SSH=/tmp/.git_ssh.$$
[ "$1" = "git" ] && shift
git "$@"
}
Noté que poner esto en tu .rc ralentizará a git. Si desea evitar esto, debe desempaquetar la función y guardarla como un script de shell en su$PATH
Fuente (lo modifiqué un poco. El original pregunta cada vez por la ruta clave).
cat() {
local out colored
out=$(/bin/cat $@)
colored=$(echo $out | pygmentize -f console -g 2>/dev/null)
[[ -n $colored ]] && echo "$colored" || echo "$out"
}
Esto puede ser bastante lento ya que necesita analizar todo el archivo antes de imprimirlo. ¡Nunca use esto en un archivo binario!
pip install Pygments
para instalar pigmentos.
Esta es una ligera modificación de la Inconsolata original . Es una fantástica fuente monoespaciada para usar con Terminal.app, TextMate, MacVim y en cualquier otro lugar donde la necesite. A debe tener para cualquier codificador.
Pestañas, visor, hotkeys, muy sencillo y fiable. Bien mantenido con actualizaciones frecuentes.
ping
ytraceroute
Instalación: brew install mtr --no-gtk
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 217.70.191.253 0.0% 32 0.5 1.7 0.3 17.6 3.8
2. p252-core4-d.paris.gandi.net 0.0% 32 0.5 1.1 0.3 17.8 3.1
3. xe2-1-24-vcore1-dc1.balt.gandi.net 0.0% 32 97.4 105.7 96.9 187.7 22.0
4. eqixva-google-gige.google.com 80.0% 31 100.8 100.2 99.6 100.8 0.4
5. 209.85.252.80 0.0% 31 100.3 108.0 100.0 210.4 24.3
6. 209.85.243.114 0.0% 31 111.9 112.6 111.7 118.6 1.2
7. 64.233.174.87 0.0% 31 119.8 112.7 111.6 119.8 1.9
64.233.174.117
8. 209.85.242.181 16.1% 31 112.0 117.0 111.8 125.2 5.1
209.85.253.185
209.85.242.177
209.85.253.181
9. vx-in-f105.1e100.net 0.0% 31 112.0 112.3 111.6 116.4 0.8
Descarga el binario de OS X. También en línea .
$ whatmask 192.168.5.6/22
------------------------------------------------
TCP/IP NETWORK INFORMATION
------------------------------------------------
IP Entered = ..................: 192.168.5.6
CIDR = ........................: /22
Netmask = .....................: 255.255.252.0
Netmask (hex) = ...............: 0xfffffc00
Wildcard Bits = ...............: 0.0.3.255
------------------------------------------------
Network Address = .............: 192.168.4.0
Broadcast Address = ...........: 192.168.7.255
Usable IP Addresses = .........: 1,022
First Usable IP Address = .....: 192.168.4.1
Last Usable IP Address = ......: 192.168.7.254
sudo mtr example.com
o configurar el binario con chown root:admin /usr/local/sbin/mtr && chmod +s /usr/local/sbin/mtr
.Gran utilidad de línea de comandos que almacena cd
comandos y crea automáticamente un acceso directo de autocompletar a sus directorios más accedidos.
Aún mejor, si varios directorios tienen un nombre similar (comenzando con los mismos caracteres), Autojump simplemente elegirá el que visita con más frecuencia. No tendrás que escribir el nombre completo.
Ejemplo:
cd project1
j p
ahora lo llevará directamente a la ruta completa del proyecto1 .
Ahora, ¿qué sucede si crea una carpeta similar llamada proyecto2 a la que también accede con frecuencia (pero menos que proyecto1), Autojump asignará un peso menor a proyecto2 y lo llevará directamente a proyecto1 .
Si presiona TAB
después de escribir "pro"
, por ejemplo, su shell mostrará project__
, indicando el hecho de que hay más de 1 directorio coincidente. Otro TAB
golpe mostrará la lista de directorios coincidentes y le permitirá seleccionar el que quiere decir.
Nota: recientemente instalé ZSH y noté algunas interferencias debido a las funciones de autocompletar. Autojump funciona perfectamente en una Terminal vainilla.
cd -
[TAB] para ver cómo le va.Esquema de color para Terminal.
Lion admite colores ANSI, por lo que ya no se requieren cosas como SIMBL.
Para Snow Leopard y versiones anteriores, necesitará SIMBL instalado para aprovecharlo al máximo, ya que la compatibilidad con el color en Terminal.app es limitada.
El Proyecto MacPorts es una iniciativa comunitaria de código abierto para diseñar un sistema fácil de usar para compilar, instalar y actualizar el software de código abierto basado en línea de comandos, X11 o Aqua en el sistema operativo Mac OS X.
Muchas personas le dirán que no use macport, use homebrew en su lugar. Eso es mayormente cierto, el homebrew es más liviano y fácil de usar . Pero macports ofrece muchos más paquetes, y algunos de ellos nunca llegarán a homebrew, debido a su filosofía diferente. (Uso ambos, para diferentes necesidades)
Por ejemplo, recomiendo GTK en su variante de cuarzo (OSX nativo):
sudo port install gtk2 +no_x11+quartz
Luego, cuando instale un paquete que pueda beneficiarse de él, como Wireshark... obtendrá una interfaz de usuario nativa de OSX, más rápida y mucho mejor que X11...
Similar a Visor, pero con algunas características amigables adicionales (también parece estar en desarrollo activo)
Una herramienta de búsqueda de código similar a ack, pero más rápida.
Instalarlo con cerveza
brew install the_silver_searcher
Un envoltorio amigable para launchctl. ¡Empiecen sus agentes y vayan a almorzar!
Una herramienta conveniente para administrar (iniciar/detener/reiniciar) servicios/demonios OSX...
Esa es una gema de rubí:gem install lunchy
Las páginas bro son un complemento muy legible de las páginas man. Las páginas de hermanos muestran ejemplos concisos de casos comunes para los comandos de Unix.
$ bro find
14 entries for find -- submit your own example with "bro add find"
# Executes a command on the files and folders matching a given pattern, in this case, output the last lines of each .foo file in the current folder and subfolders.
find . -name "*.foo" -exec tail {} \;
bro thanks to upvote (24)
bro ...no to downvote (0)
.......................................................................................................................................
# Outputs all the file names/paths that start with the name "Casey". Searches recursively starting from my current directory (.)
# Throws out any error output by sending it to /dev/null
find . -name "Casey*" 2>/dev/null
bro thanks 2 to upvote (16)
bro ...no 2 to downvote (0)
.......................................................................................................................................
# Finds all files in and under the current directory that contain 'foo' in their name
find . -iname '*foo*'
bro thanks 3 to upvote (13)
bro ...no 3 to downvote (1)
Janus es una distribución básica de complementos y herramientas de vim destinados a ejecutarse sobre la última instantánea de MacVIM.
instale macvim con homebrew brew install macvim
y siga las (fáciles) instrucciones de janus, y estará listo con un poderoso editor de texto que ha sido preconfigurado para usted por mentes brillantes. La curva de aprendizaje de vim da miedo a primera vista, pero una vez que te sientas cómodo con él, nunca volverás (o tal vez a emacs...) (para tu información, TextMate ha sido abandonado por muchos codificadores)
Eso puede sonar extraño, pero prefiero usar vim en iTerm2 que macvim... (vim está incluido en macvim, solo use brew install macvim --override-system-vim
)
Menlo
, pero sus caracteres especiales UTF-8 como ✭ son demasiado pequeños para el placer de la shell.Boxen : configuración y compilación automatizada de Mac OS, instalación y actualización de software. Ayuda a ahorrar mucho tiempo cuando desea exactamente la misma configuración (software, versión) en el equipo de desarrollo y también permite que cada individuo instale otras herramientas para aumentar la productividad.
es una utilidad interesante. Se describe a sí mismo como:
una terminal de todo el sistema en una tecla de acceso rápido
Bastante fresco. Despliega un terminal al presionar una combinación de teclas.
EDITAR :
Se ha cambiado el nombre de Visor a TotalTerminal... (ver otra respuesta, esto podría/debería eliminarse)
No es una utilidad de terminal, sino una utilidad para usar Terminal. Pone un botón en la barra de herramientas del Finder y cuando se presiona crea una nueva ventana de Terminal con un CD en ese directorio.
editar: los desarrolladores dicen que la versión de la aplicación disponible directamente de ellos tiene más funciones que la versión en la App Store. He actualizado el enlace para ir a su página, pero la versión de la App Store todavía está disponible aquí .
No es técnicamente un comando de terminal, pero es muy útil para búsquedas rápidas en la página de manual al permitir que la url de: "man:ls" muestre la página html de la página de manual en su navegador.
🍺 /usr/local/Cellar/ipcalc/0.41: 4 files, 40K, built in 2 seconds
bash-3.2$ ipcalc 10.20.30.40/8
Address: 10.20.30.40 00001010. 00010100.00011110.00101000
Netmask: 255.0.0.0 = 8 11111111. 00000000.00000000.00000000
Wildcard: 0.255.255.255 00000000. 11111111.11111111.11111111
=>
Network: 10.0.0.0/8 00001010. 00000000.00000000.00000000
HostMin: 10.0.0.1 00001010. 00000000.00000000.00000001
HostMax: 10.255.255.254 00001010. 11111111.11111111.11111110
Broadcast: 10.255.255.255 00001010. 11111111.11111111.11111111
Hosts/Net: 16777214 Class A, Private Internet
También está disponible en HomeBrew:
bash-3.2$ brew install ipcalc
==> Downloading http://jodies.de/ipcalc-archive/ipcalc-0.41.tar.gz
Me gusta ColorMaven
alias maven="command mvn"
color_maven() {
maven $* | sed -e "s/\(\[INFO\]\ \-.*\)/[36;01m\1[m/g" \
-e "s/\(\[INFO\]\ >>> .*\)/[32;01m\1[m/g" \
-e "s/\(\[INFO\]\ <<< .*\)/[32;01m\1[m/g" \
-e "s/\(\[INFO\]\ Building .*\)/[36;01m\1[m/g" \
-e "s/\(\[INFO\]\ \[.*\)/01m\1[m/g" \
-e "s/\(\[INFO\]\ BUILD SUCCESS\)/[01;32m\1[m/g" \
-e "s/\(\[INFO\]\ BUILD FAILURE\)/[01;31m\1[m/g" \
-e "s/\(\[WARNING\].*\)/[01;33m\1[m/g" \
-e "s/\(WARN.*\)/[01;33m\1[m/g" \
-e "s/\(DEBUG.*\)/[01;33m\1[m/g" \
-e "s/\(\[ERROR\].*\)/[01;31m\1[m/g" \
-e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/[32mTests run: \1[m, Failures: [01;31m\2[m, Errors: [01;31m\3[m, Skipped: [01;33m\4[m/g"
}
alias mvn=color_maven
Color LS
alias ls='ls -FG'
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
-or-
echo export CLICOLOR >> ~/.bashrc
echo export CLICOLOR >> ~/.bash_profile
mmmmmm
Vicente
ocodó
port
o Debian .apt-get
Vicente