Administración GNU/Linux por consola

15
ADMINISTRACIÓN GNU/LINUX POR CONSOLA Max Morales Escobar Edmundo Morales Ariñez La Paz - Bolivia Página 1

description

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, no es excluyente ni exhaustiva. Edmundo Morales Ariñez

Transcript of Administración GNU/Linux por consola

Page 1: Administración GNU/Linux por consola

ADMINISTRACIÓN GNU/LINUX POR CONSOLA

Max Morales EscobarEdmundo Morales Ariñez

La Paz - Bolivia

Página 1

Page 2: Administración GNU/Linux por consola

ANDINUX

ADMINISTRACIÓN GNU/LINUX POR CONSOLA

Table of ContentsI. GENERALIDADES...............................................................................................................................3

I.1. Histórico para complementar comandos.........................................................................................3I.2. Apagar el sistema............................................................................................................................3

II. MOSTRAR CARACTERÍSTICAS BÁSICAS DEL SISTEMA..........................................................3II.1. Espacio en Disco............................................................................................................................3II.2. Monitoreando y depurando el sistema...........................................................................................4II.3. Análisis de integridad del sistema de archivos..............................................................................4

III. PERSONALIZACIÓN DE LA INSTALACIÓN.................................................................................4III.1. A través del actualizador automático de paquetes APT en sistemas derivados de Debian...........4III.2. Manualmente, con “paquetes.deb” que hemos conseguido de sus desarrolladores.....................5

IV. OPERACIONES..................................................................................................................................5IV.1. Administrar Usuarios y Grupos....................................................................................................5IV.2. Montaje y desmontaje de un sistema de archivos y Dispositivos.................................................6IV.3. Desplazamiento en el sistema de Archivos-Directorios (Change Dir).........................................6

V. TRABAJO CON DIRECTORIOS Y ARCHIVOS................................................................................6V.1. Visualización..................................................................................................................................6V.2. Creación.........................................................................................................................................7V.3. Borrado...........................................................................................................................................7V.4. Renombrado y copiar.....................................................................................................................7V.5. Enlaces simbólicos y físicos de archivos.......................................................................................7V.6. Administración de permisos de archivos y directorios..................................................................7

V.6.1. Cambio de modalidad de permisso “chmod” (change mod).................................................7V.6.2. Cambio del dueño “chown” (change owner).........................................................................8V.6.3. Cambio de Grupo, chgrp (change group)...............................................................................8 V.6.4. Notación binaria....................................................................................................................8V.6.5. Bits SUID y SGID..................................................................................................................9

V.7. Buscar archivos..............................................................................................................................9V.8. Tareas en background.....................................................................................................................9

VI. MANIPULACIÓN DE TEXTO..........................................................................................................9VI.1. Conversión de formato de archivos............................................................................................10VI.2. Compresión/descompresión de Archivos...................................................................................10VI.3. Backup-respaldos de información..............................................................................................10VI.4. Editor de texto............................................................................................................................11VI.5. Vi => Vim...................................................................................................................................11

VI.5.1. Modo Comando del “Vi”....................................................................................................11VI.5.2. Listado de comandos..........................................................................................................12VI.5.3. Comandos de Guardar y Salir.............................................................................................12VI.5.4. Modo Edición-Inserción.....................................................................................................13VI.5.5. Modo comando extendido..................................................................................................13

VII. ADMINISTRACIÓN Y MONITOREO DE RED LAN Y WI-FI....................................................14VII.1. De manera similar para entorno de redes Wireless (inalámbricas)...........................................15VII.2. SAMBA para redes Guindous...................................................................................................15

Página 2

Page 3: Administración GNU/Linux por consola

ANDINUX

ADMINISTRACIÓN GNU/LINUX POR CONSOLA

I. GENERALIDADESEl trabajo con Servidores implica buena dosis de paciencia, planificación y paranoia, por ello es que aunque parezcaincómodo y pasado de moda, el uso de la “consola” (terminal de texto) y de los editores de texto basados en terminal sonuna necesidad en nuestro trabajo de administración por seguridad y por necesidad de programación en consola (terminal detexto) en Servidores que no tienen (no deben) entorno gráfico; también por las necesidades de la gestión de sistemasremotos por ejemplo vía SSH. Lo aquí expuesto es un resumen de los comandos más usados, desde la experiencia del autor,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/es7vtj79fce2lc4unr5ihttp://www.fing.edu.uy/tecnoinf/mvd/cursos/adminf/material/ADI-comandos-linux.pdf

I.1. Histórico para complementar comandosLa consola de GNU/Linux ayuda complementando las primeras letras de los comandos, cuando usamos la tecla de “TAB” sihay 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 Muestra el histórico de los últimos comando escritos ejecutadosSHIFT + RePag Teclas que posibilitan moverse página arriba en el modo consolaSHIFT + AvPag Teclas que posibilitan moverse página abajo en el modo consolaSHIFT + Insert En modo de pseudo consola (ventana gráfica) permite insertar texto que hayamos copiado.

I.2. Apagar el sistema shutdown -h now Apagar el sistema ahora mismoshutdown -h hours:min Apagar el sistema en un tiempo planificado de xx:yy (horas:min)shutdown -c Cancelar apagado de tiempo planificadoinit 0 Apagar el sistema. Telinit 0 Apagar el sistemahalt Apagar el sistemashutdown -r now Reiniciar el sistema ahora mismoreboot Reiniciar el sistemalogout Cerrar sesión.

II. MOSTRAR CARACTERÍSTICAS BÁSICAS DEL SISTEMAuname -r Versión del kernelhdparm -i /dev/hda Características del disco duro (hda, hdb, hdc, hdd).cat /proc/meminfo Verificar el uso de memoria del sistemalspci -tv Mostrar los dispositivos PCI.lsusb -tv Mostrar los dispositivos USB.

II.1. Espacio en Discodf -h Mostrar una lista de las particiones montadas.ls -lSr |more Mostrar el tamaño de los directorios y archivos ordenados por tamaño.du -sh dir1 Estimar el espacio usado por el directorio “dir1”du -sk * | sort -rn Mostrar el tamaño de los directorios y archivos ordenados por tamaño

Página 3

Page 4: Administración GNU/Linux por consola

ANDINUX

II.2. Monitoreando y depurando el sistematop Mostrar las tareas del sistema que están usando la memoría CPUfree -m Mostrar el estado de la memoria RAM del sistema en megabytespstree Mostrar el sistema de procesos como árbol ps -eafw Mostrar las tareas del sistemaps -e -o pid,args –forest Mostrar las tareas del sistema en un modo jerárquicostrace -c ls >/dev/null Mostrar las llamadas del sistema hechas y recibidas por un procesolast reboot Mostrar historial de reiniciolsof -p $$ Mostrar una lista de archivos abiertos por procesoslsmod Mostrar el contenido del kernel cargadotail /var/log/dmesg Mostrar eventos inherentes al proceso de carga del kernel.tail /var/log/messages Mostrar los eventos del sistema.kill ID_Proceso Matar el proceso de número “ID_Proceso”kill -1 ID_Proceso Matar el proceso de número “ID_Proceso” para recargar la configuraciónsmartctl -A /dev/hda Verificar la fiabilidad de un disco duro a través de SMART.smartctl -i /dev/hda Verificar si SMART está activado en el disco duro “/dev/hda”

II.3. Análisis de integridad del sistema de archivosbadblocks -v /dev/sda1 Revisar los bloques defectuosos en partición de disco “/dev/sda1”fsck /dev/sda1 Reparar/verificar integridad del archivo Linux en partición de disco “/dev/sda1”fsck.ext2 /dev/sda1 Reparar/verificar integridad del archivo “ext2” en partición de disco “/dev/sda1”fsck.ext3 /dev/sda1 Reparar/verificar integridad del archivo “ext3” en partición de disco “/dev/sda1”fsck.vfat /dev/sda1 Reparar/verificar integridad del archivo “fat” en partición de disco “/dev/sda1”fsck.msdos /dev/sda1 Reparar/verificar integridad del archivo “dos” en partición de disco “/dev/sda1”e2fsck /dev/sda1 Reparar/verificar integridad del archivo “ext2” en partición de disco “/dev/sda1”e2fsck -j /dev/sda1 Reparar/verificar integridad del archivo “ext3” en partición de disco “/dev/sda1”dosfsck /dev/sda1 Reparar/verificar integridad del archivo “dos” en partición de disco “/dev/sda1”

III. PERSONALIZACIÓN DE LA INSTALACIÓNEste 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

Page 5: Administración GNU/Linux por consola

ANDINUX

# 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 sistemaapt-get install nom_paquete Instalar/actualizar el paquete deb “nom_paquete”apt-cdrom install nom_paquete Instalar/actualizar un paquete deb “nom_paquete” desde cdromapt-get update Actualizar la lista de paquetesapt-get upgrade Actualizar todos los paquetes instaladosapt-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.

III.2. Manualmente, con “paquetes.deb” que hemos conseguido de sus desarrolladores

