You are on page 1of 68

Unidad 1: Introduccin y manejo de un

sistema GNU/Linux
Objetivo de Aprendizaje 1.2: Utiliza comandos
esenciales identificando a su vez las caractersticas
fundamentales de plataformas basadas en entornos
Unix.
Paola A. Cifuentes Berros
Ingeniero en Computacin e Informtica
Oracle Certified Professional, Java SE 6 Programmer
REDHAT Certified Technician
Docente Universidad Tecnolgica de Chile
paola.cifuentes02@inacapmail.cl
INACAP - ARICA

Criterios de evaluacin:

Reconoce los elementos fundamentales de los


sistemas operativos Unix.
Identifica los mecanismos de acceso y niveles de
privilegios dentro de un sistema Unix.
Aplica comandos esenciales dentro de un sistema
GNU/Linux para familiarizarse con la sintaxis de
comando que utiliza este sistema.
Aplica argumentos del Shell para modificar el
comportamiento de comandos esenciales.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Contenidos
1.
2.
3.
4.
5.
6.

Fundamentos de sistemas Unix


Cuentas de sistemas Unix
Accesos al sistema y manejo de terminales
Estructura de directorios
Comandos esenciales de sistemas Unix
Entrada/salida estndar

Paola A. Cifuentes Berros, Ingeniero en Computacin

1. Fundamentos de sistemas UNIX


Linux es un sistema operativo multiusuario y
multitarea de tiempo compartido, preparado para
operar en computadoras tanto aisladas como integradas
en red.
Por ser un sistema multiusuario, Linux requiere de una
administracin centralizada para tareas como: registrar
nuevos usuarios, asignar cuotas de recursos a los
diferentes usuarios, definir dispositivos, etc.
El sistema mantiene restricciones para garantizar la
seguridad y privacidad de la informacin de cada
usuario y del sistema.

Las caractersticas de sistemas UNIX que lo diferencian


de otras plataformas orientadas a redes podemos
concentrarlas en elementos tales como:
El kernel
Sistemas de archivos
Intrprete de comandos.
GNU/Linux un clon de UNIX.

Paola A. Cifuentes Berros, Ingeniero en Computacin

1.1 Kernel
El kernel o ncleo de Linux se puede definir como el
corazn de este sistema operativo. Es el encargado de
que el software y el hardware del computador puedan
trabajar juntos.
Las funciones ms importantes del mismo, aunque no
las nicas, son:
Administracin de la memoria.
Administracin del tiempo de procesador.
Administracin de los perifricos/elementos de
nuestro computador.

Causas para descargar un nuevo ncleo:


Nuevas caractersticas se han aadido.
Fallos de programacin se han corregido
Fallos de seguridad se han corregido.
Nuevo hardware es soportado.
Ms informacin: http://www.linux-es.org/kernel

Dnde descargar un nuevo ncleo?


El ncleo denominado "vanilla" (sin alteraciones y
suministrado por Linus Torvalds) se puede bajar de un
gran nmero de servidores en internet pero el sitio oficial
es http://www.kernel.org/.

1.2 Interpretes de comando o shell


Intrprete de comandos
Es el programa que recibe lo que se escribe en la
terminal y lo convierte en instrucciones para el
sistema operativo.
El objetivo de cualquier intrprete de comandos es
ejecutar los programas que el usuario teclea en el
prompt del mismo.
prompt es una indicacin que muestra el intrprete para
anunciar que espera una orden del usuario. Cuando el
usuario escribe una orden, el intrprete ejecuta dicha
orden.

Paola A. Cifuentes Berros, Ingeniero en Computacin

En el mundo Linux/Unix existen tres grandes familias de


Shells como se muestra en la tabla siguiente. Estas se
diferencian entre s bsicamente en la sintaxis de sus
comandos y en la interaccin con el usuario.

Paola A. Cifuentes Berros, Ingeniero en Computacin

1.3 Sistema de archivos


El sistema de archivos o ficheros es la organizacin
lgica del disco que nos permite almacenar la
informacin en forma de archivos de un modo
transparente.
Cada particin del disco debe tener un sistema de
ficheros si queremos almacenar informacin en forma de
fichero asignndole un nombre.
Un sistema de ficheros forma parte de las propiedades
de cada particin de disco duro o cualquier dispositivo
de almacenamiento.
Una particin sin sistema de ficheros no permite
almacenar informacin.

