Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Comandos Frecuentes en SSH - BAEHOST Blog

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

BAEHOST WEB HOSTING & CLOUD TUTORIALES NOVEDADES PRENSA " Search

" Search

Ultimas Novedades!
Cómo instalar certi!cados SSL en Nginx con OpenSSL
Cómo generar el CSR en Nginx
Cómo optimizar imágenes en WordPress

SECCIONES DE INTERES
Home / Manuales / Uso de Putty y comandos frecuentes en SSH

Consejos

Uso de Putty y comandos frecuentes en SSH Informacion util

septiembre 9, 2019 – by Baehost.com 0! Manuales

PuTTY es un cliente SSH gratuito de acceso a servidores por medio de Raw, Serial, Telnet, Novedades
Rlogin o SSH. Nos permite conectarnos con otra máquina, de modo remoto o mediante
Prensa
Serial.
Tutoriales
Podemos usar PuTTY para gestionar un servidor o una máquina remota con Linux, y para
ello lo haremos mediante SSH.

Una vez descargado PuTTY (puede hacerse desde su web o!cial) solo hay que ejecutarlo ya
que no requiere instalación, aunque hay un paquete de instalación adicional.

La primera pantalla que se muestra al iniciar el programa es la siguiente:

Servicios Cloud de Baehost.com

La interfaz es muy sencilla. Una vez puesto el nombre del servidor: nombre de dominio o su
IP y el puerto 22, que será por defecto, pulsaremos la tecla Enter:

Backup de archivos en la nube de BAEHOST.com

INFRAESTRUCTURA – TIER III

Infraestructura de Baehost.com

EVENTO EXPOINTERNET 2015

Ahora necesitamos saber los comandos para poder ver directorios o archivos, crearlos, Baehost en ExpoIn…
borrarlos, instalar aplicaciones o actualizar los paquetes del sistema, entre todas las
funciones que tenemos disponibles.

Vamos a actualizar los paquetes del servidor. Lo primero es pulsar “Control + C” para
terminar el proceso anterior y seguidamente escribir otro comando, en este caso “yum
00:00 01:12
update“, aunque este depende de la distribución Linux instalada en el servidor.

La lista de carpetas más habituales en sistemas Linux es: ETIQUETAS – TEMATICA COMUN

/: esta es la raíz. ARGENTINA (14) BACKUP (12)

BAEHOST (195) CERTIFICADOS SSL (15)


/usr: aquí se encuentra la gran mayoría de los archivos existentes en un sistema Linux,
CLOUD SERVER (14) CMS (28)
como documentación, ejecutable, etc.
CORREO ELECTRÓNICO (16)

/bin: aquí están los comandos que pueden usar todos los usuarios (incluido el root). CPANEL (14)

DATACENTER VIRTUAL (19) DNS (12)


/sbin: aquí están los comandos que sólo puede usar el root.
DOMINIO (11) HOSTING (96)

/dev: aqui están todos los dispositivos de nuestra máquina. INFRAESTRUCTURA (16) LINUX (12)

SEGURIDAD (13)
/home: lugar donde se almacenan las cuentas de usuarios. Algo parecido a “mis
documentos” en Windows. SERVIDOR DEDICADO (14) SSL (17)

VPS (44) WINDOWS (11)


/lib: aquí están las librerías que se necesitan para el sistema.
WORDPRESS (19)

/var: contiene información variable, como por ejemplo los logs del sistema (/var/log), correo
local, etc.

/tmp: directorio temporal.

/etc: aquí se encuentran todas las con!guraciones. Si deseás modi!car la con!guración de


Samba, solo hay que editar el archivo de texto /etc/samba/smb.conf

/root: cuenta del administrador.

/boot: aquí está todo lo relacionado con el arranque del sistema.

/media: punto de montaje para sistemas de archivos montados a nivel local.

/mnt: es el predecesor de /media, se lo conserva solo por razones históricas

/proc: sistema de archivos virtual de información de procesos y del kernel.

Podemos acompañar los comandos con el atributo “–help” para que nos indiquen más
detalladamente sus opciones, como por ejemplo “arch –help“.

Comandos más usados:

Información del sistema:

arch → mostrar la arquitectura de la máquina (1).

uname -m → mostrar la arquitectura de la máquina (2).

uname -r → mostrar la versión del kernel usado.

uname -a → mostrar la información completa.

lsb_release -a → mostrar la información completa de la distribución.

cat /etc/issue → mostrar el nombre de la distribución

dmidecode -q → mostrar los componentes (hardware) del sistema.

hdparm -i /dev/hda → mostrar las características de un disco duro.

hdparm -tT /dev/sda → realizar prueba de lectura en un disco duro.

cat /proc/cpuinfo → mostrar información de la CPU.

grep -c ^processor /proc/cpuinfo → mostrar número de procesadores.

cat /proc/interrupts → mostrar las interrupciones.

cat /proc/meminfo → veri!car el uso de memoria.

cat /proc/swaps → mostrar !cheros swap.

cat /proc/version → mostrar la versión del kernel.

cat /proc/net/dev → mostrar adaptadores de red y estadísticas.

cat /proc/mounts → mostrar el sistema de !cheros montado.

lscpu → mostrar información sobre el microprocesador.

lspci -tv → mostrar los dispositivos PCI.

lsusb -tv → mostrar los dispositivos USB.

lshw → listar el hardware.

discover → listar el hardware.

date → mostrar la fecha del sistema.

cal 2011 → mostrar el almanaque de 2011.

cal 07 2011 → mostrar el almanaque para el mes julio de 2011.

date 041217002011.00 → colocar (declarar, ajustar) fecha y hora.

clock -w → guardar los cambios de fecha en la BIOS.

blkid → mostrar información (nombre, etiqueta, UUID, tipo de partición) sobre los
dispositivos de bloque (discos rígidos, etc.)

Apagar, reiniciar o cerrar sesión:

shutdown -h now → apagar el sistema (1).

init 0 → apagar el sistema (2).

telinit 0 → apagar el sistema (3).

halt → apagar el sistema (4).

powero! → apagar sistema (5).

