dame 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.
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.
En sistemax *nix todo es una archivo, es decir todos los dispositivos, las particiones de disco, CDs, diskettes, tarjeta de sonido, video, etc.
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
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
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
Podemos almacenar en un archivo el resultado de la ejecución de un comando.
# sobreescribe
ls *.png >lista.txt
# agrega
ls *.txt >>lista.txt
Convertir la salida standard de un comando en la entrada standard de otro comando permite conectar procesos.
ls | sort
[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
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
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
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
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 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 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.
for i in *.jpg
do
convert -filter cubic -resize 640 $i 640-$i
done
digraph grafo {
a -> b;
b -> c;
d -> c;
e -> b;
}
dot -Tpng grafo.dot >grafo.png
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 dame-una-consola.txt