Dame una consola

Quiero compartir con ustedes, mis queridos lectores, este documento que se intitula «Dame una consola»  a travéz del sitio de su autor: OSiUX.

NOTA: Este post posee mucho contenido técnico. No esperen ver una sola imágen que no sea un diagrama en todo el post, están avisados.

dame una consola

Author: Osiris Alejandro Gomez <osiux [en ] osiux.com.ar>
Licencia: CC-BY-SA

¿Qué es una consola?

Suele usarse indistintamente el termino shell, terminal, emulador de terminal, intérprete de comandos.
Se puede decir que es una interface de texto que permite ingresar instrucciones a un programa informático.

¿Por qué usar la consola?

Uno de los principales beneficios es la automatización de las tareas.
Es la interconexión de comandos la mayor ventaja, ya que esto permite escribir rápidamente soluciones que no tienen una aplicación específica que las resuelva.
Está siempre disponible en todas las distribuciones de GNU/Linux, BSD, Unix, etc.

todo es un archivo

En sistemax *nix todo es una archivo, es decir todos los dispositivos, las particiones de disco, CDs, diskettes, tarjeta de sonido, video, etc.

permisos

r = read        4
w = write       2
x = execute     1

# usuario y grupo todo, el resto nada.
770   rwxrwx--
# solo dueño y grupo leer y ejecutar.
550   r-xr-x--
# solo dueño tiene escritura, todos pueden leer.
644   rw--r--r

comandos básicos

man     leer el manual, es el mas importante!
echo    eco, imprime texto en pantalla
ls      listar archivos y directorios
pwd     mostrar directorio actual
cd      cambiar directorio
cp      copiar
rm      borrar
mv      mover
mkdir   crear directorio
cat     muestra contenido de un archivo

más comandos

more    pagina la salida de un archivo
sort    ordena
wc      cuenta cantidad líneas y palabaras
grep    filtra un texto
sed     editor de texto en línea
awk     procesa texto
find    busca archivos
chmod   cambia permisos
chown   cambia el propietario de un archivo
alias   define un alias para un comando
ps      muestra procesos en ejecucion

stdinput

En lugar de tipear podemos enviar un archivo como la entrada estandard de un comando.

mail osiux@osiux.com.ar < archivo.txt

stdoutput

Podemos almacenar en un archivo el resultado de la ejecución de un comando.

# sobreescribe
ls *.png >lista.txt
# agrega
ls *.txt >>lista.txt

pipe

Convertir la salida standard de un comando en la entrada standard de otro comando permite conectar procesos.

ls | sort


expresiones regulares

[a-z]   rango de la *a* a la *z*
[A-Z]   rango de la *A* a la *Z*
[0-9]   rango de 0 a 9
[^..]   negación
^       principio de línea
$       fin de línea
.       cualquier caracter
?       cero o una aparición
*       ninguna o muchas repeticiones
+       una o mas repeticiones

aplicaciones

mutt, pine, fetchmail
reminder, wyrd
vim, emacs, joe, nano, mcedit, vim-outliner
w3m, lynx, elinks, rtorrent, newsbeuter
freetalk, cabber, irssi, weechat, center-im
moc, rippit, aumix, alsamixer
ftp, ncftp, wget, httrack
mc, rsync, rdiff-backup
vlc, mplayer

más aplicaciones

ssh, telnet, screen, ajaxterm
tig, git, svn, bzr, mercurial
mysql, msqldump
python, ipython, bpython
graphviz, imagemagick, gnuplot
parted, testdisk, dd, partimage
gnupg, dmsetup, bcrypt, truecrypt
htop, ethtool, netcat, nmap
diff, patch, make, base64, vim-diff
vnstat, iftop, nload, wicd-curses
pdf2text, html2text, python-docutils, rst2pdf

vim

Esc     cambia a modo visual
a       agregar texto posición actual
A       agregar texto al final línea
i       inserta en la posición actual
I       inserta al inicio de la línea
r       reemplazar un caracter
R       modo reemplazar
x       borra caracter a la derecha
X       borra caracter a la izquierda
y       copiar
p       pegar

más vim

d       eliminar
.       repite última función
:       cambia a modo comando
:q      salir si no hubo cambios
:q!     salir sin guardar cambios
:wq     guardar y salir
:e      editar archivo
:.      línea actual
:1,.    desde primer línea a la actual
:.,$    desde línea actual a la última
:5,15   desde línea 5 a la número 15

