18 de Marzo, 2008

Power Shell Usage!

Me he contrado por casualidad con Power Shell Usage: Bash Tips & Tricks, una presentación que dio Simon Myers en la UKUUG Linux 2003 Conference (UKUUG viene de UK's Unix User Group, ¡fundado en 1976!).

Es bastante claro y a mi me ha resultado últil (como dice Myers en la presentación bash(1) is looong), porque va orientado al uso interactivo de BASH, que es donde cualquier administrador de sistemas pasa casi todo el día.

Igual echo de menos que mencione a pkill, por buscar algo criticable :), pero es que en el 2003 igual no estaba :D (¿alguien sabe cuándo se introdujo en el paquete procps?).

A destacar... los trucos para buscar más eficientemente en nuestro histórico de comandos (history-search-backward y history-search-forward, mejor que jugársela con CTRL + R), o lo de exportar funciones. Recomiendo echarle un ojo, seguro que aprendemos algo :).

Actualización: me contesto a mi mismo... pkill se implementa con pgrep de forma que sea compatible con la misma herramienta original de Solaris 7. Parece que la página de manual de pkill es del 2002.

Anotación por Juan J. Martínez, clasificada en: bash.

Hay 6 comentarios

Gravatar

... una "feature" de tcsh que es que el historial de comandos lo filtra directamente, quicir, que si tu en un prompt tcsh "le das a la flechita pa'rriba" te va poniendo los ultimos comandos que has ejecutado (igual que en bash, csh o ksh), pero si empiezas a escribir algo y "le das pa'rriba" solo te salen las lineas del history que empiecen asi.

Por ejemplo, si en el prompt pongo algo como:

$ sudo

y le "doy pa'arriba a la fleshita" me iría mostrando todas lineas del history en las que he utilizado sudo.

Cómodo a mi me parece este poder oscuro... :D

(Seguro que con 4 hacks en un .profile o .bash_profile se puede hacer un shortcut en bash que haga lo mismo...)

por Wu, en 2008-03-19 13:24:29

Gravatar

En un tema similar, algo que me encuentro constantemente usando todo el tiempo en shell es sed (junto con grep, tr, awk).

Esta página la debo abrir tres veces por semana, lo menos:

http://www.unixguide.net/unix/sedoneliner.shtml

por eduo, en 2008-03-19 13:28:09

Gravatar

@Wu, precisamente eso hacen history-search-backward y history-search-forward, dice: 'Bash can cycle through lines starting in a particular way'.

De todas formas, que tantas cosas no estén by default es en realidad un problema :(

por Juanjo, en 2008-03-19 13:49:07

Gravatar

@eduo desde que me manejo con Perl, admito que ya no me doy coscorrones contra Sed :D

Es decir, un oneliner de Perl me parece más sencillo que lo mismo con Sed.

por Juanjo, en 2008-03-19 13:51:17

Gravatar

Ejemplos! ejemplos!, queremos ejemplos!

por Wu, en 2008-03-20 19:29:46

Gravatar

@Wu, con una búsqueda, todo explicadito:

http://sial.org/howto/perl/one-liner/

Un ejemplo: añadir #!/usr/bin/perl como primera linea de todos los ficheros *.pl del directorio :)

$ perl -i -ple 'print q{#!/usr/bin/perl} if $. == 1; close ARGV if eof' *.pl

por Juanjo, en 2008-03-21 12:04:59

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: