Referencia practica de Comandos de Linux 2

No falta la oportunidad cuando necesitamos administrar nuestro servidor dedicado linux y no recordamos la sintaxis de los comandos unix. Aca les comparto una lista de referencia con los mas usados de todos los comandos en linux.

Comando

Descripción

apropos palabra Ver comandos relacionados con palabra. Ver también threadsafe
which comando Ver la ruta completa de comando
time comando Medir cuanto tarda comando
time cat Iniciar cronómetro. Ctrl-d para detenerlo. Ver también sw
nice info Lanzar comando con prioridad baja (info en este ejemplo)
renice 19 -p $$ Darle prioridad baja al shell (guión). Usar para tareas no interactivas

Navegación de directorios

cd – Volver al directorio anterior
cd Ir al directorio personal (home)
(cd dir && comando) Ir a dir, ejecutar comando y volver al directorio inicial
pushd . Guardar el directorio actual en la pila para luego, poder hacer popd y volver al mismo
alias l=’ls -l –color=auto’ listado de directorio rápido
ls -lrt Listar archivos por fecha. Ver también newest
ls /usr/bin | pr -T9 -W$COLUMNS Imprimir 9 columnas en ancho de la terminal
find -name ‘*.[ch]’ | xargs grep -E ‘expre’ Buscar ‘expre’ en este directorio y subdirectorios. Ver también findrepo
find -type f -print0 | xargs -r0 grep -F ‘ejemplo’ Buscar ‘ejemplo’ en todos los archivos regulares en este directorio y subdirectorios
find -maxdepth 1 -type f | xargs grep -F ‘ejemplo’ Buscar ‘ejemplo’ en todos los archivos regulares de este directorio
find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done Procesar cada elemento con muchos comandos (con un bucle while)
find -type f ! -perm -444 Hallar archivos sin permiso general de lectura (util para sedes web)
find -type d ! -perm -111 Hallar directorios sin permiso general de acceso (util para sedes web)
locate -r ‘file[^/]*\.txt’ Buscar nombres en indice en cache. Este re es igual a glob *file*.txt
look referencia Búsqueda rápida (ordenada) de prefijo en diccionario
grep –color referencia /usr/share/dict/palabras Resaltar ocurrencias de expresión regular en diccionario

Archivos

gpg -c file Encriptar archivo
gpg file.gpg Desencriptar archivo
tar -c dir/ | bzip2 > dir.tar.bz2 Crear archivo compacto de dir/
bzip2 -dc dir.tar.bz2 | tar -x Extraer archivo compacto (usar gzip en vez de bzip2 para archivos tar.gz )
tar -c dir/ | gzip | gpg -c | ssh user@remoto ‘dd of=dir.tar.gz.gpg’ Crear compactado encriptado de dir/ en equipo remoto
find dir/ -name ‘*.txt’ | tar -c –files-from=- | bzip2 > dir_txt.tar.bz2 Crear compactado de subconjunto de dir/ y subdirectorios
find dir/ -name ‘*.txt’ | xargs cp -a –target-directory=dir_txt/ –parents Copiar subconjunto de dir/ y subdirectorios
( tar -c /dire/de/copiame ) | ( cd /este/dir/ && tar -x -p ) Copiar (con permisos) directorio copiame/ a directorio /este/dir/
( cd /dire/de/copiame && tar -c . ) | ( cd /este/dir/ && tar -x -p ) Copiar (con permisos) contenido del directorio copiame/ a directorio /este/dir/
( tar -c /dire/de/copiame ) | ssh -C user@remoto ‘cd /este/dir/ && tar -x -p’ Copiar (con permisos) directorio copiame/ a directorio remoto /este/dir/
dd bs=1M if=/dev/hda | gzip | ssh user@remoto ‘dd of=hda.gz’ Respaldo de disco duro en equipo remoto
rsync (Usar la opción –dry-run para probarlo)
rsync -P rsync://rsync.servidor.com/ruta/a/archivo archivo Obtenerr solo diffs. Repetir muchas veces para descargas conflictivas
rsync –bwlimit=1000 desdearchivo alarchivo Copia local con taza límite. Parecido a nice para E/S (I/O)
rsync -az -e ssh –delete ~/public_html/ remoto.com:’~/public_html’ Espejo de sede web (usando compresión y encriptado)
rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ Sincronizando directorio actual con uno remoto

Descargas con wget