Tipos de sistemas de archivos


ext2: linux nativo. Es un sistema de ficheros propio de
linux. Soporta caractersticas avanzadas: propietarios,
permisos, enlaces, etc.
ext3: linux nativo con journaling. Similar a ext2 pero con
transacciones para evitar que apagados accidentales
puedan deteriorar el sistema de ficheros.
vfat: es una ampliacin del sistema de ficheros msdos,
con soporte para nombres largos de ficheros. Existen los
tipos FAT12, FAT16 y FAT32, y en todos los casos slo
tienen caractersticas monousuario: no admiten
propietarios de ficheros y los permisos son muy
limitados. Los valores 12, 16 y 32 indican el nmero de
bits que se utilizan para almacenar el nmero de una
unidad de almacenamiento.

NTFS: sistema de ficheros de Windows NT/XP. Es un


sistema de ficheros con caractersticas avanzadas y s
est preparado para utilizarse en entornos multiusuario.
iso9660: es el sistema de ficheros de los CDs.

Comando para formatear una particin ext3:


mkfs.ext3 /dev/hdb1

1.4 Gestores de arranque


Un gestor de arranque es un programa que toma el
control de la mquina una vez encendida y que ha
terminado las verificaciones.
Cuando el gestor de arranque toma el control puede
solicitar al usuario alguna informacin necesaria sobre
qu sistema cargar o como cargarlo.
Ejemplos: LILO (LInux LOader), GRUB (Grand Unified
Bootloader ).
Un gestor de arranque permite que en un mismo equipo
coexistan distintos sistemas operativos, de entre los
cuales podremos seleccionar uno cuando arranquemos
el sistema.

GNU GRUB
GNU GRUB es un gestor de arranque mltiple,
desarrollado por el proyecto GNU, derivado de Grand
Unified Bootloader (GRUB), que se usa comnmente
para iniciar uno de dos o ms sistemas operativos
instalados en un mismo equipo.
Se usa principalmente en sistemas operativos
GNU/Linux.
Ms informacin:
http://es.wikipedia.org/wiki/GNU_GRUB

Proceso de inicio de GRUB

El BIOS busca un dispositivo de inicio (como el HDD) y


de ah pasa el control al registro maestro (o principal)
de inicio conocido como Master Boot Record (MBR),
que consiste en los primeros 512 bytes (primer sector)
del HDD y que forman la fase 1 de GRUB.
La fase 1 de GRUB carga la siguiente fase de GRUB,
ubicada fsicamente en cualquier parte del disco duro.
La fase 2 de GRUB recibe el control, y presenta al
usuario el men de inicio.
GRUB carga el kernel seleccionado por el usuario, en
la memoria y le pasa el control.

2. Cuentas de sistemas UNIX


Linux es un sistema multiusuario, por lo tanto, la tarea
de aadir, modificar, eliminar y en general administrar
usuarios se convierte en algo no solo rutinario, sino
importante, adems de ser un elemento de seguridad
que mal administrado o tomado a la ligera, puede
convertirse en un enorme hoyo de seguridad.
Ms informacin:
http://www.linuxtotal.com.mx/index.php?cont=info_admo
n_008

Los usuarios en Unix/Linux se identifican por un nmero


nico de usuario (User ID - UID) y pertenecen a un
grupo principal de usuario, identificado tambin por un
nmero nico de grupo (Group ID GID). El usuario
puede pertenecer a ms grupos adems del principal.
Aunque sujeto a cierta polmica, es posible identificar
tres tipos de usuarios en Linux:
Cuenta de root
Cuentas de sistema
Cuentas de usuarios

2.1 Cuenta root


En el sistema Linux no existe la cuenta administrador
como en Windows.
La cuenta que posee permisos de administrador es la
cuenta root.
Se recomienda trabajar con un usuario de permisos
restringidos en las labores diarias y ocupar el comando
sudo cuando se necesite realizar alguna labor de
administracin en nuestro sistema.
Generalmente en el proceso de instalacin de una
distribucin Linux se nos pide una contrasea para el
sper usuario (root) y luego nos ofrece crear un usuario
normal.

Tambin llamado superusuario o administrador.