telnet mail

telnet localhost 25

Trying 127.0.0.1…
Connected to localhost.
220 branca ESMTP Postfix (Debian/GNU)

HELO branca.osiux.com.ar
MAIL FROM: osiris@branca.osiux.com.ar
RCPT TO: osiux@branca.osiux.com.ar
DATA
Subject: prueba correo local usando telnet
nero cuando nos tomamos unos fernets?
.
250 2.0.0 Ok: queued as 6626586DE6
QUIT

telnet web

telnet google.com 80
Trying 209.85.195.104...
Connected to google.com.
GET /
HTTP/1.0 302 Found
Location: http://www.google.com.ar/
Content-Type: text/html; charset=UTF-8
<HTML><HEAD><TITLE>302 Moved</TITLE></HEAD><BODY>

<H1>302 Moved</H1>The document has moved
<A HREF="http://www.google.com.ar/">here</A>.
</BODY></HTML>
Connection closed by foreign host.

imagemagick

for i in *.jpg
do
    convert -filter cubic -resize 640 $i 640-$i
done

graphviz

digraph grafo {
    a -> b;
    b -> c;
    d -> c;
    e -> b;
}

dot -Tpng grafo.dot >grafo.png

gnuplot

ping -c10 google.com | grep "icmp_seq" \
| tr "=" " " | awk '{print $7,$11}' >ping.dat

echo 'set title "ping" \
set xlabel "milisegundos" \
set ylabel "secuencia" \
set term png \
set output "ping.png" \
plot "ping.dat" using 1:2 with lines \
quit ' >ping.plt

gnuplot ping.plt


rst2pdf

rst2pdf dame-una-consola.txt

FLISOL 2010: Viajo a Corrientes!

Fuí invitado a participar del FLISOL en Curuzú Cuatiá, en la provincia de Corrientes, Argentina, así que ya estoy preparando todo para viajar!  En esta oportunidad voy a presentar mi charla sobre diseño web con herramientas libres el día viernes para los estudiantes del Instituto Superior Tecnológico y luego el día sábado daré una nueva charla durante el evento de instalación, de nivel general e introductorio que intitulé: Software libre para una sociedad libre. (poco original, pero resume muy bien los ideales).
Nos leemos a la vuelta!

FLISOL 2010 – Saliendo de la Matrix

El día 24 de abril se llevará a cabo el Festival Latinoamericano de Instalación de Software Libre (FLISOL), evento que se replica en más de 200 ciudades de toda América y España, todo esto en simultaneo.

Que es FLISOL?
Es el evento de Software Libre más grande del mundo. El evento esta dirigido a aquellos que desean instalar Software Libre en sus computadoras pero todavía no cuentan con los conocimientos o la asistencia necesaria. En general, FLISOL es un evento pensado para acercar personas poco técnicas y principiantes que deseen conocer más sobre la filosofía y los conceptos básicos de este movimiento global que eligió ese día para trabajar de forma articulada en toda América latina. En la jornada contaremos con varias charlas pensadas justamente para aquellas personas que recién se acercan al concepto de Software Libre. La idea de realizar un Festival Latinoamericano de Instalación de Software Libre surgió en Colombia y se fue replicando por toda América latina hasta hoy día, donde contamos ya con cientos de ciudades participantes.

El festival sirve para acercar usuarios y personas curiosas que aún no se atreven a instalar un sistema operativo por sí solos, y necesitan ayuda de la comunidad para hacerlo y dar sus primeros pasos en el mundo del Software Libre. Pero además, permite articular la tarea de las cientos de comunidades de Software Libre desplegadas a lo largo de todo el continente, que encuentran en este festival una excusa perfecta para trabajar juntas, conocerse y aunar objetivos para difundir y consolidar el trabajo que la comunidad realiza.

Más información sobre FLISOL acá.

Listado de ciudades participantes (en Argentina)

Traten de difundir este post y así ayudar a que se conozca el evento, y que más y más gente se anime a «salir de la Matrix» y comenzar a disfrutar todas las ventajas que implica utilizar software libre.

Revolution OS

Si todavía no lo viste ¡no te lo pierdas! Muy recomendado.

El Software Libre ha revolucionado la informática: esa es la idea fundamental de la obra. Revolution OS es una película documental que trata sobre el Sistema Operativo (OS) GNU/Linux, y los movimientos del Software Libre y el Código abierto (Open Source).

finalrevosforwebcopy