En la web tenéis muchas páginas con comandos útiles, p.e. http://www.osmosislatina.com/linux/comandos.jsp. Aquí teneis una tabla con los comandos más utilizados y comunes a la mayoría de las máquinas.
| exit | salir de sesión (en rigor, cerrar shell) | |
| logout | lo mismo que "exit" | |
| Cntrl-D | lo mismo que "exit" | |
| apropos | Preguntar por algún concepto | |
| apropos print | ||
| man | Ayuda sobre comandos | |
| man lpr | ||
| pwd | directorio de trabajo actual ? | |
| ls | listar el contenido de un directorio | |
| ls | ||
| ls *est* | ||
| ls -a | ||
| ls -l | ||
| ls -al *.hoy | ||
| ls -F | ||
| ls /u/ls | ||
| mkdir | crear directorios | |
| mkdir Pruebas | ||
| mkdir Pruebas/UNIX | ||
| mkdir Pruebas/vi Borrame | ||
| cd | cambiar de directorio | |
| cd Pruebas | ||
| cd ./UNIX | ||
| cd ../vi | ||
| cd /u/ls | ||
| cd | ||
| mv | renombrar | |
| mv resultado res.hoy | ||
| ln | dar un nombre adicional a un fichero existente | |
| ln Test2.hoy T2 | ||
| rm | eliminar ficheros P E L I G R O S O !!!!!! | |
| rm test1.hoy | ||
| rm -i Test2.hoy | ||
| cp | copiar | |
| cp /u/ls/Notas-X.txt Notas-U.txt | ||
| cp /u/ls/Notas-VI.txt . | ||
| rmdir | eliminar directorios vacios | |
| rmdir Borrame | ||
| chmod | cambiar los modos de acceso de ficheros | |
| chmod o+w Notas-VI.txt | ||
| chmod uo-w Notas-VI.txt | ||
| echo | emite un mensaje | |
| echo hola | ||
| echo $USER | ||
| echo $HOME $SHELL $PATH | ||
| find | Buscar un fichero | |
| find / -name Notas.tex -print | ||
| more | mostar el contenido de un fichero | |
| cat | mostar el contenido de un fichero | |
| cat test1.hoy | ||
| cat |
||
| Primera linea del test 2 [Enter] | ||
| Segunda linea [Enter] | ||
| etc [Enter] | ||
| [Cntl-D] | ||
| cat Test2.hoy | ||
| cat test1.hoy Test2.hoy > resultado | ||
| grep | extraccion selectiva de | |
| grep 'test' Notas-UNIX.txt | texto (muy amplio) | |
| grep -i 'test' Notas-UNIX.txt | ||
| grep -iv 'test' *UNIX.txt | ||
| Comando |
redirigir output a un fichero | |
| echo "f pa hoy" |
||
| Comando |
redirigir output a la cola de un fichero | |
| echo "frase" |
||
| Comando1 ; Comando2 | ejecutar mas de un comando por linea | |
| pwd ; ls | ||
| Comando1 |
output de Com1 es input de Com2 | |
| ls -F |
Que hace esto ? | |
| grep '=' *.txt |
Y esto ? | |
| passwd | cambiar palabra clave | |
| ps | identificar los procesos corrientes | |
| Cntl-V (Cntl-C) | cancelar el proceso corriente | |
| Cntl-S | hacer una pausa en la pantalla | |
| Cntl-Q | reanudar la pantalla | |
| wc fichero | estadisticas de un fichero | |
| (lineas, palabras, caracteres) | ||
| df | estado de los sistemas de ficheros | |
| zcat | Descomprimir un fichero | |
| zcat file.tar.Z |
||
| mdir | listar el contenido de un disquette | |
| mformat | dar formato a un disquette | |
| mdel fichDOS | borrar "fichDOS" del disquete | |
| mcopy -t fDOS fUNIX | leer un fichero del disquette | |
| mcopy fUNIX fDOS | escribir un fichero en el disquette |
i
En la página http://www.pixelbeat.org/cmdline_es_AR.html tenéis:
| 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 |
| dir navegación | ||
|
|
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 |
| búsquedas de archivo | ||
|
|
alias l='ls -l - -color=auto' | listado de directorio rápido |
|
|
ls -lrt | Listar archivos por fecha. Ver también newest |
|
|
ls /usr/bin |
Imprimir 9 columnas en ancho de la terminal |
| find -name '*.[ch]' |
Buscar 'expre' en este directorio y subdirectorios. Ver también findrepo | |
| find -type f -print0 |
Buscar 'ejemplo' en todos los archivos regulares en este directorio y subdirectorios | |
| find -maxdepth 1 -type f |
Buscar 'ejemplo' en todos los archivos regulares de este directorio | |
| find -maxdepth 1 -type d |
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[/]* |
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/ |
Crear archivo compacto de dir/ | |
| bzip2 -dc dir.tar.bz2 |
Extraer archivo compacto (usar gzip en vez de bzip2 para archivos tar.gz ) | |
| tar -c dir/ |
Crear compactado encriptado de dir/ en equipo remoto | |
| find dir/ -name '*.txt' |
Crear compactado de subconjunto de dir/ y subdirectorios | |
| find dir/ -name '*.txt' |
Copiar subconjunto de dir/ y subdirectorios | |
| ( tar -c /dire/de/copiame ) |
Copiar (con permisos) directorio copiame/ a directorio /este/dir/ | |
| ( cd /dire/de/copiame && tar -c . ) |
Copiar (con permisos) contenido del directorio copiame/ a directorio /este/dir/ | |
| ( tar -c /dire/de/copiame ) |
Copiar (con permisos) directorio copiame/ a directorio remoto /este/dir/ | |
| dd bs=1M if=/dev/hda |
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 |
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 | |
| wget (herramienta de descargas multiuso) | ||
|
|
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 |
Procesando directamente la salida |
| echo 'wget url' |
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 (Nota los comandos ifconfig, route, mii-tool, nslookup son obsoletos) | ||
| 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 (nota samba es el paquete que permite todos estos comandos de redes de windows ) | ||
|
|
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' |
Enviar mensaje emergente al equipo windows (desactivado por omisión en XP sp2) | |
| math | ||
|
|
echo '(1 + sqrt(5))/2' |
Cuentas rápidas (Calcular ¿). Ver también bc |
|
|
echo 'obase=16; ibase=10; 64206' |
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*106)/((pad+min)*8)' |
Mas complejo (int) x.ej. Ejemplo: tasa máxima de paquetes FastE |
|
|
echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' |
Python maneja notación científica |
|
|
echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' |
Graficar tasa de paquetes FastE vs. tamaño de paquetes |
|
|
seq 100 |
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... |
||
| sed 's/cadena1/cadena2/g' | Remplaza cadena1 por cadena2 | |
| sed 's/ |
Modificar cualquiercadena1 con cualquiercadena2 | |
| sed '/ *#/d; / |
Quitar comentarios y lineas en blanco | |
| sed ':a; /
|
Concatenar lineas con al final | |
| sed 's/[ |
Quitar blancos finales de las lineas | |
| sed 's/ |
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/.* |
Extraer titulo de página web en HTML | |
| sort -t. -k1,1n -k2,2n -k3,3n -k4,4n | Sort de direcciones ip de tipo IPV4 | |
|
|
echo 'Test' |
Conversión de cajas |
|
|
tr -dc '[:print:]' |
Filtrando caracteres no imprimibles |
|
|
grep 'processor' /proc/cpuinfo |
Contar lineas |
| definir operaciones (Nota export LANG=C es para acelerar, aquí también se supone que no hay líneas duplicadas en los archivos) | ||
| sort archivo1 archivo2 |
Union de archivos sin ordenar | |
| sort archivo1 archivo2 |
Intersección de archivos sin ordenar | |
| sort archivo1 archivo1 archivo2 |
Diferencia de archivos sin ordenar | |
| sort archivo1 archivo2 |
Diferencia Simétrica de archivos sin ordenar | |
| comm archivo1 archivo2 |
Unión de archivos ordenados | |
| comm -12 archivo1 archivo2 | Intersección de archivos ordenados | |
| comm -13 archivo1 archivo2 | Diferencia de archivos ordenados | |
| comm -3 archivo1 archivo2 |
Diferencia Simétrica de archivos ordenados | |
| calendario | ||
|
|
cal -3 | Mostrar calendario |
|
|
cal 9 1752 | Mostrar calendario para mes y año determinado |
|
|
date -d fri | Que día cae este viernes. Ver también day |
|
|
date - -date='25 Dec' +%A | ¿En que día cae la Navidad, este año? |
|
|
date - -date '1970-01-01 UTC 1234567890 seconds' | Convertir total de segundos desde la época a una fecha |
|
|
TZ=':America/Los_Angeles' date | ¿Que hora es en la Costa Oeste de EEUU (usar tzselect para hallar TZ) |
| echo "mail -s 'tomar el tren' P@draigBrady.com |
Recordatorio por email | |
|
|
echo "DISPLAY=$DISPLAY xmessage cooker" |
Recordatorio emergente |
| locales | ||
|
|
printf "%'d |
Imprimir numero agrupado por miles de acuerdo a su locale |
|
|
BLOCK_SIZE=1 ls -l | pedir que ls agrupe por miles de acuerdo a su locale |
|
|
echo "Yo vivo en `locale territory`" | Extraer información de la base de datos del locale |
|
|
LANG=en_IE.utf8 locale int_prefix | Buscar información de locale para determinado país. Ver también ccodes |
|
|
locale |
Listar campos en base de datos del locale |
| recode (obsoletos: iconv, dos2unix, unix2dos) | ||
|
|
recode -l |
Ver conversiones disponibles (aliases en cada línea) |
| recode windows-1252.. archivo_a_cambiar.txt | "ansi" de Windows a tabla de caracteres locales (auto hace conversión CRLF) | |
| recode utf-8/CRLF.. archivo_a_cambiar.txt | utf8 de Windows a tabla de caracteres locales | |
| recode iso-8859-15..utf8 archivo_a_cambiar.txt | Latin9 (Europa oriental) a utf8 | |
| recode ../b64 |
Codificado Base64 | |
| recode /qp.. |
Decodificado de citas imprimibles (qp) | |
| recode ..HTML |
Texto a HTML | |
|
|
recode -lf windows-1252 |
Buscar tabla de caracteres |
|
|
echo -n 0x80 |
Mostrar representación de un código en tabla de caracteres latin-9 |
|
|
echo -n 0x20AC |
Ver codificado latin-9 |
|
|
echo -n 0x20AC |
Ver codificado utf-8 |
| CDs | ||
| gzip |
Guardar una copia de los datos de cdrom | |
| mkisofs -V NOMBRE -r dir |
Crear imagen de cdrom con el contenido de dir | |
| mount -o loop cdrom.iso /mnt/dir | Montar la imagen cdrom en /mnt/dir (solo lectura) | |
| cdrecord -v dev=/dev/cdrom blank=fast | Limpiar un CDRW | |
| gzip -dc cdrom.iso.gz |
Grabar un cdrom con imagen (usar dev=ATAPI -scanbus para confirmar ruta dev) | |
| cdparanoia -B | Extraer pistas de audio desde un CD a archivos wav en directorio actual | |
| cdrecord -v dev=/dev/cdrom -audio *.wav | Armar un CD de audio con todos los wavs en directorio actual (ver también cdrdao) | |
| oggenc - -tracknum='pista' pista.cdda.wav -o 'pista.ogg' | Crear un archivo ogg con un archivo wav | |
| espacio de disco (Ver también FSlint) | ||
|
|
ls -lSr | Mostrar archivos, de menor a mayor |
|
|
du -s * |
Mostrar usuarios de disco principales en el directorio actual. Ver también dutop |
|
|
df -h | Mostrar espacio libre de disco |
|
|
df -i | Mostrar inodos libres |
|
|
fdisk -l | Mostrar tamaños y tipos de particiones de disco (pedir como root) |
|
|
rpm -q -a - -qf '%10SIZE |
Listar todos los paquetes por tamaño instalado (Bytes) de distribuciones RPMs |
|
|
dpkg-query -W -f='$Installed-Size;10 |
Listar todos los paquetes por tamaño instalado (Kbytes) de distribuciones deb |
|
|
dd bs=1 seek=2TB if=/dev/null of=ext3.test | Crear un gran archivo de prueba (sin ocupar espacio). Ver también truncate |
| monitoreo/rastreo | ||
|
|
strace -c ls >/dev/null | Resumir/perfil de llamadas al sistema hechas con comando |
|
|
strace -f -e open ls >/dev/null | Listar llamadas al sistema hechas con comando |
|
|
ltrace -f -e getenv ls >/dev/null | Listar llamadas a librerías hechas con comando |
|
|
lsof -p $$ | Listar las rutas que abrió el id de proceso |
|
|
lsof |
Listar procesos que solicitaron apertura de rutas |
|
|
tcpdump not port 22 | Ver tráfico de redes excepto ssh. Ver también tcpdump_not_me |
|
|
ps -e -o pid,args - -forest | Listar procesos de una jerarquía |
|
|
ps -e -o pcpu,cpu,nice,state,cputime,args - -sort pcpu |
Listar procesos por % de uso de cpu |
|
|
ps -e -orss=,args= |
Listar procesos por uso de memoria. Ver también ps_mem.py |
|
|
ps -C firefox-bin -L -o pid,tid,pcpu,state | Listar todos los hilos de un proceso determinado |
|
|
ps -p 1,2 | Listar información de un ID determinado |
|
|
last reboot | Ver historia de reencendido del sistema |
|
|
free -m | Ver cantidad de RAM (que queda) (-m muestra en MB) |
|
|
watch -n.1 'cat /proc/interrupts' | Observar continuamente los datos que van cambiando |
| información del sistema (Ver también sysinfo) | ||
| hdparm -i /dev/hda | Ver informe sobre partición hda | |
| hdparm -tT /dev/hda | Hacer una prueba de velocidad de lectura en partición hda | |
| badblocks -s /dev/hda | Hallar bloques ilegibles en partición hda | |
|
|
mount |
Ver particiones montadas en el sistema (y alinear la salida) |
|
|
cat /proc/partitions | Ver todas las particiones registradas en el sistema |
|
|
grep MemTotal /proc/meminfo | Ver el total de RAM que registra el sistema |
|
|
grep "model name" /proc/cpuinfo | Ver informe de CPU(s) |
|
|
lspci -tv | Ver informe de PCI |
|
|
lsusb -tv | Ver informe de USB |
| interactivo | ||
|
|
mc | Poderoso administrador de archivos que permite navegar por rpm, tar, ftp, ssh, ... |
|
|
screen | Terminales virtuales con capacidad de reacomodamiento, ... |
|
|
links | Navegador web |
|
|
gnuplot | Graficos interactivos/ programables |
|
|
octave | Entorno parecido a Matlab |
| Miscellaneous | ||
|
|
alias hd='od -Ax -tx1z -v' | Práctico vuelco hexa. (uso x.ej.: |
|
|
alias realpath='readlink -f' | Canonicalizar ruta. (uso x.ej.: |
|
|
set |
Buscar en el entorno actual |
| touch -c -t 0304050607 archivo | Asignarle a archivo la fecha (AAMMDDhhmm) | |
|
|
python -m SimpleHTTPServer | Serve current directory tree at http://$HOSTNAME:8000/ |