Su UID (User ID) es 0 (cero).
Es la nica cuenta de usuario con privilegios sobre todo
el sistema.
Acceso total a todos los archivos y directorios con
independencia de propietarios y permisos.
Controla la administracin de cuentas de usuarios.
Ejecuta tareas de mantenimiento del sistema.
Puede detener el sistema.
Instala software en el sistema.
Puede modificar o reconfigurar el kernel, controladores,
etc.

2.2 Cuenta de sistema


Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail,
operator, squid, apache, etc.
Se les llama tambin cuentas especiales.
No tiene todos los privilegios del usuario root, pero
dependiendo de la cuenta asumen distintos privilegios
de root.
Lo anterior para proteger al sistema de posibles formas
de vulnerar la seguridad.
No tienen contraseas pues son cuentas que no estn
diseadas para iniciar sesiones con ellas.
Tambin se les conoce como cuentas de "no inicio de
sesin" (nologin).

Se crean (generalmente) automticamente al momento


de la instalacin de Linux o de la aplicacin.
Generalmente se les asigna un UID entre 1 y 100 (en
/etc/login.defs)

2.3 Cuenta de usuario


Se usan para usuarios individuales.
Cada usuario dispone de un directorio de trabajo,
ubicado generalmente en /home.
Cada usuario puede personalizar su entorno de trabajo.
Tienen solo privilegios completos en su directorio de
trabajo o HOME.
Por seguridad, es siempre mejor trabajar como un
usuario normal en vez del usuario root, y cuando se
requiera hacer uso de comandos solo de root, utilizar el
comando su (sudo).
En las distribuciones actuales de Linux se les asigna
generalmente un UID superior a 500.

3. Accesos al sistema y manejo de terminales


Para trabajar bajo Linux cada usuario debe identificarse
con un nombre de cuenta y una contrasea (password)
mediante un proceso inicial de login, para as abrir una
sesin de trabajo.

Sesin de trabajo
Para iniciar la sesin de trabajo (entrar en la cuenta) un
usuario debe introducir:
Su <nombre de cuenta>
Seguidamente debe introducir el <password>
Si es la primera vez que entra en cuenta, ste ser el
asignado por la administracin del laboratorio. Se
recomienda cambiarlo por uno que slo usted conozca.
Los caracteres del password no se reflejan en la pantalla
para preservar la confidencialidad.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Login
Se conoce como login el proceso mediante el cual una
persona se identifica en un sistema para acceder a l.
Si el proceso de login no es vlido (nombre de cuenta
y/o password rechazados) el sistema vuelve al estado
de inicio del proceso de login. Si es vlido comienza la
sesin de trabajo.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Cada usuario registrado posee una carpeta o directorio


privado (home directory) dentro de la estructura
jerrquica de directorios del sistema (file system).
El directorio raz (root) se denota con el carcter /, el
cual se usa tambin como indicador de cambio de nivel
de directorio cuando es necesario especificar la ruta de
acceso (path) a un directorio o archivo.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Home directory
Una vez abierta la sesin de trabajo el sistema inicia
como directorio de trabajo el directorio hogar del usuario
(home directory), que se puede abreviar al escribir una
va de acceso (path) con el smbolo ~

Paola A. Cifuentes Berros, Ingeniero en Computacin

Directorio actual y directorio padre


Al igual que en MSDOS, el directorio actual se puede
abreviar con el smbolo . y el padre del actual con ..

Paola A. Cifuentes Berros, Ingeniero en Computacin

Finalizar una sesin


Para ello utilizamos el comando logout

Paola A. Cifuentes Berros, Ingeniero en Computacin

3.1 Consolas virtuales


La consola del sistema es el monitor y teclado
conectado directamente al sistema.
Como GNU/Linux es un sistema operativo multiusuario,
puede tener otros terminales conectados a puertos serie
del sistema, estas sern consolas fsicas.
GNU/Linux, como otros clones de Unix, proporciona
acceso a lo que se denominan consolas virtuales o
VC's, las cuales permitirn tener ms de una sesin de
trabajo abierta desde consola a la vez.

Por ejemplo: una vez que estemos dentro del sistema


presionamos las teclas Alt-F2 y se tendr un nuevo:

Esta es una segunda consola virtual.


Para poder volver a la primer consola, solo hace falta
presionar las teclas Alt-F1 y se estar otra vez en la
primer sesin.

En un sistema que recin se instala se contara con 6


consolas virtuales activas desde Alt-F1 a Alt-F6. En
algunas distribuciones se podrn contar con 8 o ms
activas al inicio, pero esto se puede aumentar hasta 12
VC's, una por cada tecla de funcin.

3.2 Entorno grfico X


X Window System (en espaol sistema de ventanas X)
es un software que fue desarrollado a mediados de los
aos 80 en el MIT para dotar de una interfaz grfica a
los sistemas UNIX.
Este protocolo permite la interaccin grfica en red entre
un usuario y una o ms computadoras haciendo
transparente la red para ste. Generalmente se refiere a
la versin 11 de este protocolo, X11, el que est en uso
actualmente.
X es el encargado de mostrar la informacin grfica de
forma totalmente independiente del sistema operativo.

3.3 Terminales en entorno grfico


Un terminal X es un cliente ligero que solamente ejecuta
un servidor X. Esta arquitectura lleg a ser popular para
construir paquetes de terminales baratos para que
muchos usuarios usaran simultneamente el mismo
gran servidor de computadora para ejecutar programas
de aplicacin como clientes de cada terminal X. Este
uso est muy cerca con la intencin original del proyecto
MIT.
Los terminales X exploran la red (el dominio de difusin
local) usando el protocolo de control del X Display
Manager para generar una lista de anfitriones
disponibles que son permitidos como clientes.

El hardware dedicado para terminales X ha llegado a ser


menos comn; un PC o un moderno cliente ligero con un
servidor X proporciona tpicamente la misma
funcionalidad a igual o ms bajo costo.

3.4 Acceso desde la red


Linux permite iniciar sesin remotamente. Una vez
creados los usuarios con los privilegios deseados, desde
otro equipo (Linux o Windows) podremos conectar con
el sistema Linux e identificarnos a l.
La conexin se realiza a travs de TCP/IP.
Soporta clientes TCP/IP como FTP, telnet, SSH, etc.

4. Estructura de directorios

4.1 Directorios estndares y sus funciones


Linux organiza la informacin en archivos, los cuales
estn contenidos en directorios.
Un directorio puede contener subdirectorios, teniendo
as una estructura jerrquica, como en cualquier otro
sistema operativo.
Las nuevas versiones de Linux siguen el estndar
FSSTND (Linux Filesystem Standard) el cual estipula
los nombres, la ubicacin y la funcin de la mayora de
los directorios y los archivos del sistema.
Existen convenciones sobre donde
se deben almacenar los archivos.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Paola A. Cifuentes Berros, Ingeniero en Computacin

Sistema de archivos
El sistema de archivos est caracterizado por:
Una estructura jerrquica.
Un tratamiento consistente de la informacin de los
archivos.
Proveer un mecanismo de proteccin de los archivos.

Paola A. Cifuentes Berros, Ingeniero en Computacin

4.2 Rutas relativas y absolutas


Una ruta (en ingls path) es la forma de referenciar un
archivo o directorio en un sistema de archivos.
Una ruta seala la localizacin exacta de un archivo o
directorio mediante una cadena de caracteres concreta.
En lneas generales se compondr de los nombres de
los directorios que conforman el camino hasta nuestro
archivo o directorio a lo largo del rbol de directorios, y
finalmente estar el nombre del archivo o directorio que
se quiere referenciar. Estos nombres estarn separados
por un carcter delimitador que usualmente ser "/" en
sistemas UNIX/Linux.

Ruta absoluta
Sealan la ubicacin de un archivo o directorio desde el
directorio raz del sistema de archivos.
Por ejemplo: /home/dir1/arc1.fil
Es una ruta absoluta que seala la ubicacin de arc1.fil
desde la raz del sistema de archivos.

Ruta relativa
Sealan la ubicacin de un archivo o directorio a partir
de la posicin actual del sistema operativo en el sistema
de archivos.
Por ejemplo es una ruta relativa dir1/arc1.fil que seala
al archivo arc1.fil dentro del directorio dir1 en la
ubicacin actual.
En sistemas tipo UNIX, la ruta ~/ es una ruta relativa que
lleva al directorio personal del usuario que ha insertado
la ruta relativa.

Ejemplo:
Si el usuario juan tiene una imagen en el directorio fotos
dentro de su home directory, esta imagen podra tener
dos rutas de acceso, una relativa y una absoluta:
La absoluta:
/home/juan/fotos/imagen.jpg
La relativa:
./fotos/imagen.jpg
En este caso, la ruta relativa slo puede ser
verdaderamente valida si el sistema est ubicado en el
usuario de juan.

