Kit de supervivencia Linux

En este artículo encontrarás un compendio de comandos Linux de uso frecuente que todos tenemos en la cabeza, pero de los que a menudo no recordamos alguna parte de su sintaxis o quizás toda, algunos de estos quizás hasta hemos olvidado que existen…
Les agradeceré a todos completar esta lista así como la de las categorías.

Nota para los futuros contribuidores:

  • Este no es un tutorial sino sólo un articulo para recordar los comandos, por ello hay que poner únicamente una descripción lo más concisa posible del comando.
  • Para los comandos del sistema que necesitan los derechos de superusuarioroot” hay que hacer preceder estos comandos con el caracter almohadilla (#) representativo de “root” y con el caracter dollar ($) a los comandos que no necesitan ningún derecho especial y que pueden ser ejecutados por cualquier usuario.

Nota para los lectores:

  • Para los sistemas basados en Ubuntu cuando un comando necesita los derechos de superusuarioroot” (representado en este artículo por el carácter almohadilla (#) representativo de “root”), hacer preceder este comando por “sudo”.

Manual y ayuda

Las paginas del man

Mostrar la página man de un comando

  • $ man comando

Buscar las páginas haciendo referencia a una palabra clave (la ”palabra clave” puede ser una simple palabra o el nombre de un comando)

  • $ man –k palabra clave
  • $ apropos comando/palabra clave

Documentación suplementaria con información (para algunas paginas)

  • $ info comando

Ayuda en línea

Tipo de un comando (alias, palabra clave reservada al shell, función, comando interno o simple archivo en el disco)

  • $ type comando
  • $ type –t comando

Mostrar la ayuda de un comando interno (builtin)

  • $ help comando

Mostrar la ayuda de un comando externo

  • $ comando --help
  • $ comando –h

Operaciones con archivos y directorios

Mostrar

Mostrar un archivo

  • $ cat archivo

Mostrar página por pagina (tecla “Espace” avanza una página, tecla “Enter” avanza una línea)

  • $ more archivo

Mostrar línea por línea (flecha hacia arriba <=> flecha hacia abajo)

  • $ less archivo

Mostrar las 5 últimas líneas de un archivo

  • $ tail -5 archivo

Leer en tiempo real las 5 ultimas líneas de un archivo

  • $ tail -5f archivo

Mostrar las 5 primeras líneas de un archivo

  • $ head -5 archivo

Mostrar un archivo al reves

  • $ tac archivo

Numerar las líneas de un archivo a la salida

  • $ cat –n archivo

Conocer el tipo de un archivo

  • $ file archivo

Listar los archivos de un directorio

  • $ ls
  • $ ls –l

Listar recursivamente

  • $ ls *
  • $ ls –R

Listar los archivos ocultos

  • $ ls –a

Crear

Crear un archivo vacio

  • $  >  archivo
  • $ touch archivo

Crear 10 archivos vacios

  • $ touch archivo{1..10}.txt

Crear un directorio

  • $ mkdir directorio

Crear un directorio con sus sub-directorios

  • $ mkdir –p dir_principal/dir1/dir2/dir3

Redireccionar

A un archivo

  • $ ls –R  /home/$USER/*.txt >  lista.txt

A un archivo pero añadiendolo luego

  • $ ls –R  /home/$USER/*.txt >> lista.txt

A la pantalla y a un archivo al mismo tiempo

  • $ ls –R  /home/$USER/*.txt | tee lista.txt

Al mismo tiempo a la pantalla y a un archivo pero añadiendolo luego

  • $ ls –R  /home/$USER/*.txt | tee -a liste.txt

Copiar

Copiar un archivo

  • $ cp archivo_origen directorio_destino

Copiar un conjunto de archivos

  • $ cp /directorio_origen/*.html /directorio_destino

Copiar un directorio

  • $ cp –R /directorio_origen /directorio_destino

Mover

Mover un archivo

  • $ mv –i  /ruta/archivo/ruta

Mover un directorio

  • $ mv /ruta/dir_a_mover / /ruta/destino/

Renombrar

Renombrar un archivo

  • $ mv archivo_origen archivo_destino>

Comparar

Comparar 2 archivos

  • $ cmp archivo1 archivo2
  • $ diff archivo1 archivo2
  • $ sdiff archivo1 archivo2

Comparar 3 archivos

  • $ diff3 archivo1 archivo2 archivo3

Ordenar

Ordenar en orden alfabético

  • $ sort archivo

Ordenar numericamente

  • $ sort –n archivo

Eliminar repetidos

  • $ sort archivo | uniq
  • $ sort –u archivo

Mostrar únicamente los repetidos

  • $ sort archivo | uniq –d

Empaquetar/Desempaquetar

Empaquetar una carpeta/directorio

  • $ tar –vcf nombre_archivo.tar nombre_ carpeta _a_empaquetar

Desempaquetar una carpeta/directorio

  • $ tar –vxf mi_archivo.tar

Listar el contenido de un archivo tar

  • $ tar –tf mi_archivo.tar

Comprimir/Descomprimir

Comprimir un archivo (sin copia de seguridad del original)

  • $ compress mi_archivo.tar
  • $ gzip mi_archivo.tar
  • $ bzip2 mi_archivo.tar

Comprimir un archivo (con copia de seguridad del original)

  • $ compress –c mi_archivo.tar  >  mi_archivo.tar.Z
  • $ gzip –c mi_archivo.tar  >  mi_archivo.tar.gz
  • $ bzip2 –k mi_archivo.tar

Descomprimir un archivo

  • $ uncompress mi_archivo.tar.Z
  • $ gunzip mi_archivo.tar.gZ
  • $ bunzip2 mi_archivo.tar.bZ2

Descomprimir y desempaquetar

Un archivo tar.gz

  • $ tar xvzf mi_archivo.tar.gZ

Un archivo tar.bz2

  • $ tar xvjf mi_archivo.tar.bZ2

Contar

Contar los caracteres de un archivo

  • $ wc –c archivo

Contar el número de palabras de un archivo

  • $ wc –w archivo

Contar las líneas de un archivo

  • $ wc –l archivo
  • $ sed -n '$=' archivo

Buscar

Archivos

Buscar un archivo

  • $ find /ruta -name "nombre" –print

Buscar un patrón en un árbol de directorios (mostrando la ruta, el nombre del archivo y el numero de la línea es ese archivo)

  • $ find /ruta -name "*" -type f -exec grep -Hn  "patrón" {} \;

Actualizar la base de datos de slocate

  • # updatedb

Buscar un archivo idexado

  • $ locate nombre

Un patron en un archivo

  • $ grep "patron" archivo

Comandos

Localizar un comando

  • $ which comando

Buscar los archivos ejecutables

  • $ whereis comando

Buscar el nombre del archivo que sera ejecutado al llamado de comando

  • $ type –p comando

Usuarios

¿Quién está conectado?

  • $ who
  • $ finger

¿Quién está conectado y qué es lo que hace?

  • $ w

¿Quién soy yo?

  • $ whoami

¿Dónde estoy?

  • $ pwd

Dependencias

Mostrar las bibliotecas necesarias de un programa

  • ldd /ruta/programa

Administración del sistema

Gestión del sistema

Actividad del sistema

  • $ top

Estado de los procesos

  • $ ps –ef

Tasa del disco ocupado

  • $ df –h

Tasa de uso del disco

  • $ du –h /home/$USER

Gestion de usuarios

Añadir un usuario

  • # useradd new_user

Eliminar un usuario

  • # userdel user

Añadir un grupo

  • # groupadd new_groupe

Eliminar un grupo

  • # groupdel groupo

Cambiar el propietario de un directorio

  • # chown $USER /ruta/directorio

Cambiar nuestra contraseña

  • $ passwd

Cambiar la contraseña de un usuario

  • # passwd login

Mostrar el grupo a los que pertenece un usuario

  • $ groups $USER

Informacion sobre un usuario

  • $ finger $USER

Red

Informacion del hardware

Conocer el módulo de una tarjeta

  • # ethtool –i eth0

Mayor informacion

  • # udevinfo -a –p /sys/class/net/eth0/

Listar el hardware detectado por el núcleo

  • $ /sbin/ifconfig
  • $/sbin/ip link show

Herramientas suplementarias

  • # mii-tool eth0
  • # mii-diag –a

Tests y medidas

Verificar la conexion local

  • $ ping -c4 localhost

Hacer pin a una dirección IP

  • $ ping -c4 direccion_IP

Verificar las direcciones MAC del LAN

  • # nmap –sP 192.168.1.1-254

Configuración

Configurar una dirección

  • # ifconfig eth0 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255

Agregar una puerta de enlace predeterminada

  • # route add default gw nombre_puerta_de enlace

Impedir el ping

  • # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Conexion

ssh

  • $ ssh login@sevidor

telnet

  • $ telnet direccion_IP

scp

  • $ scp /ruta/archivo login@servidor:/ruta/destino/

Información acerca del equipo

Sistema

Núcleo

  • $ uname –r

Sistema operativo

  • $ uname –o

Procesador

Tipo de procesador

  • $ uname –p

Informacion detallada

  • $ cat /proc/cpuinfo

Carga media del procesador

  • $ cat /proc/loadavg

Memoria

Informacion detallada

  • $ cat /proc/meminfo

Mostrar el uso de la memoria

  • $ free –m

Descripcion del hardware

Información sobre el hardware

  • # dmidecode

Listar el hardware

  • # lshw
  • # lshw -html > archivo.html
  • # lshal

Lista de tarjetas PCI

  • $ lspci –v

Lista de dispositivos USB

  • # lsusb

Verificacion de la compatibilidad del hardware

Listar el ID del fabricante y dispositivos PCI

  • $ lspci –n

¿Dispositivos desconocidos (unknow)?

  • # scanpci –v

Obtener de la descripción del componente en cuestión su código "vendor" (0xXXXX) así como su código "device" (0xYYYY, luego ir a la página "PCIDatabase.com" para determinar el fabricante y el dispositivo desconocido.

Bios

Información sobre el Bios

  • # biosdecode

Módulo

Mostrar los módulos cargados

  • $ /sbin/lsmod

Mostrar la lista de módulos

  • $ /sbin/modprobe –l

Cambiar un módulo

  • # insmod nombre_modulo
  • # modprobe nombre_módulo

Eliminar un módulo

  • # rmmod nombre_módulo
  • $ modprobe –r nom_modulo

Obtener información sobre un módulo

  • $ /sbin/modinfo nombre_modulo

Disco duro

Tabla de particiones

  • $ /sbin/fdisk –l

Información sobre el disco

  • # hdparm -I /dev/xxx

(si smartmontools está instalado)

  • # smartctl -i /dev/xxx

Test del disco

  • # smartctl -t short /dev/xxx

Hacer una copia de seguridad de la tabla de particiones (MBR)

  • # dd if=/dev/hdx of=/ruta/copiadeseguridad.dd bs=512 count=1

Hacer una copia de seguridad de la tabla de particiones de la partición extendida

  • # sfdisk -d /dev/hdx > /ruta/save_extendida.sf

Restaurar la tabla de particiones (MBR)

  • # dd if=/ruta/copiadeseguridad.dd of=/dev/hdx

Restaurar la tabla de particiones de la partición extendida

  • # sfdisk /dev/hdx < /ruta/save_extendida.sf

Determinar el UUID de un disco (Universal Unique IDentifier)

  • $ ls -l /dev/disk/by-uuid
  • # vol_id -u /dev/sda1
  • # blkid

CD/DVD/Grabador

Encontrar la dirección SCSI del grabador

  • $ cdrecord –scanbus
  • $ cdrecord --scanbus dev=ATA

Desbloquear el grabador
Si por cualquier razón el grabador no responde más a ningún comando, da mensajes de error y no se abre incluso presionando el botón de eyección, entonces puedes utilizar cdrdao para reinicializarlo.

  • # cdrdao unlock --device y,z

Temperatura (lm_sensors)

Buscar sensores

  • $ sensors-detect

Carga de módulos

  • # modprobe i2c-xxx i2c-yyy i2c-zzz

Mostrar la temperatura

  • $ sensors

Multimedia

Conversión de formatos de video

avi => flv

  • $ ffmpeg –i video.avi -f flv video.flv

flv => avi

  • $ ffmpeg –i video.flv -f avi video.avi

wmv => avi

  • $ ffmpeg –i video.wmv -f avi video.avi

avi => SVCD

  • $ ffmpeg –i video.avi -target pal-SVCD video.mpeg

Captura de pantalla

Con ImageMagcik

  • $ import -pause 5 capture.png

Conversión de formatos gráficos

GIF => PNG

  • $ convert  archivo_de_entrada.gif archivo_de_salida.png

JPG => PNG

  • $ convert  archivo_de_entrada.jpg archivo_de_salida.png

etc.

Redimensionamiento de imágenes

Con ImageMagcik

En el siguiente ejemplo, el formato de entrada puede ser un formato distinto a PNG, las dimensiones pueden ser modificadas:

  • Redimensionamiento a un tamaño dado
    • $ convert  archivo_de_entrada.png  -resize 320x200 archivo_de_salida.png
  • Redimensionamiento a una à un ancho dado
    • $ convert  archivo_de_entrada.png -resize 320x archivo_de_salida.png
  • Redimensionamiento a una altura dada
    • $ convert  archivo_de_entrada.png -resize 320x archivo_de_salida.png
  • Redimensionamiento de la primera imagen de un GIF animado
    • $ convert  archivo_de_entrada.gif[0]  -resize 320x200 archivo_de_salida.gif
  • Redimensionamiento forzando el valor del fondo transparente (para evitar un fondo negro poco estético). Aquí el fondo es forzado a blanco:
    • $ convert  archivo_de_entrada.png  -resize 320x200
      -background white -flatten archivo_de_salida.png

      Diversos

      Mostrar el calendario del mes actual

      • $ cal

      Mostrar el calendario anual

      • $ cal 2008

Haz una pregunta
Nuestros contenidos son redactados en colaboración con expertos del ámbito tecnológico bajo la dirección de Jean-François Pillou, fundador de CCM.net. CCM es un sitio de tecnología líder a nivel internacional y está disponible en 11 idiomas.
El documento « Kit de supervivencia Linux » se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.