shutdown -h hours:minutes & → apagado plani!cado del sistema.

shutdown -c → cancelar un apagado plani!cado del sistema.

shutdown -r now → reiniciar (1).

reboot → reiniciar (2).

logout → cerrar sesión.

skill nombre_de_usuario → cerrar sesión (2) (es preciso ejecutarlo con permisos root)

exit → salir del intérprete de comandos (si solo hay uno, equivale a cerrar sesión).

Gestionar archivos y directorios:

cd → ir al directorio personal.

cd /home → cambiar al directorio “/home”.

cd .. → retroceder un nivel.

cd ../.. → retroceder 2 niveles.

cd ~user1 → ir al directorio user1.

cd – → ir (regresar) al directorio anterior.

pwd → mostrar el camino del directorio actual.

ls → listar el contenido de un directorio.

ls -F → listar el contenido de un directorio (distinguiendo los directorios con una barra)

ls -a → Nos lista los archivos y directorios dentro del directorio actual, incluyendo los
archivos y directorios ocultos.

ls *[0-9] → listar los !cheros y carpetas que contienen números.

ls -laR | less → listar recursivamente el contenido del directorio actual y todos los
subdirectorios y archivos, incluyendo los ocultos, separados por página.

ls -t →Lista el contenido de un directorio ordenando los archivos por fecha de modi!cación.

ls -X → Lista el contenido de un directorio, ordenando los archivos por extensión.

ls -l → Lista el contenido de un directorio. Muestra toda la información: usuario, grupo,


permisos, tamaño, fecha y hora de creación.

ls -lh →Lista el contenido del directorio mostrando la misma información que ls -l pero con
las unidades de tamaño en KB, MB, etc.

ls -R →Muestra el contenido de todos los subdirectorios de forma recursiva.

ls -S → Lista el contenido de un directrio ordenando los resultados por tamaño de archivo.

tree → mostrar los !cheros y carpetas en forma de árbol comenzando por la raíz.(1)

lstree → mostrar los !cheros y carpetas en forma de árbol comenzando por la raíz.(2)

mkdir dir1 → crear un directorio de nombre ‘dir1’.

mkdir dir1 dir2 → crear dos directorios a la vez (en la ubicación actual).

mkdir -p /tmp/dir1/dir2 → crear una estructura de directorios, si no existe.

rm "le1 → eliminar el archivo ‘!le1’.

rm -f "le1 → eliminar el archivo ‘!le1’ en modo forzado.

rmdir dir1 → borrar el directorio ‘dir1’.

rm -rf dir1 → eliminar recursivamente y en modo forzado el directorio ‘dir1’ con todo lo que
contenga.

rm -rf dir1 dir2 → borrar dos directorios con su contenido de forma recursiva.

mv dir1 new_dir → renombrar o mover un !chero o carpeta (directorio).

cp "le1 destino/ → copiar un !chero al destino elegido.

cp "le1 "le2 destino/ → copiar dos !cheros a un mismo directorio.

cp "le1 "le2 → copiar !le1 en !le2.