(cd cmdline && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html) Guardar en directorio actual una versión navegable de una página web
wget -c http://www.ejemplo.com/largo.archivo Retomar descarga de un archivo parcialmente descargado
wget -r -nd -np -l1 -A ‘*.jpg’ http://www.ejemplo.com/ Descargar una serie de archivos en el directorio actual
wget ftp://remoto/archivo[1-9].iso/ FTP permite globalizaciones directas
wget -q -O- http://www.pixelbeat.org/timeline.html | grep ‘a href’ | head Procesando directamente la salida
echo ‘wget url’ | at 01:00 Descargar la url a 1AM al directorio en que esté
wget –limit-rate=20k url Hacer descargas de baja prioridad (en este caso, no exceder los 20KB/s)
wget -nv –spider –force-html -i bookmarks.html Revisando los enlaces de una página
wget –mirror http://www.ejemplo.com/ Actualizar eficientemente una copia local de una página web (útil si usamos cron)

Redes

ethtool interface Listar estado de interfase
ip link show Listar interfases
ip link set dev eth0 name wan Renombrar eth0 a wan
ip addr add 1.2.3.4/24 brd + dev eth0 Agregar ip y máscara (255.255.255.0)
ip link set dev interface up Subir (o bajar) la interfase
ip route add default via 1.2.3.254 Establecer 1.2.3.254 como valor por omisión para la puerta de enlace.
tc qdisc add dev lo root handle 1:0 netem delay 20msec Agregarle 20ms de espera al dispositivo de retorno (para hacer pruebas)
tc qdisc del dev lo root Quitar la espera agregada antes.
host pixelbeat.org Obtener la dirección ip para el dominio o al revés
hostname -i Obtener la dirección ip local (equivale al anfitrión `hostname`)
netstat -tupl Listar los servicios de internet de un sistema
netstat -tup Listar las conexiones activas de/hacia un sistema

Windows via Samba

smbtree Hallar equipos windows. Ver también findsmb
nmblookup -A 1.2.3.4 Hallar el nombre (netbios) de windows asociado con la dirección ip
smbclient -L windows_box Listar archivos compartidos en equipos windows o servidor samba
mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share Montar un directorio compartido
echo ‘mensaje’ | smbclient -M windows_box Enviar mensaje emergente al equipo windows (desactivado por omisión en XP sp2)

Math

