Sé que algunas personas tienen algunos scripts de inicio y otras personalizan el mensaje. Un desarrollador usa alias cortos para la ruta larga que visita a menudo y los comandos frecuentes que ejecuta.
¿Cuáles son todas las personalizaciones efectivas que ha realizado en su perfil UNIX para aumentar la productividad y la facilidad de uso?
Respuestas:
.vimrc
guarde el archivo con permisos de root escribiendow!!
:.bashrc
No se moleste con dispositivos o archivos binarios cuandogrep
ing:Comparta código en la web (como pastebin, pero más simple) por
cat 1337.sh | webshare
Devuelve una url corta en tu portapapeles; puede agregar
?whatever-lang
a la URL devuelta para resaltar su sintaxis y numerar las líneas..inputrc
Use el modo vi en todo lo que use la biblioteca readline (muchos programas):fuente
hacer un directorio y cd en un comando
La mayoría de las veces lo hago
mkdir
, mi siguiente comando escd <that dir>
.Esto ahorra algo de tipeo:
por ejemplo:
Otra cosa que encuentro útil es una manera fácil de hacer un directorio desechable. por ejemplo, si estoy compilando un programa o incluso si intento reproducir un problema en este sitio. A veces me olvido de limpiar el directorio.
mostrándolo funcionando:
Confío en la limpieza del sistema
/tmp
después de un reinicio, pero sería posible mejorar esto, por ejemplo, hacer que elimine el directorio temporal después de salir del shell.fuente
mcd
durante muchos años y voy a agregar algo comomtd
pronto.mtd() { mcd $TMP/`date +%y%m%d-%H%M%S-%N`; }
. Probablemente carece de portabilidad, pero es lo suficientemente bueno para mí.Me gusta que mi indicador bash muestre el código de salida del comando anterior si no es cero. También me gusta que mi caparazón me anime cuando lo uso, así que agregué un poco de tontería:
así que cuando ejecuto comandos, recibo algunos comentarios visuales agradables:
editar : esto es algo que puse en mi ~ / .bashrc
fuente
.bashrc
presumiblemente.arriba N
saltar N directorios hacia arriba en el árbol de directorios
En lugar de escribir
solo escribes
y un
te traerá de vuelta
Ponga la función en su .bashrc para usarla.
fuente
.zshrc
:.xmodmaprc
:(Teclas Swaps Escape y Caps Lock).
fuente
Me equivoco con mi bashrc ya que uso mucho la terminal (me hace aprender rápido y aprender cosas interesantes para usar, así como herramientas interesantes). Usualmente defino muchas funciones en mi bashrc. Ejemplos:
Extraer archivos:
renombrar archivos y carpetas:
y así para dividir archivos grandes en varios pequeños:
También edité muchos alias ya que encuentro que es mucho más fácil usar un comando con argumentos predeterminados en algunos casos (como en ls, grep y comandos pequeños) y luego escribir todo eso cada vez.
fuente
(Wiki de la comunidad, por lo que cada truco pertenece en una respuesta separada).
cierre de sesión seguro
Ctrl+ Des la forma más fácil de salir del shell, pero si todavía tiene trabajos en ejecución, saldrá feliz del shell de todos modos. Por defecto, esto significa que todos los programas que estaba ejecutando desde dentro de ese shell se eliminarán.
Algunos proyectiles solo le permitirán cerrar sesión después de presionar Ctrl+ Ddos veces, pero aún así es demasiado fácil hacerlo accidentalmente.
Entonces, en su lugar, agregue esto
.bashrc
o el.zshrc
archivo de configuración que prefiera.fuente
(Wiki de la comunidad, por lo que cada truco pertenece en una respuesta separada).
busca en tu historial todas las formas en que ejecutaste un comando
Es posible que ya sepa sobre Ctrl+ R, pero de esta manera es mucho más suave en mi humilde opinión.
Configure Alt+ Ppara buscar en el historial los comandos que comienzan con lo que ya escribió.
por ejemplo ,
ls
Alt+ P, Alt+ P, Alt+ P buscará hacia atrás a través de todos susls
comandos.Necesita poner esto en su
/etc/inputrc
o.inputrc
parabash
:y esto en tu
.zshrc
parazsh
:Incluso podría ir un paso más allá y hacer que la flecha hacia arriba haga esto.
fuente
calculadora simple
Puede usar
$(( ... ))
oexpr ...
hacer cálculos muy básicos, pero hace una división entera, p. Ej.Una mejor manera es usarlo
bc
.luego:
fuente
alias py='PYTHONSTARTUP=~/.pythonstartup python'
confrom math import *;
en ese archivo. El problema de la división de enteros sigue sin resolverse, pero es mucho más útil para operaciones más complejas.mejor finalización de pestañas
No creo que nadie haya mencionado la Tabfinalización de la personalización todavía.
Esto es lo que tengo.
Las dos cosas principales que hace son:
por ejemplo
cd <Tab>
, solo sugerirá directoriospor ejemplo,
d<Tab>
se completaráDesktop
yDownloads
Para bash:
Para zsh:
fuente
Compresión segura
Los programas de compresión eliminan el archivo original por defecto. Eso no me gusta
Aviso de varias líneas
Puede mostrar "etiquetas" con variables de entorno. Ejemplo:
El código se basa al menos parcialmente en esto .
Configuraciones de historial
fuente
fuente
¡Si puede ENCENDER EL AUTOCOMPLETO Y NOMBRE DE ARCHIVO CORRECCIÓN DE DETERMINACIÓN! Estas son probablemente las dos cosas que te ahorrarán más tiempo. Luego, aprenda a usarlos: Bash y Zsh tienen finalización de tabulación. Ksh tiene una barra invertida de escape ineficiente, por lo que recomendaría contra Ksh.
Uso Zsh, pero los alias como este funcionarían en casi cualquier shell, excepto Csh:
Parece que debería haber un alias para 'ps', pero me encuentro usando 'ps' en una amplia variedad de formas, y hasta ahora no he encontrado nada.
En Zsh, configure su variable RPROMPT (¡no un error tipográfico!):
El directorio completo aparece en el lado derecho de la línea de comando, listo para cortar y pegar. Más sobre eso más tarde.
Debe usar un Vim moderno correctamente compilado, debido a la capacidad de tener múltiples ventanas vim en un archivo y múltiples buffers. Su .vimrc podría tener cosas como esta:
Muchos de ellos son preferencias personales, pero creo que las pestañas de 8 espacios hacen que el código sea menos legible, y hay un estudio flotando para probarlo.
Además, el "mouse = c" es importante. No debería usar el mouse para moverse dentro de un archivo. Quitar las manos del teclado, tocar el mouse y moverlas hacia atrás es lento. Utilice el movimiento del cursor "hjkl" y otras teclas de movimiento del cursor y paginación del teclado.
Si está utilizando X11, debe hacer algunas cosas con su configuración de Xterm. Esto sale de mi archivo .Xresources:
Dale a Xterm una barra de desplazamiento por defecto, guarda 1000 líneas de texto en el búfer, eso es bastante estándar.
La directiva charClass hace que una "palabra" incluya cosas como '.', '/' Y '*'. Haga doble clic en cualquier parte de un nombre de archivo separado por '/', y obtendrá todo, menos caracteres ':'.
cutToBeginningOfLine funciona con el RPROMPT de Zsh anterior. Haga clic tres veces en la ruta del directorio de trabajo actual que aparece en el RHS de su línea de comando, y selecciona solo la ruta: la copia se detiene al comienzo de la palabra. Muy eficiente una vez que estés acostumbrado.
Los recursos X anteriores también la convierten en una clave de pegado. De esa manera, una vez que haya copiado (probablemente usando el mouse) puede pegar sin mover la mano hacia el mouse para hacer clic.
fuente
Esc``Esc
oEsc``=
enksh
, yTab
funciona enksh93
. En caso de que alguien esté atrapado con él o lo prefiera.Agregar el valor de retorno distinto de cero del último comando es una gran idea. Creo que el póster original preguntaba específicamente sobre .profile / .cshrc / .bashrc. Vale la pena mencionar la lista de otros archivos RC comúnmente personalizados, pero me limitaría a las personalizaciones de shell para esta pregunta.
También agregué recientemente una bandera en mi mensaje que aparece cuando el shell se ejecuta bajo la pantalla. Utiliza el comando "ptree" de solaris para buscar procesos ancestrales, pero puede usar el comando "pstree" en Linux para hacer lo mismo.
Me tomó unos minutos descubrir cómo incrustar el código de retorno del último comando, así que lo publicaré aquí.
Estoy seguro de que podría hacerse más hermoso. :-)
Consejo futuro, tenga cuidado al leer $? después de usar "if [". Si el corchete izquierdo está incorporado, no anulará el valor de $ ?. Pero si usa un shell donde [no está integrado, entonces restablecerá el valor de $? Después de la prueba. ¿Es más seguro asignar $? en una variable temporal de inmediato y luego pruebe esa variable.
fuente
muestra el archivo cambiado más recientemente
A menudo, quiero mirar el archivo más reciente. por ejemplo, podría estar en el directorio de registros y quiero ver qué archivo es más reciente porque ese es el primer lugar para ver por qué algo no funciona.
ls -lt | head
es un tipo engorroso, así que aquí hay una alternativa:También toma un comodín o una lista de archivos, p. Ej.
lo cual es especialmente útil si todos sus archivos de registro tienen una marca de tiempo en su nombre. Puede encontrar el último registro para ese programa, sin preocuparse de en qué formato está la marca de tiempo.
Y aquí hay una versión extendida que admite una
-<number>
opción para imprimir<number>
líneas en lugar de una.fuente