Tema 2 Comandos Basicos e Instalacion Linux

100
1 COMANDOS Ernesto Pérez (autor textos 2005-2008) BÁSICOS E INSTALACIÓN DE LINUX CENTOS Ricardo Ortega (redacción de textos y diseño gráfico 2010) http://aula.virtualepn.edu.ec [email protected]

Transcript of Tema 2 Comandos Basicos e Instalacion Linux

Page 1: Tema 2 Comandos Basicos e Instalacion Linux

1

COMANDOS Ernesto Pérez (autor textos 2005-2008)

BÁSICOS E

INSTALACIÓN

DE LINUX

CENTOS

Ricardo Ortega (redacción de textos y

diseño gráfico 2010)

http://aula.virtualepn.edu.ec

[email protected]

Page 2: Tema 2 Comandos Basicos e Instalacion Linux

2

Capacitación en Modalidad Virtual Administración Linux I, Comandos Básicos e Instalación de CENTOS Ricardo Ortega Levantamiento de texto 2008: Ernesto Pérez Redacción 2010: Ricardo Ortega Registro de derecho autoral: en trámite ISBN de este volumen: en trámite Depósito Legal: en trámite Publicado en http://aula.virtualepn.edu.ec desde Abril 2008

CENTRO DE EDUCACIÓN CONTINUA ESCUELA POLITÉCNICA NACIONAL DIRECCIÓN DE CAPACITACIÓN Y CONSULTORÍA CAPACITACIÓN EN MODALIDAD VIRTUAL

Quito –Ecuador

Page 3: Tema 2 Comandos Basicos e Instalacion Linux

3

ADMINISTRACIÓN DE LINUX I

Comandos básicos de Linux e instalación de CENTOS

Material para la modalidad virtual

Master Ricardo B. Ortega O.

www.ricardoortega.com

Objetivos del capítulo 2

Obtener DSL (Damn Small Linux) y aprender a iniciarlo

Conocer la estructura del árbol de directorios de Linux

Usar comandos básicos del shell (conocido como bash)

Instalar el sistema operativo Linux Centos 5

Prerrequisitos para el capítulo 2

Conocer los principales términos para instalar algún sistema operativo. Si no ha instalado nunca ningún

sistema operativo, este capítulo le resultará confuso y complicado. Se supone que ya sabe lo que son los

respaldos, el BIOS SETUP, el particionamiento, el formateo, la instalación y configuración de cualquier

sistema operativo y se asume que sabe cómo conectar su computador a Internet.

Recursos necesarios para el capítulo 2

Un computador mínimo Pentium IV de 1.6 GHz 1GB RAM, con 20GB disponibles en disco duro, unidad

de DVD (para instalar CENTOS desde DVD), teclado, ratón, tarjeta de red. A pesar de que CENTOS

puede trabajar en equipos antiguos, le recomendamos que utilice un equipo reciente, para que su

experiencia con Linux sea agradable y se ahorre molestias.

Si va a usar un equipo portátil (o cualquier otro) de reciente fabricación, es posible que Linux (DSL o

CENTOS) no reconozca todos los dispositivos, así que tenga a mano un equipo de escritorio.

Conexión a Internet para visitar los links recomendados y descargar los programas indicados.

CENTOS requiere mínimo 10GB de disco (si usa particionamiento automático), o 20GB de disco si crea

manualmente varias particiones. Este mínimo aplica a ambos: modo independiente y modo virtual.

Recomendaciones para el capítulo 2

MAQUINA, PARTICIÓN O DISCO PROPIO PARA CENTOS: Recomendamos que instale CENTOS en

modo independiente, esto es, con su propia partición (o particiones) o su propio disco duro

independiente. Alguien preguntaba si se puede instalar CENTOS en una flash de 16 GB. La respuesta

es sí, pero eso lo harán ustedes mismos luego de concluido el curso, ya que la velocidad de las flash es

de 400 Mbits (USB 2.0) mientras que los discos duros SATA 2 ofrecen una velocidad de transferencia

de 3GBits, es decir siete veces más rápido.

NO JUEGE CON WINDOWS: No le recomendamos que intente achicar o agrandar particiones desde

Windows (con programas como Partition Magic, Hard Disk Manager, Drive Image, y similares), no

Page 4: Tema 2 Comandos Basicos e Instalacion Linux

4

porque Linux tenga algo que ver en el asunto sino porque esos programas generalmente tardan mucho

(pero muchísimo) más que el proceso de backup+particionamiento+formateo+restauración de respaldos

y fallan escandalosamente precisamente cuando más importante es la información. No recomendamos

NINGUNO de ellos. No espere nuestra ayuda en este sentido.

NO ARRIESGUE DATOS IMPORTANTES: No le recomendamos que use como conejillo de indias al

equipo con su más valiosa información. Recuerde que puede cometer errores o se pueden presentar

situaciones imprevistas, así que no se confíe. Cuando ya tenga experiencia suficiente, podrá poner sus

manos en equipos importantes.

SAQUE RESPALDOS: Recomendamos que saque respaldo de TODO su disco duro o de la partición en

la cual va a instalar CENTOS. Verifique sus respaldos y reformatee. O consiga otro disco duro.

Actualmente un disco duro interno de 250GB se consigue por menos de $ 60. Un HD USB externo de

500GB se consigue por menos de US$ 100.

MAQUINA VIRTUAL COMO SEGUNDA MÁQUINA LINUX: A pesar de que puede practicar la

instalación en una máquina virtual, a estas alturas ya debe disponer de una máquina real como primera

máquina para CENTOS. Opcionalmente podría seguir usando la máquina virtual (para capturar

pantallas y prácticas rápidas), esto es, como segunda máquina. Eso significa que necesitará otros

10GB-20GB adicionales para la máquina virtual.

PARTICIONES WINDOWS FAT O NTFS: Estamos conscientes que todo administrador debe tener

experiencia en varios sistemas operativos, así que esperamos (creemos) que debe conocer Windows.

Le ayudaremos a que Windows conviva con Linux. Lo que no le recomendamos es que en un equipo

SERVIDOR LINUX quiera usar particiones Windows (llamadas FAT o NTFS). Eso NO es eficiente. Las

particiones de un servidor Linux deben tener el formato de Linux (llamado ext3 o ext4). No espere ayuda

si pregunta “cómo puedo hacer que CENTOS lea particiones de Windows?” tal cosa NO es eficiente en

un servidor. Ahora que si desea hacerlo en una estación, mejor use otras distribuciones. Reiteramos

que CENTOS está orientado (y muy bien) a servidores.

LEA LOS MENSAJES: Observe los mensajes que le aparecen. No pase por alto los mensajes de error.

La mayoría de usuarios no lee los mensajes y cuando se le pregunta “qué decía el mensaje” la

respuesta es “no sé, nunca leo los mensajes”. Por supuesto que esa actitud no es propia de aspirantes

a administradores de redes.

COLABORE CON DESCRIPCIÓN DEL ERROR: Si el error NO le permite continuar y necesita ayuda de

los compañeros, del tutor o del CEC, por favor copie el texto del mensaje, especialmente el primer texto

y el último texto. Claro que ayudaría si puede capturar o fotografiar el mensaje de error junto con los

comandos o acciones que ocasionaron el error. Es decir que no crea que el tutor o los compañeros le

van a ayudar con solo decir “me salió error, qué hago?”. Debe aportar el mensaje de error y las

circunstancias en las que apareció.

HAGA SU TAREA: si le sale un mensaje de error a la una de la madrugada, quizá le convenga más

googlear un poco y buscar en Internet la solución al error antes que poner el mensaje en el aula virtual.

Recuerde que buscamos formar profesionales administradores. Recuerde que el otro extremo: pasar

días y días tratando de resolver por sí solos un problema NO es de administradores competentes. Haga

su tarea, pero recuerde el principio del software libre: colaboración.

Contenidos del capítulo 2

OBJETIVOS DEL CAPÍTULO 2 .................................................................................................................................... 3

PRERREQUISITOS PARA EL CAPÍTULO 2 ............................................................................................................. 3

RECURSOS NECESARIOS PARA EL CAPÍTULO 2 ................................................................................................ 3

RECOMENDACIONES PARA EL CAPÍTULO 2 ....................................................................................................... 3

Page 5: Tema 2 Comandos Basicos e Instalacion Linux

5

CONTENIDOS DEL CAPÍTULO 2 ............................................................................................................................... 4

2.1 OBTENER DSL Y APRENDER A USARLO .......................................................................................................... 5

2.2 EL ÁRBOL DE DIRECTORIO DE LINUX ............................................................................................................ 8

2.2.1 Árbol general ..................................................................................................................................................... 8 2.2.2 Directorios del sistema .................................................................................................................................... 11 2.2.3 La jerarquía /etc .............................................................................................................................................. 13 2.2.4 La jerarquía /usr .............................................................................................................................................. 13 2.2.5 La jerarquía /var .............................................................................................................................................. 14 2.2.6 Los directorios de usuario ............................................................................................................................... 14 2.2.7 Otros directorios .............................................................................................................................................. 14 2.2.8 Dispositivos de Linux ....................................................................................................................................... 15

2.3 USO DE LOS PRINCIPALES PROGRAMAS DE LINUX ................................................................................. 20

2.4 USO DE LOS PRINCIPALES COMANDOS DE LINUX .................................................................................... 20

2.4.1 La importancia de los comandos en modo texto .............................................................................................. 20 2.4.2 Nombres equivalentes ...................................................................................................................................... 20 2.4.3 Cómo entrar al modo texto .............................................................................................................................. 21 2.4.4 El Superusuario ............................................................................................................................................... 23 2.4.5 Comandos básicos ........................................................................................................................................... 24 2.4.6 El comando ls .................................................................................................................................................. 28 2.4.7 Autocompletar comandos................................................................................................................................. 43 2.4.8 Más comandos de utilidad ............................................................................................................................... 44 2.4.9 El editor de textos vi ........................................................................................................................................ 52 2.4.10 El editor mcedit .............................................................................................................................................. 55

2.5 INSTALACIÓN DE CENTOS ................................................................................................................................ 56

2.1 Obtener DSL y aprender a usarlo

Aquí veremos una forma rápida de familiarizarnos con Linux. Se trata del Damn Small Linux, DSL o

Condenadamente Diminuto Linux. Es un Linux de 51 MB que cabe perfectamente en un CD tipo tarjeta de

negocio. Esta distribución está en inglés. Es bastante restringida ya que dispone de muy pocos programas

(para que alcance en 51 MB). Sin embargo permite tener una sensación del Linux tanto en modo gráfico

como en modo texto, permite practicar los principales programas, usar los comandos básicos y conocer la

estructura de directorios de Linux.

Si por algún motivo no logra arrancar o trabajar con el DSL, no se preocupe, es solo un juguetito para

dedicarle un máximo de dos horas. En caso de fallar el DSL, pase directamente a la instalación de CENTOS

y prosiga con los programas y comandos de Linux.

Para usar DSL siga estos tres pasos:

1. Descargar el software (son 51MB) desde http://www.damnsmalllinux.org/index_es.html

Elija para descargar el archivo que tiene la palabra embed (y termina en .zip) porque le permitirá correr

directamente DSL sin necesidad de grabar un CD ni reiniciar el equipo.

2. Una vez descargado, extraiga el archivo .zip a una carpeta cualquiera (son 52MB adicionales)

3. Haga doble clic en el archivo dsl_base.bat (es una macro que iniciará el Linux utilizando una máquina

virtual llamada QEMU y le da haciendo todo el trabajo necesario para arrancar DSL sin reiniciar el equipo).

Listo. Ya tiene corriendo el DSL (eso esperamos).

Page 6: Tema 2 Comandos Basicos e Instalacion Linux

6

Si por algún motivo no funcionan los tres pasos anteriores, intente este otro método:

1. Descargue la imagen ISO para quemar en un CD, desde

http://distro.ibiblio.org/pub/linux/distributions/damnsmall/current/current.iso

2. Grabe la imagen .iso en un CD (necesitará un CD de al menos 51 MB). Puede grabar en un CD normal

de 700MB. Use el software para grabar imágenes ISO, puede ser Nero bajo Wndows, o cdrecorder bajo

Linux, o ISORecorder bajo Windows (ISORecorder es recomendado por ser software libre)

Si no sabe cómo grabar, le recomendamos descargar y usar el programa desde

http://isorecorder.alexfeinman.com/isorecorder.htm El uso de este software (bajo Windows) es sencillo:

descargue, instale y haga clic derecho en el archivo .iso. Lo demás es cuestión de colocar el CD vacío en la

unidad y dar clic en GRABAR IMAGEN A CD.

3. Arranque la máquina con el CD.

Y en un par de minutos, debe aparecer algo similar a esto (bueno, la imagen varía de versión a versión):

Luego de varios mensajes de actividad, finalmente, aparecerá la pantalla de DSL:

Page 7: Tema 2 Comandos Basicos e Instalacion Linux

7

Si finalmente no le aparece nada, vuelva a intentar. Si tampoco le aparece nada, pruebe el CD en otra

máquina o prosiga con CENTOS.

Esta es una típica pantalla en modo gráfico. Ya sabe, clic izquierdo o clic derecho. No vamos a pasar tiempo

explicando eso.

Mire un poco el DSL, juegue unos minutos con él. Intente usar el Firefox para navegar por Internet. Pruebe

con la calculadora, pruebe con varias ventanas. Ya sabe, los tres botones arriba a la derecha de cada

ventana. Pruebe el cambio de fondo y resolución de pantalla. No pregunte donde está eso. No lo vamos a

decir. Ud. deberá averiguarlo. Recuerde que este no es un curso básico.

Cuando esté listo(a), vuelva a arrancar el CD y todo volverá a quedar como la imagen inicial (esa es una de

las ventajas del CD, que se mantiene sin cambios).

Puede dar clic abajo a la izquierda donde dice Files y aparecerá el Administrador de Archivos.

Page 8: Tema 2 Comandos Basicos e Instalacion Linux

8

Mire el panel derecho. Esos son los directorios y archivos que están en el sistema de archivos de Linux. Hay

varios directorios importantes como dev, etc, mnt, proc, root, bin, boot, home, lib, tmp, usr, var. Más

adelante veremos el contenido e importancia de esos directorios. Por ahora no intente borrarlos ni

modificarlos.

Es importante notar que la mayoría de nombres (y comandos) de Linux están escritos y DEBEN escribirse

con letras minúsculas. Es MUY importante. Esta es una gran diferencia con Windows. Ud. deberá usar el

nombre del archivo o directorio tal cual está escrito. No se vale (no es lo mismo) escribir con distinto tipo de

letra. Bienvenido a Linux.

A continuación veremos el contenido de cada uno de estos directorios. Puede hacer clic en cada uno de los

directorios para que mire el contenido.

2.2 El árbol de directorio de Linux

2.2.1 Árbol general

Al examinar el contenido de nuestro disco duro mediante cualquiera de las utilidades (texto o gráficas) de

que dispone nuestra distribución de GNU/Linux, vemos que existen muchos directorios cuyo nombre es

distinto (aunque comparable) con Windows.

También observaron que los directorios utilizan el signo / (slash) en lugar del signo \ (backslash) para

separar nombres de directorios o para indicar al directorio raíz. Efectivamente, en Linux, el directorio raíz se

denomina con el signo / (o barra inclinada a la derecha, o signo de división, como prefiera llamarlo). El

mismo signo se utiliza para separar nombres de directorios.

En Linux la mayoría de personas los llaman directorios. Rara vez escuchará “carpeta”, aunque signifiquen lo

mismo: un directorio o carpeta es un espacio de almacenamiento donde se guardan archivos u otras

carpetas (o directorios).

Linux es seguro. Ningún usuario que no disponga de los permisos adecuados puede alterar los archivos del

sistema. Un usuario inexperto o mal intencionado podría modificarlos o eliminarlos y dañar el sistema

Page 9: Tema 2 Comandos Basicos e Instalacion Linux

9

operativo, lo cual sucede triste y frecuentemente en los sistemas de Microsoft, donde la activación de un

virus por parte de un usuario vulnera la totalidad del sistema operativo y la seguridad y privacidad de los

datos del resto de usuarios. Esto no es posible en Linux, a menos que un administrador descuidado haya

cambiado los permisos de los archivos del sistema (que sí se puede, pero no se debe hacer).

El árbol de directorio es general para Linux. Aquí podemos mirar algunas diferencias entre DSL y CENTOS.

Otras distribuciones tendrán algo en común y algo distinto. No espere que todas las distribuciones sean

idénticas.

DIRECTORIOS EN DSL DIRECTORIOS EN CENTOS

Vamos a describir el contenido de los directorios (carpetas) en forma de árbol invertido, ya que si abrimos

cada una de las carpetas (ramas del árbol), aparecerán nuevas ramas (carpetas) o archivos. Entonces la

raíz del árbol es el directorio /. No podemos subir más arriba. No busque letras C: D: E: ya que en Linux no

existe tal cosa. Todo el almacenamiento está contenido en un solo árbol.

Aquí podemos ver que la carpeta boot contiene otras subcarpetas (o subdirectorios), denominados grub y

lost+found.

Desde el punto de vista del usuario, en GNU/Linux existen dos tipos de directorios: los directorios del

sistema, que contienen programas ejecutables, bibliotecas del sistema, configuraciones, manuales, etc. y

los directorios del usuario que contienen datos específicos de cada usuario.

Page 10: Tema 2 Comandos Basicos e Instalacion Linux

10

El árbol de directorios de Linux. Fuente http://wiki.ehas.org/images/4/4a/Arbol_linux_wiki.png

Page 11: Tema 2 Comandos Basicos e Instalacion Linux

11

2.2.2 Directorios del sistema

Los directorios del sistema son aquellos en los que se guardan todos los archivos importantes para el

funcionamiento de Linux.

La estructura básica del sistema Linux comienza por el directorio raíz (root) que se describe con el signo /, a

diferencia de Windows donde el directorio raíz es \.

Existen entonces los siguientes directorios del sistema: bin, boot, dev, etc, lib, net, proc, sbin, var.

Olvide el directorio KNOPPIX, por el momento no nos interesa.

El primer directorio importante es bin que contiene programas binarios (ejecutables) del sistema operativo.

Si mira el contenido de bin encontrará programas que pueden ejecutar los usuarios, programas como bash,

grep, chmod, vi, y muchos otros. Si por ejemplo borra el programa vi, simplemente el vi ya no funciona.

En el directorio /bin tenemos programas ejecutables (también llamados binarios) que forman parte del

sistema operativo GNU/Linux. Estos comandos pueden ser usados por cualquier usuario.

El directorio /boot contiene programas y archivos necesarios para arrancar el sistema operativo. Entre otros

archivos, aquí se encuentra el núcleo que se pueden iniciar (normalmente se trata de archivos con un

nombre similar a vmlinuz-x.y.z).

El directorio /etc contiene todos los archivos de configuración de nuestro sistema (como el archivo passwd,

que contiene una lista con los nombres de usuario y contraseñas, o el archivo fstab, que contiene una lista

con los puntos donde se han montado las diferentes particiones y los sistemas de archivos que utilizan).

También podemos encontrar los archivos que almacenan los archivos que indican cómo y cuándo debe

levantarse un servicio, qué zona horaria tenemos, y muchísimos archivos de configuración más. El directorio

Page 12: Tema 2 Comandos Basicos e Instalacion Linux

12

/etc contiene mayormente archivos de textos que pueden ser leídos y contienen mucha explicación sobre

cómo realizar cambios y la utilidad de estos archivos.

El directorio /lib contiene las bibliotecas (o librerías) del sistema que son necesarias durante el inicio del

mismo. Estas bibliotecas son análogas a los archivos DLL de Windows. Su ventaja reside en que no es

necesario integrar su código en los programas que las usan, ya que cuando un programa necesita alguna

de sus funciones, se carga la biblioteca en la memoria y puede ser usada por cualquier otro programa que la

necesite, sin necesidad de volver a cargarla en memoria. Un subdirectorio especial es /lib/modules, que

contiene los módulos del núcleo (normalmente se trata de controladores de dispositivos) que se cargan

únicamente en caso de que haga falta usar un determinado dispositivo, por lo que no estarán

permanentemente ocupando memoria contiene las bibliotecas del sistema. Este directorio normalmente no

debe ser tocado, no hay mucha información extraíble de ella y no debemos tocar nada, a no ser que

realmente conozcamos lo que estamos haciendo.

/mnt Este directorio es típico de las distribuciones RedHat, aunque puede no estar presente en otras

distribuciones. Su misión consiste en agrupar en un mismo lugar los puntos de montaje de diversas

particiones externas, como por ejemplo: CD-ROM, DVD, disqueteras, unidades ZIP, particiones de MS-

Windows y de otros sistemas operativos, etc. Este directorio contiene un subdirectorio adicional para cada

una de estas particiones (como /mnt/cdrom, /mnt/win_c, /mnt/floppy o /mnt/zip). Si accedemos a estos

subdirectorios estaremos accediendo realmente a esas particiones.

El directorio /sbin contiene programas ejecutables (también llamados binarios) que forman parte del sistema

operativo GNU/Linux. Estos comandos son relativos a los sistemas de archivos, particiones e inicio del

sistema, y solo pueden ser usados por el administrador (superusuario, por eso se llama sbin o superuser

binaries).

En /usr su nombre proviene de user (usuario) y, como tal, contiene una réplica de otros directorios de

nuestro sistema GNU/Linux pero orientados al usuario en lugar de al propio sistema. Este directorio se

puede compartir en una red local, pero su contenido es estático. Aquí van las aplicaciones del usuario,

digamos, los binarios que no son requeridos para que la base del sistema funcione: servidores como el

apache, sendmail, vsftp, sistemas de análisis de logs, herramientas de firewall, sistema de ambiente gráfico;

en fin: cualquier aplicación que, aunque sea muy útil, no es imprescindible para cuando tenemos una

emergencia y debemos arrancar básicamente el sistema. Éste directorio tiene una estructura similar al

directorio raíz /, ya que contiene un directorio bin/, sbin/, etc/, donde se guardan los binarios y archivos de

configuración no imprescindibles para un arranque de emergencia y que son elementos agregados por el

usuario (nosotros) a la hora de instalar el sistema operativo y durante el tiempo de vida del sistema.

En el directorio /opt están paquetes de software adicionales, como por ejemplo los sistemas de escritorio

gráficos conocidos como KDE o GNOME. Algunas distribuciones no hacen uso de él.

/var procede de variable, y ésa es la naturaleza de la información que contienen sus subdirectorios y

archivos. Aquí se encuentran las colas de impresión (en /var/spool/lpd), correo electrónico que todavía no se

ha recogido (en /var/spool/mail) o enviado (en /var/spool/mqueue), o archivos de registro creados por los

distintos procesos de nuestro sistema (en /var/log). Éstos son datos que eventualmente ingresarán al

sistema, pero que pueden ser eliminados por la aplicación que los usa, o sencillamente el usuario mismo se

encargará de procesarlos.

El directorio /tmp contiene diversos archivos temporales que son usados por distintos programas de nuestro

sistema

El directorio /dev contiene archivos de dispositivos que permiten la comunicación con los distintos elementos

hardware que tengamos instalados en nuestro sistema. Entre los distintos dispositivos que aquí podemos

encontrar están los discos duros (como /dev/hda o /dev/sda), las particiones de los discos duros (como por

ejemplo /dev/hda1 o /dev/sda4), las unidades de CD-ROM SCSI (como /dev/scd0) y los vínculos a cualquier

tipo de unidad de CD-ROM (como /dev/cdrom), las disqueteras (como /dev/fd0), las impresoras (como

/dev/lp0), los puertos serie (como /dev/ttyS0 o /dev/cua0), el puerto PS/2 (/dev/psaux) y las tarjetas de

Page 13: Tema 2 Comandos Basicos e Instalacion Linux

13

sonido (como /dev/audio). Las memorias flash generalmente aparecen como sdb o sdc (dependiendo si el

equipo tiene o no otro dispositivo sda (disco duro SATA o SCSI).

El directorio /proc contiene los archivos del sistema de archivos de proceso. No son verdaderos archivos,

sino una forma de acceder a las propiedades de los distintos procesos que se están ejecutando en nuestro

sistema. Para cada proceso en marcha existe un subdirectorio /proc/<número de proceso con información

sobre él. Contiene información útil que nos brinda el kernel y, podemos realizar ajustes y cambios al kernel;

cambiar parámetros del protocolo tcpip, verificar el uso de la memoria y del procesador, ver la cantidad de

procesos que se están ejecutando, ver y quién ejecuta los procesos, además de decenas de parámetros

interesantes del kernel.

/root es el directorio personal del usuario root o superusuario. Contiene básicamente la misma información

que los directorios personales de los distintos usuarios del sistema, pero orientada única y exclusivamente

al usuario root.

En /home residen los directorios de los distintos usuarios del sistema, excepto el del usuario root, que se

encuentra en el directorio especial /root. Este directorio es opcional, aunque está presente en casi todas las

distribucionesse crean las carpetas de los usuarios. Al crear un usuario, el sistema Linux asigna un

directorio raíz o base para este usuario, donde él podrá escribir y guardar su información. Estos directorios

normalmente se crean dentro de /home y tienen como nombre el nombre del usurario (/home/pedro,

/home/magda, /home/joel, etc). Para el usuario administrador del sistema (root) el directorio base no está en

/home sino en /root, como lo vimos.

2.2.3 La jerarquía /etc

El directorio /etc, como vimos, contiene varios distintos subdirectorios que se utilizan para la configuración

de determinados componentes de nuestro sistema: /etc/opt, contiene los archivos de configuración para el

software instalado en el directorio /opt. Cada paquete de software tendrá su correspondiente subdirectorio

dentro de /etc/opt.

/etc/X11 contiene los archivos de configuración del entorno gráfico X Window, que es la base de los

sistemas de escritorio gráficos como el KDE o GNOME. Entre otras cosas, contiene los gestores de

ventanas y de arranque de los distintos escritorios gráficos. Este directorio es opcional.

/etc/sgml contiene los archivos de configuración para SGML y XML. Este directorio es opcional.

2.2.4 La jerarquía /usr

Este directorio contiene distintos subdirectorios:

/usr/bin contiene casi la totalidad de los comandos que un usuario puede necesitar.

/usr/include alberga los archivos de cabeceras (headers) usados por los programas

escritos en el lenguaje C.

/usr/lib contiene las bibliotecas de usuario.

/usr/local contiene la jerarquía local de usuario, con los subdirectorios típicos /bin, /include, /lib, /sbin, etc.

Luego la instalación de un sistema GNU/Linux, este directorio estará vacío y se irá llenando paulatinamente

a medida que se vayan instalando nuevos paquetes.

/usr/sbin contiene los archivos binarios (ejecutables) no vitales del sistema usados por el administrador.

/usr/share contiene archivos de datos independientes de la arquitectura del sistema, como documentación,

howtos, etc. Aquí se encontrar los subdirectorios /man (que contiene manuales de programas) y /misc (que

Page 14: Tema 2 Comandos Basicos e Instalacion Linux

14

contiene diversos datos independientes de la arquitectura). También se pueden encontrar los subdirectorios

/dict, /doc, /games, /info, /lócale, /smgl, zoneinfo, etc.

/usr/X11R6 incluye todos los programas que componen el entorno gráfico X Window (binarios, bibliotecas y

páginas man, por lo que encontraremos directorios como /usr/X11R6/bin /usr/X11R6/lib y /usr/X11R6/man).

Este directorio es opcional. /usr/games contiene los archivos binarios de muchos juegos y programas

educativos. Este directorio es opcional.

/usr/src contiene el código fuente del núcleo de GNU/Linux. Este directorio es opcional.

/usr/local: como en el resto de sistemas operativos UNIX, GNU/Linux está diseñado para ser usado en

entornos de red, por lo que es bastante frecuente que el directorio /usr no se encuentre en el ordenador

local, sino en un servidor. Por ello, el directorio /usr/local está destinado a contener el software que se

instale localmente en cada ordenador, y contiene subdirectorios similares a los que se puede encontrar bajo

/usr (como /usr/local/bin, /usr/local/sbin, /usr/local/lib, /usr/local/man, etc.). Adicionalmente, encontraremos

un directorio /usr/local/etc con idéntica funcionalidad al directorio /etc. Aunque use su ordenador de forma

aislada y no en un entorno de red, este es el directorio en el que debería instalar sus programas.

2.2.5 La jerarquía /var

Este directorio también posee una estructura típica de subdirectorios:

/var/cache contiene datos de aplicaciones en cache, como archivos del servidor web

y páginas de manual.

/var/lib tiene información de estado variable.

/var/log incluye registros creados por diversos programas y por el propio sistema operativo.

/var/run contiene datos relevantes para algunos procesos que se están ejecutando. /var/spool alberga

datos que están en cola de diversas aplicaciones, como correo electrónico del sistema y colas de impresión.

/var/tmp contiene datos temporales que deben ser preservados entre reinicios del sistema.

2.2.6 Los directorios de usuario

En un sistema GNU/Linux, cada usuario dispone de su propio directorio personal donde puede guardar los

documentos creados por él con los distintos programas. Este directorio personal puede ser de acceso

exclusivo para cada usuario, por lo que ningún otro usuario podrá entrar en él y visualizar el contenido de

los archivos que contiene (aunque esto depende del nivel de seguridad seleccionado durante la instalación

del sistema, ya que lo normal suele ser que el resto de usuarios puedan entrar en él y ver el contenido de

algunos archivos y subdirectorios, pero no modificarlos).

Los directorios personales están ubicados en /home/<nombre de usuario>. El usuario root sí dispone de los

permisos suficientes para acceder a los directorios personales del resto de usuarios.

2.2.7 Otros directorios

Algunas distribuciones hacen uso de otros directorios adicionales que suelen montar en el directorio raíz:

/media es un directorio análogo al estándar /mnt, y contiene los puntos de montaje de los dispositivos

extraíbles.

Page 15: Tema 2 Comandos Basicos e Instalacion Linux

15

/opt es típico de sistemas Solaris (de Sun Microsystems) y de IBM (AIX), que aunque no son Linux, hacen

uso del mismo esquema. Recuerde que Linux es un clon de UNIX y como tal se parece a UNIX y sus

variantes (Solaris, AIX, MacOSX, etc.)

2.2.8 Dispositivos de Linux

Para Linux todo es un archivo, inclusive los dispositivos que no parecen, como sonido, video, teclado, ratón.

Todo es un archivo y se lo puede leer y grabar desde el directorio /dev. Por esto vamos a mirar en detalle el

contenido del directorio /dev.

Los dispositivos en Linux son identificados con un designador de dos o tres letras, además si el dispositivo

admite perticiones se utiliza una progresión numérica o alfábetica para identificar la partición. En la siguiente

tabla se indica el designador de tipo dispositivo y su descripción.

Tipo Dispositivo

Hd Discos duros IDE y dispositivos IDE como cdroms y DVDs

Sd Discos duros SCSI, SATA, USB, Memorias Flash y Memorias SD

scd Cdrom SCSI

st Unidades de cinta SCSI

ht Unidades de cinta IDE

fd Unidades de diquetes

lp Puertos paralelos

tty Terminales o consolas

pty Terminales remotas o de red, incluyendo las abiertas en Window X

ttyS Puertos seriales

cua Puertos de comunicación

eth Tarjetas o interfaces de red ethernet

Los discos duros SATA, SCSI, memorias Flash, memorias SD, dispositivos USB en general se identifican

con el prefijo sd, pudiendo ser sda para el primer dispositivo de este tipo, sdb para el segundo, sdc para el

tercero y así sucesivamente. Como todos estos pueden particionarse serán sda1 la primera partición del

dispositivo, sda2 la segunda partición del primer dispositivo, y así sucesivamente.

Los dispositivos que admiten particiones generalmente se designan con letras, asi por ejemplo las unidades

IDE se designan así:

Canal IDE Dispositivo Linux Equivalente Windows

Primario Maestro /dev/hda C:

Primario Esclavo /dev/hdb D:

Secundario Maestro /dev/hdc E:

Secundario Esclavo /dev/hdd F:

El equivalente Windows es suponiendo una sola partición en el disco, ahora bien en Linux, por ejemplo, el

dispositivo /dev/hda es en si el disco duro completo, pero ya particionado se numera secuncialmente a partir

de 1 cada partición, entonces realmente nuestro sistema de archivos suponiendo una sola partición, estaría

en /dev/hda1. En los dispositivos se admiten hasta 4 particiones primarias y una de ellas puede ser

extendida, dentro de una extendida puede haber hasta 16 particiones lógicas, en Linux las particiones

lógicas comienzan a partir de 5, esto para diferenciar claramente de la 1 a la 4 como particiones primarias.

Page 16: Tema 2 Comandos Basicos e Instalacion Linux

16

Los dispositivos que no admiten particiones en sus sistemas de archivos tales como disquetes o cdroms, se

numeran secuncialmente a partir de 0 o simplemente se omite. Ejemplos:

Disquete equivalente A: en Windows, en Linux: /dev/fd0

Disquete equivalente B: en Windows, en Linux: /dev/fd1

Unidad de cdrom en secundario maestro: /dev/hdc

Es muy comun encontrar el dispositivo cdrom con el siguiente nombre

/dev/cdrom

Esto es realmente un enlace suave (ln -s /dev/hdc /dev/cdrom) a su

verdadero archivo de dispositivo que podría ser /dev/hdc.

En cuanto a puertos seriales, sus equivalentes con Windows serían los siguientes:

Windows COM1, Linux /dev/ttyS0

Windows COM2, Linux /dev/ttyS1

Windows COM3, Linux /dev/ttyS2

Windows COM4, Linux /dev/ttyS3

Si el modem esta conectado, por ejemplo, al puerto serial ttyS0, también es común encntrar o uno mismo crear un enlace simbólico a dicho puerto,

llamado /dev/modem. (ln -s /dev/ttyS0 /dev/modem)

Puertos paralelos se designan de la siguiente manera, incluyendo el

equivalente Windows:

Primer puerto paralelo, Windows LPT1, Linux /dev/lp0

Segundo puerto paralelo, Windows LPT2, Linux /dev/lp1

Recuerda entonces que los dispositivos se numeran con su identificador de

dispositivo y secuencialmente a partir de 0 y hasta donde la arquitectura de hardware lo limite.

Fuente: http://www.linuxtotal.com.mx/index.php?cont=info_admon_005

El siguiente listado no tiene la intención de ser tan exhaustivo o detallado como pudiera. Muchos de

estos archivos de dispositivo necesitan soporte compilado dentro del núcleo. Es posible obtener los

detalles de cada archivo en particular en la documentación del núcleo.

Si el lector cree que existen otros archivos de dispositivo que deben estar en este listado, se ruega

que lo comunique, para intentar incluirlos en la próxima revisión.

/dev/dsp

Procesador de Señal Digital. Básicamente constituye la interfaz entre el software que

produce sonido y la tarjeta de sonido. Es un dispositivo de caracteres con nodo mayor 14 y

menor 3.

/dev/fd0

Page 17: Tema 2 Comandos Basicos e Instalacion Linux

17

La primera unidad de disquete. Si se tiene la suerte de contar con varias unidades, estas

estarán numeradas secuencialmente. Este es un dispositivo de caracteres con nodo mayor 2 y

menor 0.

/dev/fb0

El primer dispositivo framebuffer. El framebuffer es una capa de abstracción entre el

software y el hardware de video. De esta manera las aplicaciones no necesitan conocer el

tipo de hardware existente, aunque si es necesario que conozcan como comunicarse con la

API (Interfaz de Programación de Aplicaciones) del controlador del framebuffer, que se

encuentra bien definida y estandarizada. El framebuffer es un dispositivo de caracteres con

nodo mayor 29 y nodo menor 0.

/dev/hda

/dev/hda es el dispositivo IDE maestro que se encuentra conectado a la controladora IDE

primaria. /dev/hdb es el dispositivo IDE esclavo sobre la controladora primaria. /dev/hdc

y /dev/hdd son los dispositivos maestro y esclavo respectivamente sobre la controladora

secundaria. Cada disco se encuentra dividido en particiones. Las particiones 1 a 4 son

particiones primarias y las particiones 5 en adelante son particiones lógicas que se

encuentran dentro de particiones extendidas. De esta manera los nombres de los archivos de

dispositivo que referencian a cada una de las particiones están compuestos por varias partes.

Por ejemplo, /dev/hdc9 es el archivo de dispositivo que referencia a la partición 9 (una

partición lógica dentro de un tipo de partición extendida) sobre el dispositivo IDE maestro

que se encuentra conectado a la controladora IDE secundaria. Los números de los nodos

mayor y menor son algo más complejos. Para la primera controladora IDE todas las

particiones son dispositivos de bloques con nodo mayor 3. El dispositivo maestro hda tiene

número de nodo menor 0 y el dispositivo esclavo hdb tiene un valor para el nodo menor 64.

Por cada partición dentro de la unidad el valor para el nodo menor se obtiene de sumar el

valor del nodo menor para la unidad más el número de partición. Por ejemplo, /dev/hdb5

tiene un valor para el nodo mayor 3 y para el nodo menor 69 (64 + 5 = 69). Para las

unidades conectadas a la controladora secundaria los valores para los nodos son obtenidos

de la misma manera, pero con valor para el nodo mayor 22.

/dev/ht0

La primera unidad de cinta IDE. Las unidades subsiguientes son numeradas ht1, ht2, etc.

Son dispositivos de caracteres con valor 27 para el nodo mayor y comienzan con valor 0

para el nodo menor de ht0 , nodo menor 1 para ht1, etc.

/dev/js0

El primer joystick analógico. Los joysticks subsiguientes se nombran js1, js2, etc. Los

joysticks digitales se nombran djs0, djs1, etc. Son dispositivos de caracteres con valor 15

para el nodo mayor. Los valores para el nodo menor en los joysticks analógicos comienzan

en 0 y llegan a 127 (más que suficiente hasta para el más fanático de los jugadores). Los

valores para el nodo menor para joysticks digitales son del 128 en adelante.

/dev/lp0

Page 18: Tema 2 Comandos Basicos e Instalacion Linux

18

El primer dispositivo para impresoras con puerto paralelo. Las impresoras subsiguientes

tienen los nombres lp1, lp2, etc. Son dispositivos de caracteres con valor 6 para el nodo

mayor y 0 para el nodo menor, numerados secuencialmente.

/dev/loop0

El primer dispositivo loopback. Los dispositivos Loopback son utilizados para montar

sistemas de archivos que no se encuentren localizados en dispositivos de bloques tales como

los discos. Por ejemplo, si necesita montar una imagen CD ROM iso9660 sin "quemarla" en

un CD, se debe utilizar un dispositivo loopback. Normalmente, este proceso es transparente

para el usuario y es manejado por el comando mount. Se puede encontrar información

adicional en las páginas de manual para mount y losetup. Los dispositivos loopback son

dispositivos de bloques con valor 7 para el nodo mayor y valores para los nodos menores

comenzando en 0 y numerados secuencialmente.

/dev/md0

Primer grupo de meta-discos. Los meta-discos están relacionados con los dispositivos RAID

(en Inglés, Redundant Array of Independent Disks). Se pueden leer los COMOs (HOWTOs)

relacionados con RAID existentes en LDP para conocer más detalles. Los dispositivos de

meta-discos son dispositivos de bloques con valor 9 para el nodo mayor y valores para el

nodo menor comenzando en 0 y numerados secuencialmente.

/dev/mixer

Este archivo de dispositivo es parte del controlador OSS (en Inglés, Open Sound System).

Se pueden conocer más detalles en la documentación de OSS. /dev/mixer es un dispositivo

de caracteres con valor 14 para el nodo mayor y 0 para el nodo menor.

/dev/null

El cubo de los bits. Un agujero negro a donde enviar datos que nunca más se volverán a ver.

Todo lo que se envíe a /dev/null desaparece. Puede utilizarse, por ejemplo, para ejecutar un

comando y no ver en la terminal la salida estándar (debe redirigirse la salida estándar a

/dev/null). Es un dispositivo de caracteres con valor 1 para el nodo mayor y 3 para el nodo

menor.

/dev/psaux

El puerto para el ratón PS/2. Este es un dispositivo de caracteres con valor 10 para el nodo

mayor y 1 para el nodo menor.

/dev/pda

Discos IDE conectados al puerto paralelo. Los nombres para estos discos son similares a los

utilizados para los discos internos conectados a las controladoras IDE (/dev/hd*). Son

dispositivos de bloque con un valor de 45 para el nodo mayor. Los valores para los nodos

menores necesitan un poco de explicación. El primer dispositivo /dev/pda tiene un valor de

0 para el nodo menor. Para cada partición dentro de la unidad, el valor del nodo menor se

obtiene de sumar el valor del nodo menor para la unidad más el número de partición. Cada

dispositivo tiene un límite de 15 particiones como máximo en vez de las 63 que tienen los

discos IDE internos. /dev/pdb tiene un valor de 16 para el nodo menor, /dev/pdc 32 y

Page 19: Tema 2 Comandos Basicos e Instalacion Linux

19

/dev/pdd48. Por ejemplo, el valor del nodo menor para el dispositivo /dev/pdc6 debe ser 38

(32 + 6 = 38). Este esquema tiene un límite de 4 discos paralelos con 15 particiones cada

uno como máximo.

/dev/pcd0

Unidades CD ROM conectadas al puerto paralelo. Los nombres para estos dispositivos están

numerados secuencialmente /dev/pcd0, /dev/pcd1, etc. Son dispositivos de bloques con un

valor de 16 para el nodo mayor. /dev/pcd0 tiene un valor de 0 para el nodo menor, las demás

unidades tienen valores secuenciales para el nodo menor 1, 2, etc.

/dev/pt0

Dispositivos de cinta conectados al puerto paralelo. Las cintas no tienen particiones, por lo

tanto los nombres para estos dispositivos están numerados secuencialmente

/dev/pt0,/dev/pt1,etc. Son dispositivos de caracteres con un valor de 96 para el nodo

mayor. Los valores para el nodo menor comienzan con 0 para /dev/pt0 , 1 para /dev/pt1,

etc.

/dev/parport0

Los puertos paralelos. La mayoría de los dispositivos conectados a los puertos paralelos

tienen sus propios controladores. Este es un dispositivo que permite acceder al puerto

paralelo directamente. Es un dispositivo de caracteres con un valor de 99 para el nodo mayor

y con un valor de 0 para el nodo menor. Los dispositivos subsiguientes tienen valores

secuenciales obtenidos incrementando el valor del nodo menor.

/dev/random o /dev/urandom

Estos dispositivos son generadores de números aleatorios para el núcleo. /dev/random es un

generador no-determinístico, lo que significa que el valor del próximo número aleatorio no

puede ser obtenido utilizando los números generados anteriormente. Para generar los

números utiliza la entropía del hardware del sistema. Cuando esta se agota, debe esperar a

conseguir más para generar un nuevo número. /dev/urandom trabaja de manera similar.

Inicialmente utiliza la entropía del hardware del sistema, cuando esta se agota, continúa

retornando números que se elaboran a partir de una fórmula generadora de números pseudo

aleatorios. Utilizar este dispositivo es menos seguro para propósitos críticos como la

generación de una clave criptográfica. Si la seguridad es el factor importante se debe utilizar

/dev/random, en cambio si lo que se necesita es velocidad, el dispositivo /dev/urandom

funciona mejor. Ambos son dispositivos de caracteres con un valor de 1 para el nodo mayor,

los valores para el nodo menor son 8 y 9 para /dev/random y /dev/urandom

respectivamente.

/dev/zero

Este es un dispositivo que se puede utilizar de manera simple para obtener ceros. Cada vez

que se lee el dispositivo se obtiene como respuesta un cero. Puede ser útil, por ejemplo, para

crear un archivo de tamaño fijo sin que importe su contenido. /dev/zero es un dispositivo

de caracteres con un valor de 1 para el nodo mayor y 5 para el nodo menor.

Fuente: http://www.ibiblio.org/pub/Linux/docs/LDP/system-admin-

guide/translations/es/html/ch05s03.html

Page 20: Tema 2 Comandos Basicos e Instalacion Linux

20

2.3 Uso de los principales programas de Linux

Como tarea, utilice el ambiente gráfico de Linux para que identifique varios programas: calculadora, navegación web, panel de control, espacio libre en memoria, espacio libre en disco duro, etc.

2.4 Uso de los principales comandos de Linux

2.4.1 La importancia de los comandos en modo texto

Además del modo gráfico, Linux permite trabajar en modo texto mediante comandos que se escriben por

teclado. Esta característica que a muchos recuerda el DOS es herencia de los años 70 y 80 cuando no

existían ni pantallas a colores ni pantallas con capacidades gráficas.

Sin embargo, aunque parezca algo pasado de moda, el modo texto es muy importante en Linux por varios

motivos:

a) Para administrar remotamente un servidor Linux, no existe nada mejor que hacerlo mediante el modo

texto, ya que el modo gráfico sería totalmente ineficiente por su lentitud y por la enorme carga sobre la red.

No es lo mismo transferir cinco o diez letras que transferir varias veces por segundo la pantalla en modo

gráfico.

b) Los administradores profesionales que tenemos a cargo servidores Linux integrados a Internet tenemos

una regla estricta: nada de modo gráfico, porque el modo gráfico hace más lento al servidor, ocupa bastante

espacio, ocupa bastante memoria y puede dar lugar a la presencia de agujeros de seguridad. Un servidor

Linux en modo gráfico necesita al menos 860MB de RAM, mientras que un servidor Linux en modo texto

puede perfectamente trabajar con 128MB de RAM.

c) En modo texto se puede utilizar (y de hecho se utiliza bastante) la facilidad de Linux para construir macro

instrucciones (también conocidas como macros, scripts, guiones, programación shell).

d) Es obvio que un programa en modo gráfico es más complejo y por lo tanto, puede tener mayor número de

fallas o errores que un programa en modo texto, mucho más sencillo.

Por todo esto, un administrador Linux que se respete debe dominar el modo texto. No tiene más remedio.

Esto no significa que de vez en cuando utilicemos uno que otro programa en modo gráfico, pero la mayoría

de actividades importantes se las hará en modo texto.

2.4.2 Nombres equivalentes

El modo texto se conoce con varios nombres, todos equivalentes. Por razones históricas todos estos

términos se refieren a lo mismo: modo texto, modo terminal, terminal, intérprete de comandos, term, bash,

shell, sh, modo comando, símbolo del sistema, modo 1, command.com, cmd.exe, Modo DOS, MS-DOS.

El motivo es simple: el programa más utilizado en Linux para escribir comandos se llamaba sh que eran las

primeras letras de SHELL. El shell es una concha que encierra al usuario y le permite convivir dentro del

computador mediante la escritura de órdenes (comandos). El sh es un programa escrito por Stephen Bourne

a inicios de los años 70. Cuando apareció MS-DOS en 1981, copió varias de las funcionalidades y nombres

de Unix, incluyendo eso de intérprete de comandos, COMMAND.COM, redirección, pipes y otros. Cuando

se difundió Linux en 1992, Stephen Bourne escribió una versión mejorada de su ya famoso programa sh y

adivinen qué nombre le puso?

Pues lo bautizó BASH que significa BOURNE AGAIN SHELL, es decir “Otra Vez Bourne”, o más

exactamente “Bourne ataca de nuevo”.

Page 21: Tema 2 Comandos Basicos e Instalacion Linux

21

El bash se parece al sh (ambos son del mismo autor) solo que incluye muchas mejoras importantes, como

el uso de las flechas del cursor para recuperar los comandos anteriores y cientos de otras mejoras que

analizaremos en otro momento.

Los nombres “modo DOS”, “MS-DOS”, “command.com” y “cmd.exe” son propios de Windows, pero hay

quienes se acostumbraron a ello y los utilizan en Linux, aunque en Linux no existen tales programas, pero el

significado es el mismo.

En este documento lo llamaremos SHELL o BASH.

2.4.3 Cómo entrar al modo texto

Para ingresar al modo texto existen varias maneras, todas encaminadas a ejecutar el programa sh o el más

reciente bash o similares.

En DSL: haga clic izquierdo en el escritorio, seleccione XShells y elija alguno de ellos, por ejemplo Light

(fondo blanco) o Dark (fondo negro).

Y aparecerá el bash:

Page 22: Tema 2 Comandos Basicos e Instalacion Linux

22

Se puede apreciar a la izquierda el nombre del usuario (dsl), el nombre del equipo (box) y el signo de dólar $

que se conoce como el PROMPT RESTRINGIDO o el Distintivo del Sistema o Símbolo del Sistema.

En CENTOS, también existen varias maneras:

1. Clic derecho en el escritorio y se elije Abrir Terminal

Y aparecerá el bash:

Page 23: Tema 2 Comandos Basicos e Instalacion Linux

23

El fondo es de color blanco, eso no es ningún problema, podemos cambiar el fondo y los colores al gusto.

Observe que aparece el usuario (root), el nombre del equipo (centos) y el PROMPT de SUPERUSUARIO

que es el signo de número #.

2.4.4 El Superusuario

Es muy importante conocer la diferencia entre un shell restringido (con el signo de $ y un shell superusuario

con el signo de #). El superusuario puede hacer CUALQUIER cosa en el sistema, mientras que el usuario

restringido podrá hacer solamente aquello que se le haya permitido.

Si desea pasar de modo restringido a modo superusuario, escriba el comando sudo su –

Page 24: Tema 2 Comandos Basicos e Instalacion Linux

24

Observe cómo cambia el distintivo del sistema desde el signo de $ hasta el #. Mientras estamos como

usuario root (mire a la izquierda de la línea de comando) podemos usar comandos privilegiados como

ifconfig y finalmente con exit cerramos la sesión de bash como usuario privilegiado y retornamos a la sesión

anterior restringida.

Mire que como usuario root se pueden agregar usuarios, mientras que como usuario dsl no es posible.

Para volver al modo restringido, escriba la palabra exit

Este curso asume que Ud. está conectado como usuario root, es decir con privilegios para hacer

todo lo que se indica.

También es importante que no olvide agregar el signo – luego del comando su. Es importante por

motivos que explicaremos más adelante. Algunos comandos no le van a trabajar por haber olvidado

ese detalle. Lo explicaremos en detalle cuando el curso esté más adelantado.

2.4.5 Comandos básicos

Escriba cada comando como se indica, con letras minúsculas y presione la tecla ENTER o INTRO. Mientras

no se presione INTRO, se podrá corregir con las teclas usuales (tan usuales que se usan en todos los

sistemas operativos conocidos. No las vamos a mencionar aquí, pero si necesita conocerlas, ingrese a

Linux y lea la ayuda).

Comandos para conocer el ambiente de trabajo:

COMANDO SIGNIFICADO

whoami Indica el usuario con el cual se está trabajando

DSL

CENTOS

COMANDO SIGNIFICADO

hostname Indica el nombre del equipo con el cual se está trabajando

Page 25: Tema 2 Comandos Basicos e Instalacion Linux

25

DSL

También se puede cambiar el nombre del host

Por supuesto, este cambio es local, solo en su equipo (o red), sin afectar a los nombres de dominio en Internet.

CENTOS

COMANDO SIGNIFICADO

uname -a Indica el nombre y características del Linux activo

Observe que DSL tiene un núcleo 2.4.31 mientras que CENTOS tiene un nucleo 2.6.18 más reciente, lo que significa que CENTOS le reconocerá dispositivos más recientes.

COMANDO SIGNIFICADO

lspci Lista los dispositivos PCI detectados en el sistema

Page 26: Tema 2 Comandos Basicos e Instalacion Linux

26

El comando less

El comando (o utilidad) less es bastante util. Reemplaza con éxito al famoso programa MORE que existía

también en Windows. More recibió su nombre porque al final aparece el texto Más (more en inglés). Jeje, la

creatividad de los programadores. El less es mejor que el more.

Para poder ver un listado como el anterior y moverse con las flechas, se usa el programa less, de la

siguiente manera:

lspci | less

Al final de la pantalla le aparecerá el signo : (dos puntos) lo cual le indica que puede usar las flechas para

subir y bajar el listado, o con la letra q (minúscula) para salir del programa less.

El signo de | se llama PIPE (tubería) y se utiliza mucho en Linux para desviar la salida de un programa a

que vaya como entrada de otro programa (eso es un tubo o tubería, que en inglés se dice PIPE) y para ello

se usa la barra vertical.

También se puede usar el comando less directamente, así:

less /proc/cpuinfo

Page 27: Tema 2 Comandos Basicos e Instalacion Linux

27

No se rían, es solo una máquina virtual. Mi máquina real tiene 4 procesadores, 3GB RAM, 2 TB disco y

tengo virtualizados más de 20 sistemas operativos distintos.

Miren lo que ocurre si pongo ahora more /proc/meminfo

Pero no permite usar las flechas. Definitivamente, el less es mejor que el more.

Otros comandos

Practique con los siguientes comandos:

COMANDO EJEMPLOS Descripción

ls ls ls /root ls /etc ls –lX ls –lX /boot

Listar. Permite listar archivos y directorios con varias opciones. Use man ls para conocer más del comando ls.

pwd pwd Print Working Directory. Muestra el directorio actual donde está ubicado el usuario.

man man ls man whoami

Manual. Muestra información sobre un comando o programa.

Info info lsmod info lspci info passwd

Information. Muestra información detallada acerca del comando (debe escribir un nombre de comando válido).

mkdir mkdir prueba mkdir /datos medir /root/documentos

Make Directory. Crea un directorio. Hay que indicarle la ruta del directorio que deseamos crear. Debe tener permiso de escritura a directorio donde desea crear.

chdir chdir prueba chdir /datos chdir /root/documentos ls

Change Directory. Cambiar Directorio. Permite cambiarse de directorio.

touch touch carta1 Tocar. Crea un archivo si es que no existe. Si

Page 28: Tema 2 Comandos Basicos e Instalacion Linux

28

ya existe, cambia la fecha y hora del archivo a la fecha y hora actual del sistema.

rmdir rmdir /datos Remover directorio. Debe estar previamente vacío.

clear clear Limpia la pantalla

halt halt Detiene el sistema Linux

exit exit Sale del bash

Existen miles de otros programas y comandos, seguiremos estudiando más adelante a los principales

comandos y programas.

2.4.6 El comando ls

El comando ls es uno de los más utilizados y que merece explicación detallada

El comando ls es el adecuado para listar los nombres de los archivos (ls=/ist o listing), mientras que para

mirar el contenido se utilizarán comandos como cat, less, more, hexdump, o editores como el vi, mcedit…

Si se teclea solamente el comando ls el shell listará los nombres de archivos y carpetas del directorio donde

se está posicionado:

• cd /var/log

• ls

Como se ve, en /var/log existen varios archivos (aparecen en blanco) y varios directorios (que

aparecen en color azul oscuro).

Linux es sensitivo al tipo de letra mayúscula o minúscula. Para Linux, como se vio antes, no es lo mismo

/var/log que /Var/Log ni que /VAr/lOg.

Si por error se teclea /Var/log aparecería un mensaje de error. Este mensaje aparecerá siempre que haya

un error en el comando que se esté utilizando. Estos mensajes son los que ayudarán a determinar por qué

algo no funciona.

Es decir, el shell se cambiará a /var/log y se listarán sus contenidos, aparecerá algo así:

Page 29: Tema 2 Comandos Basicos e Instalacion Linux

29

Si se quiere ver el listado de otro directorio no es necesario que primero se vaya al directorio en cuestión

con el comando cd. El comando ls permite que le indiquemos el directorio que queremos ver. Por ejemplo,

si estamos en otro directorio y queremos ver /var/log, sencillamente ponemos:

• ls /var/log

De esta manera se lista el directorio sin cambiar de directorio actual.

Como regla general se sugiere tratar de cambiar de directorios lo menos posible. Siempre es bueno trabajar

con rutas absolutas (es decir, comenzar todos los directorios con /). En resumen: siempre se debe tratar

de estar en el homedir (como se explicó antes, con el comando cd el usuario se asegura de aquello) y hacer

todo desde ese directorio. Para acceder a otros archivos o directorios se usan rutas absolutas (/etc, /var,

/etc, etc)

El comando ls (al igual que otros comandos) permite usar switches, que son parámetros adicionales que se

pueden poner al comando. A continuación se verá el uso de algunos switches:

ls -l permite realizar un listado extendido (l=long), de tal forma que se puedan apreciar las propiedades de

los archivos y directorios.

Por ejemplo:

• ls -l /boot

Aparecerá algo así:

Page 30: Tema 2 Comandos Basicos e Instalacion Linux

30

Como se puede observar, el switch -l permite ver la información detallada del directorio en cuestión. La

información aparece en 9 columnas. La información que aparece en las primeras 4 se tratará posteriormente

en el capítulo Permisos. La información que aparece en las últimas 5 columnas permite ver:

• El tamaño.

• La fecha y hora de la modificación del archivo o directorio

• El nombre del archivo o directorio

Como se puede ver, el tamaño del archivo aparece medido en bytes, lo que dificulta la interpretación del

dato, debido a la costumbre de los usuarios de medir el tamaño de los archivos no en bytes, sino en kbytes,

mbytes o gbytes. Si se quisiera ver el tamaño en kbytes, mbytes, gbytes se podría agregar un switch

llamado -h : Human Readable (Legible por el humano).

A continuación se analizará columna por columna que significa la información mostrada.

El primer símbolo corresponde al tipo de archivo.

Tipos de archivo

Contenido Significado

- Archivo común

d Directorio

c Dispositivo de caracteres (tty o impresora)

b Dispositivo de Bloque (usualmente disco rígido o CD-ROM)

l Enlace simbólico

s Socket

p Pipe

Los siguientes 9 símbolos se toman en grupos de tres.

Cada grupo pertenece a una clase de permisos

Tipos de permisos

Permiso Significado

r Permiso de lectura

Page 31: Tema 2 Comandos Basicos e Instalacion Linux

31

w Permiso de escritura

x Permiso de ejecución

Grupos de permisos

Columnas Se aplica a Significado

2,3,4 owner permisos para el dueño del archivo

5,6,7 group permisos para el grupo del archivo

8,9,10 other permisos para los otros

La siguiente columna especifica el número de bloques del archivo. Generalmente cada bloque ocupa 1024

bytes (en un disco duro). Un archivo de 1 byte ocupará un bloque. Un archivo de 1024 bytes ocupará un

bloque, mientras que un archivo de 1025 bytes ocupará 2 bloques de almacenamiento.

Las siguientes 2 columnas indican propietario y grupo al cual pertenece el archivo.

Después le sigue el tamaño, fecha y hora de modificación, y nombre del archivo.

Si tuviésemos archivos de enlaces simbólicos el listado aparecería con una l al inicio, mientras que al final

aparece una flecha y el nombre del archivo a donde apunta el enlace (o acceso directo).

lrwxrwxrwx 1 root root 13 2008-09-14 12:32 K01gdm -> ../init.d/gdm Lo cual nos indica que es un archivo de enlace simbólico y después del nombre aparece “->” y nos dice

hacia a donde apunta el archivo.

Un archivo de enlace simbólico es un archivo de acceso directo en Windows.

Más ejemplos:

A continuación un ejemplo: • ls -lh /boot

Mostrará la siguiente información:

La diferencia es sutil pero definitivamente es más cómodo de leer.

Otro switch de interés es -S, el cual permite ordenar los archivos de acuerdo a su tamaño, de mayor a

menor.

Page 32: Tema 2 Comandos Basicos e Instalacion Linux

32

Ejemplo:

• ls -lS

o

• ls -ISh

lSh ordena los archivos y directorios por tamaño de forma descendente.

Si se quisiera ordenar de forma ascendente se agrega el switch -r (reverse order). Es importante saber que

el orden de los switches no importa. Ejemplo:

ls -lShr

Se obtendrá una pantalla similar a la del siguiente gráfico:

Aquí se ordenó de forma descendente.

Un archivo oculto es aquel que comienza con un punto (.).

De manera predeterminada el comando Is no muestra los archivos o directorios ocultos. Es por esto que se

debe usar el switch -a, si se quiere desplegar los archivos o directorios ocultos. Si se teclea:

• ls -a

Se puede ver que el shell muestra archivos que comienzan con. (si hubiera archivos sin . también los

mostraría).

Page 33: Tema 2 Comandos Basicos e Instalacion Linux

33

En realidad el comando ls tiene muchos switches (o modificadores), se han visto solamente los más

utilizados.

Si se quisiera obtener una pequeña ayuda del comando ls se lo podría hacer escribiendo:

• ls --help

Más adelante veremos otros sistemas de ayuda.

Una variante bastante cómoda de ls es ll

ll es un alias de ls –l que se puede mirar con el comando alias.

Significado de los colores de ls (y ll)

Page 34: Tema 2 Comandos Basicos e Instalacion Linux

34

Los colores más comunes que aparecen en el listado de ls y su significado, son:

* Archivos ejecutables: Verde

* Archivo normal: Normal (negro)

* Directorios o carpetas: Azul

* Enlace simbólico: Cyan

* Tubería: Amarillo

* Socket: Magenta

* Driver de dispositivo de bloques: Letra parpadeante amarilla negrita sobre fondo negro

* Driver de dispositivo de caracter: Letra parpadeante amarilla negrita sobre fondo negro

* syminks huérfanos: Letra parpadeante blanca negrita sobre fondo rojo

* Vínculos perdidos ( - y archivos a los que apuntan) : Letra parpadeante blanca negrita sobre fondo rojo

* Archivos comprimidos : Rojo (.tar, .gz, .zip, .rpm)

* Archivos de imagen: Magenta (.jpg, gif, bmp, png, tif)

Comandos para crear archivos y directorios

El comando touch es simple. Tanta es su simpleza que a veces muchos piensan que no tiene utilidad, sin

embargo tiene dos funciones:

Al usar touch en un archivo que ya existe, se cambiará la fecha y hora de modificación (se pondrán la fecha

y hora de ese momento).

Si se usa touch en un archivo que no existe, el comando touch lo creará con un tamaño de cero bytes

(vacío) y le pondrá la fecha y hora del momento de creación.

Ejemplo:

• touch archivodeprueba

• ls -l [dsl@eperez -]$ touch archivodeprueba [dsl@eperez -]$ [dsl@eperez -]$ ls -1 total S -rw-rw-r-- 1 dsl dsl 8 Feb 8 15:10 archivodeprueba

Este archivo no existía, y ahora aparece con 0 bytes de tamaño, y la fecha del día de creación (8 de febrero

a las 15:10).

Luego de esperar 5 minutos el usuario podría ejecutar nuevamente este comando: • touch

archivodeprueba

y verificar que en efecto la fecha fue modificada.

Page 35: Tema 2 Comandos Basicos e Instalacion Linux

35

El comando touch, entonces, puede ser usado para crear archivos (vacíos) o para actualizar la fecha y hora

de archivos que ya existían.

Para crear directorios, en cambio, se usa el comando mkdir junto al nombre del directorio que se quiere

crear.

Por ejemplo:

• mkdir midirectorio

Para verificar que se ha creado se va a usar:

• ls –l

También se pueden crear directorios en otros directorios. Para ello basta escribir el comando mkdir junto al

nombre del directorio donde se quiera crear un directorio y el nombre del nuevo: mkdir /tmp/directorio Se

creará directorio en /tmp

Copiar, mover y borrar archivos y directorios

El comando cp (copy) es utilizado en Linux para copiar archivos de un lugar a otro. La sintaxis de este

comando es la siguiente:

cp /directorioorigen/archivoorigen /directoriodestino/archivodestino

De no poner uno de estos datos, el comando fallará. Es decir: El comando cp necesita siempre estos dos

parámetros: Origen y Destino

El usuario deberá crear un archivo para realizar pruebas, lo llamará prueba:

• touch prueba Deberá verifica con ls -l que lo ha creado correctamente. Ahora deberá copiar prueba

en /tmp (sin olvidar usar TAB para autocompletar):

• cp prueba /tmp

[dsl@eperez ~]$ touch prueba

[dsl@eperez ~]$

[dsl@eperez ~]$ ls -l prueba

-rw-rw-r- 1 dsl dsl 0 Feb 8 15:28 prueba

[dsl@eperez -]$

Page 36: Tema 2 Comandos Basicos e Instalacion Linux

36

[dsl@eperez ~]$ cp prueba /tmp/

[dsl@eperez ™]$

[dsl@eperez -]s ls -l /tmp/prueba

-rw-rw-r- 1 dsl dsl 0 Feb 8 15:28 /tmp/prueba

En efecto, se copió el archivo prueba hacia /tmp.

El comando cp también permite copiar directorios completos hacia otro lugar. Para ello se usa el switc -r.

Con este switch se le pide al shell que copie un directorio y todos los archivos y directorios que se

encuentren dentro de él. Por ejemplo al traer /etc hacia acá (.):

• cp -r /var/games .

Esto traerá todo games (que pertenece a /var) hacia el directorio donde el usuario esté ubicado.

[dsl@eperez - -]$ cp -r /var/games

[dsl@eperez - -]$

[dsl@eperez - -]s ls -l

total 4

-rw-rw-r-- 1 dsl dsl 0 Feb 8

15:

: 10

archivodeprueba

drwxr-xr-x 2 dsl dsl 4096 Feb 8 15:

:40

-rw-rw-r-- 1 dsl dsl 0 Feb 8 15:

:28

prueba

El comando mv (move), permite no copiar, sino mover un archivo de un directorio a

otro. También permite renombrar un archivo. Se debe utilizar la misma sintaxis que

el comando cp. El uso es el siguiente:

Si se teclea

mv prueba /tmp/test

Se eliminará el archivo prueba del directorio actual y se lo moverá hacia /tmp poniéndole el nombre test:

[dsl@eperez -]$ ls -l prueba

-rw-rw-r- 1 dsl dsl 0 Feb 8 15:28 prueba

[dsl@eperez ~]$

[dsl@eperez ~]$ mv prueba /tmp/test

[dsl@eperez ~]$

[dsl@eperez -]$ ls -l prueba

ls: prueba: No such file or directory

[dsl@eperez ~]$

[dsl@eperez -]$ ls -l /tmp/test

-rw-rw-r- 1 dsl dsl 0 Feb 8 15:28 /tmp/test

En la imagen consta un archivo llamado prueba, de hecho se lo puede ver al listar (ls -l prueba). Luego, con

el comando mv prueba /tmp/test se lo muevo hacia /tmp con el nuevo nombre de test.

Page 37: Tema 2 Comandos Basicos e Instalacion Linux

37

Al finalizar de moverlo se puede verificar con ls -l prueba y no aparecerá (claro, ha sido movido a /tmp/). Y

en efecto, cuando se use ls -l/tmp/test aparecerá.

Ahora el usuario deberá traer de vuelta ese archivo hacia el directorio actual:

• mv /tmp/test .

/tmp/test ha sido traido hacia acá (se ha usado un . al final para indicar que se quiere mover al directorio).

Renombrar archivos es fácil. Se usa el mismo comando mv pero sin ponerle el directorio:

• mv test prueba

Lo que se hará es cambiarle el nombre al archivo test y ponerle prueba. Dentro del mismo directorio.

Cuando el usuario tenga más derechos (más adelante se verá cómo lograrlo), se podrá mover directorios

(en el comando mv no es necesario usar -r para realizar operaciones recursivas en directorios ).

Para borrar archivos el comando que se utilizará es rm (remove), por ejemplo:

• rm prueba

El usuario deberá borrar el archivo llamado prueba del directorio. Otro ejemplo:

• rm /tmp/test (o rm /tmp/prueba)

Se deberá borrar el archivo test (o prueba) del directorio /tmp/. El directorio se mantendrá.

Algunas versiones de Linux solicitan confirmación (¿seguro desea borrar el archivo? y/n?), otras no, eso

depende del distribuidor. En el caso de CentOS Linux, al usuario administrador se le solicitará confirmación

para evitar que como administrador dañe algo de forma inadvertida.

En cambio, para borrar un directorio se sigue el siguiente proceso:

• rm -rf midirectorio

La -r significa que se realizará un borrado recursivo (se borrará el directorio y todo lo que esté dentro del

directorio) y la -f significa: forzar (no preguntar si se desea borrar o no). Esto de forzar es útil porque de lo

contrario el sistema por protección pedirá confirmación de todos y cada uno de los archivos y directorios que

borrará (y si son muchos el usuario se cansará de repetir "y").

2.4.5.Ver archivos con cat

Page 38: Tema 2 Comandos Basicos e Instalacion Linux

38

El comando cat es muy sencillo en su aplicación. Su utilidad radica en que permite ver los contenidos de

cualquier archivo de texto que se tenga. Este comando no se ocupará de paginar los contenidos ni de

ofrecer capacidad de edición, sino que sencillamente mostrará los contenidos de estos archivos.

Ejecutar:

• cat /etc/passwd

Mostrará los contenidos del archivo /etc/passwd

Podría así hacerse con cualquier otro archivo, por ejemplo:

• cat /etc/shells

• cat /etc/inittab

En fin, a cualquier archivo de texto que se encuentre en Linux se le podrá hacer un cat.

Comandos usados con Pipe (|)

El pipe (tubería) es un comando especial sumamente útil en Linux. Será de mucha ayuda comprender su

funcionamiento. El pipe combina dos comandos: pasa la salida del comando de la izquierda como entrada al

comando de la derecha.

El comando pipe se puede ubicar en un teclado en español, apretando la techa Alt Gr (el Alt de la derecha)

+ la tecla que está a la izquierda del 1. En algunos teclados latinoamericanos el | está en el número uno, en

otros teclados está muy cerca del enter. Pruebe las diferentes opciones, con o sin apretar el Alt Gr.

wc (word count) es un comando que sirve para contar palabras. Se puede usar en conjunto con otro

comando, ligando a ambos con el pipe.

Por ejemplo, el comando: cat /etc/inittab mostrará los contenidos del archivo /etc/inittab.

Ahora, el usuario podrá usar el pipe para unirlo con wc: • cat /etc/inittab |

wc -l

Page 39: Tema 2 Comandos Basicos e Instalacion Linux

39

El comando wc (word count) junto con el switch (-l) contará las líneas de cualquier archivo. En el ejemplo

anterior se le está pididiendo que cuente las líneas de /etc/inittab. Para ello primero se le pide al shell que

muestre los contenidos del archivo /etc/inittab (el cat muestra los contenidos), que pasan a la derecha del

pipe y el wc -l se ocupará de contar las líneas de lo que recibe (de la izquierda del pipe).

El comando wc puede utilizarse sin necesidad de pipe, prueben ejecutar:

• wc -l /etc/inittab

Como pueden ver hay una apreciable diferencia, ahora nos muestra el nombre del archivo así como la

cantidad de líneas

Tail es un comando que muestra las últimas líneas de un archivo, por ejemplo: • cat /etc/inittab | tail

Page 40: Tema 2 Comandos Basicos e Instalacion Linux

40

mostrará las últimas 10 líneas de un archivo (predeterminadamente son 10)

Si se quiere ver más o menos de 10 líneas se puede poner el número, por ejemplo:

• cat /etc/inittab | tail -5

Se mostrarán las últimas 5 líneas.

El comando tail se puede usar sin necesidad de pipe:

• tail -5 /etc/inittab

Y se obtiene el mismo resultado

Head es un comando que muestra las primeras líneas de un archivo, por ejemplo:

• cat /etc/inittab | head

mostrará las primeras 10 líneas de un archivo (por defecto son 10)

Si se quiere ver más o menos de 10 líneas se puedeponer el número, por ejemplo:

• cat /etc/inittab | head -5

Se mostrarán las primeras 5 líneas.

El comando head también puede ser usado sin necesidad de pipe:

Page 41: Tema 2 Comandos Basicos e Instalacion Linux

41

• head -5 /etc/inittab y hace lo

mismo.

Incluso es posible combinar tail y head. Si se quiere ver una línea en específico, por ejemplo se tecleará:

• head -5 /etc/inittab | tail -1 mostrará la 5ta

línea solamente.

Esto se debe a que en primer lugar se le pidió al shell que muestre las cinco primeras líneas del archivo

/etc/inittab (head -5 /etc/inittab). Al unir este comando por medio del pipe al segundo comando (tail -1) se le

piede a shell que del texto que obtuvo tras la ejecución del primer comando (el texto serían las 5 primeras

líneas del archivo) muestre solamente la última (es decir la quinta de ese texto). Como resultado shell

mostrará solamente la quinta línea del archivo.

[eperez@eperez -]s head -5 /etc/inittab | tail -1

#Author: Hiquel van Smoorenburg, <[email protected]>

[eperez@eperez -]s []

De esta forma se logrará obtener una línea solamente de un archivo determinado.

grep nos permite encontrar líneas que coincidan con una expresión regular (o cadena) determinada, por

ejemplo:

cat /etc/passwd | grep root mostrará todas las líneas de /etc/passwd que contengan la

cadena: root

Si, en cambio, se teclea:

• cat /etc/passwd | grep Aroot

Shell mostrará todas las líneas de /etc/passwd que comiencen (A significa comiencen) con la cadena: root.

2.4.7.Uso de paginadores

El usuario se habrá dado cuenta que cuando se usa el comando cat, la información del archivo aparece

súbitamente y, si es muy larga, no hay manera de que detenerse en una parte específica del texto. Un

paginador es una herramienta que toma un archivo de texto y muestra sus contenidos de página en página.

Hay dos comandos paginadores: more (más) y less (menos).

Page 42: Tema 2 Comandos Basicos e Instalacion Linux

42

El comando more es un paginador antiguo y conocido; le permitirá al usuario moverse de página en página

dentro del archivo, y una vez que quiera salir se hará presionando la tecla q.

Normalmente es preferible usar less para paginar los textos, pues esta opción es mucho más versátil, ya

que además de dejar mirar la información del archivo paginadamente, da algunas opciones para trabajar

dentro del archivo.

Si se quisiera paginar el archivo /etc/inittab se pondría:

less /etc/inittab

Los paginadores son muy fáciles de utilizar, a continuación se podrán ver algunos comandos útiles dentro

del paginador "less".

• q = Sale del paginador (regresa al shell).

• G = Va a la última línea del archivo.

• g = Va a la primera línea del archivo.

• 5G = va a la 5ta línea. En general un número y G lleva a esa línea.

• /cadena = busca una cadena llamada "cadena" dentro del archivo. Ej: /powe (buscará la cadena

powe dentro del archivo que se esté viendo). La búsqueda se realiza de arriba hacia abajo.

• / = repite la anterior búsqueda (busca la siguiente)

• ?cadena = busca "cadena" dentro del archivo. La búsqueda la realiza de abajo a arriba.

• ? = repite la búsqueda anterior (de abajo para arriba)

• Barra espaciadora = baja una página

• w = sube una página

less no es un editor, sino tan sólo un paginador, pero es muy útil para ver información dentro de un archivo.

Encontrar archivos

Para ubicar archivos existe el comando locate que es un buscador instantáneo (tiene truco, ya que depende

de una base de datos que se actualiza con el comando updatedb).

Entonces, antes de usar locate es una buena medida usar updatedb así

Page 43: Tema 2 Comandos Basicos e Instalacion Linux

43

2.4.7 Autocompletar comandos

El shell tiene una muy útil opción que se debe usar, se trata del autocompletamiento. Con esta opción el

shell permite completar los nombres de comandos, directorios y/o archivos con tan sólo escribir la primera

parte de ellos y luego apretar TAB.

Se puede intentar un ejercicio al cambiar de directorio a /var, para ello se debe seguir estos pasos:

1. escribir cd /v

2. apretar la tecla TAB

3. verificar que en efecto se completa el comando (se verá: cd /var)

El usuario deberá cambiar de directorio usando el comando cd y la opción de autocompletamiento:

/var/spool/mail

/etc

/home

/etc/X11

/usr/share/doc/

Si es que el shell tuviera más de una opción no se dará el autocompletamiento a menos que se apriete TAB

dos veces, para que dé opciones, por ejemplo:

1. cd /usr/s

2. apretar TAB

3. el shell no nos da ninguna respuesta

4. apretar nuevamente TAB (es la segunda vez)

5. Aparecerán varias opciones (sbin/ share/ src/)

6. Esto ocurre porque varios archivos o directorios comienzan con s, se puede completar, por ejemplo,

escribiendo la b (/usr/sb)

7. Apretar TAB de nuevo

7. Entonces sí se completará a /usr/sbin

Es necesario que se experimente con la opción de autocompletamiento hasta comprenderla. El usuario

debería dedicarse, por lo tanto, 10 minutos a probar el cambio de directorios usando autocompletar.

Page 44: Tema 2 Comandos Basicos e Instalacion Linux

44

Una vez que el usuario maneje sin problemas esta opción, deberá regresar al comando cd y a algunas

opciones que se presentan.

Entonces deberá ejecutar el siguiente conjunto de comandos:

• cd /var/spool/mail

• pwd

• cd /usr/share/doc

• pwd

• cd -

• pwd

2.4.8 Más comandos de utilidad

Esta es una pequeña lista de los comandos más utilizados, no es que sean los más faciles, la verdad es que

"no hay comando complicado, sólo comandos que no conocemos".

man

Este comando es el más útil de todos, su función es mostrar el manual del comando que se coloque a

continuación, dependiendo de la distribución de linux y de diversos programas, éste estará en tu idioma.

Para saber como utilizarlo, puedes pedir el manual del manual escribiendo

man man

Cuando revisas un manual, como el de "man", es posible que aparezcan algunas referencias (en la sección

"SEE ALSO" o "VER TAMBIÉN"), las cuales están numeradas, por ejemplo, en el caso de "man", es posible

ver:

SEE ALSO:

manpath(1), apropos(1), whatis(1), catman(8), less(1),

setlocale(3), troff(1), nroff(1), man(7), ascii(7), ...

Esta es una lista de contextos relacionados de los cuales también puedes pedir con man, es decir después

de salir de man (con la tecla "q"), puedes escribir por ejemplo: "man whatis". De esta forma siempre puedes

encontrar información relacionada.

ls

Lista o muestra el contenido del directorio actual.

El uso de este comando de forma más básica es sin parámetros, de esta forma lista todos los archivos y

directorios ordenándolos en columnas de arrbia a abajo y de izquierda a derecha.

bin dev home lost+found misc net proc sbin srv tmp var

boot etc lib media mnt opt root selinux sys usr

Obviamente el resultado variará dependiendo de en qué directorio estemos parados y que cosas tengamos

ahí.

Page 45: Tema 2 Comandos Basicos e Instalacion Linux

45

El parámetro que recibe este comando es alguna expresión regular que represente lo que deseamos listar,

por ejemplo podemos buscar dentro de "todo lo que comience con b", para ello usamos "b*"

ls b*

Es bueno a estas alturas decir que si existe algún directorio que coincida con "que comience con b", ls

mostrará su contenido; por ejemplo, la salida del comando anterior regresa lo siguiente:

bin:

alsacard echo mknod sleep

alsaunmute ed mktemp sort

arch egrep more stty

awk env mount su

basename ex mountpoint sync

bash false mv tar

cat fgrep netstat taskset

chgrp fusermount nice tcsh

chmod gawk nisdomainname touch

chown gettext ntfs-3g tracepath

cp grep ntfsmount tracepath6

cpio gtar pgawk traceroute

csh gunzip ping traceroute6

cut gzip ping6 tracert

date hostname ps true

dbus-cleanup-sockets igawk pwd ulockmgr_server

dbus-daemon ipcalc red umount

dbus-monitor kbd_mode redhat_lsb_init uname

dbus-send kill rm unicode_start

dbus-uuidgen link rmdir unicode_stop

dd ln rpm unlink

df loadkeys rvi usleep

dmesg login rview vi

dnsdomainname ls sed view

doexec mail setfont ypdomainname

domainname mailx setserial zcat

dumpkeys mkdir sh zsh

boot:

config-2.6.23.1-49.fc8 initrd-2.6.23.8-63.fc8.img vmlinuz-2.6.23.1-49.fc8

config-2.6.23.8-63.fc8 lost+found vmlinuz-2.6.23.8-63.fc8

grub System.map-2.6.23.1-49.fc8

initrd-2.6.23.1-49.fc8.img System.map-2.6.23.8-63.fc8

Existen también opciones para este comando, opciones que cambian los datos que muestra, estos se

pueden combinar entre sí, los más comúnes son los siguientes:

-l : Muestra una lista de un archivo (directorio, etc) por linea, muestra el tipo del fichero, los permisos, el

número de enlaces duros, el nombre del propietario, el del grupo al que pertenece, el tamaño en bytes, la

marca de tiempo y el nombre del archivo.

-a : Muestra todos los archivos, incluyendo los ocultos (que comienzan con .)

-d : No muestra el contenido interno de los directorios.

-h : Muestra el tamaño en formato humano (Kilos, Megas, etc.)

-v : Ordena los archivos por versión en vez de alfabeticamente.

Ejemplos

ls -l muestra

Page 46: Tema 2 Comandos Basicos e Instalacion Linux

46

total 150

drwxr-xr-x 2 root root 4096 dic 9 22:20 bin

drwxr-xr-x 4 root root 1024 dic 4 17:08 boot

drwxr-xr-x 12 root root 4240 dic 15 15:15 dev

drwxr-xr-x 126 root root 12288 dic 15 15:41 etc

drwxr-xr-x 12 root root 4096 dic 13 22:56 home

drwxr-xr-x 15 root root 4096 dic 15 04:23 lib

drwx------ 2 root root 16384 dic 2 12:25 lost+found

drwxr-xr-x 2 root root 4096 dic 15 15:15 media

drwxr-xr-x 2 root root 0 dic 15 15:14 misc

drwxr-xr-x 2 root root 4096 ago 13 10:47 mnt

drwxr-xr-x 2 root root 0 dic 15 15:14 net

drwxr-xr-x 2 root root 4096 dic 3 16:29 opt

dr-xr-xr-x 142 root root 0 dic 15 12:14 proc

drwxr-x--- 10 root root 4096 dic 14 00:52 root

drwxr-xr-x 2 root root 12288 dic 11 13:48 sbin

drwxr-xr-x 2 root root 4096 dic 2 12:25 selinux

drwxr-xr-x 3 root root 4096 dic 2 12:45 srv

drwxr-xr-x 12 root root 0 dic 15 12:14 sys

drwxrwxrwt 24 root root 4096 dic 15 18:06 tmp

drwxr-xr-x 14 root root 4096 dic 3 16:24 usr

drwxr-xr-x 22 root root 4096 dic 2 12:48 var

ls -a muestra:

. .autofsck bin dev home lost+found misc net proc root

selinux .suspended tmp var

.. .autorelabel boot etc lib media mnt opt .pulse-cookie sbin

srv sys usr

ls -d b* muestra:

bin boot

Nótese la diferencia con la ejecución sin la opción -d

Combinado algunas opciones, podemos ejecutar:

ls -hl que muestra:

total 150K

drwxr-xr-x 2 root root 4,0K dic 9 22:20 bin

drwxr-xr-x 4 root root 1,0K dic 4 17:08 boot

drwxr-xr-x 12 root root 4,2K dic 15 15:15 dev

drwxr-xr-x 126 root root 12K dic 15 15:41 etc

drwxr-xr-x 12 root root 4,0K dic 13 22:56 home

drwxr-xr-x 15 root root 4,0K dic 15 04:23 lib

drwx------ 2 root root 16K dic 2 12:25 lost+found

drwxr-xr-x 2 root root 4,0K dic 15 15:15 media

drwxr-xr-x 2 root root 0 dic 15 15:14 misc

drwxr-xr-x 2 root root 4,0K ago 13 10:47 mnt

drwxr-xr-x 2 root root 0 dic 15 15:14 net

drwxr-xr-x 2 root root 4,0K dic 3 16:29 opt

dr-xr-xr-x 142 root root 0 dic 15 12:14 proc

drwxr-x--- 10 root root 4,0K dic 14 00:52 root

drwxr-xr-x 2 root root 12K dic 11 13:48 sbin

drwxr-xr-x 2 root root 4,0K dic 2 12:25 selinux

drwxr-xr-x 3 root root 4,0K dic 2 12:45 srv

drwxr-xr-x 12 root root 0 dic 15 12:14 sys

drwxrwxrwt 24 root root 4,0K dic 15 18:06 tmp

drwxr-xr-x 14 root root 4,0K dic 3 16:24 usr

drwxr-xr-x 22 root root 4,0K dic 2 12:48 var

Page 47: Tema 2 Comandos Basicos e Instalacion Linux

47

cd

Cambia el directorio (o carpeta) actual. Al ejecutarse sin parámetro, normalmente (aun no he conocido un

Linux, Unix o Solaris en que no suceda) cambia al directorio de home (o directorio base) del usuario en

curso. Al entregarle un parámetro (nombre de algún directorio), se cambia a él. Algunos nombres de

directorios especiales son por ejemplo:

. que hace referencia a mi directorio actual,

.. que hace referencia al directorio padre, y

/ que es el directorio raíz del sistema.

Cabe destacar que uno puede cambiarse de directorio dando toda la ruta (directa o relativa) de una carpeta.

Ejemplos

Cambiarse al directorio Escritorio

cd Escritorio

Ir a la raíz del sistema

cd /

Ir a la carpeta home que esta dentro de la raíz

cd /home

Regresar a mi carpeta

cd

pwd

Muestra el directorio actual regresando toda su ruta desde la raíz del sistema.

pwd

cp

Copia dentro del equipo local un archivo o directorio, para ello recibe dos parámetros, el origen y el destino.

cp origen destino

Existen algunas opciones que se utilizan bastante, no son todas, pero son las más frecuentes:

-R : Copia recursiva de directorios.

-i : Pregunta si quiere sobrescribir los que tienen el mismo nombre.

-d : copia los enlaces simbólicos en vez de copiar el archivo (o directorio) al que apunta.

-u : copia sobreescribiendo solamente los archivos más viejos (una forma de sincronización).

Ejemplos

Copia mi carpeta Escritorio en la carpeta respaldo

cp -R Escritorio respaldo

Copia el archivo xorg.conf ubicado en /etc/X11 en mi carpeta de home

Page 48: Tema 2 Comandos Basicos e Instalacion Linux

48

cp /etc/X11/xorg.conf $HOME

mv

Mueve o renombra un archivo o directorio a un nuevo destino.

¿De que depende cual de las dos acciones ejecuta?

Fácil, depende si existe el destino o no como directorio, en caso contrario renombra (ojo, si mueves un

archivo a otro que ya existe, lo reemplaza)

mv curriculum.pdf Documentos/personales/

Las opciones más utilizadas de mv son:

-i : pregunta antes de sobreescribir si el destino existe.

-u : no mueve el archivo si existe en el destino uno más actual.

rm

Borra un archivo o directorio.

rm archivoViejo.txt

Los operadores mas importantes son:

-r : borra recursivamente.

-i : pide confirmar.

-f : por la fuerza.

Nunca hagas lo siguiente

rm -rf $HOME

ni ninguna cosa parecida, preocúpate de manejar bien este comando, pues de que borra borra.

cat

Despliega un archivo por la salida estándar.

cat README.txt

El operador entretenido que tiene es el -n que muestra los números de linea, es especial si quieres ver que

dice la linea que se queja un archivo PHP.

En la mayoría de los terminales con las teclas <shift> y <pg up> o <pg dw> nos permite desplazarnos.

more

Despliega un archivo por la salida estándar agregando pausas por pantalla. Claramente esto es bastante útil

cuando el archivo sobrepasa un par de pantallas.

more README.txt

tail

Muestra las últimas lineas de un archivo. Tal ves te preguntes ¿y para que solo quiero ver las últimas

líneas?, algunas respuestas posibles a esta pregunta son:

Page 49: Tema 2 Comandos Basicos e Instalacion Linux

49

puede ser que estés viendo un archivo secuencial (como un log del sistema) en donde te interese

solamente ver lo que ocurre ahora.

dmesg | tail # <--- ver los avisos más recientes de mi sistema

ver el progreso de un registro secuencia, gracias al operador más utilizado, -f (follow) que deja el canal

abierto mirando las ultimas lineas mientras se actualizan.

tail -f /var/log/messages

para concluir presionar <ctrl> + <c>

head

Igual que el anterior, pero muestra solamente las primeras líneas de un archivo. Tal vez te preguntes, ¿y

para qué solamente querría ver las primeras líneas? Algunos casos posibles son:

Quieres ver si un archivo se trata de lo que crees (en Linux, muchos archivos de configuración guardan

comentarios descriptivos en las primeras líneas):

head /etc/samba/smb.conf # <-- ¿será este el archivo de directivas de samba?

Algunos archivos de registro y salidas de programa guardan información cronológica "inversa", es decir, los

más recientes primero:

last | head # <-- ¿quiénes son los más recientes que se han conectado al sistema?

¿No recuerdas con qué opciones compilaste un código fuente?

head config.log

ps

Muestra los procesos en ejecución.

Entre todos los comandos que hemos visto, este es uno de los que tiene las más variadas opciones, pues

uno puede ver los procesos en total, por usuario, por grupo de usuario, etc...

Lo más común en todo caso es que me interesen mis procesos, para ello se utiliza el operador -U seguido

por el nombre del usuario.

ps -U gulixiano

lo que retornará algo similar a lo siguiente:

PID TTY TIME CMD

2505 ? 00:00:00 startkde

2561 ? 00:00:00 ssh-agent

2564 ? 00:00:00 dbus-launch

2565 ? 00:00:00 dbus-daemon

2635 ? 00:00:00 start_kdeinit

2636 ? 00:00:00 kdeinit

2639 ? 00:00:00 dcopserver

2641 ? 00:00:00 klauncher

2643 ? 00:00:05 kded

2648 ? 00:00:00 kwrapper

2650 ? 00:00:00 ksmserver

2651 ? 00:00:10 kwin

2653 ? 00:00:05 kdesktop

2658 ? 00:00:13 kicker

2662 ? 00:00:17 artsd

2673 ? 00:00:00 kmix

Page 50: Tema 2 Comandos Basicos e Instalacion Linux

50

2675 ? 00:00:17 yakuake

2696 pts/2 00:00:00 bash

2735 ? 00:00:00 firefox

2756 ? 00:00:00 run-mozilla.sh

2761 ? 00:24:08 firefox-bin

2915 ? 00:00:01 knotify

3557 ? 00:00:21 xchat

3660 ? 00:00:04 konqueror

3684 ? 00:00:01 kio_uiserver

4445 pts/2 00:00:00 ps

si le agregamos el operador x podemos ver además los parámetros de los programas, ubicación, entre otros.

La primer columna de lo que retorna es el número del proceso.

ps x -U gulixiano

retorna

PID TTY STAT TIME COMMAND

2505 ? Ss 0:00 /bin/sh /usr/bin/startkde

2561 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-

session

2564 ? S 0:00 /usr/bin/dbus-launch --exit-with-session

/etc/X11/xinit/Xclients

2565 ? Ss 0:00 /bin/dbus-daemon --fork --print-pid 4 --print-address

8 --session

2609 ? S 0:00 /usr/bin/gnome-keyring-daemon

2612 ? Ss 0:01 /usr/bin/gpg-agent -s --daemon

2614 ? Ssl 0:55 /usr/bin/pulseaudio -D

2635 ? S 0:00 start_kdeinit --new-startup +kcminit_startup

2636 ? Ss 0:00 kdeinit Running...

2639 ? S 0:00 dcopserver --nosid

2641 ? S 0:00 klauncher [kdeinit] --new-startup

2643 ? S 0:05 kded --new-startup

2648 ? S 0:00 kwrapper ksmserver

2650 ? S 0:00 ksmserver

2651 ? S 0:10 kwin -session

101bc18c1b6166000119671600300000064280000_1197099738_82464

2653 ? S 0:05 kdesktop

2658 ? S 0:13 kicker

2662 ? S 0:17 /usr/bin/artsd -F 10 -S 4096 -s 60 -m artsmessage -c

drkonqi -l 3 -f

2673 ? S 0:00 kmix -session

101bc18c1b6166000119671952700000064280060_1197099738_69827

2675 ? S 0:17 yakuake -session

101bc18c1b6166000119672904800000029110007_1197099738_71012

2685 ? S 0:00 kalarmd --autostart

2690 ? S 0:00 /usr/libexec/gconfd-2 13

2696 pts/2 Ss 0:00 /bin/bash

2735 ? S 0:00 /bin/sh /usr/lib/firefox-2.0.0.10/firefox -UILocale

es-ES

2756 ? S 0:00 /bin/sh /usr/lib/firefox-2.0.0.10/run-mozilla.sh

2761 ? Sl 24:15 /usr/lib/firefox-2.0.0.10/firefox-bin -UILocale es-ES

2915 ? S 0:01 knotify [kdeinit]

3557 ? S 0:21 xchat

3660 ? S 0:04 konqueror --silent

3684 ? S 0:01 kio_uiserver

4423 ? Rl 3:53 /usr/lib/nspluginwrapper/npviewer.bin

4451 pts/2 R+ 0:00 ps x -U gulixiano

kill

Page 51: Tema 2 Comandos Basicos e Instalacion Linux

51

Mata algún proceso. Para entender mejor recomiendo ver man 7 signal que especifica cada una de las

señales, en este pequeño texto utilizaremos la señal 9 (matar) y la señal 15 (terminar).

Por ejemplo, supongamos que de la lista de procesos vistos en el ejemplo de ps deseamos terminar xchat,

cuyo número de proceso es 3557

kill -15 3557

lo que cerrará (amablemente) el programa xchat.

Ahora, supongamos que (por esas cosas que rara vez ocurren) se pega xchat y no está respondiendo, por

lo que en ves de cerrarlo, es mejor matarlo (por la fuerza).

kill -9 3557

Mediante kill incluso se pueden detener o reiniciar procesos, no es lo más habitual, pero de poder se puede.

Killall

Este comando no esta disponible por defecto en todos los sistemas Unix, pero sí en la mayoría de las

distribuciones Linux. Mata todos los procesos al los cuales el usuario tiene acceso. Similar al comando Kill,

pero diseñado para matar procesos por sus nombres.

Ejemplo:

killall firefox-bin

top

Al igual que ps muestra los procesos, a diferencia de ps, top los ordena por porcentaje de CPU utilizado (lo

que se puede cambiar a porcentaje de memoria, etc.)

Por ejemplo al ejecutar

top

se vera algo así como lo siguiente, note que se va actualizando.

top - 22:49:02 up 7:34, 1 user, load average: 1.12, 0.85, 0.80

Tasks: 129 total, 2 running, 127 sleeping, 0 stopped, 0 zombie

Cpu(s): 15.3%us, 1.2%sy, 0.2%ni, 80.4%id, 2.5%wa, 0.3%hi, 0.1%si, 0.0%st

Mem: 450000k total, 395052k used, 54948k free, 2848k buffers

Swap: 2096440k total, 81044k used, 2015396k free, 103548k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

4423 gulixiano 20 0 98.3m 42m 9648 R 51.2 9.7 27:22.42 npviewer.bin

2483 root 20 0 123m 46m 3392 S 2.0 10.6 11:58.59 X

2761 gulixiano 20 0 323m 165m 18m S 2.0 37.6 27:24.50 firefox-bin

1 root 20 0 2112 564 536 S 0.0 0.1 0:01.20 init

2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd

3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0

4 root 15 -5 0 0 0 S 0.0 0.0 0:01.43 ksoftirqd/0

Con la opción -u se le puede especificar el usuario, por ejemplo si solo deseamos ver los procesos de root ejecutamos

top -u root

que muestra

top - 23:01:35 up 7:46, 1 user, load average: 1.80, 1.48, 1.09

Tasks: 129 total, 2 running, 127 sleeping, 0 stopped, 0 zombie

Cpu(s): 16.4%us, 1.3%sy, 0.2%ni, 79.3%id, 2.5%wa, 0.3%hi, 0.1%si, 0.0%st

Mem: 450000k total, 402064k used, 47936k free, 3240k buffers

Swap: 2096440k total, 81044k used, 2015396k free, 103564k cached

Page 52: Tema 2 Comandos Basicos e Instalacion Linux

52

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2483 root 20 0 123m 46m 3392 S 5.6 10.6 12:19.55 X

1 root 20 0 2112 564 536 S 0.0 0.1 0:01.21 init

2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd

3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0

4 root 15 -5 0 0 0 S 0.0 0.0 0:01.47 ksoftirqd/0

5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0

6 root 15 -5 0 0 0 S 0.0 0.0 0:00.29 events/0

top además recibe comandos mientras está en ejecución, entre ellos, k es equivalente a kill, O es para ordenar por otro criterio, q sale, entre otros.

alias

Crea un alias de un comando, esto sirve bastante para escribir menos. Por ejemplo, podemos crear una

alias para ls -al cosa de no escribir a cada rato esos 5 caracteres, podemos crear una alias una ves y de ahi

solo usar el alias.

alias ll='ls -al'

y después de ello solo usamos

ll

Se puede crear un alias para prevenir borrar cosas accidentalmente incorporando la confirmación

alias rm='rm -i'

El uso del alias es desde que se crea hasta que se cierra la cuenta, para la perpetuidad del alias se puede

agregar al archivo .bashrc (en el directorio base de tu usuario)

2.4.9 El editor de textos vi

Editar archivos de texto en Linux es una tarea constante. Para mirar o modificar archivos de configuración

(todos los archivos de configuración de Linux son archivos de texto editables) se requiere dominar el uso de

algún editor.

Tradicionalmente ha sido el vi (de visual editor) el más conocido y utilizado. El vi es un dolor de cabeza y es

un problema, pero a veces no hay más remedio que usarlo porque NO HAY OTRO DISPONIBLE. Bueno,

Ud. puede instalar otro editor, pero qué tal si (como al autor le ha pasado) le sientan frente a una terminal de

Solaris, AIX, HP/UX o MacOSX? No es válido decir: no puedo hacer nada, no tengo el editor que conozco

… verdad?

Entonces, la única solución es APRENDER EL VI. A pesar de que existen otros editores mucho mejores, es

imprescindible que conozca el vi (y eso le da la oportunidad de lucirse porque nadie entiende el vi con solo

mirarlo).

Aquí aprenderemos cinco comandos del vi que son los que realmente importan. El vi se maneja mediante

comandos. Vamos a empezar.

Primero, vamos a ubicarnos en un directorio al cual tenemos acceso, y ese es casi siempre nuestro

directorio inicial (home dir), por lo tanto, escribimos estos comandos que nos llevan a nuestro directorio

inicial, creamos un archivo llamado prueba1 (sin espacios en blanco, por favor) y ejecutamos el editor vi

indicándole que vamos a editar el archivo que acabamos de crear.

cd

touch prueba1

Page 53: Tema 2 Comandos Basicos e Instalacion Linux

53

vi prueba1

Y aparecerá esta pantalla:

Esto nos indica que el vi está listo, editando el archivo prueba1 que tiene cero líneas y cero caracteres.

El vi inicia en modo comando. Cualquier cosa que Ud. escriba, será interpretada como un comando, así que

no escriba nada todavía.

El primer comando que vamos a aprender es i (así con letra minúscula), presione la letra i y no escriba nada

más.

Fíjese que al escribir solamente la letra i (sin nada más, ni siquiera ENTER) el vi pasó de modo comando a

modo INSERT. Ahora, todo lo que escriba, irá a parar dentro del archivo prueba1.

Escribamos algún texto de ejemplo.

Page 54: Tema 2 Comandos Basicos e Instalacion Linux

54

Y así puede continuar. Puede subir y bajar con las flechas, borrar con DEL o BACKSPACE y todo lo que un

editor tiene en común.

Cuando desee hacer otra actividad distinta, deberá presionar la tecla ESC para regresar al modo comando,

así:

Observe que desapareció el texto INSERT. Ahora debe tener mucho cuidado porque cualquier letra será

interpretada como comando. Ya sabemos que la i es el comando insert. Ahora veamos otros comandos.

Suba con las flechas hasta una letra, digamos la línea 3 donde dice Modulo 1. Sigue en modo comando

porque no ha escrito la letra i (no hace falta todavía).

Puede usar cualquiera de estos comandos:

COMANDO SIGNIFICADO

x Borra el carácter sobre el cual está ubicado el cursor

Page 55: Tema 2 Comandos Basicos e Instalacion Linux

55

d Borra la línea completa (en algunas versiones es dd)

i Pasa a modo de inserción con el cursor en el mismo sitio donde se encuentra.

a Pasa a modo de inserción con el cursor al final de la línea donde se encuentra el cursor

u Deshace el último cambio

:w Graba el archivo

:q Sale del editor. Primero debió grabar los cambios, caso contrario no le dejará salir

ESC La tecla ESC sale del modo INSERCION Si no está en modo inserción, no hace nada.

:q! Sale del editor vi sin grabar los cambios (no le preguntará nada)

/texto Busca dentro del archivo el texto indicado. Ud. deberá suministrar el texto

:!comando Ejecuta el comando del shell indicado, (ud deberá poner el comando (por ejemplo man vi o cualquiera de los comandos del shell) sin salir del vi. Cuando termine la ejecución del comando, regresa al vi.

El vi tiene cientos de comandos. Es su elección si desea aprender más. Yo personalmente con estos tengo

suficientes. Prefiero usar otros editores como el mc, joe, pico, nano, gedit y otros.

Recuerde: el vi tiene dos modos:

Modo comando: cuando se arranca el editor vi, siempre se está en el modo comando. Este modo permite

que se use un determinado número de comandos (usualmente de una sola letra) para modificar el texto.

Hay que tener cuidado en este modo, ya que si se pone un comando en mayúsculas o en minúsculas, se

lograrán efectos muy diferentes. Si se intenta insertar texto en este modo, la máquina le recordará al

usuario, mediante el pito que suena cuando se oprimen las teclas, que no puede hacerlo. Para insertar

texto, se tendrá que cambiar al modo edición.

Modo edición: es aquel que permite insertar texto y modificarlo. Para pasar del modo comando al modo

edición, simplemente se teclea la letra i.

2.4.10 El editor mcedit

El editor mcedit es parte del paquete mc (Midnight Commander) y su uso es bastante fácil especialmente si

ha manejado los editores de Windows. El uso es el mismo:

mcedit nombredelarchivo

O mejor aún, use el programa mc, ubíquese en el directorio y archivo deseado, y presione F4 Modificar. Con

eso se activa el editor.

Para salir del mcedit se usa la tecla ESC.

Page 56: Tema 2 Comandos Basicos e Instalacion Linux

56

2.5 Instalación de CENTOS

Aquí usaré una máquina virtual con el programa vmware (descargar de www.vmware.com)

Descargar la versión para Windows y ejecutar el instalador. No hay nada especial en la instalación. Aquí se

usa Vmware Workstation 7 que permite 30 días de evaluación.

INSTALACÓN DE VMWARE (OPCIONAL):

Page 57: Tema 2 Comandos Basicos e Instalacion Linux

57

Page 58: Tema 2 Comandos Basicos e Instalacion Linux

58

Seleccione la unidad donde está el DVD de CENTOS. Yo lo tengo en la unidad S:

No olvide elegir la unidad correcta para su máquina. Se supone que Ud. es un aspirante a administrador. No

se limite a seguir este manual sino a interpretarlo correctamente y adecuarlo a sus necesidades.

Page 59: Tema 2 Comandos Basicos e Instalacion Linux

59

Aquí he puesto el nombre Centos_54 y he seleccionado la unidad G: en la cual previamente he verificado

que dispongo de 20GB libres y he creado las carpetas VM y Centos_54.

Page 60: Tema 2 Comandos Basicos e Instalacion Linux

60

Si dispone de 20GB libres, deje tal cual. Si no, cambie adecuadamente. No use menos de 10GB. No podrá

ejecutar los ejercicios con menos de 10GB.

Page 61: Tema 2 Comandos Basicos e Instalacion Linux

61

Confirmamos que la máquina virtual tiene 1024 MB de RAM (1GB) y 20 GB en disco duro.

Dejamos activa la casilla para que encienda la maquina virtual luego de crearla.

Clic en Finish.

Page 62: Tema 2 Comandos Basicos e Instalacion Linux

62

Listo. Tenemos la máquina virtual lista para instalar.

NOTA IMPORTANTE: mientras está dentro de la máquina virtual, no podrá mover el cursor del ratón fuera

de la pantalla de la máquina virtual. Si desea moverlo fuera del área de la maquina virtual, use las teclas

CONTROL-ALT al mismo tiempo. Con un clic dentro de la ventana puede volver a ubicar el cursor dentro de

la maquina virtual.

El proceso que se describe a continuación es destructivo. Borrará todo el contenido del disco duro. En este

caso, borrará todo el contenido de 20GB reservados para la maquina virtual en G:\VM\Centos_54

INSTALACIÓN DE LINUX

Estas pantallas corresponden a CENTOS 5.4 que es equivalente a Red Hat 5.4. Todo lo dicho aquí se

aplica a Red Hat (recuerde que CENTOS es un clon – en el buen sentido – de Red Hat).

Page 63: Tema 2 Comandos Basicos e Instalacion Linux

63

Presionamos la tecla ENTER

Page 64: Tema 2 Comandos Basicos e Instalacion Linux

64

Si tenemos dudas acerca de la calidad del DVD, elegimos OK y presionamos ENTER, lo cual tomará unos

15 minutos hasta verificar que el DVD no tiene sectores dañados. Por ahora vamos a elegir Skip (Saltar)

(usando las flechas del cursor) y presionamos ENTER.

Luego de unos momentos aparecerá esta pantalla:

Si su tarjeta de video es de un modelo reciente o no tiene suficiente memoria (860MB o más), aparecerá

otra pantalla solicitándole la instalación en modo texto. Por ahora saltaremos ese procedimiento y

seguiremos en modo gráfico.

Presionamos el botón Next. En modo gráfico ya se puede usar el ratón.

Page 65: Tema 2 Comandos Basicos e Instalacion Linux

65

Seleccionamos el idioma Español y clic en Next. Le recomendamos encarecidamente elegir Español, a

menos que Ud. domine perfectamente el idioma inglés. Bueno, en todo caso, elija el idioma que Ud. domine.

Ya pasaron esas épocas en que el inglés era el mejor. Linux trabaja muy bien con español y otros idiomas.

Elija el idioma que Ud. domine, así no se le escaparán mensajes importantes.

Page 66: Tema 2 Comandos Basicos e Instalacion Linux

66

Seleccionamos el teclado adecuado (en mi caso, tengo la letra Ñ en mi teclado, así que elijo Español) y clic

en Siguiente. Una vez instalado podrá cambiar el idioma del teclado.

El mensaje dice que no se pudo leer la tabla de particiones del disco duro. Y claro, qué esperaba, si está

buscando dentro del archivo virtual de 20GB o dentro de un disco vacío. Es obvio que no está particionado.

Elegimos SI y proseguimos.

ALERTA: Si aparece este mensaje en un equipo ya operativo, es señal de algún problema grave. Deberá

detenerse y revisar cuál es el problema.

Como se trata de un equipo de pruebas (espero que esté practicando en un equipo de pruebas) o en una

máquina virtual, hacemos clic en SI y proseguimos.

Page 67: Tema 2 Comandos Basicos e Instalacion Linux

67

Por omisión el programa va a suprimir las particiones de Linux (o sea ninguna, porque nuestro disco duro

está todavía sin usar).

Page 68: Tema 2 Comandos Basicos e Instalacion Linux

68

Podemos mirar otras opciones. Las dos primeras son equivalentes debido a que nuestro disco duro está

vacío.

Nos pide que confirmemos. Por favor confirmar ya que el formateo es destructivo.

Y acaba de crearse un esquema de particionamiento por omisión. Podemos mirarlo con el botón atrás.

Para revisar la capa de particiones marque la casilla abajo a la izquierda y presione Siguiente.

Page 69: Tema 2 Comandos Basicos e Instalacion Linux

69

Este es el esquema de particionamiento que nos acaba de crear. Por lo pronto lo dejamos así. Luego lo

analizaremos. Damos clic en Siguiente.

Page 70: Tema 2 Comandos Basicos e Instalacion Linux

70

Dejamos esta pantalla tal cual, para que se instale el GRUB (hablaremos en otro momento) y clic en

Siguiente.

Si nos detenemos a analizar todo, no terminaremos a tiempo, así que prosigamos.

Esta pantalla es importante ya que le permitirá conectarse o no a Internet y a la red. Se supone que Ud. es

un candidato a administrador de una red y que tenía una máquina previamente conectada a Internet, así

que por el momento no le vamos a decir qué hacer (Ud. ya lo sabe, y si no lo sabe, no podemos detenernos

en este punto). Llegará el momento en que analizaremos esto. Por ahora clic en Siguiente. Si se equivoca,

simplemente no se conectará a Internet y ese detalle lo podremos corregir luego, una vez terminada la

instalación.

Page 71: Tema 2 Comandos Basicos e Instalacion Linux

71

En esta pantalla deberá elegir la zona horaria correcta y quite la marca de El reloj del sistema utiliza UTC. El

Ecuador NO utiliza ajuste de tiempo de verano.

Por favor no descuide estos detalles, son importantes. Ud. es un candidato a administrador. Esperemos que

no sea un administrador descuidado que olvida estos detalles importantes, ya que determinan la hora

correcta del equipo (y de toda la red de equipos que dependen del servidor).

Page 72: Tema 2 Comandos Basicos e Instalacion Linux

72

Escriba una contraseña de al menos 5 caracteres para el usuario root. El usuario root es el superusuario o

administrador de Linux, así que use una clave fácil de recordar pero difícil de adivinar.

Le sugiero que marque las casillas Desktop KDE y Server. Deje también marcada Desktop – Gnome y

cambie a Personalizar Ahora. De esta manera podrá agregar algunos programas que le vamos a decir en

seguida. No desmarque nada más de lo que se recomienda, ya que los utilizaremos durante los cuatro

módulos del curso Linux Administrator.

Page 73: Tema 2 Comandos Basicos e Instalacion Linux

73

Aquí podrá agregar o quitar programas específicos. Le recomendamos agregar los siguientes:

En el Grupo de Desarrollo, seleccione todas las casillas de la derecha. Las necesitará en el módulo 2 para

recompilar el kernel y para crear programas en C, C++, Java, Ruby.

Page 74: Tema 2 Comandos Basicos e Instalacion Linux

74

En el Grupo de Servidores, marque MySQL y PostgreSQL. Desmarque los servidores que no tiene planeado

utilizar, como servidor de noticias. En Servidores -> Servidores Web haga clic en el botón Personalizar y

marque php-mysql (si es que le interesa que su servidor soporte php con MySQL) y php-pgsql si le interesa

que su servidor tenga soporte para php con PostgreSQL.

En el Grupo Sistema Base, seleccione Herramientas de Administración y marque la casilla mc. Este

programa Midnight Commander le será de mucha utilidad más adelante. Es el clon del famoso Norton

Commander.

Y con eso completamos los paquetes recomendados. Ahora procedemos dando clic en Siguiente.

Page 75: Tema 2 Comandos Basicos e Instalacion Linux

75

Una vez más nos pide que confirmemos. De esta ya no hay retorno: el disco duro resulta particionado y

formateado y se graban los archivos encima.

Damos clic en Siguiente.

Page 76: Tema 2 Comandos Basicos e Instalacion Linux

76

Ahora solo nos toca mirar y esperar…

Y seguimos esperando ….

Page 77: Tema 2 Comandos Basicos e Instalacion Linux

77

Y seguimos esperando, durante el tiempo que se indica … que varía de máquina a máquina…. Hasta tanto,

puede informarse de algunos detalles de Linux …. o hacer otra actividad.

En este caso se tomó 20 minutos, finalmente apareció:

Page 78: Tema 2 Comandos Basicos e Instalacion Linux

78

Retiramos el DVD y damos clic en Reiniciar.

Y se inicia el arranque por primera vez de CENTOS.

No haga caso de ese mensaje que dice “Memory for crash kernel …”

Page 79: Tema 2 Comandos Basicos e Instalacion Linux

79

Esperamos unos dos minutos o algo así, hasta que aparece:

Bueno, ya falta poco. Esta es la configuración por primera vez.

Page 80: Tema 2 Comandos Basicos e Instalacion Linux

80

Nos pregunta acerca del cortafuegos. Si no sabemos de qué se trata, dejemos tal cual.

Page 81: Tema 2 Comandos Basicos e Instalacion Linux

81

Al SeLinux (Secure Linux) también lo dejamos tal cual. Luego lo analizaremos.

Page 82: Tema 2 Comandos Basicos e Instalacion Linux

82

El kdump nos llenaría el disco duro con volcados de memoria cuando hay errores. Lo dejamos sin activar. Si

el servidor fuere un servidor importante y se requiere enviar ese archivo a la gente de soporte técnico, active

esta casilla. Por ahora NO la activamos.

Page 83: Tema 2 Comandos Basicos e Instalacion Linux

83

Ajustamos la fecha y la hora.

Page 84: Tema 2 Comandos Basicos e Instalacion Linux

84

Podemos crear varios usuarios. Por lo pronto NO lo vamos a hacer.

Page 85: Tema 2 Comandos Basicos e Instalacion Linux

85

Verificamos que el sonido trabaje OK.

Page 86: Tema 2 Comandos Basicos e Instalacion Linux

86

CDs adicionales: ninguno. Clic en Finalizar.

En definitiva, no recomendamos cambiar nada de esto, solamente Siguiente, Siguiente … etc.

Ahora podemos ingresar como el usuario root.

Page 87: Tema 2 Comandos Basicos e Instalacion Linux

87

Escribimos root (con letras minúsculas).

Page 88: Tema 2 Comandos Basicos e Instalacion Linux

88

Escribimos la contraseña que pusimos al instalar.

Y listo, tenemos funcionando el equipo con CENTOS.

Page 89: Tema 2 Comandos Basicos e Instalacion Linux

89

Por ahora ignore esas alertas como la que se mira arriba. Es normal porque no estuvo configurada

correctamente la conexión a Internet.

Page 90: Tema 2 Comandos Basicos e Instalacion Linux

90

Si desea tener conexión a Internet, utilice el programa para Administración de Red.

Page 91: Tema 2 Comandos Basicos e Instalacion Linux

91

Deberá configurar los valores para su red.

Page 92: Tema 2 Comandos Basicos e Instalacion Linux

92

Page 93: Tema 2 Comandos Basicos e Instalacion Linux

93

Puede configurar su DNS. Tendrá que poner el valor correcto para su red.

Y ahora podrá navegar por Internet, asumiendo que puso los valores correctos para su red.

Page 94: Tema 2 Comandos Basicos e Instalacion Linux

94

El programa utilizado es el Firefox, que se activa con el ícono Navegador Web

en la barra superior. No se sorprenda, no es que el Google sea distinto en Linux,

es solo que Google celebraba los 30 años de PACMAN.

Puede configurar correctamente su teclado, pantalla, zona horaria y lenguaje en el menú Sistema ->

Administración.

Principales programas de CENTOS en modo gráfico

Page 95: Tema 2 Comandos Basicos e Instalacion Linux

95

Como ve, no existe mayor misterio. Los menús muestran lo usual: configurar ratón, salvapantallas (protector

de pantalla), teclado, sonido, es decir similar al panel de control de Windows. Tiene también los accesorios y

el administrador de archivos (bajo el menú Lugares).

Page 96: Tema 2 Comandos Basicos e Instalacion Linux

96

En Lugares -> Equipo podrá navegar por los distintos directorios y archivos de sus dispositivos: disco duro,

cdrom, etc.

Algo que causa sorpresa es que en Linux no existen unidades. Para llegar a otras particiones se utiliza el

directorio media, que la veremos más adelante.

Page 97: Tema 2 Comandos Basicos e Instalacion Linux

97

Otro término que debe conocerse es el de Sistema de Archivos o File System. No es más que la estructura

(árbol) de directorios y carpetas.

Page 98: Tema 2 Comandos Basicos e Instalacion Linux

98

Algo que siempre utilizaremos es clic derecho en algún lugar vacío del escritorio y elegiremos Abrir

Terminal, para que se abra el programa bash.

En este programa podemos escribir gran cantidad de comandos, como ls, pwd, whoami, uname, ifconfig y

miles de otros comandos y programas.

Page 99: Tema 2 Comandos Basicos e Instalacion Linux

99

El comando ls permite obtener un listado de los archivos del directorio actual.

pwd permite conocer el nombre del directorio actual que en este caso es /root

whoami sirve para saber el nombre del usuario, en este caso root.

hostname nos informa el nombre del host.

uname nos informa de la versión y características de nuestro sistema operativo.

date nos da la fecha y hora.

gcalctool ejecuta el programa Calculadora.

Como se puede ver, es más rápido y cómodo usar comandos de administración que hacer clic con el ratón.

Un programa muy valioso es el mc, para ello escribimos mc y presionamos ENTER.

Page 100: Tema 2 Comandos Basicos e Instalacion Linux

100

El mc (midnight commander) es un clon del famoso Norton Commander. El mc es un administrador de

archivos en modo texto, por lo que es totalmente recomendado y se lo puede usar tanto en modo texto

como en modo gráfico. Los botones celestes en la parte inferior corresponden a las teclas de función que se

deben presionar para realizar la opción deseada. Digamos que quiero borrar un archivo, primero me uibico

en el archivo que quiero borrar, y luego presiono la tecla F8. Por supuesto, no se le ocurra borar lo que no

debe. Con las flechas puede moverse de un nombre a otro, y con ENTER puede entrar al directorio. Los

signos /.. significa subir al directorio superior.

Es de especial interés la tecla F4 que le permite modificar el archivo (debe estar ubicado en un archivo). El

editor que se activa es el mcedit. Claro que si prefiere, puede escribir abajo, junto al PROMPT el comando vi

y el nombre del archivo que desea editar.

En el siguiente capítulo: Manejo de usuarios y permisos de Linux.

Fin de esta sección.