4.3 Metacaracteres
Una expresin regular es una cadena que tiene ciertos
caracteres con un significado especial, y con la que
podremos referirnos a mltiples ficheros.
Esos caracteres especiales se denominan caracteres
comodn o metacaracteres, y son interpretados por la
shell antes de ser ejecutado el comando.

Comodn

Significado

- Es equivalente a uno o ms caracteres en el


nombre de un archivo. Ejemplo: ls *.c
- lista todos los archivos con extensin c.

- Es equivalente a un nico caracter. Ejemplo: ls


curso.tx?
- lista el archivo curso.txt completando el ltimo
carcter.

Un conjunto de
caracteres entre
corchetes

- Es equivalente a cualquier carcter del conjunto


entre [ ]. Ejemplo: ls curso_linux.t[aeiou]x
- lista curso_linux.tex seleccionando la e del
conjunto.

[]

Paola A. Cifuentes Berros, Ingeniero en Computacin

5. Comandos esenciales de sistemas UNIX


Sintaxis de los comandos
# programa arg1 arg2 ... argn
Se observa que, en la ``lnea de comandos'', se
introduce el programa seguido de 1 varios
argumentos. As, el intrprete ejecutar el programa
con las opciones que se hayan escrito.

Comando: man
man (abreviatura de manual).
Muestra documentacin en lnea sobre un comando
particular.
Ejemplo: man cd (muestra documentacin del comando
cd para cambiar directorio).
Generalmente la documentacin suministrada es muy
extensa, no est jerarquizada y no incluye ejemplos.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: passwd
Cambia la contrasea.

Paola A. Cifuentes Berros, Ingeniero en Computacin

5.1 Comandos para obtener informacin de la


sesin y del sistema

who
id
w
whoami
date
cal
history
finger
hostname
uname

Paola A. Cifuentes Berros, Ingeniero en Computacin

uptime
df
du
free
top
chsh

Comando: who
Muestra informacin de los usuarios conectados
al sistema.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: id
Muestra el nmero id de un usuario.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: w
Muestra usuarios conectados a la mquina.
Muestra quien est logueado y qu est haciendo.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: whoami
Muestra el usuario con el que se ha iniciado la
sesin.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: date
Muestra la hora y la fecha.
Sintaxis: date [mmddhhmm] [+form]
Ejempo: date

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: cal
Muestra un calendario del mes/ao.
Sintaxis: cal [[mes] ao]
Ejemplo: cal 9 2007

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: history
Listado de los comandos utilizados por el
usuario.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: finger
Muestra informacin general sobre un usuario en la red.
Sintaxis: finger <usuario>
Ejemplo: finger pcifuentes@arilinux.cl

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: hostname
Muestra el nombre de la mquina.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: uname
Muestra informacin del sistema: versin del
kernel, tipo de procesador, ...
Modificador:
-a

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: uptime
Muestra el tiempo que lleva encendida la
mquina.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: df
Muestra el espacio libre en los discos.
Modificador:
-h: muestra el resultado en unidades entendibles por el
usuario (M= Megabytes, G=Gigabytes, etc).

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: du
Muestra el espacio usado por los directorios.
Modificador:
-h muestra el resultado en unidades entendibles por el
usuario (Bytes, MB, GB, etc.).
Ejemplo: du -h /home

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: free
Muestra el uso de memoria y swap.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: top
Muestra los procesos que se ejecutan en ese momento,
sabiendo los recursos que se estn consumiendo
(Memoria, CPU, etc.).
Es una mezcla del comando uptime, free y ps.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Comando: chsh
Permite cambiar de shell.

Paola A. Cifuentes Berros, Ingeniero en Computacin

Referencias
Manual de la asignatura.
Primeros pasos en Linux, documento HTML en
http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/n
ode62.html, acceso 03/09/2007.
Linux y programacin, documento HTML, en
http://linuxcpp.extreblog.com/?verfecha=2007-09-24,
acceso 28/09/2007.
El rincn de Linux para hispanohablantes, documento
HTML,
en
http://www.linux-es.org/kernel,
acceso
28/06/2011.

Paola A. Cifuentes Berros, Ingeniero en Computacin

You might also like