# dpkg -i vlc.deb // Instala (“desempaqueta”) el paquete “vlc” en el sistemadpkg -i paquete.deb Instalar/actualizar un paquete “paquete.deb” Debiandpkg -l Mostrar todos los paquetes “deb” instalados en el sistemadpkg -l | grep pci Mostrar todos los paquetes “deb” agrupados por el nombre “pci”dpkg -L nom_paquete Mostrar lista de archivos dados por un paquete instalado en el sistemadpkg –contents paquete.deb Mostrar lista de archivos dados por un paquete no instalado todavía.dpkg -s nom_paquete Mostrar información del “nom_paquete” instalado en el sistemadpkg -r nom_paquete Eliminar un paquete “deb” del sistema llamado “nom_paquete”

IV. OPERACIONES

IV.1. Administrar Usuarios y Gruposuseradd 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-2011newgrp 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

Page 6: Administración GNU/Linux por consola

ANDINUX

IV.2. Montaje y desmontaje de un sistema de archivos y DispositivosEl 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 elmencionado dispositivo.

Por estándar se acostumbraba que estos dispositivos “extraibles” se montaran en el directorio “/mnt” pero actualmente es muy utilizado el directorio “/media”

# mount -t vfat /dev/sda2 /mnt/sda2 Monta un dispositivo (partición de disco duro, disketera, CDrom, USBdisk,etc.) cuyo controlador existe en el directorio “/dev/sda2”, en un directorioexistente (o previamente creado) en “/mnt/sda2”; este dispositivo tiene unformato 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.

IV.3. Desplazamiento en el sistema de Archivos-Directorios (Change Dir)cd / Ir al directorio raízcd /home Desplazarse al directorio “home”cd .. Retroceder un nivelcd ../.. Retroceder dos nivelescd - Regresar al directorio anterior (de donde vinimos recientemente)cd ~usuario1 Ir al directorio del “usuario1”

V. TRABAJO CON DIRECTORIOS Y ARCHIVOS

V.1. Visualizaciónls Ver los directorios y Archivos del directorio donde estamos.ls -l Ver los detalles de Directorios y Archivos del directorio donde estamosls -a Ver los archivos ocultos del directorio donde estamosls -l /home Ver los directorios y archivos del directorio “/home”ls *[0-9]* Ver los directorios y archivos que contienen númerostree Ver los directorios y archivos en forma de árbol comenzando por la raízlstree Ver los directorios y archivos en forma de árbol comenzando por la raízcat 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

Page 7: Administración GNU/Linux por consola

ANDINUX

V.2. Creaciónmkdir dir1 Crear un directorio con nombre “dir1”mkdir dir1 dir2 Crear dos directorios “dir1” y “dir2” a la misma vezmkdir -p /tmp/dir1/dir2 Crear un árbol de directorios

V.3. Borradorm -f documento1 Borrar el archivo (arch) llamado “documento1”rmdir dir1 Borrar el directorio llamado “dir1”rm -rf dir1 Borrar el directorio ‘dir1′ con su contenido de manera recursivarm -rf dir1 dir2 Borrar dos directorios con su contenido de manera recursiva

V.4. Renombrado y copiarmv dir1 nuevo_dir1 Renombrar un directorio o archivomv /home/arch1 /usr Mover el archivo ubicado en “/home/arch1” al directorio “/usr”cp arch1 Copiar el archivo “arch1”cp arch1 arch2 Copiar dos archivos a la misma vezcp dir /* . Copiar todos los archivos del directorio “/*” en el directorio actual (.)cp -a /tmp/dir1 . Copiar un directorio “/tmp/dir1” en el directorio actual de trabajo (.)cp -a dir1 Copiar un directoriocp -a dir1 dir2 Copiar dos directorios a la misma vez

V.5. Enlaces simbólicos y físicos de archivosln -s arch1 lnk1 Crear un enlace simbólico (lnk1) para el archivo “arch1”ln arch1 lnk1 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 permisose 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

Page 8: Administración GNU/Linux por consola

ANDINUX

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. Lasintaxis del comando es:

# chown nuevo_usuario nombre_archivochown user-conta tema5_CN.doc Cambia al usuario “user-conta” como

dueño del archivo “tema5_CN.doc”chown -R user-adm dir_conta Cambia (Recursivamente) al propietario de un directorio y de

TODOS los subdirectorios y archivos contenidos en este.

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. Lasintaxis del comando es:

# chgrp nuevo_grupo nombre_archivochgrp grupo-conta tema2_CN.doc Cambia el grupo del archivochgrp grupo-conta dir_conta Cambia el grupo del directorio

V.6.4. Notación binariaUna otra forma de representar la asignación de permisos es a través de la “notación binaria”, código numérico queestá compuesto por tres cifras entre 0 y 7:

a) Primera, representa los permisos del usuario propietariob) Segunda, los permisos del grupo propietarioc) Tercera, los de los otros usuarios.

En binario, las combinaciones representan el tipo de permisos. El bit más a la derecha (menos significativo) serefiere al permiso de ejecución (1=activar y 0=desactivar). El bit central se refiere al permiso de escritura y el bitmá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 0 0 0 Ningún permiso

- - x 1 0 0 1 Sólo permiso de ejecución

- w - 2 0 1 0 Sólo permiso de escritura

- w x 3 0 1 1 Sólo permiso de escritura y ejecución

r - - 4 1 0 0 Sólo permiso de lectura

r - x 5 1 0 1 Sólo permiso de lectura y ejecución

r w - 6 1 1 0 Sólo permiso de lectura y escritura

r w x 7 1 1 1 Todos los permisos

chmod 700 tema2_CN.doc Cambia y da todos los permisos al usuario y ninguno al gruponi a los otros

chmod 550 tema2_CN.doc Cambia y da al usuario y su grupo permisos de lectura yejecución; ningún permiso a otros

chmod 744 * Cambia y proporciona todos los permisos al usuario y sólo de lectura a los otros, en todos los archivos (*)

chmod -R 744 * 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

Page 9: Administración GNU/Linux por consola

ANDINUX

V.6.5. Bits SUID y SGIDEstos son dos tipos de permisos especiales y poco usados debido al cuidado que debe tenerse al activar estos bitsSUID ó SGID puesto que pueden ocasionar problemas de seguridad, especialmente cuando el propietario delarchivo es “root”.

El bit SUID es una extensión del permiso de ejecución y sirve para cuando un usuario necesita ejecutar unaaplicació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 alnú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úmeroen “octal”.

Cuando se aplica el bit SGID a un Directorio, todos los SubDirectorios y archivos creados dentro de este directoriotendrá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ánen el mismo directorio.

V.7. Buscar archivosfind / -name arch1 Buscar archivo “arch1” a partir de la raíz (/) del sistemafind / -user usuario1 Buscar directorios y archivos pertenecientes al usuario “usuario1”find /home/rojo -name \*.bin Buscar archivos con extensión “.bin” en el directorio “/ home/rojo”find /usr/bin -type f -mtime -10 Buscar archivos creados/cambiados en los últimos 10 díasfind / -xdev -name \*.zip 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 existentecat arch1 | command( sed, grep, awk, grep, etc…) >> result.txt

Página 9

Page 10: Administración GNU/Linux por consola

ANDINUX

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” Recursivamentegrep [0-9] /var/log/messages Seleccionar las líneas de ”/var/log/messages” que contienen númerossed ‘/^$/d’ texto.txt Eliminar todas las líneas en blanco en el texto.txtsed ‘/ *#/d; /^$/d’ texto.txt Eliminar comentarios y líneas en blanco en el texto.txtsed -e ’1d’ texto.txt Elimina la primera línea del archivo texto.txtsed -n ‘/string1/’ Visualizar solamente las líneas que contienen la palabra “string1”sed ‘/string1/string2/’ texto.txt Reubicar “string1” con “string2” en texto.txtecho ‘esempio’ | tr ‘[:lower:]‘ ‘[:upper:]‘ Convertir minúsculas en mayúsculas.

VI.1. Conversión de formato de archivosdos2unix archdos.txt archunix.txt Convertir archivo de texto de formato MSDOS a UNIXunix2dos archunix.txt archdos.txt Convertir archivo de texto de formato UNIX a MSDOSrecode ..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 Archivostar -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 gziptar -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 estamostar -xvf arch.tar -C /tmp Descomprimir un arch.tar en el directorio “/ tmp”tar -xvfj arch.tar.bz2 Descomprimir un arch.tar comprimido dentro bzip2tar -xvfz arch.tar.gz Descomprimir un arch.tar comprimido dentro gziptar -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áneaunzip arch1.zip Descomprimir un archivo zip llamado “arch1.zip”

VI.3. Backup-respaldos de informacióndump -0aj -f /tmp/home0.bak /home Hacer un respaldo de la información completa del directorio “/home”dump -1aj -f /tmp/home0.bak /home Hacer un respaldo incremental del directorio “/home”restore -if /tmp/home0.bak Restaurar un respaldo interactivamentersync -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ónrsync -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óndd 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 sshdd 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

Page 11: Administración GNU/Linux por consola

ANDINUX

find /var/log -name ‘*.log’ | tar cv –archs-from=- | bzip2 > log.tar.bz2 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 floppydd if=/dev/fd0 of=/dev/hda bs=512 count=1 Restaurar la copia del MBR (Master Boot Record) desde un floppydisk

VI.4. Editor de textoComplementariamente 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 => VimEn 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 Abre un espacio de trabajo “vacio” (página en blaco)$ vi nombre_archivo 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, Pegadobú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 textoCTRL + 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 textoCTRL + 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 seleccionadop Presionar la tecla “p” pegará el texto seleccionado en el lugar donde llevemos y

pongamos el cursor.

Página 11

Page 12: Administración GNU/Linux por consola

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 comandosEl siguiente es un listado de algunos de los comando más usados:

y Copiar la palabra o el texto que se haya seleccionadoyy Copiar toda la línea de textop Pegar lo que se haya copiado (lo que este en memoria) justo después del cursorP Pegar lo que se haya copiado (lo que este en memoria) justo antes del cursorx Borra el carácter actuald Borrar la palabra o el texto que se haya seleccionadodd Borrar una línea completa de texto (que puede estar vacía)cc Borrar (reemplazar) la líneaS 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 cursorcw Cambiar palabrac$ Cambiar hasta el final de la líneau DeshacerCtrl+R Rehacer. Repetir último comandoh Mueve el cursor una posición a la izquierdal Mueve el cursor una posición a la derechaj Mueve el cursor una posición hacia abajok Mueve el cursor una posición hacia arriba0 Mueve el cursor al inicio de la línea$ Mueve el cursor al final de la líneaw Avanza el cursor a la palabra siguientex Borra caracteresdd Borra una línea completandd Borra “n” líneas completasdw Borra una palabra completandw Borra “n” palabras completasZZ Guarda el archivo y sale del editornyy Marca “n” líneas para copiarp Pegar caracteres o palabras

VI.5.3. Comandos de Guardar y Salir:q! 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.

Página 12

Page 13: Administración GNU/Linux por consola

ANDINUX

VI.5.4. Modo Edición-InserciónEn la pantalla de “vi” donde podemos movernos con las teclas de dirección; para insertar o borrar palabras- caracteres, 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”.

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.htmlhttp://www.sromero.org/linux/vim/Manual_VIM.html

VI.5.5. Modo comando extendidoEs 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 mostrará ayuda sobre la opción “t”:help E37 informará sobre el significado del error 37:set ruler Activa el indicador de posición en la línea inferior.:set number Activar numeración de línea:syntax on Reconocimiento de sintaxis de lenguaje.:set ai Indentación automática

dW borra una palabragg Lleva el cursor a la primera línea del documento. G Lleva el cursor a la última línea del documentoH Lleva el cursor a la primera línea que se ve en pantalla. M Lleva el cursor a la línea central de la pantalla. L Lleva el cursor a la última línea de la pantalla. x borra caracter

Página 13

Page 14: Administración GNU/Linux por consola

ANDINUX

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 oinstituciones previamente se lo comunique, algunos SysAdmin pueden ser paranoicos como nosotros, especialmente cuandopueden ver que hay alguien por ahí husmeando “sniffear”.

ifconfig Comando que nos muestra la configuración de todas las tarjetas de red Ethernet “eth0” y lookup (lo)ifconfig eth0 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)

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 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 sistemahost www.example.com Buscar el nombre del host para determinar cual su dirección IProute 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 recorridoroute 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 IPnslookup direccion_ip Buscar el número de la “dirección_ip” para resolver el nombre asociadowhois www.example.com Buscar en base de datos Whoisip 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 PIDnetstat -tupl Mostrar todos los servicios de escucha de red en el sistema y sus PIDtcpdump tcp port 80 Mostrar todo el tráfico por el puerto 80 HTTP

Página 14

Page 15: Administración GNU/Linux por consola

ANDINUX

VII.1. De manera similar para entorno de redes Wireless (inalámbricas)iwlist scan Mostrar todas las redes inalámbricas activas y próximas geográficamenteiwconfig eth1 Mostrar configuración de tarjeta de red wireless (inalámbrica), similar a ifconfig

VII.2. SAMBA para redes Guindousnbtscan ip_addr Resolución de nombre de red biosnmblookup -A ip_addr Resolución de nombre de red biossmbclient -L ip_addr/hostname Mostrar acciones remotas de un host en guindous.

Se concede permiso para copiar, distribuir y/o modificar este documento bajo las condiciones de la licenciaReconocimiento-CompartirIgual 2.0 publicada por Creative Commons. Puede consultar una copia de la licencia enhttp://creativecommons.org/licenses/by-sa/2.0/es/legalcode.es

Página 15