Comandos básicos

Navegación en directorios

  • cd /var/log cambia al directorio /var/log
  • cd cambia al directorio $HOME
  • cd .. retrocede un nivel
  • cd ../.. retrocede dos niveles
  • cd - regresa al directorio anterior
  • pwd muestra el camino del directorio actual
  • ls lista las entradas del directorio actual
  • ls -F lista las entradas añadiendo un indicador de tipo a cada una
  • ls -la lista detallada (-l) incluyendo entradas ocultas (-a) que empiezan por .
  • ls -la | grep cadena lista las entradas que contienen cadena
  • ls *[0-9]* lista las entradas que contienen números
  • tree muestra los ficheros y carpetas en forma de árbol (1)
  • lstree muestra los ficheros y carpetas en forma de árbol (2)

Apagar el sistema

  • shutdown -h now
  • init 0
  • telinit 0
  • halt

También se puede programar:

  • shutdown -h 20:15 & planifica el apagado del sistema a las 8:15pm
  • shutdown -c cancela un apagado planificado del sistema

Reiniciar el sistema

  • shutdown -r now
  • reboot

Cerrar la sesión

  • logout

Sistema de ficheros y uso del disco

Ficheros y directorios

  • mkdir dir1 crea un directorio con nombre dir1
  • mkdir dir1 dir2 crea dos directorios simultáneamente
  • mkdir -p /tmp/dir1/dir2 crea un árbol de directorios
  • rm -f file1 borra el fichero llamado file1
  • rmdir dir1 borra el directorio llamado dir1
  • rm -rf dir1 elimina el directorio dir1 con su contenido de forma recursiva
  • rm -rf dir1 dir2 borra dos directorios con su contenido de forma recursiva
  • mv dir1 new_dir renombra o mueve un fichero o directorio
  • cp file1 copia un fichero
  • cp file1 file2 copia dos ficheros al unísono
  • cp dir /* . copia todos los ficheros de un directorio dentro del directorio de trabajo actual
  • cp -a /tmp/dir1 . copia un directorio dentro del directorio actual de trabajo
  • cp -a dir1 copia un directorio
  • cp -a dir1 dir2 copia dos directorio al unísono
  • ln -s file1 lnk1 crea un enlace simbólico al fichero o directorio
  • ln file1 lnk1 crea un enlace físico al fichero o directorio
  • touch -t 0712250000 file1 modifica el tiempo real (tiempo de creación) de un fichero o directorio
  • file file1 salida (volcado en pantalla) del tipo mime de un fichero texto
  • iconv -l listas de cifrados conocidos
  • iconv -f fromEncoding -t toEncoding inputFile > outputFile crea una nueva forma del fichero de entrada asumiendo que está codificado en fromEncoding y convirtiéndolo a ToEncoding
  • find . -maxdepth 1 -name *.jpg -print -exec convert ”{}” -resize 80×60 “thumbs/{}” \; agrupa ficheros redimensionados en el directorio actual y enviarlos a directorios en vistas de miniaturas (requiere convertir desde ImagemagicK)

Encontrar ficheros

  • find / -name file1 busca fichero y directorio a partir de la raíz del sistema
  • find / -user usuario1 busca ficheros y directorios pertenecientes al usuario usuario1
  • find /home/usuario1 -name \*.bin busca ficheros con extensión .bin dentro del directorio /home/usuario1
  • find /usr/bin -type f -atime +100 busca ficheros binarios no usados en los últimos 100 días
  • find /usr/bin -type f -mtime -10 busca ficheros creados o cambiados dentro de los últimos 10 días
  • find / -name \*.rpm -exec chmod 755 ‘{}’ \; busca ficheros con extensión .rpm y modifica sus permisos
  • find / -xdev -name \*.rpm busca ficheros con extensión .rpm ignorando los dispositivos removibles como cdrom, pen-drive, etc.…
  • locate \*.ps encuentra ficheros con extensión .ps ejecutados primeramente con el command updatedb
  • whereis halt muestra la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando halt
  • which halt muestra el camino a un binario/ejecutable

Montar un sistema de ficheros

  • mount /dev/hda2 /mnt/hda2 monta un disco llamado hda2. Verifique primero la existencia del directorio /mnt/hda2; si no está, debe crearlo
  • umount /dev/hda2 desmonta un disco llamado hda2. Salir primero desde el punto /mnt/hda2
  • fuser -km /mnt/hda2 fuerza el desmontaje cuando el dispositivo está ocupado
  • umount -n /mnt/hda2 corre el desmontaje sin leer el fichero /etc/mtab. Útil cuando el fichero es de solo lectura o el disco duro está lleno
  • mount /dev/cdrom /mnt/cdrom monta un cdrom / dvdrom
  • mount /dev/hdc /mnt/cdrecorder monta un cd regrabable o un dvdrom
  • mount /dev/hdb /mnt/cdrecorder monta un cd regrabable / dvdrom (un dvd)
  • mount -o loop file.iso /mnt/cdrom monta un fichero o una imagen iso
  • mount -t vfat /dev/hda5 /mnt/hda5 monta un sistema de ficheros FAT32
  • mount /dev/sda1 /mnt/usbdisk monta un usb pen-drive o una memoria (sin especificar el tipo de sistema de ficheros)

Análisis del sistema de ficheros

  • badblocks -v /dev/hda1 comprueba los bloques defectuosos en el disco hda1
  • fsck /dev/hda1 repara / comprueba la integridad del fichero del sistema Linux en el disco hda1
  • fsck.ext2 /dev/hda1 repara / comprueba la integridad del fichero del sistema ext 2 en el disco hda1
  • e2fsck /dev/hda1 repara / comprueba la integridad del fichero del sistema ext 2 en el disco hda1
  • e2fsck -j /dev/hda1 repara / comprueba la integridad del fichero del sistema ext 3 en el disco hda1
  • fsck.ext3 /dev/hda1 repara / comprueba la integridad del fichero del sistema ext 3 en el disco hda1
  • fsck.vfat /dev/hda1 repara / comprueba la integridad del fichero sistema fat en el disco hda1
  • fsck.msdos /dev/hda1 repara / comprueba la integridad de un fichero del sistema dos en el disco hda1
  • dosfsck /dev/hda1 repara / comprueba la integridad de un fichero del sistema dos en el disco hda1

Espacio de disco

  • df -h muestra una lista de las particiones montadas
  • ls -lSr | more muestra el tamaño de los ficheros y directorios ordenados por tamaño
  • du -sh dir1 estima el espacio usado por el directorio dir1
  • du -sk * | sort -rn muestra el tamaño de los ficheros y directorios ordenados por tamaño
  • rpm -q -a –qf '%10{SIZE}t%{NAME}n' | sort -k1,1n muestra el espacio usado por los paquetes rpm instalados organizados por tamaño (Fedora, Redhat y otros)
  • dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n muestra el espacio usado por los paquetes instalados, organizados por tamaño (Ubuntu, Debian y otros)

Permisos en ficheros

  • ls -lh muestra permisos
  • ls /tmp | pr -T5 -W$COLUMNS divide la terminal en 5 columnas
  • chmod ugo+rwx directory1 pone permisos de lectura (r), escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio ‘directory1’
  • chmod go-rwx directory1 quita permisos de lectura (r), escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio ‘directory1’
  • chown user1 file1 cambia el propietario de un fichero
  • chown -R user1 directory1 cambia el propietario de un directorio y de todos los ficheros y directorios contenidos dentro
  • chgrp group1 file1 cambia grupo de ficheros
  • chown user1:group1 file1 cambia usuario y el grupo propietario de un fichero
  • find / -perm -u+s visualiza todos los ficheros del sistema con SUID configurado
  • chmod u+s /bin/file1 coloca el bit SUID en un fichero binario. El usuario que corriendo ese fichero adquiere los mismos privilegios como dueño
  • chmod u-s /bin/file1 deshabilita el bit SUID en un fichero binario
  • chmod g+s /home/public coloca un bit SGID en un directorio –similar al SUID pero por directorio
  • chmod g-s /home/public desabilita un bit SGID en un directorio
  • chmod o+t /home/public coloca un bit STICKY en un directorio. Permite el borrado de ficheros solamente a los dueños legítimos
  • chmod o-t /home/public desabilita un bit STICKY en un directorio

Atributos especiales en ficheros

  • chattr +a file1 permite escribir abriendo un fichero solamente modo append
  • chattr +c file1 permite que un fichero sea comprimido / descomprimido automaticamente
  • chattr +d file1 asegura que el programa ignore borrar los ficheros durante la copia de seguridad
  • chattr +i file1 convierte el fichero en invariable, por lo que no puede ser eliminado, alterado, renombrado, ni enlazado
  • chattr +s file1 permite que un fichero sea borrado de forma segura
  • chattr +S file1 asegura que un fichero sea modificado, los cambios son escritos en modo synchronous como con sync
  • chattr +u file1 permite recuperar el contenido de un fichero aún si este está cancelado
  • lsattr muestra atributos especiales

Formatear un sistema de ficheros

  • mkfs /dev/hda1 crea un fichero de sistema tipo Linux en la partición hda1
  • mke2fs /dev/hda1 crea un fichero de sistema tipo Linux ext 2 en hda1
  • mke2fs -j /dev/hda1 crea un fichero de sistema tipo Linux ext3 (periódico) en la partición hda1
  • mkfs -t vfat 32 -F /dev/hda1 crea un fichero de sistema FAT32 en hda1
  • fdformat -n /dev/fd0 formatea un disco flooply
  • mkswap /dev/hda3 crea un fichero de sistema swap

Volúmenes lógicos

LVM (Logical Volume Manager o Gestor de Volúmenes Lógicos) añade una capa de abstracción entre los dispositivos de almacenamiento y los sistemas de ficheros.

Se compone de volúmenes físicos (Physical Volumes o PV, son los dispositivos de almacenamiento, como un disco duro, una partición, una tarjeta SD, un dispositivo RAID o un dispositivo cifrado); grupo de volúmenes (Volume Group o VG, agrupa uno o más PV y puede crecer simplemente añadiendo nuevos PV); y volúmenes lógicos (Logical Volumes o LV, utiliza los PV del VG como una única partición tradicional, visible y conteniendo un sistema de ficheros como /home).

  • Inicializa dos particiones de disco (PV):
    $ dd if=/dev/zero of=/dev/sda bs=1k count=1
    $ dd if=/dev/zero of=/dev/sdb bs=1k count=1
    $ pvcreate /dev/sda
    Physical volume "/dev/sda" successfully created
    $ pvcreate /dev/sdb
    Physical volume "/dev/sdb" successfully created
  • Crea el grupo lógico (VG) vg_grupo con las dos particiones:
    $ vgcreate vg_grupo /dev/sda /dev/sdb
    Volume group "vg_grupo" successfully created
  • Crea el volumen lógico (LV) lv1_volumen:
    $ lvcreate -L1G -n lv1_volumen vg_grupo
    lvcreate -- doing automatic backup of "vg_grupo"
    lvcreate -- logical volume "/dev/vg_grupo/lv1_volumen" successfully created
  • Crea un sistema de ficheros (JFS en este ejemplo) con el LV recién creado y lo monta:
    $ mkfs.jfs /dev/vg_grupo/lv1_volumen
    $ mount -t jfs /dev/vg_grupo/lv1_volumen /mnt/volumen
  • Actualizar /etc/fstab para hacer permanentes los cambios:
    $ vi /etc/fstab
    /dev/vg_grupo/lv1_volumen /mnt/volumen jfs defaults 0 0
    :wq!
  • vgscan analiza dispositivos de bloque LVM admitidos en el sistema en busca de VG
  • vgscan --mknodes además comprueba /dev para crear (si no existen) o eliminar (si no son necesarios) los archivos especiales para activar los LV
  • vgchange -ay vg_grupo activa los LV del VG vg_grupo (si no se indica ningún grupo se activan todos los LV) 
  • lvs muestra información de los volúmenes lógicos (1)
  • lvdisplay muestra información de los volúmenes lógicos (2)
  • mount /dev/vg_grupo/lv_volumen /mnt/grupo/volumen monta un volumen lógico de un grupo de volúmenes en /mnt/grupo/volumen

El área de intercambio (swap)

  • mkswap /dev/hda3 crea fichero de sistema swap
  • swapon /dev/hda3 activa una nueva partición swap
  • swapon /dev/hda2 /dev/hdb3 activa dos particiones swap

Redes

LAN y WiFi

  • ifconfig eth0 muestra la configuración de una tarjeta de red Ethernet
  • ifup eth0 activa una interface ‘eth0’
  • ifdown eth0 deshabilita una interface ‘eth0’
  • ifconfig eth0 192.168.1.1 netmask 255.255.255.0 configura una dirección IP
  • ifconfig eth0 promisc configura ‘eth0’en modo común para obtener los paquetes (sniffing)
  • dhclient eth0 activa la interface ‘eth0’ en modo dhcp
  • route -n muestra mesa de recorrido
  • route add -net 0/0 gw IP_Gateway configura entrada predeterminada
  • route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configura ruta estática para buscar la red ‘192.168.0.0/16’
  • route del 0/0 gw IP_gateway elimina la ruta estática
  • echo “1” > /proc/sys/net/ipv4/ip_forward activa el recorrido ip
  • hostname muestra el nombre del host del sistema
  • host www.example.com busca el nombre del host para resolver el nombre a una dirección ip(1)
  • nslookup www.example.com busca el nombre del host para resolver el nombre a una direccióm ip y viceversa(2)
  • ip link show muestra el estado de enlace de todas las interfaces
  • mii-tool eth0 muestra el estado de enlace de ‘eth0’
  • ethtool eth0 muestra las estadísticas de tarjeta de red ‘eth0’
  • netstat -tup muestra todas las conexiones de red activas y sus PID
  • netstat -tupl muestra todos los servicios de escucha de red en el sistema y sus PID
  • tcpdump tcp port 80 muestra todo el tráfico HTTP
  • iwlist scan muestra las redes inalámbricas
  • iwconfig eth1 muestra la configuración de una tarjeta de red inalámbrica
  • whois www.example.com busca en base de datos Whois

SAMBA, redes de Microsoft Windows

  • nbtscan ip_addr resolución de nombre de red bios
  • nmblookup -A ip_addr resolución de nombre de red bios
  • smbclient -L ip_addr/hostname muestra acciones remotas de un host en windows

Tablas IP (cortafuegos)

  • iptables -t filter -L muestra todas las cadenas de la tabla de filtro
  • iptables -t nat -L muestra todas las cadenas de la tabla nat
  • iptables -t filter -F limpia todas las reglas de la tabla de filtro
  • iptables -t nat -F limpia todas las reglas de la tabla nat
  • iptables -t filter -X borra cualquier cadena creada por el usuario
  • iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT permite las conexiones telnet para entrar
  • iptables -t filter -A OUTPUT -p tcp –dport http -j DROP bloquea las conexiones HTTP para salir
  • iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT permite las conexiones POP a una cadena delantera
  • iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT” registra una cadena de entrada
  • iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE configura un PAT (Puerto de traducción de dirección) en eth0, ocultando los paquetes de salida forzada
  • iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 redirecciona los paquetes dirigidos de un host a otro

Administración del sistema

Información del sistema

  • arch muestra la arquitectura de la máquina (1)
  • uname -m muestra la arquitectura de la máquina (2)
  • uname -r muestra la versión del kernel (1)
  • cat /proc/version muestra la versión del kernel (2)
  • dmidecode -q muestra los componentes (hardware) del sistema
  • hdparm -i /dev/hda muestra las características de un disco duro
  • hdparm -tT /dev/sda realiza prueba de lectura en un disco duro
  • cat /proc/cpuinfo muestra información de la CPU
  • cat /proc/interrupts muestra las interrupciones
  • cat /proc/meminfo verifica el uso de memoria
  • cat /proc/swaps muestra ficheros de intercambio (swap)
  • cat /proc/net/dev muestra adaptadores de red y estadísticas
  • cat /proc/mounts muestra el sistema de ficheros montado
  • lspci -tv muestra los dispositivos PCI
  • lsusb -tv muestra los dispositivos USB
  • date muestra la fecha del sistema
  • cal 2019 muestra el almanaque de 2019
  • cal 07 2019 muestra el almanaque para el mes julio de 2019
  • date 041217002011.00 ajusta fecha y hora
  • clock -w guarda los cambios de fecha en la BIOS

Usuarios y grupos

  • groupadd nombre_grupo crea un nuevo grupo
  • groupdel nombre_grupo borra un grupo
  • groupmod -n nuevo_nombre_grupo anterior_nombre_grupo renombra un grupo
  • useradd -c "Nombre Apellidos" -g admin -d /home/nombre_usuario -s /bin/bash nombre_usuario crea un nuevo usuario perteneciente al grupo admin
  • useradd nombre_usuario crea un nuevo usuario
  • userdel -r nombre_usuario borra un usuario (-r elimina el directorio home)
  • usermod -c "Usuario FTP" -g system -d /ftp/nombre_usuario -s /bin/nologin nombre_usuario cambia los atributos del usuario
  • passwd cambia la contraseña
  • passwd nombre_usuario cambia la contraseña de un usuario (sólo por root)
  • chage -E 2020-12-31 nombre_usuario pone plazo a la contraseña de un usuario (en el ejemplo la contraseña expira el 31 de diciembre de 2020)
  • pwck comprueba la sintaxis y el formato del fichero /etc/passwd y la existencia de usuarios
  • grpck comprueba la sintaxis y el formato del fichero /etc/group y la existencia de grupos
  • newgrp nombre_grupo registra un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente

Monitorización y depuración

  • top muestra las tareas de linux usando la mayoría cpu
  • ps -eafw muestra las tareas Linux
  • ps -e -o pid,args –forest muestra las tareas Linux en un modo jerárquico
  • pstree muestra un árbol sistema de procesos
  • kill -9 ID_Processo fuerza el cierre de un proceso y terminarlo
  • kill -1 ID_Processo fuerza un proceso para recargar la configuración
  • lsof -p $$ muestra una lista de ficheros abiertos por procesos
  • lsof /home/user1 muestra una lista de ficheros abiertos en un camino dado del sistema
  • strace -c ls >/dev/null muestra las llamadas del sistema hechas y recibidas por un proceso
  • strace -f -e open ls >/dev/null muestra las llamadas a la biblioteca
  • watch -n1 ‘cat /proc/interrupts’ muestra interrupciones en tiempo real
  • last reboot muestra historial de reinicio
  • lsmod muestra el kernel cargado
  • free -m muestra el estado de la RAM en megabytes
  • smartctl -A /dev/hda monitoriza la fiabilidad de un disco duro a través de SMART
  • smartctl -i /dev/hda comprueba si SMART está activado en un disco duro
  • tail /var/log/dmesg muestra eventos inherentes al proceso de carga del kernel
  • tail /var/log/messages muestra los eventos del sistema

Instalar en Debian, Ubuntu y derivados

Actualizador de paquetes APT

  • apt-get install package_name instala / actualiza un paquete deb
  • apt-cdrom install package_name instala / actualiza un paquete deb desde un cdrom
  • apt-get update actualiza la lista de paquetes
  • apt-get upgrade actualiza todos los paquetes instalados
  • apt-get remove package_name elimina un paquete deb del sistema
  • apt-get check verifica la correcta resolución de las dependencias
  • apt-get clean limpia cache desde los paquetes descargados
  • apt-cache search searched-package retorna lista de paquetes que corresponde a la serie «paquetes buscados»

Gestión de paquetes Deb

  • dpkg -i package.deb instala / actualiza un paquete deb
  • dpkg -r package_name elimina un paquete deb del sistema
  • dpkg -l muestra todos los paquetes deb instalados en el sistema
  • dpkg -l | grep httpd muestra todos los paquetes deb con el nombre httpd
  • dpkg -s package_name obtiene información en un paquete específico instalado en el sistema
  • dpkg -L package_name muestra lista de ficheros dados por un paquete instalado en el sistema
  • dpkg –contents package.deb muestra lista de ficheros dados por un paquete no instalado todavía
  • dpkg -S /bin/ping verifica a qué paquete pertenece a un fichero dado

Instalar en Red Hat, Fedora y similares

Actualizador de paquetes YUM

  • yum install package_name descarga e instala un paquete rpm
  • yum localinstall package_name.rpm este instalará un RPM y tratará de resolver todas las dependencies para ti, usando tus repositorios
  • yum update package_name.rpm actualiza todos los paquetes rpm instalados en el sistema
  • yum update package_name moderniza / actualiza un paquete rpm
  • yum remove package_name elimina un paquete rpm
  • yum list lista todos los paquetes instalados en el sistema
  • yum search package_name encuentra un paquete en repositorio rpm
  • yum clean packages limpia un caché rpm borrando los paquetes descargados
  • yum clean headers elimina todos los ficheros de encabezamiento que el sistema usa para resolver la dependencia
  • yum clean all elimina desde los paquetes caché y ficheros de encabezado

Gestión de paquetes RPM

  • rpm -ivh package.rpm instala un paquete rpm
  • rpm -ivh –nodeeps package.rpm instala un paquete rpm ignorando las peticiones de dependencias
  • rpm -U package.rpm actualiza un paquete rpm sin cambiar la configuración de los ficheros
  • rpm -F package.rpm actualiza un paquete rpm solamente si este está instalado
  • rpm -e package_name.rpm elimina un paquete rpm
  • rpm -qa muestra todos los paquetes rpm instalados en el sistema
  • rpm -qa | grep httpd muestra todos los paquetes rpm con el nombre “httpd”
  • rpm -qi package_name obtiene información en un paquete específico instalado
  • rpm -qg “System Environment/Daemons” muestra los paquetes rpm de un grupo software
  • rpm -ql package_name muestra lista de ficheros dados por un paquete rpm instalado
  • rpm -qc package_name muestra lista de configuración de ficheros dados por un paquete rpm instalado
  • rpm -q package_name –whatrequires muestra lista de dependencias solicitada para un paquete rpm
  • rpm -q package_name –whatprovides muestra la capacidad dada por un paquete rpm
  • rpm -q package_name –scripts muestra los scripts comenzados durante la instalación /eliminación
  • rpm -q package_name –changelog muestra el historial de revisions de un paquete rpm
  • rpm -qf /etc/httpd/conf/httpd.conf verifica cuál paquete rpm pertenece a un fichero dado
  • rpm -qp package.rpm -l muestra lista de ficheros dados por un paquete rpm que aún no ha sido instalado
  • rpm –import /media/cdrom/RPM-GPG-KEY importa la firma digital de la llave pública
  • rpm –checksig package.rpm verifica la integridad de un paquete rpm
  • rpm -qa gpg-pubkey verifica la integridad de todos los paquetes rpm instalados
  • rpm -V package_name comprueba el tamaño del fichero, licencias, tipos, dueño, grupo, chequeo de resumen de MD5 y última modificación
  • rpm -Va comprueba todos los paquetes rpm instalados en el sistema. Usar con cuidado
  • rpm -Vp package.rpm verifica un paquete rpm no instalado todavía
  • rpm2cpio package.rpm | cpio –extract –make-directories *bin* extrae fichero ejecutable desde un paquete rpm
  • rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm instala un paquete construido desde una fuente rpm
  • rpmbuild –rebuild package_name.src.rpm construye un paquete rpm desde una fuente rpm

Utilidades

Compresión de ficheros

  • bunzip2 file1.bz2 descomprime in fichero llamado ‘file1.bz2’
  • bzip2 file1 comprime un fichero llamado ‘file1’
  • gunzip file1.gz descomprime un fichero llamado ‘file1.gz’
  • gzip file1 comprime un fichero llamado ‘file1’
  • gzip -9 file1 comprime con compresión máxima
  • rar a file1.rar test_file crear un fichero rar llamado ‘file1.rar’
  • rar a file1.rar file1 file2 dir1 comprimir ‘file1’, ‘file2’ y ‘dir1’ simultáneamente
  • rar x file1.rar descomprimir archivo rar
  • unrar x file1.rar descomprimir archivo rar
  • tar -cvf archive.tar file1 crear un tarball descomprimido
  • tar -cvf archive.tar file1 file2 dir1 crear un archivo conteniendo ‘file1’, ‘file2′ y’dir1’
  • tar -tf archive.tar mostrar los contenidos de un archivo
  • tar -xvf archive.tar extraer un tarball
  • tar -xvf archive.tar -C /tmp extraer un tarball en / tmp
  • tar -cvfj archive.tar.bz2 dir1 crear un tarball comprimido dentro de bzip2
  • tar -xvfj archive.tar.bz2 descomprimir un archivo tar comprimido en bzip2
  • tar -cvfz archive.tar.gz dir1 crear un tarball comprimido en gzip
  • tar -xvfz archive.tar.gz descomprimir un archive tar comprimido en gzip
  • zip file1.zip file1 crear un archivo comprimido en zip
  • zip -r file1.zip file1 file2 dir1 comprimir, en zip, varios archivos y directorios de forma simultánea
  • unzip file1.zip descomprimir un archivo zip

Copias de seguridad

  • dump -0aj -f /tmp/home0.bak /home hace una copia completa del directorio ‘/home’
  • dump -1aj -f /tmp/home0.bak /home hace una copia incremental del directorio ‘/home’
  • restore -if /tmp/home0.bak restaura una copia interactivamente
  • rsync -rogpav –delete /home /tmp sincroniza entre directorios
  • rsync -rogpav -e ssh –delete /home ip_address:/tmp rsync a través del túnel SSH
  • rsync -az -e ssh –delete ip_addr:/home/public /home/local sincroniza un directorio local con un directorio remoto a través de ssh y de compresión
  • rsync -az -e ssh –delete /home/local ip_addr:/home/public sincroniza un directorio remoto con un directorio local a través de ssh y de compresión
  • dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ hace una copia de un disco duro en un host remoto a través de ssh
  • dd if=/dev/sda of=/tmp/file1 copia el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero “file1”)
  • tar -Puf backup.tar /home/user hace una copia incremental del directorio ‘/home/user’
  • ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ copia el contenido de un directorio en un directorio remoto a través de ssh
  • ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ copia un directorio local en un directorio remoto a través de ssh
  • tar cf – . | (cd /tmp/backup ; tar xf – ) copia local conservando las licencias y enlaces desde un directorio a otro
  • find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents encuentra y copiar todos los ficheros con extensión ‘.txt’ de un directorio a otro
  • find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 encuentra todos los ficheros con extensión ‘.log’ y hacer un archivo bzip
  • dd if=/dev/hda of=/dev/fd0 bs=512 count=1 hace una copia del MRB (Master Boot Record) a un disco floppy
  • dd if=/dev/fd0 of=/dev/hda bs=512 count=1 restaura la copia del MBR (Master Boot Record) salvada en un floppy

Ver el contenido de un fichero

  • cat file1 ve los contenidos de un fichero comenzando desde la primera hilera
  • tac file1 ve los contenidos de un fichero comenzando desde la última línea
  • more file1 ve el contenido a lo largo de un fichero
  • less file1 parecido al commando ‘more’ pero permite salvar el movimiento en el fichero así como el movimiento hacia atrás
  • head -2 file1 ve las dos primeras líneas de un fichero
  • tail -2 file1 ve las dos últimas líneas de un fichero
  • tail -f /var/log/messages ve en tiempo real qué ha sido añadido al fichero

Manipulación de texto

  • cat file1 file2 .. | command file1_in.txt_or_file1_out.txt sintaxis general para la manipulación de texto utilizando PIPE, STDIN y STDOUT.
  • cat file1 | command( sed, grep, awk, grep, etc…) > result.txt sintaxis general para manipular un texto de un fichero y escribir el resultado en un fichero nuevo
  • cat file1 | command( sed, grep, awk, grep, etc…) » result.txt sintaxis general para manipular un texto de un fichero y añadir resultado en un fichero existente
  • grep Aug /var/log/messages busca palabras “Aug” en el fichero ‘/var/log/messages’
  • grep ^Aug /var/log/messages busca palabras que comienzan con “Aug” en fichero ‘/var/log/messages’
  • grep [0-9] /var/log/messages selecciona todas las líneas del fichero ‘/var/log/messages’ que contienen números
  • grep Aug -R /var/log/* busca la cadena “Aug” en el directorio ‘/var/log’ y debajo
  • sed ‘s/stringa1/stringa2/g’ example.txt reubica “string1” con “string2” en ejemplo.txt
  • sed ‘/^$/d’ example.txt elimina todas las líneas en blanco desde el ejemplo.txt
  • sed ‘/ *#/d; /^$/d’ example.txt elimina comentarios y líneas en blanco de ejemplo.txt
  • echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ convierte minúsculas en mayúsculas
  • sed -e ‘1d’ result.txt elimina la primera línea del fichero ejemplo.txt
  • sed -n ‘/stringa1/p’ visualiza solamente las líneas que contienen la palabra “string1”

Conversión de ficheros

  • dos2unix filedos.txt fileunix.txt convierte un formato de fichero texto desde MSDOS a UNIX
  • unix2dos fileunix.txt filedos.txt convierte un formato de fichero de texto desde UNIX a MSDOS
  • recode ..HTML page.html convierte un fichero de texto en html
  • recode -l | more muestra todas las conversiones de formato disponibles

Uso de la unidad CD/DVD

  • cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force limpia o borra un cd regrabable
  • mkisofs /dev/cdrom > cd.iso crea una imagen iso de cdrom en disco
  • mkisofs /dev/cdrom | gzip > cd_iso.gz crea una imagen comprimida iso de cdrom en disco
  • mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd crea una imagen iso de un directorio
  • cdrecord -v dev=/dev/cdrom cd.iso graba una imagen iso
  • gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom – graba una imagen iso comprimida
  • mount -o loop cd.iso /mnt/iso monta una imagen iso
  • cd-paranoia -B lleva canciones de un cd a ficheros wav
  • cd-paranoia – ”-3” lleva las 3 primeras canciones de un cd a ficheros wav
  • cdrecord –scanbus escanea bus para identificar el canal scsi
  • dd if=/dev/hdc | md5sum hace funcionar un md5sum en un dispositivo, como un CD

Otros comandos útiles

  • apropos …keyword muestra una lista de comandos que pertenecen a las palabras claves de un programa; son útiles cuando tú sabes qué hace tu programa, pero de sconoces el nombre del comando
  • man ping muestra las páginas del manual on-line; por ejemplo, en un comando ping, usar la opción ‘-k’ para encontrar cualquier comando relacionado
  • whatis …keyword muestra la descripción de lo que hace el programa
  • mkbootdisk –device /dev/fd0 `uname -r` crea un floppy boteable
  • gpg -c file1 codifica un fichero con guardia de seguridad GNU
  • gpg file1.gpg decodifica un fichero con Guardia de seguridad GNU
  • wget -r www.example.com descarga un sitio web completo
  • wget -c www.example.com/file.iso descarga un fichero con la posibilidad de parar la descargar y reanudar más tarde
  • echo ‘wget -c www.example.com/files.iso‘ | at 09:00 comienza una descarga a cualquier hora. En este caso empezaría a las 9 horas
  • ldd /usr/bin/ssh muestra las bibliotecas compartidas requeridas por el programa ssh
  • alias hh=’history’ coloca un alias para un commando –hh= Historial
  • chsh cambia el comando Shell
  • chsh –list-shells es un comando adecuado para saber si tienes que hacer remoto en otra terminal
  • who -a muestra quien está registrado, e imprimir hora del último sistema de importación, procesos muertos, procesos de registro de sistema, procesos activos producidos por init, funcionamiento actual y últimos cambios del reloj del sistema
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *