¿Hay algo sin lo que no puedas vivir y que haga mi vida MUCHO más fácil? Aquí hay algunos que uso ('espacio en disco' y 'carpetas' son particularmente útiles).
# some more ls aliases
alias ll='ls -alh'
alias la='ls -A'
alias l='ls -CFlh'
alias woo='fortune'
alias lsd="ls -alF | grep /$"
# This is GOLD for finding out what is taking so much space on your drives!
alias diskspace="du -S | sort -n -r |more"
# Command line mplayer movie watching for the win.
alias mp="mplayer -fs"
# Show me the size (sorted) of only the folders in this directory
alias folders="find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn"
# This will keep you sane when you're about to smash the keyboard again.
alias frak="fortune"
# This is where you put your hand rolled scripts (remember to chmod them)
PATH="$HOME/bin:$PATH"
Respuestas:
Tengo un pequeño script que extrae archivos, lo encontré en algún lugar de la red:
fuente
Como uso tantas máquinas diferentes, mi
.bashrc
siempre establece el símbolo del sistema para incluir, entre otras cosas, el nombre del servidor en el que estoy conectado actualmente. De esta manera, cuando tengo tres niveles de profundidad en telnet / ssh, no escribo lo incorrecto en la ventana incorrecta. ¡Realmente apestarm -rf .
en la ventana equivocada! (Nota: en casa, telnet está deshabilitado en todas las máquinas. En el trabajo, ssh no siempre está habilitado y no tengo acceso de root a muchas máquinas).Tengo un script
~/bin/setprompt
que ejecuta my.bashrc
, que contiene:Esta secuencia de comandos establece la solicitud en el nombre de host seguido de
:)
si el último comando fue exitoso y:(
si el último comando falló.fuente
El color de las páginas de manual en menos hace que las páginas de manual sean un poco más fáciles de leer:
Las páginas de manual en color también se pueden obtener instalando la mayoría y utilizándola como variable env del MANPAGER Si desea utilizar este buscapersonas no solo para hombre, use la variable PAGER, así:
fuente
No más cd ../../../ .. pero hasta 4
Sube muchos directorios a medida que pasa el número como argumento, si ninguno sube 1 por defecto (se encuentra en un enlace en un comentario en stackoverflow.com y se modifica un poco)
fuente
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'
Trato con muchas máquinas diferentes, por lo que uno de mis favoritos es el alias para cada máquina que necesito frecuentemente para SSH para:
También es útil configurar unas teclas buenas
.ssh/config
y ssh para que el salto entre máquinas sea aún más fácil.Otro de mis alias favoritos es para subir directorios:
Y algunos para variaciones comúnmente utilizadas de
ls
(y errores tipográficos):El historial puede ser muy útil, pero de manera predeterminada en la mayoría de las distribuciones, cada historial que sale se desvanece, y para empezar no tiene mucho. Me gusta tener 10,000 líneas de historia:
De esa manera, si sé que he hecho algo antes pero no puedo recordar los detalles, un rápido
history | grep foo
ayudará a refrescar mi memoria.A menudo me encontraba canalizando la salida
awk
para obtener una determinada columna de la salida, comodf -h | awk '{print $2}'
para encontrar el tamaño de cada uno de mis discos. Para facilitar esto, creé una funciónfawk
en mi .bashrc:Ahora puedo ejecutar lo
df -h|fawk 2
que ahorra un poco de tipeo.Si necesita especificar un delimitador ( por ejemplo ,
awk -F:
para/etc/passwd
), esta función obviamente no puede manejar eso. La versión ligeramente revisada en este resumen puede manejarawk
argumentos arbitrarios antes del número de campo (pero aún requiere la entrada de stdin).fuente
GPG cifrado bashrc
Estoy seguro de que todos tenemos cosas que nos gustaría poner en nuestro bashrc que no queremos que los sudoers puedan leer fácilmente. Mi solución a esto es:
Tengo un agente GPG que lo hace, así que solo tengo que ingresar la contraseña de mi clave privada una vez cada pocas horas. Aún debe confiar en los usuarios del sistema porque sus variables, funciones y alias que defina podrían extraerse de la RAM. Sin embargo, uso esto principalmente para mi computadora portátil. Si se lo roban, no quiero que alguien vea fácilmente cosas como:
fuente
MYsql < garbagecollect.sql
lugar demysql -uadmin -psecret < garbagecollect.sql
Este es un recurso increíble para esto:
muéstranos tu .bashrc
fuente
Solía configurarlos en todo el lugar, pero luego me di cuenta de que era mejor recordar cómo hacerlos 'manualmente' porque significaba que 1) entendería completamente lo que estaba sucediendo y 2) tendría acceso a estas capacidades incluso si mi .bashrc personalizado no estaba instalado.
Lo único que uso alias para estos días es reducir el tipeo repetitivo de líneas realmente largas (por ejemplo
alias myhost='ssh -T [email protected] screen -dAr'
) .fuente
Los liners y los pequeños guiones por ahí podrían continuar para siempre. Recomiendo man bash y escribir cosas tú mismo. Algunas buenas cosas cortas de bash en http://www.commandlinefu.com . Aquí hay algunas cosas.
fuente
history -p
trucoUn pequeño consejo para Bash si eres un administrador de sistemas y trabajas mucho con privilegios de root:
Esto evitará que destruyas accidentalmente el contenido de un archivo ya existente si redirige la salida (> nombre de archivo). Siempre puede forzar la sobrescritura con> | nombre de archivo.
fuente
Tengo lo siguiente en mi bashrc
En una máquina local se ve así:
pero en un control remoto (a través de ssh) es:
fuente
He tenido esto en mi .bashrc por un tiempo y lo he encontrado útil. Si está entrando en la casilla, la pantalla de inicio se inicia automáticamente cuando inicia sesión, de esa manera cuando su conexión de red se interrumpe o lo que sea, no pierde lo que estaba haciendo. Debe colocarse al final.
fuente
¿Cuántos alias
fortune
necesitas, de todos modos?Me gusta hacer un
cdd
alias que me lleve a donde sea que esté trabajando en ese servidor.PATH
La redefinición realmente pertenece.bash_profile
, no.bashrc
.En un servidor donde uso habitualmente un gran conjunto de
screen
s, mi.bashrc
tendrá:(Los
screen
s se configuraron con, por ejemplo,screen -U -S chaos1
).fuente
Entre otras cosas, configuro algunos valores predeterminados por menos, evito cerrar accidentalmente mi terminal y habilito la navegación hacia adelante a través del historial:
fuente
export IGNOREEOF="2"
Tengo algunos bits:
fuente
cd -
lugar de bdCola todos los registros en / var / log
fuente
Para tener colores para todos los comandos grep como grep, egrep y zgrep, tengo lo siguiente en mi .bashrc
fuente
¡El alias de 'carpetas' es genial! Lo modifiqué un poco para que los directorios con espacios no causen errores.
fuente
Me gustaría repetir el comentario de @ pjz sobre saber las cosas manualmente en lugar de configurarlas. Especialmente si accedes a numerosas máquinas, como siempre parece que hago.
Entonces, uno que definitivamente sé es
set -o vi
porque conozco los comandos de edición de vi en bash y no sé los de emacs (además, Ctrl + A interfiere conscreen
). En mis propias cajas, puse eso en.bashrc
También encuentro que tengo que incluir
export EDITOR=vim
porque una serie de distribuciones recientes están predeterminadas en nano, lo que es más molesto para una utilidad que necesita que edites algo, cuando esperaba vi. : - /También modifico mi aviso. Descubrí hace mucho tiempo que agregar el último código de error es lo suficientemente útil como para que me guste. Y me gusta la ruta completa en el indicador. Y el
screen
número actual también. Y tiene sentido incluir el usuario actual y el nombre de host. Mi aviso esPS1='\u@\h $PWD $WINDOW [$?] \$ '
fuente
Haga que Bash compruebe si el tamaño de la ventana ha cambiado (evita que la edición de línea se vuelva extraña si cambia el tamaño de la ventana de su terminal)
Esta es mi favorita. Hace que bash se agregue al historial en lugar de sobrescribirlo . Por lo general, cuando inicia bash, carga el historial en la memoria y, cuando lo cierra, lo escribe. Esto significa que si carga dos shells, use ambos, luego cierre ambos, el último que cerró sobrescribe todos los cambios.
Este fragmento hace que, en primer lugar, solo agregue cambios (en lugar de sobrescribir con todo el búfer) y luego haga que, después de cada comando, escriba los cambios. En efecto, obtienes una actualización en vivo .bash_history, por lo que si comienzas una nueva terminal, tienes todos los comandos del historial de tus otras sesiones en ejecución.
fuente
Shell-fu.org .bashrc 's colección
fuente
Aquí hay minas:
fuente
Estos son mis favoritos:
Me gusta tener un historial de línea de comandos que nunca se olvida.
Desafortunadamente, hace un tiempo lancé un shell de cron que no leía .bashrc de alguna manera, y corté todo a 500 líneas, destruyendo la historia de un año. Así que recomiendo que vayan en / etc / bashrc.
fuente
Aquí están algunos de mis favoritos:
fuente
Lo uso aproximadamente 20 veces al día para crear un CD en el último directorio modificado:
Estos dos mantienen marcadores permanentes de directorios de uso frecuente:
fuente
De la automatización de la administración de Linux y Unix por Kirk Bauer (¡gran libro!)
La nueva línea al principio es mía, me gusta tener una línea clara entre la salida anterior y la solicitud. El resto es:
\ u = nombre de usuario
\ h = host
\ w = directorio de trabajo
PS = último código de retorno
fuente
Compilo varias cosas manualmente en $ HOME / local, así que tengo este pequeño fragmento:
También tengo mi cliente IRC en mi servidor ejecutándose en la pantalla, así que tengo esto (no es una cosa .bashrc, pero aún es útil)
fuente
Utilizo mi bashrc en numerosas máquinas, así que tengo este pequeño fragmento para asegurarme de que el LS esté coloreado. Esto lo solucionará en máquinas OSX, tal vez incluso * BSD si ajusta la línea uname.
Además, tengo un comando para hacer una copia de seguridad de un archivo, útil si está a punto de cambiar un archivo de configuración y desea hacer una copia rápida de antemano.
fuente
Este es uno de mis favoritos:
Si olvidé autenticar, me permite hacerlo sin tener que desperdiciar mi escritura haciendo ssh-add después de la sesión ssh.
fuente
Un par de buenos
Haga que SSH complete automáticamente el nombre de host al que ssh (si está en su configuración o historial)
Algunas configuraciones útiles para completar bash
Algunos útiles para Mac OS X
fuente