comandos
En esta época de interfaces gráficas altamente desarrolladas en la que todo funciona a golpe de ratón, enfrentarse a la aridez (¿?) de una pantalla negra y exprimirla haciéndola mostrar datos y más datos exige cierta dosis de humor, voluntad y sacrificio, cualidades de las que, afortunadamente los de LAPIPAPLENA, andamos sobrados. El secreto de tanta dicha tiene fácil receta: Para gozar eternamente de una excelente salud mental, la mejor terapia y que recomendamos fuertemente, es la auto imposición de no terminar ninguna sesión sin antes presionar CTROL+ALT+F1 y pasar, al menos, los últimos 5 minutos manoseando comandos. Es enormemente gratificante y no tiene contraindicaciones ni efectos secundarios y, además, permite apreciar nuestra insignificante pequeñez ante la inmensidad del universo.
El presente listado de comandos (con algunas opciones y ejemplos orientativos) solo pretende ser el punto de partida para que cada cual explore sus propios limites en este basto territorio ya que solo es una simple y limitadísima chuleta en la que hemos incluido aquellos más comunes y que usamos más a menudo, por tanto ni es exhaustivo ni mucho menos completo. Sobre este tutorial (como en la mayoría de los que constan en estas páginas), nuestra modesta opinión, es que cada cual debe confeccionarse el suyo con su propio estilo y sintaxis. Y recuerda: Cada maestrillo tiene su librillo.
Nota.- Algunos no son propiamente comandos sinó aplicaciones que deben ser instaladasCOMANDOS
COMANDOS
apropos Busca utilidades relacionadas con lo especificado.
$ apropos jpeg
arp Supervisa la tabla ip y MAC.
$ arp -n
blkid Muestra uuid de cada partición y el tipo de formato
cal Muestra el calendario del mes
$ cal -y (muestra todos los meses del año)
cat Verter en consola información sobre lo solicitado:
$ cat /proc/cpuinfo informacion del procesador
$ cat /proc/version version del nucleo y compilador empleado
$ cat /var/log/debug | less inf del sistema
$ cat /var/log/user.log | less inf del usuario
$ cat /var/log/messages | less mensajes del sistema
$ cat /var/log/syslog | less registro de actividad
$ cat /var/log/auth.log | less accesos al sistema
$ cat /proc/meminfo inf sobre la memoria
$ cat /proc/devices inf sobre los dispositivos en uso
$ cat /proc/mounts inf de las particiones y recursos montados
$ cat /proc/filesystems los filesystems habilitados en el kernel
cd Moverse a un directorio
$ cd entra al directorio /home estes donde estes.
$ cd / entra al direcotorio raiz estes donde estes.
$ cd .. baja un directorio.
cp Copiar archivos
$ cp -R Copia archivos y directorios
$ cp -i Pide confirmacion antes de sobreescribir
$ cp -f Borra el archivo de destinos sin preguntar
chmod Cambiar permisos
$ chmod ugo+rwx -R /home/usuario/directorio (todos los permisos a todos los usuarios sobre el directorio y subdirectorios)
chroot Situarte virtualmente donde le indicas
# chroot /media/sda3 (Como si estuvieras en la particion sda3)
deborphan Visualizar paquetes huerfanos
$ deborphan –guess-all (Los muestra todos)
# apt-get remove $(deborphan –guess-all) (borra todos los mostrados)
df Mostrar espacio libre y usado de las particiones
$ df -h (los resultados en M y G, por defecto son en bytes)
$ df -a (de todas las particiones incluso las de 0 bloques)
$ df -t vfat (de las particiones especificadas, en el caso las vfat
$ df -T (de todas las particiones y el tipo)
diff Mostrar diferencias entre dos directorios o ficheros
$ diff -r archivo1 archivo2
$ diff -w fichero1 fichero2 (Descarta espacios en blanco)
$ diff -q fichero1 fichero2 (Informa si los ficheros difieren sin detalles)
$ diff -y fichero1 fichero2 (Muestra la salida a dos columnas)
dmesg Imprimir en pantalla los últimos mensajes del kernel
$ dmesg | grep -i ‘error’ ( lista los errores del kernel)
$ dmesg | grep hd ( inf sobre dispositivos IDE.)
dontzap Activa CRTL+ALT+Retroceso para reiniciar las X
dontzap -d Lo activa
dontzap -e Lo desactiva
du Mostrar el espacio usado por los directorios
$ du -a (Para todos los ficheros, no solo los directorios)
$ du -h (Da los resultados en M y G, por defecto son en bytes)
$ du -s (Muestra los totales del directorio o archivo especificados)
echo Muestra o incluye algo en un fichero.
# echo deb ftp://ftp.debian.org/debian etch main >> /etc/apt/source.list (añade el repositorio mencionado al archivo sources.list)
Nota.- con un solo “>” pondria la linea especificada borrando todo lo demas.)
fc Mostrar y abrir nuevamente el último archivo abierto
$ fc -l (Mostrar los últimos comandos usados por el usuario)
fdisk Listar las tablas de las particiones
$ fdisk -l (Lista las particiones de todos los discos)
$ fdisk -l /dev/hda (lista las del disco especificado)
find Buscar archivos o directorios
$ find / -iname archivo Busca en / archivo sin distinguir minusculas y mayusculas.
$ find /home -name *.png -print Buscará en /home todos los archivos “.png” y mostrará la ruta
free Listar la memoria RAM y swap utilizada y disponible.
ftff Busca archivos o directorios (paquete whichman)
$ ftff -t2 logfile.txt (busca logfile con dos errores en el nombre. permite *)
fsck Reparar/chequear/formatear una partición no montada
# fsck -fy /dev/hda1
# fsck.ext2 -vpf /dev/hda1 (Repara una partición ext2)
# fsck.ext3 -vpf /dev/hda1 (Repara una partición ext3)
# fsck.vfat /dev/hda1 (formatear a fat 32)
# fsck.msdos /dev/hda1 (formatear a fat 16)
fuser Cerrar particiones rebeldes, aplicaciones que corren en un puerto…
$ fuser -km /media/sda6 (luego desmontarla normal con umount)
$ fuser -n tcp 3389 (indica PID que corre en el puerto 3389)
hddtemp Indica la temperatura del disco especificado
$ hddtemp /dev/sda
history Lista los 500 últimos comandos utilizados por el usuario
$ history 20 (Lista los últimos 20)
$ history -c (Elimina el historial)
host Determina la ip de un nombre o el nombre de una ip
$ host -v -a telefonica.com
hostname Mostrar el nombre de …
$ hostname -a (el alias de la maquina)
$ hostname -i (la IP del ordenador)
$ hostname -s (el nombre de la maquina)
ifdown Deshabilita la interfase especificada:
$ ifdown eth0
ifup Habilita la interfase especificada:
$ ifup eth0.
init Para o reinicia el sistema
$ init 0 (para)
$ init 1 (reinicia en modo uniusuario)
$ init 6 (reinicia)
kill Para matar procesos
$ kill -0 (mata todos los procesos de la shell)
$ kill -9 pid (mata el proceso indicado con el número PID)
$ kill -KILL pid (más agresivo)
$ kill -HUP pid (reinicia el servicio indicado en PID)
$ kill -TERM pid (muy agresivo)
$ xkill (el puntero se convierte en calavera y mata el proceso sobre el que se clique)
killall Mata el proceso la plicación especificada
$ killall scribus
last muestra información sobre las conexiones y desconexiones al sistema.
$ last -n 10 (Muestra los últimos 10 eventos. )
$ last reboot (la útima vez que se reinició)
lastlog Ver el momento exacto que los usuarios han entrado por última vez
$ lastlog -u usuario (solo ver a “usuario”)
ldd Para conocer las librerias que usa una aplicación.
$ ldd /usr/bin/amarok
less Pagina la visualización de un fichero especificado permitiendo subir con el cursor
$ cat /etc/apt/sources.list | less
ln Enlazar achivos
$ ln -s /home/ct/videos /home/Desktop/videos (Crea un enlace a videos en Desktop)
$ ln -f (Borra los ficheros de destino si ya existen)
$ ln -i (Pregunta antes de borrar ficheros de destino existentes)
locate Buscar archivos (como find pero mas rapido)
$ locate parida.txt
lp Información sobre trabajos de impresión
$ lpq (muestra los trabajos pendientes y les asigna un número)
$ lprm 5 (borra el trabajo pendiente de impresión con el “núm” especificado)
$ lpr -P HP-1110 /etc/fstab (imprime el fstab)
lpstat Informacion sobre impresoras.
$ lpstat -a (muestra las impresoras)
$ lpstat -v (indicando ubicación)
ls Listar archivos de un directorio.
$ ls -i (Muestra todos los archivos no ocultos)
$ ls -a (Muestra todos los archivos, incluso los ocultos)
$ ls -l (Muestra permisos i propietarios)
$ ls -L (En los enlaces, se muestra el archivo al que apuntan)
$ ls -l PID (Muestra qué está corriendo con el PID especificado)
$ ls -alL /home/ct/videos
lsb_release -a Muestra nombre y código del sistema operativo
lshw Muestra información de toda la máquina
lsmod Listar todos los módulos cargados del kernel, y alguna información adicional de ellos
lsof Listar ficheros o procesos abiertos
$ lsof -c prog (lista los abiertos por “prog”)
$ lsof -i :4662 (lista los que esten usando el puerto 4662 aunque esten a la escucha)
lspci Para averiguar todos los dispositivos pci
lsusb Ver los puertos USB y los dispositivos conectados
md5sum (como tuberia) para encriptar una palabra o frase.
$ echo “palabra_a_encriptar” | md5sum
mkdir Crear directorios
$ mkdir -p (Crea el directorio y todos los subdirectorios especificados.)
$ mkdir -m=rwx (Especifica los permisos del directorio que se crea)
$ mkdir -p -m=x /home/ct/videos/res/tot (creará los nuevos directorios “videos”, “res” i “tot” y dará permisos de ejecución (x) al usuario ct)
mkfs Formatear particiones
$ mkfs -t ext3 /dev/sda4 (Formatea a ext3 la particion indicada)
$ mkfs.ext3 /dev/sda7 (otro modo de indicar el comando)
more Pagina el fichero que se especifique,.
$ cat /etc/apt/sources.list | more
mount Montaje de particiones
# mount -t ext3 (Lista los sistemas ext3 de ficheros montados)
# mount -a (Monta todo lo que contengan la expresion “auto” en el /etc/fstab)
# mount -s (Tolera opciones de montaje medio malas en vez de fallar)
# mount -o loop imagen.iso /directorio (Montar una iso en un dir)
# mount -t vfat /dev/sdf /media/disk -o force (Forzar montage)
netstat Puertos y conexiones.
# netstat -napt (Saber los puertos abiertos de nuestro sistema y los servicios que corren)
passwd Cambiar contraseñas
# passwd -f usuario (Cambia por completo los datos del usuario)
# passwd -l root (Desactiva la contraseña root)
# passwd usuario (Solicita la contraseña de usuario y la restablece)
pidof muestra el Pid del programa si este corre (necesario para lanzar kill)
$ pidof firefox
ping Para saber si existe conexión con un host
$ ping ip
$ ping www.google.com
printenv Para saber todas las variables de entorno
ps Informa sobre el estado de los procesos
$ ps u (Muestra el usuario y la hora de inicio de los ultimos procesos ejecutados)
$ ps r (Muestra solo los procesos que se estan ejecutando)
$ ps x (Muestra incluso los procesos que no estan controlados por ninguna terminal)
$ ps S (Muestra tiempo de CPU y fallos de los procesos hijos)
pstree Para ver el árbol de procesos
$ pstree -al (verlo con cada uno de sus hilos de ejecución)
python -m SimpleHTTPServer Abre un servidor web en la carpeta actual. Para visualizarla desde un ordenador de la red local en el navegador con http://ip_local:8000)
pwd Mostrar el directorio actual.
pwgen Genera claves aleatoriamente
$ pwgen -B (ambiguas)
$ pwgen -c (incluir mayusculas)
$ pwgen -n (incluir números)
rcconf Parar/arrancar procesos durante el inicio
$ rcconf -now
rm Borrar archivos
$ rm -R (Borra directorios y los subdirectorios)
$ rm -i (Pide confirmación antes de borrar)
$ rm -f (Fuerza eliminación incluso si existen ficheros que no existen)
route Para saber la IP del router
$ route -n
runlevel conocer el nivel de ejecución del sistema (gráfico, monousuario…)
script Copia en un fichero toda la actividad tecleada en consola hasta cesar con “exit”
$ script -a fichero.txt
Secure-Delete Aplicación para eliminar de forma segura datos de disco
srm (Elimina de forma segura archivos o directorios en el disco)
$ srm archivo.txt
$ srm -r dir_a_eliminar
smem (Borrado de los rastros de datos de la memoria del ordenador)
$ smem
sfill (Borrado de todos los rastros de datos del espacio libre del disco)
$ sfill
sswap (Borrado de swap. previamente desactivar con swapoff /dev/sda7)
$ sswap /dev/sda7 (activar nuevamente la swap con swapon /dev/sda7)
shred Borrar de forma segura espacios de disco
$ shred -fuv archivo (Borra archivo y sobreescribe su espacio 25 veces)
$ shred -fuv -n 50 archivo (Lo mismo pero 50 veces)
Tambien puede usarse dd:
$ dd if=/dev/zero of=/dev/hda (escribe ceros en todo el disco)
$ dd if=/dev/urandom of=/dev/hda (llena el disco de números aleatorios)
shutdown Apagar/reiniciar la máquina
$ shutdown -h now (apagar)
$ shutdown -r now (reiniciar)
strings Analizar la memoria o una particion
$ strings /dev/mem
$ strings /dev/sda5
source Recarga el archivo de configuración indicado para aplicar cambios.
$ source .bashrc
su Cambiar de usuario
$ su -m (Cambia de root -#- a usuario normal -$-)
Nota Tambien puede hacerse tecleando “exit”
tail Mostrar las ultimas lineas de un fichero
$ tail -f /var/log/apache2/access.log
top información sobre el estatus del sistema, procesos, uso del procesador, memoria etc… en ejecucion
type Buscar la ubicación del ejecutable e informar si el comando es un alias.
$ type mplayer
uname Informa de la …
$ uname -a (… versión instalada del kernel)
$ uname -m (… arquitectura de la máquina)
umount Desmontar particiones
$ umount -a (Desmonta todas las especificadas en /etc/mtab)
$ umount -r (Si falla el desmontaje, intenta remontar como “solo lectura”)
$ umount -t vfat,ext3 (Solo desmonta los tipos especificados)
$ umount -fl (fuerza el desmonte de la particion)
userdel Borrar usuarios
# userdel usuario
useradd Añadir usuarios
# useradd -m usuario
vol_id Mostrar tipo de fichero y uuid de una partición
# vol_id –export /dev/sda2
# vol_id –uuid /dev/sda2 (solo muestra el uuid)
vrms Para saber los paquetes non-free instalados
whereis Para encontrar donde se ha instalado un programa, su manual, …
$ whereis firefox
which Para encontrar el ejecutable si está en el path
$ which firefox
whois Conocer los datos del registro de un dominio
$ whois todo-linux.com (nombre del dominio sin las www)
ANEXO
Comodines:
* cualquier caracter o cadena de caracteres
$ find /home/usuario -iname text*
? un solo caracter
$ find /home/usuario -iname text?.txt
[ ] Cualquier caracter que este dentro de los corchetes [a-g] , [12-32]
$ find /home/usuario iname text[m-t].txt
Tuberias:
comando1 | comando2 – el resultado de comando1 se utiliza para comando2
$ dmesg (montón de datos)
$ dmesg | grep ‘error’ (solo los que den “error”)
comando1 & comando2 – los comando se ejecutan simultáneamente, pero comando1 se ejecuta en segundo plano (background)
$ sudo firestarter & ifconfig
[1] 16572 (pid de firestarter en baskground)
eth0 Link encap:Ethernet Hwa…. (ejecución de ifconfig)
Matar el proceso de forma clásica (# kill -9 16572)
comando1 && comando2 – si comando1 funciona se ejecuta comando2
Probar la diferencia con los ejemplos anterior y posterior
substituyendo los caracteres.
comando1 || comando2 – comando2 se ejecuta solamente si comando1 falla
$ sudo filestarmer || ifconfig
filestarmer: command not found (error por tanto …)
eth0 Link encap:Ethe …. (… se ejecuta ifconfig)
$ ls || ifconfig (solo ejecutará ls)
comando1; comando2 – comando2 se ejecuta despues de comando1
$ ls; ifconfig; filestarmer; who