ADMINISTRACIÓN GNU/LINUX POR CONSOLA
Max Morales Escobar Edmundo Morales Ariñez
La Paz - Bolivia
Página 1
ADMINISTRACIÓN GNU/LINUX POR CONSOLA Table of Contents I. GENERALIDADES...............................................................................................................................3 I.1. Histórico para complementar comandos.........................................................................................3 I.2. Apagar el sistema............................................................................................................................3 II. MOSTRAR CARACTERÍSTICAS BÁSICAS DEL SISTEMA..........................................................3 ANDINUX II.1. Espacio en Disco............................................................................................................................3 II.2. Monitoreando y depurando el sistema...........................................................................................4 II.3. Análisis de integridad del sistema de archivos..............................................................................4 III. PERSONALIZACIÓN DE LA INSTALACIÓN.................................................................................4 III.1. A través del actualizador automático de paquetes APT en sistemas derivados de Debian...........4 III.2. Manualmente, con “paquetes.deb” que hemos conseguido de sus desarrolladores.....................5 IV. OPERACIONES..................................................................................................................................5 IV.1. Administrar Usuarios y Grupos....................................................................................................5 IV.2. Montaje y desmontaje de un sistema de archivos y Dispositivos.................................................6 IV.3. Desplazamiento en el sistema de Archivos-Directorios (Change Dir).........................................6 V. TRABAJO CON DIRECTORIOS Y ARCHIVOS................................................................................6 V.1. Visualización..................................................................................................................................6 V.2. Creación.........................................................................................................................................7 V.3. Borrado...........................................................................................................................................7 V.4. Renombrado y copiar.....................................................................................................................7 V.5. Enlaces simbólicos y físicos de archivos.......................................................................................7 V.6. Administración de permisos de archivos y directorios..................................................................7 V.6.1. Cambio de modalidad de permisso “chmod” (change mod).................................................7 V.6.2. Cambio del dueño “chown” (change owner).........................................................................8 V.6.3. Cambio de Grupo, chgrp (change group)...............................................................................8 V.6.4. Notación binaria....................................................................................................................8 V.6.5. Bits SUID y SGID..................................................................................................................9 V.7. Buscar archivos..............................................................................................................................9 V.8. Tareas en background.....................................................................................................................9 VI. MANIPULACIÓN DE TEXTO..........................................................................................................9 VI.1. Conversión de formato de archivos............................................................................................10 VI.2. Compresión/descompresión de Archivos...................................................................................10 VI.3. Backup-respaldos de información..............................................................................................10 VI.4. Editor de texto............................................................................................................................11 VI.5. Vi => Vim...................................................................................................................................11 VI.5.1. Modo Comando del “Vi”....................................................................................................11 VI.5.2. Listado de comandos..........................................................................................................12 VI.5.3. Comandos de Guardar y Salir.............................................................................................12 VI.5.4. Modo Edición-Inserción.....................................................................................................13 VI.5.5. Modo comando extendido..................................................................................................13 VII. ADMINISTRACIÓN Y MONITOREO DE RED LAN Y WI-FI....................................................14 VII.1. De manera similar para entorno de redes Wireless (inalámbricas)...........................................15 VII.2. SAMBA para redes Guindous...................................................................................................15
Página 2
ADMINISTRACIÓN GNU/LINUX POR CONSOLA
I. GENERALIDADES El trabajo con Servidores implica buena dosis de paciencia, planificación y paranoia, por ello es que aunque parezca incómodo y pasado de moda, el uso de la “consola” (terminal de texto) y de los editores de texto basados en terminal son una necesidad en nuestro trabajo de administración por seguridad y por necesidad de programación en consola (terminal de texto) en Servidores que no tienen (no deben) entorno gráfico; también por las necesidades de la gestión de sistemas remotos por ejemplo vía SSH. Lo aquí expuesto es un resumen de los comandos más usados, desde la experiencia del autor, ANDINUX no es excluyente ni exhaustiva, para mayores detalles puede recurrir a: http://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/ https://app.box.com/s/es7vtj79fce2lc4unr5i http://www.fing.edu.uy/tecnoinf/mvd/cursos/adminf/material/ADI-comandos-linux.pdf
I.1. Histórico para complementar comandos La consola de GNU/Linux ayuda complementando las primeras letras de los comandos, cuando usamos la tecla de “TAB” si hay varias nos las mostrara y podremos complementar más adecuada y rápidamente. Complementariamente hay que recordar que GNU/Linux es sensible a MAYUSCULAS/minúsculas. Tecla de (↑) hacia arriba SHIFT + RePag SHIFT + AvPag SHIFT + Insert
Muestra el histórico de los últimos comando escritos ejecutados Teclas que posibilitan moverse página arriba en el modo consola Teclas que posibilitan moverse página abajo en el modo consola En modo de pseudo consola (ventana gráfica) permite insertar texto que hayamos copiado.
I.2. Apagar el sistema shutdown -h now shutdown -h hours:min shutdown -c init 0 Telinit 0 halt shutdown -r now reboot logout
Apagar el sistema ahora mismo Apagar el sistema en un tiempo planificado de xx:yy (horas:min) Cancelar apagado de tiempo planificado Apagar el sistema. Apagar el sistema Apagar el sistema Reiniciar el sistema ahora mismo Reiniciar el sistema Cerrar sesión.
II. MOSTRAR CARACTERÍSTICAS BÁSICAS DEL SISTEMA uname -r hdparm -i /dev/hda cat /proc/meminfo lspci -tv lsusb -tv
Versión del kernel Características del disco duro (hda, hdb, hdc, hdd). Verificar el uso de memoria del sistema Mostrar los dispositivos PCI. Mostrar los dispositivos USB.
II.1. Espacio en Disco df -h ls -lSr |more du -sh dir1 du -sk * | sort -rn
Mostrar una lista de las particiones montadas. Mostrar el tamaño de los directorios y archivos ordenados por tamaño. Estimar el espacio usado por el directorio “dir1” Mostrar el tamaño de los directorios y archivos ordenados por tamaño
Página 3
II.2. Monitoreando y depurando el sistema top free -m pstree ps -eafw ps -e -o pid,args –forest strace -c ls >/dev/null last reboot lsof -p $$ lsmod tail /var/log/dmesg tail /var/log/messages kill ID_Proceso kill -1 ID_Proceso smartctl -A /dev/hda smartctl -i /dev/hda
Mostrar las tareas del sistema que están usando la memoría CPU Mostrar el estado de la memoria RAM del sistema en megabytes Mostrar el sistema de procesos como árbol Mostrar las tareas del sistema Mostrar las tareas del sistema en un modo jerárquico Mostrar las llamadas del sistema hechas y recibidas por un proceso Mostrar historial de reinicio Mostrar una lista de archivos abiertos por procesos Mostrar el contenido del kernel cargado Mostrar eventos inherentes al proceso de carga del kernel. Mostrar los eventos del sistema. Matar el proceso de número “ID_Proceso” Matar el proceso de número “ID_Proceso” para recargar la configuración Verificar la fiabilidad de un disco duro a través de SMART. Verificar si SMART está activado en el disco duro “/dev/hda”
ANDINUX
II.3. Análisis de integridad del sistema de archivos badblocks -v /dev/sda1 fsck /dev/sda1 fsck.ext2 /dev/sda1 fsck.ext3 /dev/sda1 fsck.vfat /dev/sda1 fsck.msdos /dev/sda1 e2fsck /dev/sda1 e2fsck -j /dev/sda1 dosfsck /dev/sda1
Revisar los bloques defectuosos en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo Linux en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “ext2” en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “ext3” en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “fat” en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “dos” en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “ext2” en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “ext3” en partición de disco “/dev/sda1” Reparar/verificar integridad del archivo “dos” en partición de disco “/dev/sda1”
III. PERSONALIZACIÓN DE LA INSTALACIÓN Este apartado esta destinado a la instalación de aplicaciones via “paquetes deb” despues de haber instalado el sistema; “paquetes deb” usan las Distribuciones GNU/Linux derivadas de Debian; la instalación se puede hacer via actualizador automático Debian APT o manualmente:
III.1. A través del actualizador automático de paquetes APT en sistemas derivados de Debian Para esto se requiere previamente haber configurado adecuadamente el archivo /etc/apt/sources.list que es una especie de almacén o repositorio de direcciones web que proporcionan determinado tipo de software, este archivo puede variar según el sistema, en nuestro caso es Ubuntu 13.10 “Saucy Salamander” (de noviembre de 2013): # deb cdrom:[Ubuntu 13.10 _Saucy Salamander_ - Release i386 (20131016.1)]/ saucy main restricted ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu saucy partner # deb-src http://archive.canonical.com/ubuntu saucy partner # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to Página 4
# newer versions of the distribution. deb http://ubuntu.wikimedia.org/ubuntu/ saucy main restricted deb-src http://ubuntu.wikimedia.org/ubuntu/ saucy main restricted ## This software is not part of Ubuntu, but is offered by third-party ## developers who want to ship their latest software. deb http://extras.ubuntu.com/ubuntu saucy main deb-src http://extras.ubuntu.com/ubuntu saucy main
Puede encontrar según su sistema en Internet los paquetes e instalarlos de la siguiente manera: # apt-get install vlc // Instala el paquete “vlc” en el sistema apt-get install nom_paquete Instalar/actualizar el paquete deb “nom_paquete” apt-cdrom install nom_paquete Instalar/actualizar un paquete deb “nom_paquete” desde cdrom apt-get update Actualizar la lista de paquetes apt-get upgrade Actualizar todos los paquetes instalados apt-get remove nom_paquete Eliminar un paquete deb llamado “nom_paquete” del sistema. apt-get check Verificar la correcta resolución de las dependencias. apt-cache search paquetes Retorna lista de paquetes que corresponde a serie “paquetes”. apt-get clean Limpiar cache desde los paquetes descargados.
ANDINUX
III.2. Manualmente, con “paquetes.deb” que hemos conseguido de sus desarrolladores # dpkg -i vlc.deb dpkg -i paquete.deb dpkg -l dpkg -l | grep pci dpkg -L nom_paquete dpkg –contents paquete.deb dpkg -s nom_paquete dpkg -r nom_paquete
// Instala (“desempaqueta”) el paquete “vlc” en el sistema Instalar/actualizar un paquete “paquete.deb” Debian Mostrar todos los paquetes “deb” instalados en el sistema Mostrar todos los paquetes “deb” agrupados por el nombre “pci” Mostrar lista de archivos dados por un paquete instalado en el sistema Mostrar lista de archivos dados por un paquete no instalado todavía. Mostrar información del “nom_paquete” instalado en el sistema Eliminar un paquete “deb” del sistema llamado “nom_paquete”
IV. OPERACIONES IV.1. Administrar Usuarios y Grupos useradd user1 Crear un nuevo usuario llamado “usuario1”. useradd -c “nombre_user1” -g admin -d /home/user1 -s /bin/bash user1 Crear usuario para el grupo “admin” userdel -r user1 Borrar el usuario “user1” (‘-r’ elimina su directorio) passwd user1 Cambiar la contraseña de usuario “user1” puede hacerlo “root” chage -E 2011-12-31 user1 Pone plazo de expiración a contraseña del user1: 31-dic-2011 newgrp group_name Registrar a un nuevo grupo para cambiar el grupo predeterminado de los archivos
creados recientemente. groupadd nuevo_grupo Crear un grupo llamado “nuevo_grupo” groupmod -n nuevo_nom viejo_nom Renombrar nombre del grupo. groupdel nombre_grupo Borrar un grupo llamado “nombre_grupo” pwck Revisar sintaxis del formato del archivo “/etc/passwd” y la existencia de usuarios. grpck Revisar sintaxis del formato de archivo “/etc/group” y la existencia de grupos. cat /etc/passwd Ver el archivo de los usuarios creados, empiezan con ID 1000
Página 5
IV.2. Montaje y desmontaje de un sistema de archivos y Dispositivos El montaje “mount” de otros dispositivos, especialmente los “extraibles” es usual en GNU/Linux como parte de una de sus características de sistema monolítico y también como factor de seguridad pues un USBdisk o un CDrom que pueden estar infectados de virus, troyanos, etc., no “botean automáticamente”; primero deben montarse para hacerse parte de la estructura del archsystem GNU/Linux como se ve en la figura. De la misma manera al acabar de trabajar con este dispositivo, debe hacerse el correspondiente desmontaje “umount”, caso contrario no se guardarán los cambios hechos en el mencionado dispositivo. Por estándar se acostumbraba que estos dispositivos “extraibles” se montaran en el directorio “/mnt” pero actualmente es muy utilizado el directorio “/media” Monta un dispositivo (partición de disco duro, disketera, CDrom, USBdisk, etc.) cuyo controlador existe en el directorio “/dev/sda2”, en un directorio existente (o previamente creado) en “/mnt/sda2”; este dispositivo tiene un formato de sistema de tipo guindous “vfat” mount /dev/sda2 /mnt/sda2 Montar un disco tipo dispositivo “/dev/sda2” en un directorio “/mnt/sda2” mount /dev/fd0 /mnt/floppy Montar un disco del tipo antiguo (disketera) mount /dev/cdrom /mnt/cdrom Montar un dispositivo “/dev/cdrom” en un directorio existente “/mnt/cdrom” mount -t vfat /dev/sda1 /mnt/sda7 Montar un sistema de archivos FAT32 en un directorio existente “mnt/sda7” mount /dev/sda1 /mnt/usbdisk Montar una memoria USB (/dev/sda6) en un directorio existente “mnt/usbdisk” umount /dev/sda1 Desmontar un disco llamado sda1 (salga antes del directorio “/mnt/sda1”) fuser -km /mnt/sda7 Desmontar forzadamente, cuando el dispositivo está ocupado. # mount -t vfat /dev/sda2 /mnt/sda2
IV.3. Desplazamiento en el sistema de Archivos-Directorios (Change Dir) cd / cd /home cd .. cd ../.. cd cd ~usuario1
Ir al directorio raíz Desplazarse al directorio “home” Retroceder un nivel Retroceder dos niveles Regresar al directorio anterior (de donde vinimos recientemente) Ir al directorio del “usuario1”
V. TRABAJO CON DIRECTORIOS Y ARCHIVOS V.1. Visualización ls Ver los directorios y Archivos del directorio donde estamos. ls -l Ver los detalles de Directorios y Archivos del directorio donde estamos ls -a Ver los archivos ocultos del directorio donde estamos ls -l /home Ver los directorios y archivos del directorio “/home” ls *[0-9]* Ver los directorios y archivos que contienen números tree Ver los directorios y archivos en forma de árbol comenzando por la raíz lstree Ver los directorios y archivos en forma de árbol comenzando por la raíz cat arch1 Ver los contenidos de un archivo empezando desde la primera hilera. tac arch1 Ver los contenidos de un archivo empezando desde la última línea. more arch1 Ver el contenido a lo largo de un archivo. less arch1 Similar al comando ‘more’ pero permite salvar el movimiento en el archivo así como
el movimiento hacia atrás. head -2 arch1 Ver las dos primeras líneas del archivo “arch1”. tail -2 arch1 Ver las dos últimas líneas del archivo “arch1” tail -f /var/log/messages Ver en tiempo real qué ha sido añadido al archivo.
Página 6
ANDINUX
V.2. Creación mkdir dir1 mkdir dir1 dir2 mkdir -p /tmp/dir1/dir2
Crear un directorio con nombre “dir1” Crear dos directorios “dir1” y “dir2” a la misma vez Crear un árbol de directorios
V.3. Borrado Borrar el archivo (arch) llamado “documento1” Borrar el directorio llamado “dir1” Borrar el directorio ‘dir1′ con su contenido de manera recursiva Borrar dos directorios con su contenido de manera recursiva
rm -f documento1 rmdir dir1 rm -rf dir1 rm -rf dir1 dir2
ANDINUX
V.4. Renombrado y copiar mv dir1 nuevo_dir1 mv /home/arch1 /usr cp arch1 cp arch1 arch2 cp dir /* . cp -a /tmp/dir1 . cp -a dir1 cp -a dir1 dir2
Renombrar un directorio o archivo Mover el archivo ubicado en “/home/arch1” al directorio “/usr” Copiar el archivo “arch1” Copiar dos archivos a la misma vez Copiar todos los archivos del directorio “/*” en el directorio actual (.) Copiar un directorio “/tmp/dir1” en el directorio actual de trabajo (.) Copiar un directorio Copiar dos directorios a la misma vez
V.5. Enlaces simbólicos y físicos de archivos ln -s arch1 lnk1 ln arch1 lnk1
Crear un enlace simbólico (lnk1) para el archivo “arch1” Crear un enlace físico (lnk1) al archivo “arch1”
V.6. Administración de permisos de archivos y directorios V.6.1. Cambio de modalidad de permisso “chmod” (change mod) Para hacerlo, se utiliza el comando “chmod” (change mod). La sintaxis del comando “chmod” es la siguiente: chmod [opciones] permiso nombre_archivo_o_carpeta
Los permisos se representan de dos formas. La primera es mediante las iniciales de a quién va dirigido el permiso (usuario=u, grupo=g, otros=o), seguido del signo “+” para añadir permiso o el signo “-” cuando de quitar permiso se trata, seguido del tipo de permiso (lectura=r, escritura=w y ejecución=x); por ejemplo: chmod u+w tema2_CN.doc Proporciona permiso de escritura al usuario propietario sobre el archivo “tema2_CN.doc” chmod g+r tema2_CN.doc Da permiso de lectura al “grupo propietario” sobre el archivo “tema2_CN.doc” chmod o-w tema2_CN.doc Quita permiso de escritura a “otros” usuarios sobre el archivo “tema2_CN.doc” # chmod ug+w tema2_CN.doc El usuario propietario (u) y su grupo (g) adquieren permiso de escritura sobre # chmod u+w,g-r,o-r tema2_CN.doc El usuario (u), su grupo (g) y los otros (o) adquieren diversos permisos separados solamente por comas.
Página 7
V.6.2. Cambio del dueño “chown” (change owner) Para cambiar el dueño de un archivo hay que disponer de permisos de escritura w sobre el archivo o carpeta. La sintaxis del comando es: # chown nuevo_usuario nombre_archivo chown user-conta tema5_CN.doc Cambia al usuario “user-conta” como chown -R user-adm dir_conta
dueño del archivo “tema5_CN.doc” Cambia (Recursivamente) al propietario de un directorio y de TODOS los subdirectorios y archivos contenidos en este. ANDINUX
V.6.3. Cambio de Grupo, chgrp (change group) Para cambiar el grupo de un archivo hay que disponer de permisos de escritura w sobre el archivo o carpeta. La sintaxis del comando es: # chgrp nuevo_grupo nombre_archivo chgrp grupo-conta tema2_CN.doc Cambia el grupo del archivo chgrp grupo-conta dir_conta Cambia el grupo del directorio
V.6.4. Notación binaria Una otra forma de representar la asignación de permisos es a través de la “notación binaria”, código numérico que está compuesto por tres cifras entre 0 y 7: a) Primera, representa los permisos del usuario propietario b) Segunda, los permisos del grupo propietario c) Tercera, los de los otros usuarios. En binario, las combinaciones representan el tipo de permisos. El bit más a la derecha (menos significativo) se refiere al permiso de ejecución (1=activar y 0=desactivar). El bit central se refiere al permiso de escritura y el bit más a la izquierda se refiere al permiso de lectura. La siguiente tabla muestra las 8 combinaciones posibles: Permisos Código Binario Descripción - - -
0
000
Ningún permiso
- -x
1
001
Sólo permiso de ejecución
-w-
2
010
Sólo permiso de escritura
-wx
3
011
Sólo permiso de escritura y ejecución
r --
4
100
Sólo permiso de lectura
r -x
5
101
Sólo permiso de lectura y ejecución
rw-
6
110
Sólo permiso de lectura y escritura
rwx
7
111
Todos los permisos
chmod 700 tema2_CN.doc chmod 550 tema2_CN.doc chmod 744 * chmod -R 744 *
Cambia y da todos los permisos al usuario y ninguno al grupo ni a los otros Cambia y da al usuario y su grupo permisos de lectura y ejecución; ningún permiso a otros Cambia y proporciona todos los permisos al usuario y sólo de lectura a los otros, en todos los archivos (*) Cambia y proporciona Recursivamente todos los permisos al usuario y sólo de lectura a los otros, en todos los archivos (*) incluyendo subdirectorios.
Página 8
V.6.5. Bits SUID y SGID Estos son dos tipos de permisos especiales y poco usados debido al cuidado que debe tenerse al activar estos bits SUID ó SGID puesto que pueden ocasionar problemas de seguridad, especialmente cuando el propietario del archivo es “root”. El bit SUID es una extensión del permiso de ejecución y sirve para cuando un usuario necesita ejecutar una aplicación con permisos del usuario propietario. El bit SUID se puede activar con el comando chmod u+s nombre_archivo o también añadiendo 4000 al ANDINUX número en “octal”. Para el grupo se puede hacer lo mismo, empleando el denominado bit SGID para lo que se añade 2000 al número en “octal”. Cuando se aplica el bit SGID a un Directorio, todos los SubDirectorios y archivos creados dentro de este directorio tendrán como grupo propietario el grupo propietario del Directorio en lugar del “grupo inicial” del usuario que creó el archivo. Puede ser muy útil si es que varias personas de un mismo grupo, trabajan juntas con archivos que están en el mismo directorio.
V.7. Buscar archivos find / -name arch1 find / -user usuario1 find /home/rojo -name \*.bin find /usr/bin -type f -mtime -10 find / -xdev -name \*.zip
Buscar archivo “arch1” a partir de la raíz (/) del sistema Buscar directorios y archivos pertenecientes al usuario “usuario1” Buscar archivos con extensión “.bin” en el directorio “/ home/rojo” Buscar archivos creados/cambiados en los últimos 10 días Buscar archivos con extensión “.zip” ignorando los dispositivos removibles como CD/DVD, USB flash
V.8. Tareas en background Como GNU/Linux puede ejecutar varias tareas al mismo tiempo, para ejecutar un programa en “background”, basta con poner el signo ampersand (&) al término de la línea de comandos, por ejemplo, cuando queremos copiar el directorio /usr/src/linux al directorio /tmp: #cp -r /usr/src/linux /tmp &
Una vez que ha concluido la ejecución del programa, el sistema nos informará a través de un mensaje: que se ha hecho la mencionada copia: [Done] cp -r /usr/src/linux /tmp
VI. MANIPULACIÓN DE TEXTO Sintaxis para manipulación de texto empleando: PIPE, STDIN y STDOUT. cat arch1 arch2 .. | command <> arch1_in.txt_or_arch1_out.txt
Sintaxis para manipular el texto de un archivo y escribir el resultado en nuevo archivo “result.txt” cat arch1 | command( sed, grep, awk, grep, etc…) > result.txt
Sintaxis para manipular el texto de un archivo y añadir el resultado en un archivo ya existente cat arch1 | command( sed, grep, awk, grep, etc…) >> result.txt Página 9
grep Sol /var/log/messages Buscar palabra “Sol” en archivo “/var/log/messages” grep ^Sol /var/log/messages Buscar palabras que empiezan con “Sol” en “/var/log/messages” grep Sol -R /var/log/* Buscar palabra “Sol” en el directorio “/var/log” Recursivamente grep [0-9] /var/log/messages Seleccionar las líneas de ”/var/log/messages” que contienen números sed ‘/^$/d’ texto.txt Eliminar todas las líneas en blanco en el texto.txt sed ‘/ *#/d; /^$/d’ texto.txt Eliminar comentarios y líneas en blanco en el texto.txt sed -e ’1d’ texto.txt Elimina la primera línea del archivo texto.txt sed -n ‘/string1/’ Visualizar solamente las líneas que contienen la palabra “string1” sed ‘/string1/string2/’ texto.txt Reubicar “string1” con “string2” en texto.txt echo ‘esempio’ | tr ‘[:lower:]‘ ‘[:upper:]‘ Convertir minúsculas en mayúsculas.
ANDINUX
VI.1. Conversión de formato de archivos dos2unix archdos.txt archunix.txt Convertir archivo de texto de formato MSDOS a UNIX unix2dos archunix.txt archdos.txt Convertir archivo de texto de formato UNIX a MSDOS recode ..HTML < texto.txt > texto.html Convertir un archivo de texto a html. recode -l | more Mostrar todas las conversiones de formato disponibles
VI.2. Compresión/descompresión de Archivos tar -cvf arch.tar arch1 Crear un archivo comprimido llamado “arch.tar” que contiene al “arch1” tar -cvf arch.tar arch1 dir1 Crear un archivo comprimido “arch.tar” conteniendo a los archivos “arch1” y “dir1” tar -cvfz arch.tar.gz dir1 Crear un arch.tar comprimido en gzip tar -cvfj arch.tar.bz2 dir1 Crear un arch.tar comprimido dentro de bzip2 con el contenido del directorio “dir1” tar -xvf arch.tar Descomprimir un archivo arch.tar en el directorio donde estamos tar -xvf arch.tar -C /tmp Descomprimir un arch.tar en el directorio “/ tmp” tar -xvfj arch.tar.bz2 Descomprimir un arch.tar comprimido dentro bzip2 tar -xvfz arch.tar.gz Descomprimir un arch.tar comprimido dentro gzip tar -tf arch.tar Descomprimir los contenidos de un archivo comprimido llamado “arch.tar” zip arch1.zip arch1 Crear un archivo comprimido en zip con el contenido del archivo “arch1” zip -r arch1.zip arch1 dir1 Crear un archivo comprimido en zip, con varios archivos y directorios de forma simultánea unzip arch1.zip Descomprimir un archivo zip llamado “arch1.zip”
VI.3. Backup-respaldos de información dump -0aj -f /tmp/home0.bak /home dump -1aj -f /tmp/home0.bak /home
Hacer un respaldo de la información completa del directorio “/home” Hacer un respaldo incremental del directorio “/home” restore -if /tmp/home0.bak Restaurar un respaldo interactivamente rsync -rogpav –delete /home /tmp Sincronización entre los directorios “/home” y el “/tmp” 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 un respaldo de un disco duro en un host remoto a través de ssh dd if=/dev/sda of=/tmp/arch1 Guardar el contenido de un disco duro “/dev/sda” a un archivo “arch1” tar -Puf backup.tar /home/user Hacer un respaldo incremental del directorio “/home/user” (cd /tmp/local/ && tar c .) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ Copiar el contenido local de un directorio remoto via ssh ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ Copiar un directorio local en un directorio remoto via ssh. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents Encontrar y copiar todos los archivos con extensión “.txt” de un directorio a otro. Página 10
Encontrar todos los archivos 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 floppy dd if=/dev/fd0 of=/dev/hda bs=512 count=1 Restaurar la copia del MBR (Master Boot Record) desde un floppydisk find /var/log -name ‘*.log’ | tar cv –archs-from=- | bzip2 > log.tar.bz2
VI.4. Editor de texto Complementariamente al trabajo en línea de comandos, necesitaremos un editor de texto basado en terminal con lo justo para realizar pequeños cambios en archivos o crear textos sin más ambiciones que escribir y modificar texto mínimo de algunos script o archivos de configuración, pero en lo óptimo para trabajos más cotidianos se requeriría al menos que cumpla requisitos como: • • • •
Instalado por defecto de instalación muy sencilla en cualquier distribución GNU/Linux. Flexible a las características de los archivos editados (resaltado en colores, por ejemplo). Rápido y potente para cargar archivos grandes consumiendo poca memoria Usable, cómodo y sencillo de utilizar
En las configuraciones más básicas de la mayoría de las Distribuciones viene por defecto (casi único) el VIM (Editor de texto en consola), por ello desarrollaremos los comandos más usuales, ya que si hay opción de cargar/instalar otras aplicaciones, lña mayoría de ellas no requieren un manual; lo que no le quita su valor y capacidad al VI.
VI.5. Vi => Vim En lo óptimo, de ser posible, para facilitar el manejo del VI es recomendable instalar el paquete "vim", esto se hace de la siguiente manera: # aptitude install vim
“Vi” tiene tres modos de operación, aunque de cualquier manera para empezar a usar este editor basta con que digitemos el siguiente comando en la consola: $ vi $ vi nombre_archivo
Abre un espacio de trabajo “vacio” (página en blaco) Abre el archivo denominado “nombre_archivo”
VI.5.1. Modo Comando del “Vi” Por defecto el “vi” inicia en este modo, en el cual admite solamente ejecución de operaciones como: Copia, Pegado búsqueda o desplazamiento del cursor. Por ello cuando inicias este editor y quieres escribir “no podrás” hacerlo (salvo que accidentalmente hayas presionado teclas como la “i”). Cuando se esta en los otros modos, para volver a este espacio basta con pulsar la tecla "ESC". Copiar, cortar y pegar una selección de texto CTRL + v Inicia el modo “selección de texto visual” (marcado de texto), luego se marca el texto que se desee copiar, una vez hecho esto: y Presionar la tecla “y” copia a memoria el texto anteriormente seleccionado. p Presionar la tecla “p” pegará el texto seleccionado en el lugar donde llevemos y pongamos el cursor. Mover una selección de texto CTRL + v Inicia el modo “selección de texto visual” (marcado de texto), luego se marca el texto que se desee mover, y a continuación: d Presionar la tecla “d” borra el texto anteriormente seleccionado p Presionar la tecla “p” pegará el texto seleccionado en el lugar donde llevemos y pongamos el cursor. Página 11
ANDINUX
Identar líneas y párrafos >> Agregar un nivel de indentación a la línea de texto << Quitar un nivel de indentación a la línea de texto
VI.5.2. Listado de comandos El siguiente es un listado de algunos de los comando más usados: y Copiar la palabra o el texto que se haya seleccionado yy Copiar toda la línea de texto p Pegar lo que se haya copiado (lo que este en memoria) justo después del cursor P Pegar lo que se haya copiado (lo que este en memoria) justo antes del cursor x Borra el carácter actual d Borrar la palabra o el texto que se haya seleccionado dd Borrar una línea completa de texto (que puede estar vacía) cc Borrar (reemplazar) la línea S Borrar línea y sustituir, similar a (cc) s Borrar carácter y sustituir (aparece el signo $ y digitamos la letra que deseamos) r Borrar-reemplazar un único carácter sin entrar al modo de inserción (similar a “s”) J Unir con la línea abajo del cursor cw Cambiar palabra c$ Cambiar hasta el final de la línea u Deshacer Ctrl+R Rehacer . Repetir último comando h Mueve el cursor una posición a la izquierda l Mueve el cursor una posición a la derecha j Mueve el cursor una posición hacia abajo k Mueve el cursor una posición hacia arriba 0 Mueve el cursor al inicio de la línea $ Mueve el cursor al final de la línea w Avanza el cursor a la palabra siguiente x Borra caracteres dd Borra una línea completa ndd Borra “n” líneas completas dw Borra una palabra completa ndw Borra “n” palabras completas ZZ Guarda el archivo y sale del editor nyy Marca “n” líneas para copiar p Pegar caracteres o palabras
ANDINUX
VI.5.3. Comandos de Guardar y Salir En caso de haber cometido errores en la edición, podemos deshacer los cambios saliendo del “vi” sin grabar los cambios hechos, forzando la salida. :u Esta es otra opción de eliminar el último error sin salir del archivo :w Para guardar los cambios hechos al editar el archivo, siempre y cuando se haya proporcionado un nombre al archivo. :q Salir del archivo cuando no se ha editado texto o se han guardado ya los cambios :x Guardará el archivo y saldrá del editor vi /palab Busca el texto que coincide con “palab” (palabra, palabras, palab, etc.). Para continuar la búsqueda solo presione la tecla “n” (next) ENTER Inserta una línea en blanco donde está ubicado el cursor. :q!
Página 12
VI.5.4. Modo Edición-Inserción En la pantalla de “vi” donde podemos movernos con las teclas de dirección; para insertar o borrar palabrascaracteres, debemos pulsar las siguientes teclas en minúsculas: i = Insertar caracteres o texto, sirve para empezar a escribir en la posición del cursor. a = El cursor se sitúa en el próximo espacio en blanco después de la posición del cursor. Dependiendo de la versión puede aparecer la palabra "-- INSERTAR --" en la esquina inferior izquierda de la ventana, sino, solamente lleve el cursor donde necesite escribir/modificar y empiece a escribir. En este modo debemos utilizar solamente el teclado básico letras números y evitar tecla de retroceso, cursores, RePag, AvPag, etc. Y si cometimos un error es mejor utilizar el modo de comandos para hacer las correcciones correspondientes, por ejemplo, para deshacer la última acción que hicimos presionamos “ESC + u”.
ANDINUX
Cuando hayamos terminado de insertar texto en el archivo, debemos pulsar la tecla ESCAPE para salir ordenadamente del modo INSERCIÓN, no olvide hacerlo para no recibir sorpresas inesperadas o tener problemas. • En la esquina inferior izquierda de la ventana se muestra los comandos que escribimos o el modo INSERTAR (cuando pulsamos las teclas "i" o "a"). • Para salir del modo insertar y poder introducir los comandos, pulse la tecla ESCAPE (ESC). Buscar Los comandos básicos de búsqueda son “/” para buscar hacia delante y “?” para buscar hacia detrás. Mayores referencias en algunos manuales en Internet: http://www.zonasiete.org/manual/ch04.html http://www.sromero.org/linux/vim/Manual_VIM.html
VI.5.5. Modo comando extendido Es un modo especial que hace que sea posible pasar argumentos a los comandos. Para entrar en este modo solo escribe dos puntos “:” y el comando correspondiente, algunos ejemplos: :2,5 y Este comando extendido “copiará” (seleccionará el texto) a partir de la 2da. hasta la 5ta. línea :help t :help E37 :set ruler :set number :syntax on :set ai
mostrará ayuda sobre la opción “t” informará sobre el significado del error 37 Activa el indicador de posición en la línea inferior. Activar numeración de línea Reconocimiento de sintaxis de lenguaje. Indentación automática
dW gg G H M L x
borra una palabra Lleva el cursor a la primera línea del documento. Lleva el cursor a la última línea del documento Lleva el cursor a la primera línea que se ve en pantalla. Lleva el cursor a la línea central de la pantalla. Lleva el cursor a la última línea de la pantalla. borra caracter
Página 13
La opción “showmode” activa la información sobre el modo de inserción en el modo de edición, para ello en la última línea de la pantalla se mostrará: - - INSERT - :set showmode
Para apagar esta opcion bastará “:set noshowmode”
Por estar incluido por defecto en muchas Distribuciones, su pequeño tamaño y tener incorporado el paquete PINE (Program for Internet News & Email), que incluye también un cliente de email en versión terminal, que es muy útil en configuraciones de DNS, Web Server, etc.; nuestra opción debería ser este Pico (Pine Composer). Para otros usos de edición y programación por ejemplo existen otras herramientas como “Jed” con características como resaltado de sintaxis, soporte LaTeX, contraer y expandir secciones de código, copiar bloques de texto, buffers múltiples, búsquedas mediante expresiones regulares, etc. mcedit Midnight Commander (como Norton Commander) entre otros muchos.
VII. ADMINISTRACIÓN Y MONITOREO DE RED LAN Y WI-FI Es recomendable pedir que cuando se trate de monitorear o relacionarse con otras Redes, especialmente de otras empresas o instituciones previamente se lo comunique, algunos SysAdmin pueden ser paranoicos como nosotros, especialmente cuando pueden ver que hay alguien por ahí husmeando “sniffear”. ifconfig ifconfig eth0
Comando que nos muestra la configuración de todas las tarjetas de red Ethernet “eth0” y lookup (lo) Mostrar la configuración de la tarjeta de red Ethernet “eth0”
$ ifconfig eth0 eth0 Link encap:Ethernet direcciónHW b8:ac:6f:6a:4c:6c Direc. inet:192.168.1.146 Difus.:192.168.2.255 Másc:255.255.255.0 Dirección inet6: fe80::baac:6fff:fe6a:4c6c/64 Alcance:Enlace ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1 Paquetes RX:65656 errores:0 perdidos:0 overruns:0 frame:0 Paquetes TX:35837 errores:0 perdidos:0 overruns:0 carrier:0 colisiones:0 long.colaTX:1000 Bytes RX:35684319 (35.6 MB) TX bytes:7112287 (7.1 MB) Configurar la tarjeta Ethernet “eth0” con una dirección IP 192.168.1.1 y una netmask 255.255.255.0 ifconfig eth1 promisc Configurar tarjeta “eth1” en modo común para obtener los paquetes (sniffing=husmeo). ifup eth1 Activar una tarjeta Ethernet “eth1” dhclient eth0 Activar la interface “eth0” en modo dhcp. ifdown eth1 Deshabilitar una tarjeta Ethernet “eth1” hostname Mostrar el nombre del host del sistema host www.example.com Buscar el nombre del host para determinar cual su dirección IP route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 Configurar una ruta estática para determinar la red “192.168.0.0/16” con gw “192.168.1.1” route add -net 0/0 gw IP_Gateway Configurar una entrada predeterminada “IP_Gateway” route -n Mostrar ruta de recorrido route del 0/0 gw IP_gateway Eliminar la ruta estática de la red con número de gw “IP_gateway” nslookup www.example.com Buscar el nombre del host para resolver la dirección IP nslookup direccion_ip Buscar el número de la “dirección_ip” para resolver el nombre asociado whois www.example.com Buscar en base de datos Whois ip link show Mostrar el estado de enlace de todas las interfaces. mii-tool eth1 Mostrar el estado de enlace de “eth1” ethtool eth1 Mostrar las estadísticas de tarjeta de red “eth1” 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 tcpdump tcp port 80 Mostrar todo el tráfico por el puerto 80 HTTP ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Página 14
ANDINUX
VII.1. De manera similar para entorno de redes Wireless (inalámbricas) iwlist scan iwconfig eth1
Mostrar todas las redes inalámbricas activas y próximas geográficamente Mostrar configuración de tarjeta de red wireless (inalámbrica), similar a ifconfig
VII.2. SAMBA para redes Guindous nbtscan ip_addr nmblookup -A ip_addr smbclient -L ip_addr/hostname
Resolución de nombre de red bios Resolución de nombre de red bios Mostrar acciones remotas de un host en guindous.
ANDINUX
Se concede permiso para copiar, distribuir y/o modificar este documento bajo las condiciones de la licencia Reconocimiento-CompartirIgual 2.0 publicada por Creative Commons. Puede consultar una copia de la licencia en http://creativecommons.org/licenses/by-sa/2.0/es/legalcode.es Página 15