cp dir /* . → copiar todos los !cheros de un directorio dentro del directorio de trabajo actual.

cp -a /tmp/dir1 . → copiar un directorio dentro del directorio actual de trabajo.

cp -a dir1 → copiar un directorio.

cp -a dir1 dir2 → copiar dos directorio al unísono.

ln -s "le1 lnk1 → crear un enlace simbólico al !chero o directorio.

ln "le1 lnk1 → crear un enlace físico al !chero o directorio.

touch "le1 → actualizar la fecha de modi!cación de !le1, o crearlo si no existe.

touch -t 0712250000 "le1 → modi!car el tiempo real (tiempo de creación) de un !chero o


directorio.

"le "le1 → salida (volcado en pantalla) del tipo mime de un !chero texto.

iconv -l → listas de cifrados conocidos.

iconv -f fromEncoding -t toEncoding inputFile > outputFile → crea una nueva forma del !chero
de entrada asumiendo que está codi!cado en fromEncoding y convirtiéndolo a ToEncoding.

Encontrar archivos:

"nd / -name "le1 → buscar !chero y directorio a partir de la raíz del sistema.

"nd / -user user1 → buscar !cheros y directorios pertenecientes al usuario “user1”.

"nd /home/user1 -name *.bin → buscar !cheros con extensión ”. bin” dentro del directorio /
home/user1.

"nd /usr/bin -type f -atime +100 → buscar !cheros binarios no usados en los últimos 100 días.

"nd /usr/bin -type f -mtime -10 → buscar !cheros creados o cambiados dentro de los últimos
10 días.

"nd / -name *.rpm -exec chmod 755 ‘{}’ ; → buscar !cheros con extensión ”.rpm” y modi!car
permisos.

"nd . -type f -print0 | xargs -0 chmod 644 → modi!car recursivamente los permisos a todos
los !cheros bajo el directorio actual (2)

"nd / -xdev -name *.rpm → Buscar !cheros con extensión ‘.rpm’ ignorando los dispositivos
removibles como cdrom, pen-drive, etc.

"nd . -maxdepth 1 -name *.jpg -print -exec convert «{}» -resize 80×60 «thumbs/{}» ; → agrupar
!cheros redimensionados en el directorio actual y enviarlos a directorios en vistas de
miniaturas (requiere convertir desde Imagemagick).

"nd /tmp/dir1 -depth -regextype posix-extended -regex ‘.*(s+|:+|\+|>+|<+|»+|*+|?+||+).*’ -


execdir rename ‘s/(s+|:+|\+|>+|<+|”+|*+|?+||+)/_/g’ «{}» ;→ renombrar recursivamente
todos los directorios y !cheros bajo /tmp/dir1, cambiando los espacios y otros caracteres
extraños por guiones bajos.

locate *.ps → encuentra !cheros con extensión ”.ps” ejecutados primeramente con el
command updatedb.

whereis halt → mostrar la ubicación de un !chero binario, de ayuda o fuente. En este caso
pregunta dónde está el comando halt.

which comando → mostrar la ruta completa a un comando.

Montando un sistema de !cheros:

mount /dev/hda2 /mnt/hda2 → montar un disco llamado hda2. Veri!ca primero la existencia
del directorio ‘/ mnt/hda2’; si no está, debes crearlo.

umount /dev/hda2 → desmontar un disco llamado hda2. (Antes es necesario salir del punto
‘/mnt/hda2’).

fuser -km /mnt/hda2 → forzar el desmontaje cuando el dispositivo está ocupado.

umount -n /mnt/hda2 → correr el desmontaje sin leer el !chero /etc/mtab. Útil cuando el
!chero es de solo lectura, o el disco duro está lleno.

mount /dev/fd0 /mnt/$oppy → montar un disco "exible ("oppy).

mount /dev/cdrom /mnt/cdrom → montar un cdrom / dvdrom.

mount /dev/hdc /mnt/cdrecorder → montar un cd regrabable o un dvdrom.

mount /dev/hdb /mnt/cdrecorder → montar un cd regrabable / dvdrom (un dvd).

mount -t udf,iso9660 -o loop "le.iso /mnt/cdrom → montar un !chero de imagen de un medio


óptico (como un CD o DVD en formato ISO).

mount -t vfat /dev/hda5 /mnt/hda5 → montar un sistema de archivos FAT32.

mount -t ntfs-3g /dev/hda5 /mnt/hda5 → montar un sistema de archivos NTFS.

mount /dev/sda1 /mnt/usbdisk → montar un usb pen-drive o una memoria (sin especi!car el
tipo de sistema de archivos).

Espacio en disco:

df -h → mostrar una lista de las particiones montadas. Lista el espacio disponible en el disco.

df -hs →muestra el espacio que ocupan los directorios.

ls -lSr | more → mostrar el tamaño de los !cheros y directorios ordenados por tamaño.

du -sh dir1 → Estimar el espacio usado por el directorio ‘dir1’.

du -sk * | sort -nr → mostrar en orden descendente el tamaño de los !cheros y


subdirectorios en la ubicación actual, en KiB.

du -h –max-depth=1 | sort -nr → mostrar en orden descendente el tamaño de todos los


subdirectorios en la ubicación actual, usando unidades de medida adaptables.

du -k –max-depth=1 | sort -k1 -nr | awk ‘{printf «%.3f GiBt%sn», $1/(1048576), $2}’ | less →
mostrar en orden descendente el tamaño de los directorios y archivos, en GiB.

rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n → mostrar el espacio usado por los paquetes
rpm instalados organizados por tamaño (Fedora, Redhat y otros).

dpkg-query -W -f=’${Package}t${Installed-Size}n’ | sort -k 2 -nr | grep -v deinstall | head -n 25 |


awk ‘{printf «%.3f MBt%sn», $2/(1024), $1}‘ → mostrar (en Debian o distribuciones derivadas)
un listado con los 25 paquetes instalados que más espacio consumen (en orden
descendente).

Usuarios y grupos:

groupadd nombre_del_grupo → crear un nuevo grupo.

groupdel nombre_del_grupo → borrar un grupo.

groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo → renombrar un grupo.

adduser usuario1 → Crear un nuevo usuario, mediante un asistente.

useradd -c «Nombre Apellido» -g admin -d /home/usuario1 -s /bin/bash usuario1 → Crear un


nuevo usuario perteneciente al grupo “admin”.

useradd usuario1 → crear un nuevo usuario.

userdel -r usuario1 → borrar un usuario, eliminando su directorio Home.

usermod -c «Usuario de FTP» -g system -d /ftp/usuario1 -s /sbin/nologin usuario1 → cambiar los


atributos de un usuario.

usermod -aG plugdev,dialout,pip user1 → agregar el usuario user1 a otros grupos existentes,
para incrementar sus permisos (en este caso, agregar la posibilidad de conectar dispositivos,
con!gurar y utilizar el modem)

passwd → cambiar contraseña.

passwd usuario1 → cambiar la contraseña de ‘usuario1’ (solamente ejecutable como


superusuario).

chage -E 2011-12-31 user1 → colocar un plazo para la contraseña del usuario. En este caso
dice que la clave expira el 31 de diciembre de 2011.

pwck → chequear la sintaxis correcta el formato de !chero de ‘/etc/passwd’ y la existencia de


usuarios.

grpck → chequear la sintaxis correcta y el formato del !chero ‘/etc/group’ y la existencia de


grupos.

newgrp grupo1 → registra a un nuevo grupo para cambiar el grupo predeterminado de los
!cheros creados recientemente.

Permisos en !cheros (usar “+” para colocar permisos y “-” para eliminar):

ls -lh → Mostrar permisos.

ls /tmp | pr -T5 -W$COLUMNS → dividir la terminal en 5 columnas.

chmod ugo+rwx directory1 → colocar permisos de lectura, escritura (w) y ejecución(x) al


propietario (u), al grupo (g) y a otros (o) sobre el directorio ‘directory1’.

chmod go-rwx directory1 → quitar permiso de lectura, escritura (w) y (x) ejecución al grupo (g)
y otros (o) sobre el directorio ‘directory1’.

chown user1 "le1 → cambiar el propietario de un !chero.

chown -R user1 directory1 → cambiar el propietario de un directorio y de todos los !cheros y


directorios contenidos dentro.

chgrp group1 "le1 → cambiar grupo de !cheros.

chown user1:group1 "le1 → cambiar usuario y el grupo propietario de un !chero.

"nd / -perm -u+s → visualizar todos los !cheros del sistema con SUID con!gurado.

chmod u+s /bin/"le1 → colocar el bit SUID en un !chero binario. El usuario que ejecuta el
archivo también tiene los mismos permisos que el propietario.

chmod u-s /bin/"le1 → deshabilitar el bit SUID en un !chero binario.

chmod g+s /home/public → colocar un bit SGID en un directorio –similar al SUID pero por
directorio.

chmod g-s /home/public → desabilitar un bit SGID en un directorio.

chmod o+t /home/public → colocar un bit STIKY en un directorio. Permite el borrado de


!cheros solamente a los dueños legítimos.

chmod o-t /home/public → desabilitar un bit STIKY en un directorio.

Atributos especiales en !cheros (usar “+” para colocar permisos y “-” para eliminar):

chattr +a "le1 → permite escribir abriendo un !chero solamente modo append.

chattr +c "le1 → permite que un !chero sea comprimido / descomprimido automaticamente.

chattr +d "le1 → asegura que el programa ignore borrar los !cheros durante la copia de
seguridad.

chattr +i "le1 → convierte el !chero en inmutable o invariable, por lo que no puede ser
eliminado, alterado, renombrado, ni enlazado.

chattr +s "le1 → permite que un !chero sea borrado de forma segura.

chattr +S "le1 → asegura que un !chero sea modi!cado, los cambios son escritos en modo
synchronous como con sync.

chattr +u "le1 → te permite recuperar el contenido de un !chero aún si este está cancelado.

lsattr → mostrar atributos especiales.

Archivos y !cheros comprimidos:

7za a -mx=9 -ms=on -mhe=on -p archivocomprimido directorio1 archivo1 archivo2 → comprimir


un directorio y dos archivos en formato 7zip, con compresión sólida máxima, y protección
por contraseña (la extensión 7z se agrega automáticamente).

7za x archivocomprimido.7z → extraer un archivo comprimido en 7zip (7zip también permite


descomprimir otros formatos, como por ejemplo, zip).

bunzip2 "le1.bz2 → descomprime in !chero llamado ‘!le1.bz2’.

bzip2 "le1 → comprime un !chero llamado ‘!le1’.

gunzip "le1.gz → descomprime un !chero llamado ‘!le1.gz’.

gzip "le1 → comprime un !chero llamado ‘!le1’.

gzip -9 "le1 → comprime con compresión máxima.

rar a "le1.rar test_"le → crear un !chero .rar llamado ‘!le1.rar’.

rar a "le1.rar "le1 "le2 dir1 → comprimir ‘!le1’, ‘!le2’ y ‘dir1’ simultáneamente.

rar x "le1.rar → descomprimir archivo rar.

unrar x "le1.rar → descomprimir archivo rar.

tar -cvf archive.tar "le1 → crear un tarball descomprimido.

tar -cvf archive.tar "le1 "le2 dir1 → crear un archivo conteniendo ‘!le1’, ‘!le2′ y’dir1’.

tar -tf archive.tar → mostrar los contenidos de un archivo.

tar -xvf archive.tar → extraer un tarball (si el archivo además está comprimido con gzip, bzip2
o xz, descomprimirlo automáticamente).

tar -xvf archive.tar -C /tmp → extraer un tarball en /tmp.

tar -cjvf archive.tar.bz2 dir1 → crear un tarball comprimido en bzip2.

tar -xjvf archive.tar.bz2 → descomprimir un archivo .tar comprimido en bzip2

tar -cJvf archive.tar.xz dir1 → crear un tarball comprimido en xz.

XZ_OPT=-9e tar -cJvf archive.tar.xz dir1 → crear un tarball comprimido en xz (con máxima
compresión).

tar -xJvf archive.tar.xz → descomprimir un archivo tar comprimido en xz.

tar -czvf archive.tar.gz dir1 → crear un tarball comprimido en gzip.

tar -I pigz -cf archive.tar.gz dir1 → crear un tarball comprimido en gzip, pero utilizando pigz,
que comprime en paralelo aprovechando todos los núcleos de los microprocesadores del
equipo.

GZIP=-9 tar -czvf archive.tar.gz dir1 → crear un tarball comprimido en gzip (con máxima
compresión).

tar -xzvf archive.tar.gz → descomprimir un archivo tar comprimido en gzip.

zip "le1.zip "le1 → crear un archivo comprimido en .zip.

zip -r "le1.zip "le1 "le2 dir1 → comprimir, en .zip, varios archivos y directorios de forma
simultánea.

unzip "le1.zip → descomprimir un archivo .zip.

Paquetes rpm (Red Hat, Fedora y similares):

rpm -ivh package.rpm → instalar un paquete rpm.

rpm -ivh –nodeeps package.rpm → instalar un paquete rpm ignorando las peticiones de
dependencias.

rpm -U package.rpm → actualizar un paquete rpm sin cambiar la con!guración de los


!cheros.

rpm -F package.rpm → actualizar un paquete rpm solamente si este está instalado.

rpm -e package_name.rpm → eliminar un paquete rpm.

rpm -qa → mostrar todos los paquetes rpm instalados en el sistema.

rpm -qa | grep httpd → mostrar todos los paquetes rpm con el nombre “httpd”.

rpm -qi package_name → obtener información en un paquete especí!co instalado.

rpm -qg «System Environment/Daemons» → mostar los paquetes rpm de un grupo software.

rpm -ql package_name → permite listar los archivos que estan instalados en un paquete rpm.

rpm -qc package_name → permite listar la con!guracion de los archivos que estan instalados
en un paquete rpm.

rpm -q package_name –whatrequires → mostrar lista de dependencias solicitada para un


paquete rpm.

rpm -q package_name –whatprovides → mostar la capacidad dada por un paquete rpm.

rpm -q package_name –scripts → mostrar los scripts comenzados durante la instalación


/eliminación.

rpm -q package_name –changelog → mostar el historial de revisiones de un paquete rpm.

rpm -qf /etc/httpd/conf/httpd.conf → veri!car cuál paquete rpm pertenece a un !chero dado.

rpm -qp package.rpm -l → muestra lista de !cheros dados por un paquete rpm que aún no
ha sido instalado.

rpm –import /media/cdrom/RPM-GPG-KEY → importar la !rma digital de la llave pública.

rpm –checksig package.rpm → veri!car la integridad de un paquete rpm.

rpm -qa gpg-pubkey → veri!car la integridad de todos los paquetes rpm instalados.

rpm -V package_name → chequear el tamaño del !chero, licencias, tipos, propietario, grupo,
chequeo de resumen de MD5 y última modi!cación.

rpm -Va → chequear todos los paquetes rpm instalados en el sistema. Usar con cuidado.

rpm -Vp package.rpm → veri!car un paquete rpm no instalado todavía.

rpm2cpio package.rpm | cpio –extract –make-directories *bin → extraer !chero ejecutable


desde un paquete rpm.

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm → instalar un paquete construido desde


una fuente rpm.

rpmbuild –rebuild package_name.src.rpm → construir un paquete rpm desde una fuente rpm.

Actualizador de paquetes yum (Fedora, Redhat y otros):

yum install package_name → descargar e instalar un paquete rpm.

yum localinstall package_name.rpm → Este instalará un YUM y tratará de resolver todas las

dependencias, usando los repositorios.


yum update → actualizar todos los paquetes rpm instalados en el sistema.

yum update package_name → modernizar / actualizar un paquete rpm.

yum remove package_name → eliminar un paquete rpm.

yum list → listar todos los paquetes instalados en el sistema.

yum search package_name → Encontrar un paquete en un repositorio rpm.

yum clean packages → limpiar caché rpm borrando los paquetes descargados.

yum clean headers → Para purgar completamente todos los !cheros de encabezamiento que
el sistema usa para resolver la dependencia.

yum clean all → Para eliminar de una vez todos los !cheros en cache y los !cheros de
encabezado.

Gestión de paquetes deb (Debian, Ubuntu y otros):

dpkg -i elpaquete.deb → instalar / actualizar un paquete.

dpkg -r elpaquete → eliminar un paquete deb del sistema.

dpkg -l → mostrar todos los paquetes deb instalados en el sistema.

dpkg -l | grep httpd → mostrar todos los paquetes deb con el nombre “httpd”.

dpkg -s elpaquete → obtener información en un paquete especí!co instalado en el sistema.

dpkg -L elpaquete → mostar lista de !cheros utilizados por un paquete instalado en el


sistema.

dpkg -c elpaquete.deb → mostrar contenido de un paquete (no necesariamente instalado).

dpkg -S /bin/ping → veri!car a qué paquete pertenece un !chero dado.

Actualizador de paquetes apt y aptitude (Debian, Ubuntu y otros):

apt-get install package_name → instalar / actualizar un paquete deb.

apt-cdrom install package_name → instalar / actualizar un paquete deb desde un cdrom.

apt-get update → actualizar la lista de paquetes.

apt-get upgrade → actualizar todos los paquetes instalados.

apt-get remove package_name → eliminar un paquete deb del sistema.

apt-get check → veri!car la correcta resolución de las dependencias.

apt-get clean → limpiar cache desde los paquetes descargados.

apt-cache search searched-package → retorna lista de paquetes que corresponden a la serie


«paquetes buscados».

aptitude search paquete → busca un paquete por el nombre.

aptitude search ~dpaquete → busca un paquete por la descripción.

aptitude show paquete | less → muestra información sobre un paquete.

aptitude install paquete1 paquete2 … → instala varios paquetes con sus dependencias y
recomendaciones.

aptitude -R install paquete → instala un paquete con sus dependencias, pero sin las
recomendaciones.

aptitude why paquete → lista las razones por las que se debería instalar el paquete.

aptitude why-not paquete → lista las razones por las que no se puede instalar el paquete.

aptitude -rsvW install paquete → simula la instalación de un paquete con sus dependencias y
recomendaciones, detallando cada una.

aptitude remove paquete → desinstala un paquete.

aptitude purge paquete → desinstala un paquete y lo limpia de la cache.

aptitude clean → limpia la cache de paquetes.

apt-"le -xi search ‘sql‘ → busca todos los paquetes que contengan un archivo o directorio con
la expresión sql (sin considerar mayúsculas o minúsculas). 3)

Ver el contenido de un !chero:

cat "le1 → ver los contenidos de un !chero comenzando desde la primera línea.

tac "le1 → ver los contenidos de un !chero comenzando desde la última línea.

more "le1 → ver el contenido de un !chero de manera paginada.

less "le1 → parecido al commando ‘more’ pero permite avanzar, retroceder, y buscar
(compatible con algunos comandos de vi).

head -2 "le1 → ver las dos primeras líneas de un !chero (ó 10, si no se especi!ca la cantidad
de líneas).

tail -2 "le1 → ver las dos últimas líneas de un !chero (ó 10, si no se especi!ca la cantidad de
líneas).

Manipulación de texto:

cat "le1 "le2 … | command <> "le1_in.txt_or_"le1_out.txt → sintaxis general para la


manipulación de texto utilizando PIPE, STDIN y STDOUT.

cat "le1 | command( sed, grep, awk, grep, etc…) > result.txt → sintaxis general para manipular
un texto de un !chero y escribir el resultado en un !chero nuevo.

cat "le1 | command( sed, grep, awk, grep, etc…) >> result.txt → sintaxis general para manipular
un texto de un !chero y añadir resultado en un !chero existente.

grep Aug /var/log/messages → buscar palabras “Aug” en el !chero ‘/var/log/messages’.

grep ^Aug /var/log/messages → buscar palabras que comienzan con “Aug” en !chero
‘/var/log/messages’

grep [0-9] /var/log/messages → seleccionar todas las líneas del !chero ‘/var/log/messages’ que
contengan números.

grep Aug -R /var/log/ → buscar la cadena “Aug” en el directorio ‘/var/log’ y debajo.

sed ‘s/string1/string2/g’ ejemplo.txt → reemplaza la cadena “string1” en la cadena “string2” en


el archivo ejemplo.txt.

sed ‘/^$/d’ ejemplo.txt → eliminar todas las líneas en blanco de ejemplo.txt

sed ‘/ *#/d; /^$/d’ ejemplo.txt → eliminar comentarios y líneas en blanco de ejemplo.txt

echo ‘ejemplo’ | tr ‘[:lower:]’ ‘[:upper:]‘ → convertir el texto “ejemplo” de minúsculas a


mayúsculas.

sed -e ‘1d’ ejemplo.txt → elimina la primera línea del !chero ejemplo.txt

sed -n ‘/string1/p‘ → visualizar solamente las líneas que contienen la palabra “string1”.

sed -r ‘s/(cadena1)(cadena2)/21/g‘ → utilizar expresiones regulares extendidas para


intercambiar el orden de dos cadenas de texto, en todas las instancias que aparezcan.

Establecer caracter y conversión de !cheros:

dos2unix "ledos.txt "leunix.txt → convertir un formato de !chero texto desde MSDOS a UNIX.

unix2dos "leunix.txt "ledos.txt → convertir un formato de !chero de texto desde UNIX a


MSDOS.

recode ..HTML < page.txt > page.html → convertir un !chero de texto en html.

recode -l | more → mostrar todas las conversiones de formato disponibles.

Análisis del sistema de archivos:

badblocks -v /dev/hda1 → Chequear los bloques defectuosos en el disco hda1.

fsck /dev/hda1 → reparar / chequear la integridad del !chero del sistema Linux en el disco
hda1.

fsck.ext2 /dev/hda1 → reparar / chequear la integridad del !chero del sistema ext 2 en el
disco hda1.

e2fsck /dev/hda1 → reparar / chequear la integridad del !chero del sistema ext 2 en el disco
hda1.

e2fsck -j /dev/hda1 → reparar / chequear la integridad del !chero del sistema ext 3 en el
disco hda1.

fsck.ext3 /dev/hda1 → reparar / chequear la integridad del !chero del sistema ext 3 en el
disco hda1.

fsck.vfat /dev/hda1 → reparar / chequear la integridad del !chero del sistema fat en el disco
hda1.

fsck.msdos /dev/hda1 → reparar / chequear la integridad de un !chero del sistema dos en el


disco hda1.

dosfsck /dev/hda1 → reparar / chequear la integridad de un !chero del sistema dos en el


disco hda1.

Formatear un sistema de archivos:

mkfs /dev/hda1 → crear un !chero de sistema tipo Linux en la partición hda1.

mke2fs /dev/hda1 → crear un !chero de sistema tipo Linux ext 2 en hda1.

mke2fs -j /dev/hda1 → crear un !chero de sistema tipo Linux ext3 (periódico) en la partición
hda1.

mkfs -t vfat 32 -F /dev/hda1 → crear un !chero de sistema FAT32 en hda1.

fdformat -n /dev/fd0 → formatear un disco "oopy.

mkswap /dev/hda3 → crear un !chero de sistema swap.

Partición de sistema swap:

mkswap /dev/hda3 → crear !chero de sistema swap.

swapon /dev/hda3 → activando una nueva partición swap.

swapon /dev/hda2 /dev/hdb3 → activar dos particiones swap.

Copia de Seguridad:

dump -0aj -f /tmp/home0.bak /home → hacer un backup completo del directorio ‘/home’.

dump -1aj -f /tmp/home0.bak /home → hacer un backup incremental del directorio ‘/home’.

restore -if /tmp/home0.bak → restaurando un backup interactivamente.

scp –rpv /data"le dan@192.168.1.100:/home/susan → scp se usa para transferir todos los
subdirectorios (proporcionando un tiempo estimado y velocidad de conexión) desde el host
local al host remoto de forma segura. El comando v proporcionará información de
depuración que puede ayudar a diagnosticar un problema.

rsync -rogpav –delete /home /tmp → sincronización 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 → sincronizar 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 → sincronizar 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‘ → hacer una backup de un disco
duro en un host remoto a través de SSH.

dd if=/dev/sda of=/tmp/"le1 → salvar el contenido de un disco duro a un !chero. (En este caso
el disco duro es “sda” y el !chero “!le1”).

tar -Puf backup.tar /home/user → realizar un backup incremental del directorio ‘/home/user’.

tar -czv –exclude=/root/dir1/* -f /var/salvas/cfg_$(date +%F_%H%M).tgz /etc /root → respaldar los


directorios /etc y /root (excluyendo el contenido del subdirectorio /root/dir1/) en un archivo
comprimido, cuyo nombre contenga la fecha y hora actual.

( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p‘ → copiar 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‘ → copiar 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.

"nd /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents →


encontrar y copiar todos los !cheros con extensión ‘.txt’ de un directorio a otro.

"nd ~/ -type f -not -iname ‘*.mp*’ -not ( -iregex ‘.*.mozilla/.*’ -o -iregex ‘.*.thumbnails/.*’ ) -prune -
mtime 14 -print0 | xargs -0 tar -czf /var/salvas/myhome.tgz → realizar una backup de todos los
archivos de nuestro per!l de usuario modi!cados dentro de los últimos 14 días,
exceptuando los archivos mp3, mpg y similares, y los directorios .mozilla/ y .thumbnails/.

"nd /var/log -name ‘*.log’ | tar cv –"les-from=- | bzip2 > log.tar.bz2 → encontrar todos los
!cheros con extensión ‘.log’ y hacer un archivo bzip.

dd if=/dev/hda of=/dev/fd0 bs=512 count=1 → hacer una copia del MRB (Master Boot Record) a
un disco "oppy.

dd if=/dev/fd0 of=/dev/hda bs=512 count=1 → restaurar la copia del MBR (Master Boot Record)
salvada en un "oppy.

CDROM:

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force → limpiar o borrar un cd


regrabable.

mkisofs /dev/cdrom > cd.iso → crear una imagen iso de cdrom en disco.

mkisofs /dev/cdrom | gzip > cd_iso.gz → crear 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 → crear una imagen
iso de un directorio.

cdrecord -v dev=/dev/cdrom cd.iso → quemar una imagen iso.

gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom – → quemar una imagen iso comprimida.

mount -t udf,iso9660 -o loop cd.iso /mnt/iso → montar una imagen iso.

cd-paranoia -B → llevar canciones de un cd a !cheros wav.

cd-paranoia — ”-3” → llevar las 3 primeras canciones de un cd a !cheros wav.

cdrecord –scanbus → escanear bus para identi!car el canal scsi.

dd if=/dev/hdc | md5sum → hacer funcionar un md5sum en un dispositivo, como un CD.

eject -v → expulsar un medio o disco extraíble, ofreciendo información adicional.

Trabajando con la red (LAN y WIFI):

ifcon"g eth0 → mostrar la con!guración de una interfaz de red Ethernet. Permite tambien
hacer un debug del sistema de red e interfaces.

ifup eth0 → activar la interfaz eth0.

ifdown & ifup eth0 → deshabilitar la interfaz eth0.

ifcon"g eth0 192.168.1.1 netmask 255.255.255.0 → con!gurar una dirección IP.

ifcon"g eth0 promisc → con!gurar eth0 en modo promiscuo para obtener los paquetes
(sni%ng).

dhclient eth0 → activar la interface ‘eth0’ en modo dhcp.

dhclient -r

Usando el parametro -r te permite liberar la IP actual y obtener una nueva desde el servidor
DHCP de tu sistema.

route -n → mostrar tabla de rutas.

route add -net 0/0 gw IP_Gateway → con!gurar entrada predeterminada.

ip route show | grep default | awk {‘print $3’} → conocer la puerta de enlace predeterminada.

route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 → con!gurar ruta estática para
buscar la red 192.168.0.0/16.

route del 0/0 gw IP_gateway → eliminar la ruta estática.

echo 1 > /proc/sys/net/ipv4/ip_forward → activar el redireccionamiento de paquetes IP.

hostname → mostrar el nombre del host del sistema.

host www.example.com → buscar el nombre del host para resolver el nombre a una dirección
IP o buscamos una IP y nos devolvera el nombre de dominio asociado (DNS lookup). (1)

host baehost.com
host 208.43.115.82

nslookup www.example.com → buscar el nombre del host para resolver el nombre a una
dirección IP y viceversa (2).

ip link show → mostar el estado de enlace de todas las interfaces.

mii-tool eth0 → mostar el estado de enlace de eth0.

ethtool eth0 → mostrar las estadísticas de la interfaz de red eth0.

netstat -tup → mostrar todas las conexiones de red activas y sus PID.

netstat -tupl → mostrar todos los servicios de escucha de red en el sistema y sus PID.

netstat -p → mostrar todas las conexiones activas asociadas a los sockets abiertos listados
por dirección IP y puerto.

netstat –s → Se listara informacion sobre todos los puertos.

tcpdump tcp port 80 → mostrar todo el trá!co HTTP.

iwlist scan → mostrar las redes inalámbricas.

iwcon"g eth1 → mostrar la con!guración de una interfaz de red inalámbrica.

whois www.example.com → buscar en base de datos Whois.

iftop -nNP -i eth0 → mostrar en tiempo real las conexiones abiertas en eth0 y su tasa de
transferencia.

sockstat → mostrar información sobre las conexiones abiertas.

arp-scan -l → descubrir en la red las direcciones IP y MAC.

nm-tool → muestra con!guración de red (en caso de usar Network Manager obtiene los
DNS).

ping -c 4 google.com → Envía paquetes ECHO_REQUEST a la dirección especi!cada. De esta


manera puedes comprobar que la conexión a Internet funciona.

Puedes especi!car incluso el número de paquetes a enviar con el parámetro -c.

tracepath & traceroute → El comando tracepath es parecido a traceroute pero no necesitas


privilegios de root para ejecutarlo (viene por defecto en Ubuntu pero traceroute no). Estos
comandos muestran la ruta de red hasta un destino especi!cado mostrando los saltos hasta
llegar al host.

tracepath example.com

mtr → Combina el comando ping con el tracepath en un solo comando.

mtr baehost.com

ifplugstatus → Este comando indica si una interface de red tiene el cable conectado. Este
comando viene por defecto en Ubuntu. Si quieres instalarlo:

sudo apt-get install ifplugd

Y funciona de la siguiente manera:

ifplugstatus
ifplugstatus eth0

Redes de Microsoft Windows (Samba):

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 → mostrar acciones remotas de un host en windows.

Cortafuegos (iptables):

iptables -t "lter -L → mostrar todas las cadenas de la tabla de !ltro.

iptables -t nat -L → mostrar todas las cadenas de la tabla nat.

iptables -t "lter -F → limpiar todas las reglas de la tabla de !ltro.

iptables -t nat -F → limpiar todas las reglas de la tabla nat.

iptables -t "lter -X → borrar cualquier cadena creada por el usuario.

iptables -t "lter -A INPUT -p tcp –dport telnet -j ACCEPT → permitir las conexiones telnet para
entrar.

iptables -t "lter -A OUTPUT -p tcp –dport http -j DROP → bloquear las conexiones HTTP para
salir.

iptables -t "lter -A FORWARD -p tcp –dport pop3 -j ACCEPT → permitir las conexiones POP a una
cadena delantera.

iptables -t "lter -A INPUT -p tcp -m multiport –dports 80,443,8080 -m state –state NEW -m limit –
limit 4/sec –limit-burst 8 -j ACCEPT → establecer un límite de 4 peticiones por segundo de
nuevas conexiones, con posibles ráfagas ocasionales (útil para políticas de denegación por
defecto).

iptables -t "lter -A INPUT -p tcp -m multiport –dports 80,443,8080 -m state –state


ESTABLISHED,RELATED -m connlimit ! –conlimit-above 6 -j ACCEPT → establecer un límite de 6
conexiones simultáneas por equipo a nuestro servidor web (útil para políticas de
denegación por defecto).

iptables -t "lter -A INPUT -j LOG –log-pre"x “DROP INPUT” → registrando una cadena de
entrada.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE → con!gurar un PAT (Puerto de


traducción de dirección) en eth0, ocultando los paquetes de salida forzada. (Indicado para
enlaces tipo ppp).

iptables -t nat -A POSTROUTING -s 192.168.0.127 -o eth0 -j SNAT –to-source 169.158.158.169 →


enrutar los paquetes desde 192.168.0.127 hacia otras redes por eth0 y asignarles un
dirección ip externa. (Indicado para enlaces tipo ADSL)

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 → redireccionar los paquetes diriguidos de un host a otro.

iptables -t nat -S → Listar todas las reglas activas en la tabla nat.

iptables-save -c > archivo → Salvar las reglas en un archivo (incluyendo los contadores de
paquetes y bytes).

iptables-restore -c < archivo → Restaurar las reglas desde un archivo (incluyendo los
contadores de paquetes y bytes).

Monitoreando y depurando:

top → mostrar en tiempo real las tareas de linux.

top -i → muestra los procesos activos en el servidor ocultando los inactivos.

htop → mostrar y gestionar las tareas con una interfaz amistosa.

ps -eafw → muestra las tareas Linux.

ps -e -o pid,args –forest → muestra las tareas Linux en un modo jerárquico.

ps -o pid,cmd -ww -C wget → listar todas las instancias del comando wget con sus
argumentos.

pstree → mostrar un árbol sistema de procesos.

pidof pppd → mostrar el pid del proceso pppd.

kill -9 ID_Processo → forzar el cierre de un proceso y terminarlo.

kill -1 ID_Processo → forzar un proceso para recargar la con!guración.

killall Nombre_Proceso → terminar un proceso por el nombre del comando y no por el ID.

kill -HUP $(ps -A -o state,pid –no-header | grep -e ‘^[Zz]’ | awk ‘{print $2}’ | xargs) → terminar
todos los procesos zombies.

lsof -p $$ → mostrar una lista de !cheros abiertos por procesos.

lsof /home/user1 → muestra una lista de !cheros abiertos en un camino dado del sistema.

strace -c ls >/dev/null → mostrar las llamadas del sistema realizadas y recibidas por un
proceso.

strace -f -e open ls >/dev/null → mostrar las llamadas a la biblioteca.

watch -n1 ‘cat /proc/interrupts‘ → mostrar interrupciones en tiempo real.

last reboot → mostrar historial de reinicio.

lsmod → mostrar los módulos del kernel cargados.

free -m → muestra el estado de la RAM en megabytes.

smartctl -A /dev/hda → monitorear la !abilidad de un disco duro a través de SMART.

smartctl -i /dev/hda → chequear si SMART está activado en un disco duro.

tail -f /var/log/dmesg → mostrar eventos inherentes al proceso de carga del kernel.

tail -f /var/log/messages → mostrar los eventos del sistema.

multitail –follow-all /var/log/{dmesg,messages} → mostrar dos registros de eventos en una


misma pantalla.

Seguridad y Cifrado:

base64 /home/archivo > /home/archivo-codi"cado → codi!ca “archivo” en ‘base64’ y lo guarda


en /home

base64 -d /home/archivo-codi"cado > /home/archivo → decodi!ca “archivo-codi!cado” y lo


guarda en /home

openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -out /etc/millave.crt -keyout
/etc/millave.key → crea un certi!cado auto-!rmado para cifrar el trá!co web con SSL.

htpasswd -c -m /etc/apache2/.htpasswd nombreusuario → genera un archivo ‘.htpasswd’ para


proteger un sitio web con auntenticación.

Otros comandos útiles:

apropos palabraclave → mostrar una lista de comandos que pertenecen a las palabras claves
de un programa; son útiles cuando tú sabes qué hace tu programa, pero desconoces el
nombre del comando.

man ping → mostrar las páginas del manual on-line; por ejemplo, en un comando ping, usar
la opción ‘-k’ para encontrar cualquier comando relacionado.

man -t ping | ps2pdf – ping.pdf → convertir las páginas del manual del comando ping en un
archivo pdf (para lo cual es necesario haber instalado Ghostscript).

mkbootdisk –device /dev/fd0 `uname -r` → crear un "oppy booteable.

gpg -c "le1 → encriptar un !chero con GNU Privacy Guard.

gpg "le1.gpg → desencriptar un !chero con GNU Privacy Guard.

wget -r www.example.com → descargar un sitio web completo.

wget -c www.example.com/"le.iso → descargar un !chero con la posibilidad de parar la


descarga y reanudar más tarde.

curl & get → Estos dos comandos te permiten descargar un !chero sin abandonar el
terminal:

curl -O website.com/file

wget website.com/file

echo ‘wget -c www.example.com/"les.iso’ | at 09:00 → Comenzar una descarga a cualquier


hora. En este caso empezaría a las 9 horas.

ldd /usr/bin/ssh → mostrar las bibliotecas compartidas requeridas por el programa SSH.

alias hh=’history‘ → colocar un alias para un comando. En este caso, para invocar el historial
con hh.

chsh → cambiar el comando Shell.

chsh –list-shells → es un comando adecuado para saber si tienes que hacer remoto en otra
terminal.

who -a → para mostrar 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.

echo «128*1024*1024» | bc → calcular desde la consola el tamaño en bytes de 128 MiB.

sudo !! → ejecutar como superusuario el último comando tecleado.

clear → limpiar la pantalla.

uncomando > archivodesalida.txt 2>&1 → ejecuta un comando y redirige la salida a un


archivo, combinando en este tanto STDOUT como STDERR.

uncomando > archivodesalida.txt 2> archivoerrores.txt → ejecuta un comando, redirige la


salida (STDOUT) a un archivo, y los errores (STDERR) a otro.

uncomando | tee archivodesalida.txt → ejecuta un comando, muestra la salida en la pantalla y


simultáneamente la escribe a un archivo.

Referencias:

1) Es preciso ejecutarlo con privilegios de root.

2) Para conocer el límite de argumentos que xargs admite, puede ejecutarse el comando
echo | xargs –show-limits

3) Para que este comando funcione, después de instalado el paquete apt-"le es necesario
invocar el comando apt-"le update.

Con esto !nalizamos la nota de hoy!

Y recordá que si tenés dudas, podés escribirnos a soporte@baehost.com

Hasta la próxima!

Posted in: Consejos, Manuales, Tutoriales


Tagged: baehost, ssh

Previous Post: Comandos útiles para Post!x

Next Post: Emails: ¿Cómo funciona el sistema de envíos?

Deja una respuesta


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

Comentario
Nombre *

Correo electrónico *

Web

Publicar el comentario

Proudly powered by WordPress


Theme: Delivery Lite by Theme Junkie.
#

También podría gustarte