echo ‘(1 + sqrt(5))/2’ | bc -l Cuentas rápidas (Calcular ?). Ver también bc
echo ‘obase=16; ibase=10; 64206’ | bc Conversiones de base (decimal a hexadecimal)
echo $((0x2dec)) Conversiones de base (hex a dec) ((expansión aritmética del shell))
echo ‘pad=20; min=64; (100*10^6)/((pad+min)*8)’ | bc Mas complejo (int) x.ej. Ejemplo: tasa máxima de paquetes FastE
echo ‘pad=20; min=64; print (100E6)/((pad+min)*8)’ | python Python maneja notación científica
echo ‘pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)’ | gnuplot -persist Graficar tasa de paquetes FastE vs. tamaño de paquetes
seq 100 | (tr ‘\n’ +; echo 0) | bc Agregar una columna de números. Ver también add y funcpy
manejo de textos (nota: como sed usa stdin y stdout, para editar archivos, agregar… nuevoarchivo)
sed ‘s/cadena1/cadena2/g’ Remplaza cadena1 por cadena2
sed ‘s/\(.*\)1/\12/g’ Modificar cualquiercadena1 con cualquiercadena2
sed ‘/ *#/d; /^ *$/d’ Quitar comentarios y lineas en blanco
sed ‘:a; /\\$/N; s/\\\n//; ta’ Concatenar lineas con \ al final
sed ‘s/[ \t]*$//’ Quitar blancos finales de las lineas
sed ‘s/\([\\`\\”$\\\\]\)/\\\1/g’ Escapar metacaracteres activos del shell dentro de comillas dobles
sed -n ‘1000p;1000q Listar la línea 1000°
sed -n ‘10,20p;20q Listar de la linea 10 a la 20
sed -n ‘s/.*\(.*\)<\/title>.*/\1/ip;<acronym title="quit after match">T;q</acronym>‘</td> <td>Extraer titulo de página web en HTML</td> </tr> <tr> <td></td> <td>sort -t. -k1,1n -k2,2n -k3,3n -k4,4n</td> <td>Sort de direcciones ip de tipo IPV4</td> </tr> <tr> <td>•</td> <td>echo ‘Test’ | tr ‘[:lower:]’ ‘[:upper:]’</td> <td>Conversión de cajas</td> </tr> <tr> <td>•</td> <td>tr -dc ‘[:print:]’ < /dev/urandom</td> <td>Filtrando caracteres no imprimibles</td> </tr> <tr> <td>•</td> <td>grep ‘processor’ /proc/cpuinfo | wc -l</td> <td>Contar lineas</td> </tr> <tr id="sets"> <td colspan="3"><strong>definir operaciones</strong> (Nota export LANG=C es para acelerar, aquí también se supone que no hay líneas duplicadas en los archivos)</td> </tr> <tr> <td></td> <td>sort archivo1 archivo2 | uniq</td> <td><acronym title="Items in either file1 or file2">Union</acronym> de archivos sin ordenar</td> </tr> <tr> <td></td> <td>sort archivo1 archivo2 | uniq -d</td> <td><acronym title="Items both in file1 and file2">Intersección</acronym> de archivos sin ordenar</td> </tr> <tr> <td></td> <td>sort archivo1 archivo1 archivo2 | uniq -u</td> <td><acronym title="Items in file2 not in file1">Diferencia</acronym> de archivos sin ordenar</td> </tr> <tr> <td></td> <td>sort archivo1 archivo2 | uniq -u</td> <td>Diferencia Simétrica de archivos sin ordenar</td> </tr> <tr> <td></td> <td>comm archivo1 archivo2 | sed ‘s/^\t*//’</td> <td>Unión de archivos ordenados</td> </tr> <tr> <td></td> <td>comm -12 archivo1 archivo2</td> <td>Intersección de archivos ordenados</td> </tr> <tr> <td></td> <td>comm -13 archivo1 archivo2</td> <td>Diferencia de archivos ordenados</td> </tr> <tr> <td></td> <td>comm -3 archivo1 archivo2 | sed ‘s/^\t*//’</td> <td>Diferencia Simétrica de archivos ordenados</td> </tr> <tr id="dates"> <td colspan="3"> <h2><strong>calendario</strong></h2> </td> </tr> <tr> <td>•</td> <td>cal -3</td> <td>Mostrar calendario</td> </tr> <tr> <td>•</td> <td>cal 9 1752</td> <td>Mostrar calendario para mes y año determinado</td> </tr> <tr> <td>•</td> <td>date -d fri</td> <td>Que día cae este viernes. Ver también day</td> </tr> <tr> <td>•</td> <td>date –date=’25 Dec’ +%A</td> <td>¿En que día cae la Navidad, este año?</td> </tr> <tr> <td>•</td> <td>date –date ‘1970-01-01 UTC 1234567890 seconds’</td> <td>Convertir total de segundos desde la época a una fecha</td> </tr> <tr> <td>•</td> <td>TZ=’:America/Los_Angeles’ date</td> <td>¿Que hora es en la Costa Oeste de EEUU (usar tzselect para hallar TZ)</td> </tr> <tr> <td></td> <td>echo “mail -s ‘tomar el tren’ P@draigBrady.com < /dev/null” | at 17:45</td> <td>Recordatorio por email</td> </tr> <tr> <td>•</td> <td>echo “DISPLAY=$DISPLAY xmessage cooker” | at “NOW + 30 minutes”</td> <td>Recordatorio emergente</td> </tr> <tr id="locale"> <td colspan="3"> <h2><strong>locales</strong></h2> </td> </tr> <tr> <td>•</td> <td>printf “%’d\n” 1234</td> <td>Imprimir numero agrupado por miles de acuerdo a su locale</td> </tr> <tr> <td>•</td> <td>BLOCK_SIZE=\’1 ls -l</td> <td>pedir que ls agrupe por miles de acuerdo a su locale</td> </tr> <tr> <td>•</td> <td>echo “Yo vivo en `locale territory`”</td> <td>Extraer información de la base de datos del  locale</td> </tr> <tr> <td>•</td> <td>LANG=en_IE.utf8 locale int_prefix</td> <td>Buscar información de locale para determinado país. Ver también ccodes</td> </tr> <tr> <td>•</td> <td>locale | cut -d= -f1 | xargs locale -kc | less</td> <td>Listar campos en base de datos del locale</td> </tr> <tr id="recode"> <td colspan="3"><strong>recode</strong> (obsoletos: iconv, dos2unix, unix2dos)</td> </tr> <tr> <td>•</td> <td>recode -l | less</td> <td>Ver conversiones disponibles (aliases en cada línea)</td> </tr> <tr> <td></td> <td>recode windows-1252.. archivo_a_cambiar.txt</td> <td>“ansi” de Windows a tabla de caracteres locales (auto hace conversión CRLF)</td> </tr> <tr> <td></td> <td>recode utf-8/CRLF.. archivo_a_cambiar.txt</td> <td>utf8 de Windows a tabla de caracteres locales</td> </tr> <tr> <td></td> <td>recode iso-8859-15..utf8 archivo_a_cambiar.txt</td> <td>Latin9 (Europa oriental) a utf8</td> </tr> <tr> <td></td> <td>recode ../b64 < archivo.txt > archivo.b64</td> <td>Codificado Base64</td> </tr> <tr> <td></td> <td>recode /qp.. < archivo.txt > archivo.qp</td> <td>Decodificado de citas imprimibles (qp)</td> </tr> <tr> <td></td> <td>recode ..HTML < archivo.txt > archivo.html</td> <td>Texto a HTML</td> </tr> <tr> <td>•</td> <td>recode -lf windows-1252 | grep euro</td> <td>Buscar tabla de caracteres</td> </tr> <tr> <td>•</td> <td>echo -n 0x80 | recode latin-9/x1..dump</td> <td>Mostrar representación de un código en tabla de caracteres latin-9</td> </tr> <tr> <td>•</td> <td>echo -n 0x20AC | recode ucs-2/x2..latin-9/x</td> <td>Ver codificado latin-9</td> </tr> <tr> <td>•</td> <td>echo -n 0x20AC | recode ucs-2/x2..utf-8/x</td> <td>Ver codificado utf-8</td> </tr> <tr id="CDs"> <td colspan="3"> <h2><strong><acronym title="Compact Disks">CDs</acronym></strong></h2> </td> </tr> <tr> <td></td> <td>gzip < /dev/cdrom > cdrom.iso.gz</td> <td>Guardar una copia de los datos de cdrom</td> </tr> <tr> <td></td> <td>mkisofs -V NOMBRE -r dir | gzip > cdrom.iso.gz</td> <td>Crear imagen de cdrom con el contenido de dir</td> </tr> <tr> <td></td> <td>mount -o loop cdrom.iso /mnt/dir</td> <td>Montar la imagen cdrom en /mnt/dir (solo lectura)</td> </tr> <tr> <td></td> <td>cdrecord -v dev=/dev/cdrom blank=fast</td> <td>Limpiar un CDRW</td> </tr> <tr> <td></td> <td>gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom –</td> <td>Grabar un cdrom con imagen (usar dev=ATAPI -scanbus para confirmar ruta dev)</td> </tr> <tr> <td></td> <td>cdparanoia -B</td> <td>Extraer pistas de audio desde un CD a archivos wav en directorio actual</td> </tr> <tr> <td></td> <td>cdrecord -v dev=/dev/cdrom -audio *.wav</td> <td>Armar un CD de audio con todos los wavs en directorio actual (ver también cdrdao)</td> </tr> <tr> <td></td> <td>oggenc –tracknum=’pista’ pista.cdda.wav -o ‘pista.ogg’</td> <td>Crear un archivo ogg con un archivo wav</td> </tr> <tr id="disk_space"> <td colspan="3"> <h2><strong>Espacio en disco</strong></h2> </td> </tr> <tr> <td>•</td> <td>ls -lSr</td> <td>Mostrar archivos, de menor a mayor</td> </tr> <tr> <td>•</td> <td>du -s * | sort -k1,1rn | head</td> <td>Mostrar usuarios de disco principales en el directorio actual. Ver también dutop</td> </tr> <tr> <td>•</td> <td>df -h</td> <td>Mostrar espacio libre de disco</td> </tr> <tr> <td>•</td> <td>df -i</td> <td>Mostrar inodos libres</td> </tr> <tr> <td>•</td> <td><acronym title="usually in /sbin/">fdisk</acronym> -l</td> <td>Mostrar tamaños y tipos de particiones de disco (pedir como root)</td> </tr> <tr> <td>•</td> <td>rpm -q -a –qf ‘%10{SIZE}\t%{NAME}\n’ | sort -k1,1n</td> <td>Listar todos los paquetes por tamaño instalado (Bytes) de distribuciones RPMs</td> </tr> <tr> <td>•</td> <td>dpkg-query -W -f=’${Installed-Size;10}\t${Package}\n’ | sort -k1,1n</td> <td>istar todos los paquetes por tamaño instalado (Kbytes) de distribuciones deb</td> </tr> <tr> <td>•</td> <td>dd bs=1 seek=2TB if=/dev/null of=ext3.test</td> <td>Crear un gran archivo de prueba (sin ocupar espacio). Ver también truncate</td> </tr> <tr id="monitor"> <td colspan="3"> <h2><strong>Monitoreo/Rastreo</strong></h2> </td> </tr> <tr> <td>•</td> <td>strace -c ls >/dev/null</td> <td>Resumir/perfil de llamadas al sistema hechas con comando</td> </tr> <tr> <td>•</td> <td>strace -f -e open ls >/dev/null</td> <td>Listar llamadas al sistema hechas con comando</td> </tr> <tr> <td>•</td> <td>ltrace -f -e getenv ls >/dev/null</td> <td>Listar llamadas a librerías hechas con comando</td> </tr> <tr> <td>•</td> <td><acronym title="usually in /usr/sbin/">lsof</acronym> -p <acronym title="process id of current shell">$$</acronym></td> <td>Listar las rutas que abrió el id de proceso</td> </tr> <tr> <td>•</td> <td>lsof ~</td> <td>Listar procesos que solicitaron apertura de rutas</td> </tr> <tr> <td>•</td> <td>tcpdump not port 22</td> <td>Ver tráfico de redes  excepto ssh. Ver también tcpdump_not_me</td> </tr> <tr> <td>•</td> <td>ps -e -o pid,args –forest</td> <td>Listar procesos de una jerarquía</td> </tr> <tr> <td>•</td> <td>ps -e -o pcpu,cpu,nice,state,cputime,args –sort pcpu | sed ‘/^ 0.0 /d’</td> <td>Listar procesos por % de uso de cpu</td> </tr> <tr> <td>•</td> <td>ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS</td> <td>Listar procesos por uso de memoria. Ver también ps_mem.py</td> </tr> <tr> <td>•</td> <td>ps -C firefox-bin -L -o pid,tid,pcpu,state</td> <td>Listar todos los hilos de un proceso determinado</td> </tr> <tr> <td>•</td> <td>ps -p 1,2</td> <td>Listar información de un ID determinado</td> </tr> <tr> <td>•</td> <td>last reboot</td> <td>Ver historia de reencendido del sistema</td> </tr> <tr> <td>•</td> <td>free -m</td> <td>Ver cantidad de RAM  (que queda) (-m muestra en MB)</td> </tr> <tr> <td>•</td> <td>watch -n.1 ‘cat /proc/interrupts’</td> <td>Observar continuamente los datos que van cambiando</td> </tr> <tr id="sysinfo"> <td colspan="3"> <h2><strong>Información del sistema</strong></h2> </td> </tr> <tr> <td></td> <td>hdparm -i /dev/hda</td> <td>Ver informe sobre partición hda</td> </tr> <tr> <td></td> <td>hdparm -tT /dev/hda</td> <td>Hacer una prueba de velocidad de lectura en partición hda</td> </tr> <tr> <td></td> <td>badblocks -s /dev/hda</td> <td>Hallar bloques ilegibles en partición hda</td> </tr> <tr> <td>•</td> <td>mount | column -t</td> <td>Ver particiones montadas en el sistema (y alinear la salida)</td> </tr> <tr> <td>•</td> <td>cat /proc/partitions</td> <td>Ver todas las particiones registradas en el sistema</td> </tr> <tr> <td>•</td> <td>grep MemTotal /proc/meminfo</td> <td>Ver el total de RAM que registra el sistema</td> </tr> <tr> <td>•</td> <td>grep “model name” /proc/cpuinfo</td> <td>Ver informe de CPU(s)</td> </tr> <tr> <td>•</td> <td><acronym title="usually in /sbin/">lspci</acronym> -tv</td> <td>Ver informe de PCI</td> </tr> <tr> <td>•</td> <td><acronym title="usually in /sbin/">lsusb</acronym> -tv</td> <td>Ver informe de USB</td> </tr> <tr id="interactive"> <td colspan="3"> <h2><strong>Interactivo</strong></h2> </td> </tr> <tr> <td>•</td> <td>mc</td> <td>Poderoso administrador de archivos que permite navegar por rpm, tar, ftp, ssh, …</td> </tr> <tr> <td>•</td> <td>screen</td> <td>Terminales virtuales con capacidad de reacomodamiento, …</td> </tr> <tr> <td>•</td> <td>links</td> <td>Navegador web</td> </tr> <tr> <td>•</td> <td>gnuplot</td> <td>Graficos interactivos/ programables</td> </tr> <tr> <td>•</td> <td>octave</td> <td>Entorno parecido a Matlab</td> </tr> <tr id="misc"> <td colspan="3"> <h2><strong>Miscelaneo</strong></h2> </td> </tr> <tr> <td>•</td> <td>alias hd=’od -Ax -tx1z -v’</td> <td>Práctico vuelco hexa. (uso x.ej.: • hd /proc/self/cmdline | less)</td> </tr> <tr> <td>•</td> <td>alias realpath=’readlink -f’</td> <td>Canonicalizar ruta. (uso x.ej.: • realpath ~/../$USER)</td> </tr> <tr> <td>•</td> <td>set | grep $USER</td> <td>Buscar en el entorno actual</td> </tr> <tr> <td></td> <td>touch -c -t 0304050607 archivo</td> <td>Asignarle a archivo la fecha (AAMMDDhhmm)</td> </tr> <tr> <td>•</td> <td>python -m SimpleHTTPServer</td> <td>Serve current directory tree at http://$HOSTNAME:8000/</td> </tr> </tbody> </table> <div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-1757035-3313-584a965f385f4' data-src='//widgets.wp.com/likes/#blog_id=1757035&post_id=3313&origin=www.guatewireless.org&obj_id=1757035-3313-584a965f385f4' data-name='like-post-frame-1757035-3313-584a965f385f4'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> <div id='jp-relatedposts' class='jp-relatedposts' > <h3 class="jp-relatedposts-headline"><em>Related</em></h3> </div> </div> </div> <div id="comments"> <h2 id="comments-title">2 thoughts on “<span>Referencia practica de Comandos de Linux</span>”</h2> <ol class="commentlist"> <li class="comment even thread-even depth-1" id="comment-10377"> <div> <img alt='' src='http://0.gravatar.com/avatar/316282910a7ed5ab2db800133d585359?s=50&d=retro&r=g' srcset='http://0.gravatar.com/avatar/316282910a7ed5ab2db800133d585359?s=100&d=retro&r=g 2x' class='avatar avatar-50 photo' height='50' width='50' /> <a rel='nofollow' class='comment-reply-link' href='http://www.guatewireless.org/os/linux/referencia-practica-de-comandos-de-linux.html?replytocom=10377#respond' onclick='return addComment.moveForm( "comment-10377", "10377", "respond", "3313" )' aria-label='Reply to jean carlos mendoza'>Reply</a> <span class="comment-author"> jean carlos mendoza </span> <span class="comment-date-link"> <a href="http://www.guatewireless.org/os/linux/referencia-practica-de-comandos-de-linux.html#comment-10377"> Jul 12,2011 12:33 </a> </span> <div class="comment-text"> <p>Excelente entrada, andaba buscando algo paracido para tenerlo en mis chuletas muchas gracias</p> </div> </div> </li><!-- #comment-## --> <li class="comment odd alt thread-odd thread-alt depth-1" id="comment-10673"> <div> <img alt='' src='http://0.gravatar.com/avatar/3f6df2d466616ed827861e3fab2da720?s=50&d=retro&r=g' srcset='http://0.gravatar.com/avatar/3f6df2d466616ed827861e3fab2da720?s=100&d=retro&r=g 2x' class='avatar avatar-50 photo' height='50' width='50' /> <a rel='nofollow' class='comment-reply-link' href='http://www.guatewireless.org/os/linux/referencia-practica-de-comandos-de-linux.html?replytocom=10673#respond' onclick='return addComment.moveForm( "comment-10673", "10673", "respond", "3313" )' aria-label='Reply to Alcibíades131ce'>Reply</a> <span class="comment-author"> Alcibíades131ce </span> <span class="comment-date-link"> <a href="http://www.guatewireless.org/os/linux/referencia-practica-de-comandos-de-linux.html#comment-10673"> Aug 1,2011 08:20 </a> </span> <div class="comment-text"> <p>Estupendo.<br /> Me ha encantado.</p> <p>Siempre se está aprendiendo nuevas cosas con los comandos.<br /> No se acaba de abarcar el concepto interactivo del funcionamiento de linux, su filosofía elegante y recursiva.</p> <p>Si llegasemos a comprender cómo funciona, cómo “piensa” el SO, esto es: Cómo fue pensado por sus programadores, no harían falta apenas “chuletas”/ notas recordatorias.</p> <p>Un usuario / root intermitente y temporal, pero recurrente de linux desde 1996.</p> <p>Un vez más, aprendiendo a aprender.</p> </div> </div> </li><!-- #comment-## --> </ol> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Comentario, Preguntas o agradecimientos? <small><a rel="nofollow" id="cancel-comment-reply-link" href="/os/linux/referencia-practica-de-comandos-de-linux.html#respond" style="display:none;">Cancel reply</a></small></h3> <form id="commentform" class="comment-form"> <iframe src="https://jetpack.wordpress.com/jetpack-comment/?blogid=1757035&postid=3313&comment_registration=0&require_name_email=1&stc_enabled=1&stb_enabled=1&show_avatars=1&avatar_default=retro&greeting=Comentario%2C+Preguntas+o+agradecimientos%3F&greeting_reply=Leave+a+Reply+to+%25s&color_scheme=light&lang=en_US&jetpack_version=4.4.2&sig=a4aa939fa50781d5ee73e8d8421f303b761ba5e5#parent=http%3A%2F%2Fwww.guatewireless.org%2Fos%2Flinux%2Freferencia-practica-de-comandos-de-linux.html" allowtransparency="false" style="width:100%; height: 430px;border:0;" frameBorder="0" scrolling="no" name="jetpack_remote_comment" id="jetpack_remote_comment"></iframe> </form> </div> <input type="hidden" name="comment_parent" id="comment_parent" value="" /> </div><!-- #comments --> <nav class="singlenav cf"> <div class="older">« <a href="http://www.guatewireless.org/tecnologia/empresas/mozilla-foundation/firefox/como-cambiar-el-idioma-de-firefox-sin-reinstalar.html" rel="prev">Firefox: Como cambiar el idioma del navegador sin reinstalarlo</a></div> <div class="newer"><a href="http://www.guatewireless.org/os/windows/como-instalar-iis-7-en-windows-server-2008-r2.html" rel="next">Como instalar IIS 7 en Windows Server 2008 R2</a> »</div> </nav> </div> <div id="widgetarea-one" class="col4"> <aside id="ad-sidebarcuadrado" class="widget �lambda_981 cf"><script type="text/javascript"> <!-- function FixCookieDate (date) { var base = new Date(0); var skew = base.getTime(); // dawn of (Unix) time - should be 0 if (skew > 0) // Except on the Mac - ahead of its time date.setTime (date.getTime() - skew); } var expdate = new Date (); FixCookieDate (expdate); expdate.setTime (expdate.getTime() + (365 * 24 * 60 * 60 * 1000)); // 1 year from now document.cookie = "wp_ozh_wsa_TopLeft" + "=" + escape (1) + "; expires=" + expdate.toGMTString() + "; path=" + "/"; //--> </script> </aside><aside id="search-2" class="widget widget_search cf"><h3><span>Buscar</span></h3><form method="get" class="searchform" action="http://www.guatewireless.org/"> <input type="text" class="field" name="s" value="" /> <input type="submit" class="submit" name="submit" value="search" /> </form> </aside><aside id="dsgnwrks_google_top_posts_widgets-2" class="widget google_top_posts cf"><h3><span>Recomendacion del editor</span></h3></aside> </div> </div> <div id="footer-bg"> <div id="footer" class="lw"> <p>© 2016 Guatewireless.org — All Rights Reserved.</p> <!-- <p>98 queries in 0.988 seconds.</p> --> </div> </div> <!-- Advertising Manager v3.5.3 (0.989 seconds.) --> <div style="display:none"> <div class="grofile-hash-map-316282910a7ed5ab2db800133d585359"> </div> <div class="grofile-hash-map-3f6df2d466616ed827861e3fab2da720"> </div> </div> <script type="text/javascript">quicktags({ id: 'comment-form', buttons: 'strong,em,link,block,code,close' });</script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/akismet/_inc/form.js?ver=3.2'></script> <script type='text/javascript' src='http://platform.twitter.com/widgets.js?ver=4.7'></script> <script type='text/javascript' src='http://apis.google.com/js/plusone.js?ver=4.7'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/jetpack/modules/photon/photon.js?ver=20130122'></script> <script type='text/javascript' src='http://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201649'></script> <script type='text/javascript'> /* <![CDATA[ */ var JQLBSettings = {"fitToScreen":"0","resizeSpeed":"400","displayDownloadLink":"0","navbarOnTop":"0","loopImages":"","resizeCenter":"","marginSize":"","linkTarget":"_self","help":"","prevLinkTitle":"previous image","nextLinkTitle":"next image","prevLinkText":"\u00ab Previous","nextLinkText":"Next \u00bb","closeTitle":"close image gallery","image":"Image ","of":" of ","download":"Download","jqlb_overlay_opacity":"80","jqlb_overlay_color":"#000000","jqlb_overlay_close":"1","jqlb_border_width":"10","jqlb_border_color":"#ffffff","jqlb_border_radius":"0","jqlb_image_info_background_transparency":"100","jqlb_image_info_bg_color":"#ffffff","jqlb_image_info_text_color":"#000000","jqlb_image_info_text_fontsize":"10","jqlb_show_text_for_image":"1","jqlb_next_image_title":"next image","jqlb_previous_image_title":"previous image","jqlb_next_button_image":"http:\/\/www.guatewireless.org\/wp-content\/plugins\/wp-lightbox-2\/styles\/images\/next.gif","jqlb_previous_button_image":"http:\/\/www.guatewireless.org\/wp-content\/plugins\/wp-lightbox-2\/styles\/images\/prev.gif","jqlb_maximum_width":"","jqlb_maximum_height":"","jqlb_show_close_button":"1","jqlb_close_image_title":"close image gallery","jqlb_close_image_max_heght":"22","jqlb_image_for_close_lightbox":"http:\/\/www.guatewireless.org\/wp-content\/plugins\/wp-lightbox-2\/styles\/images\/closelabel.gif","jqlb_keyboard_navigation":"1","jqlb_popup_size_fix":"0"}; /* ]]> */ </script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/wp-lightbox-2/wp-lightbox-2.min.js?ver=1.3.4.1'></script> <script type='text/javascript' src='http://s.gravatar.com/js/gprofiles.js?ver=2016Decaa'></script> <script type='text/javascript'> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/jetpack/modules/wpgroho.js?ver=4.7'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-includes/js/comment-reply.min.js?ver=4.7'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-includes/js/wp-embed.min.js?ver=4.7'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/jetpack/_inc/postmessage.js?ver=4.4.2'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/jetpack/_inc/jquery.jetpack-resize.js?ver=4.4.2'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/jetpack/_inc/jquery.inview.js?ver=4.4.2'></script> <script type='text/javascript' src='http://www.guatewireless.org/wp-content/plugins/jetpack/modules/likes/queuehandler.js?ver=4.4.2'></script> <iframe src='http://widgets.wp.com/likes/master.html?ver=20160429#ver=20160429' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe> <div id='likes-other-gravatars'><div class="likes-text"><span>%d</span> bloggers like this:</div><ul class="wpl-avatars sd-like-gravatars"></ul></div> <!--[if IE]> <script type="text/javascript"> if ( 0 === window.location.hash.indexOf( '#comment-' ) ) { // window.location.reload() doesn't respect the Hash in IE window.location.hash = window.location.hash; } </script> <![endif]--> <script type="text/javascript"> var comm_par_el = document.getElementById( 'comment_parent' ), comm_par = (comm_par_el && comm_par_el.value) ? comm_par_el.value : '', frame = document.getElementById( 'jetpack_remote_comment' ), tellFrameNewParent; tellFrameNewParent = function() { if ( comm_par ) { frame.src = "https://jetpack.wordpress.com/jetpack-comment/?blogid=1757035&postid=3313&comment_registration=0&require_name_email=1&stc_enabled=1&stb_enabled=1&show_avatars=1&avatar_default=retro&greeting=Comentario%2C+Preguntas+o+agradecimientos%3F&greeting_reply=Leave+a+Reply+to+%25s&color_scheme=light&lang=en_US&jetpack_version=4.4.2&sig=a4aa939fa50781d5ee73e8d8421f303b761ba5e5#parent=http%3A%2F%2Fwww.guatewireless.org%2Fos%2Flinux%2Freferencia-practica-de-comandos-de-linux.html" + '&replytocom=' + parseInt( comm_par, 10 ).toString(); } else { frame.src = "https://jetpack.wordpress.com/jetpack-comment/?blogid=1757035&postid=3313&comment_registration=0&require_name_email=1&stc_enabled=1&stb_enabled=1&show_avatars=1&avatar_default=retro&greeting=Comentario%2C+Preguntas+o+agradecimientos%3F&greeting_reply=Leave+a+Reply+to+%25s&color_scheme=light&lang=en_US&jetpack_version=4.4.2&sig=a4aa939fa50781d5ee73e8d8421f303b761ba5e5#parent=http%3A%2F%2Fwww.guatewireless.org%2Fos%2Flinux%2Freferencia-practica-de-comandos-de-linux.html"; } }; if ( 'undefined' !== typeof addComment ) { addComment._Jetpack_moveForm = addComment.moveForm; addComment.moveForm = function( commId, parentId, respondId, postId ) { var returnValue = addComment._Jetpack_moveForm( commId, parentId, respondId, postId ), cancelClick, cancel; if ( false === returnValue ) { cancel = document.getElementById( 'cancel-comment-reply-link' ); cancelClick = cancel.onclick; cancel.onclick = function() { var cancelReturn = cancelClick.call( this ); if ( false !== cancelReturn ) { return cancelReturn; } if ( !comm_par ) { return cancelReturn; } comm_par = 0; tellFrameNewParent(); return cancelReturn; }; } if ( comm_par == parentId ) { return returnValue; } comm_par = parentId; tellFrameNewParent(); return returnValue; }; } if ( window.postMessage ) { if ( document.addEventListener ) { window.addEventListener( 'message', function( event ) { if ( "https:\/\/jetpack.wordpress.com" !== event.origin ) { return; } jQuery( frame ).height( event.data ); } ); } else if ( document.attachEvent ) { window.attachEvent( 'message', function( event ) { if ( "https:\/\/jetpack.wordpress.com" !== event.origin ) { return; } jQuery( frame ).height( event.data ); } ); } } </script> <script type='text/javascript' src='http://stats.wp.com/e-201649.js' async defer></script> <script type='text/javascript'> _stq = window._stq || []; _stq.push([ 'view', {v:'ext',j:'1:4.4.2',blog:'1757035',post:'3313',tz:'-6',srv:'www.guatewireless.org'} ]); _stq.push([ 'clickTrackerInit', '1757035', '3313' ]); </script> </body> </html>