2. NORMAS DE ESTUDIO
OBLIGATORIAS
Cada uno de las órdenes que veamos en clase deberá ser
copiada en el cuaderno de la asignatura, especificando
claramente su sintaxis.
Cada una de los ejemplos o ejercicios que resolvamos en clase
también quedarán reflejados en nuestro cuaderno, con las
anotaciones necesarias para entender perfectamente su
funcionamiento.
En ocasiones trataremos puntos que no están reflejados en el
libro de texto. Estas cuestiones también quedarán guardadas en
nuestro cuaderno de trabajo.
3. Características generales de Linux
Es un SW de libre distribución.
Es un SO multiusuario.
Consta de dos componentes básicos:
Shell: En él se introducen órdenes, se ejecutan programas, etc.
(Command.com(MS-DOS), Explorador de Windows)
Núcleo: Es la parte del SO que interactúa con el HW.
Estas características son generales y válidas para todas las
versiones de UNIX/LINUX.
4. Introducción al sistema multiusuario
Linux
Historia y versiones.
GNU Linux: Creado por Linus B. Torvalds, estudiante que intentó crear
un SO que aprovechase todas las posibilidades de su PC. LA primera
versión estable de Linux fue la 1.0 (1994).
Linux se diseño como un sistema clónico de UNIX, pero en la actualidad
es un SO completo.
Distribución Paquete
Mandrake Rpm
Red Hat Rpm
Debian Deb
Gentoo Src
SuSE Rpm
Slackware Tar.gz
Lycoris Rpm
Beehive Tar.gz
Turbolinux Rpm
Caldera rpm
Características generales.
Multiusuario y multitarea.
Algoritmos por prioridades o multinivel.
Memoria virtual.
Sistema de archivos jerárquico.1
Comunicación con otros ordenadores.
Sistemas de seguridad.
Interfaz de texto/gráfica.
1.-Linux gestiona los dispositivos como si fueran directorios
5. El sistema Linux internamente
Componentes del SO:
-Núcleo. -Shell. -Sistema de archivos. -Órdenes.
El núcleo (kernel) y el Shell.
Núcleo (Kernel).
El núcleo sirve para interactuar con el HW proporcionando servicios que
son utilizados por otros programas para utilizar el HW sin tenerse que
preocupar de su gestión.
Cada programa se relaciona con la máquina a través del núcleo,
mediante llamadas al sistema.
El núcleo se carga en memoria al arrancar la máquina y actúa
directamente con los elementos físicos. Permanece en ella hasta que
ésta se apaga.
Shell.
Es el interprete de comandos u órdenes de Linux. Actúa como interfaz
de comunicación entre el usuario y el ordenador.
Cada usuario conectado tendrá un Shell para su uso. El shell se carga
automáticamente cuando se accede al fichero /etc/passwd.
Posteriormente en el fichero .profile se personaliza el entorno de trabajo.
6. El sistema Linux internamente
Funciones del Shell.
Además de un interprete de comandos, el shell es un lenguaje de
programación. Sobre él se pueden ejecutar órdenes con las que se
pueden crear programas (guiones).
En el momento que un usuario se conecta a Linux, se inicia un
programa del Shell. Este primer programa es un Shell de
presentación.
Realizada esta operación se muestra en pantalla el símbolo $, para
que el usuario pueda introducir sus órdenes.
Prácticamente todas las órdenes de Linux son programas que están
almacenados en el sistema de archivos.
$orden [-modificadores][argumentos]
7. El sistema Linux internamente
Interfaces de usuario. Son las partes del SO que permiten al
usuario interactuar con Linux.
La interfaz primaria de Linux es tipo texto.
Existen interfaces gráficas como:X Windows, Open Look, GNOME,
KDE.
Desde el entorno gráfico podemos abrir nuevas sesiones de usuario
con la combinación de las teclas Ctrl+Alt+F1, Ctrl+Alt+F2…..
En cada una de ellas aparecerá un nuevo terminal y se pedirá un
login y un pasword.
Podemos pasar de unas a otras y salir al entorno gráfico con
Ctrl+Alt+F7.
9. Procedimiento de conexión y
desconexión
Normalmente si la contraseña introducida es correcta, el sistema
carga un shell para ese usuario y aparecerá un símbolo del
sistema, que variará dependiendo del tipo de shell asignado ($
para usuarios y # para administrador, aunque esto depende del
shell que se cargue).
Cuando el administrador da de alta a un nuevo usuario, además
de asignarle el nombre, le asigna un número de identificación
de usuario (uid).
Además a cada usuario se le incluye en un grupo de trabajo
(gid), que también tiene asociado un número.
La información correspondiente al uid y al gid de cada usuario
puede ser conocida mendiante la orden id: $id
10. Órdenes en Linux
Podemos ejecutarlas en modo texto o gráfico.
Formato de las órdenes:
En una misma línea podemos introducir más de una orden
Cada orden se separa de la siguiente mediante espacios en blanco.
Primero se introduce la orden seguida de sus argumentos o
parámetros. Estos deben ir separados por espacios en blanco.
Orden [-opciones] [argumentos]
Orden: Indica la acción a realizar.
Opciones: Se introducen seguidas del carácter –
Argumentos: Puede ser un archivo o directorio. Se
utilizan como entrada del comando
11. Órdenes en Linux
Orden Sintáxis Función
clear clear Limpia la pantalla en modo comando.
date date [-u|-utc|-universal]
[MMDDhhmm[[CC]YY][.ss]]
$ date
Presenta en pantalla el día y la hora que tiene
el equipo en ese momento. Muestra, de
izquierda a derecha, el día de la semana, mes,
día del mes, hora, meridiano y año.
cal cal [-smjy13] [month] year]
$ cal 1 1999
Calendario perpetuo que incorpora el sistema.
Nos permite ver calendarios completos de
otros años o calendarios de un mes
determinado.
who who [options] [file | ARG1 ARG2]
$ who
Muestra por pantalla una línea por cada
usuario que en ese momento está conectado
al sistema. Muestra de izda a drcha el nombre
de presentación del usuario, el número de
terminal y la fecha y hora de presentación.
Una variedad de este comando es who i am,
que sólo muestra información referente al
usuario conectado
12. Órdenes en Linux
Orden Sintáxis Función
su su nombreusuario
su root
Cambia del usuario actual al indicado. El comando
"su" permite abrir una sesión con el ID de otro
usuario.
sudo sudo opcion comando (lo ejecuta un
usuario normal)
sudo su
Permitir a un usuario común hacer tareas de
administración que solo puede hacer el
SuperUsuario (Administrador).
passwd passwd [-f | -g | -s | -q] [name]
$ passwd
Esta orden se introduce sin parámetros o
modificadores. Permite al usuario cambiar o
asignar una contraseña.
uname uname [-asnrvm]
$ uname
Muestra información como el SO, versión , tipo de
ordenador desde el que nos conectamos, etc.
logname logname Esta orden tiene como misión mostrar el contenido
de la variable logname. Esta variable contiene el
nombre del usuario conectado al ordenador.
id id [-aZGgnru] [user] Muestra el número de identificación y el grupo al
que pertenece el usuario.
13. Actividades
Busca información sobre:
¿Para qué utiliza Linux el fichero passwd?
¿En qué directorio podemos encontrarlo?
¿Para qué utiliza Linux el fichero .profile?
¿En que directorio podemos encontrarlo?
14. ACTIVIDAD
¿Qué órdenes debemos dar para responder a las siguientes
cuestiones?:
Se nos ha olvidado nuestro nombre de usuario, o tenemos varias
sesiones abiertas, cada una con una cuenta de usuario distinta y no
sabemos cuál es el usuario de la sesión que estamos usando.
Queremos saber si el año 2002 fue bisiesto. Para esto hay que
comprobar que el mes de febrero tenía 28 o 29 días.
Debemos cambiar la password de nuestro usuario a
“passwordnueva”.
Volver a cambiar la contraseña a la que teníamos inicialmente.
15. Estructura del sistema Linux
La estructura es jerárquica, en forma de árbol
invertido.
Se parte de un directorio principal root, representado
por el carácter /.
Archivos y directorios:
Podemos utilizar cualquier carácter para nombrar a los
archivos, a excepción del carácter /.
Es recomendable no utilizar caracteres especiales, acentos,
etc.
No se pueden incluir espacios en blanco.
No usar: ! # ( ) ‘ “ | < > @ $ { } * ? Tab Espacio Retroceso + -
Linux diferencia las minúsculas de las mayúsculas.
16. Estructura del sistema Linux
Los tipos de archivos en Linux:
Archivos ordinarios.
Guardan la información con la que trabajan los usuarios (texto,
programas, gráficos, etc).
Enlaces físicos.
No es realmente un tipo de archivo, sino un segundo nombre asignado a
un archivo.
Enlaces simbólicos.
Se utilizan para asignar más de un nombre a un archivo. No sirven para
directorios. Es un archivo que sólo contiene el nombre de otro archivo.
Directorios.
Son archivos especiales que contienen referencias a otros archivos.
Archivos especiales.
Suelen representar dispositivos físicos como unidades de
almacenamiento, impresoras, etc. Linux trata los archivos especiales
como si fueran ordinarios.
17. Estructura del sistema Linux
Estructura jerárquica de archivos y directorios:
En Windows, cada unidad de disco se identifica como una carpeta básica
que sirve de raíz a otras. En Linux, existe una única raíz llamada / de la
que cuelgan todos los ficheros y directorios, y que es independiente de
los dispositivos que estén conectados al ordenador.
No hay límites en la cantidad de archivos y directorios a crear dentro de
un directorio.
Ejemplo de una estructura típica en Linux
$pwd Mostrará por pantalla la ruta absoluta en la que estamos situados.
/
usr dev home
docu1 sbin bin lib inet pts francis gema miguel
datos
Public_htm
18. Estructura del sistema Linux
Metacaracteres.
Son caracteres con significado especial
Caminos en Linux.
Los nombres completos de los caminos absolutos van desde el directorio
raíz hasta el propio archivo o directorio.
En linuz también hay caminos relativos. Su utilización es similar a DOS y
también existen los directorios . Y ..
Carácter Acción
? Sustituye a un solo carácter
* Sustituye a cualquier carácter o conjunto de caracteres
[ ] Cuando se utilizan como parte de nombres de archivo o directorio,
representan un solo carácter de los incluidos entre los corchetes, que
sustituirán al carácter en el nombre de archivo o directorio en la
posición en la que estén estos corchetes.
! Permite la negación o exclusión de caracteres
19. Estructura del sistema Linux
/. Raíz del sistema de archivos.
/dev Dispositivos que estén físicamente instalados en el
PC.
/etc Ficheros de configuración del sistema.
/bin Mayoría de los ficheros ejecutables.
/lib Librerías compartidas.
/var Información temporal de los programas.
/home Directorios home de los usuarios. /home/Alex
/sbin Programas únicamente accesibles por el
superusuario
/usr Programas de uso común para todos los usuarios.
/usr/man Manuales accesibles con el comando man
/tmp Directorio temporal usado por algunos programas.
20. Estructura del sistema Linux
Variables de entorno: Una variable de entorno es un objeto
designado para contener información usada por una o más
aplicaciones
$# Nº de argumentos recibidos
$* Todos los argumentos
$- Opciones dadas
$? Valor devuelto por el último comando
$$ Identificador del proceso actual.
$HOME Directorio del usuario
$IFS Lista de caracteres que se utilizan como separadores de
argumentos
$MAIL Archivo donde se almacena el correo electrónico del
usuario.
$PS1 Prompt del usuario
$PS2 Prompt de continuación de línea
$PATH Lista de directorios de búsqueda para los comandos.
21. Directorios en Linux
Órdenes para el manejo de directorios.
Orden Sintáxis Función
ls ls [options] [file] Lista por la salida estándar los archivos contenidos en el
directorio en el que estamos situados.
cd cd [directory] Sirve para cambiarse de un directorio a otro dentro de la
estructura que tengamos en ese momento.
pwd pwd Indica cuál es el directorio en el que estamos situados.
mkdir mkdir [directory] Sirve para crear nuevos directorio. Hay que tener en cuenta que
para usar este comando debemos considerar rutas.
rmdir rmdir [directory] Sirve para eliminar directorios. En principio el directorio debe estar
vacío. Si utilizamos el parámetro –r, se eliminará el directorio en
cuestión y todo lo que contiene.
22. Actividad para clase
Crearemos una estructura de directorios en el directorio home.
Hay que tener en cuenta que si la sesión pertenece al usuario
user1 el directorio home sería /home/user1. Crearemos un
directorio llamado carpeta, dentro del cual crearemos otros tres
directorios: uno, dos, y tres. Y dentro del directorio tres los
direcotorios A y B.
Nos situamos en el directorio tres y retrocedemos hasta el
directorio carpeta.
Borramos el directorio tres con todo su contenido.
23. Archivos en Linux
Orden
Archivos
Sintáxis Función
cat cat [options] [file] Permite visualizar en pantalla el contenido de un archivo.
cp cp [options] [file] filepath
cp [options] [file] [directory]
Sirve para copiar archivos.
rm rm [options] [file] Con esta orden podemos eliminar archivos.
mv mv [options] [source] [target] Permite cambiar el fichero de un directorio a otro. Si lo que
queremos es cambiar el nombre de un archivo dentro del
directorio activo, tenemos que tener en cuenta que es obligatorio
incluir el nuevo nombre, es decir, el nombre de destino.
ln ln [options] [source] [target]
ln [options] [source] [directory]
Permite asignar a un archivo existente un segundo nombre.
sort sort [options] [file] Ordena alfabéticamente las líneas que contiene un archivo. La
ordenación es de mayor a menor. Es importante tener en cuenta
que hay diferencia entre mayúsculas y minúsculas.
-r realiza la ordenación en orden inverso.
+n indica que la ordenación se hará por el campo que ocupa la
posición n.
more more [options] [-num] [+/pattern] [+ linenum] [file] Parecido a cat pero si el contenido del archivo ocupa más de una
pantalla, con more lo veremos pantalla a pantalla.
tail tail nombrefichero Muestra las últimas diez líneas del fichero nombrefichero.
grep grep [options] PATTERN [file]
grep [options] [-e PATTERN | file] [file]
Permite buscar palabras y cadenas de caracteres en un archivo
especificado
24. ACTIVIDAD
Órdenes para el manejo de archivos. Prueba cada una de las
siguiente órdenes y comenta los resultados.
EJEMPLOS:
$ls > listado
$cat listado
$cp doc1 doc 2
$cp /usr/contable/doc1 /dev/doc2
$rm /usr/contable/doc1
$mv doc1 doc2
$mv /home/user1/carpeta/uno/arch2 /home/carpeta/user1/dos
$ln doc1 doc2
$sort –r +2 doc1
$more doc1
$grep ‘pedro’ doc1
25. Permisos y derechos en Linux
Linux es un SO diseñado especialmente para trabajar en red, por
eso la seguridad es un elemento fundamental.
Los permisos de los usuarios se establecen en tres niveles:
Permisos del propietario.
Permisos del grupo.
Permisos del resto de usuarios.
Usuarios en Linux:
El administrador crea usuarios y les otorga permisos. Estos
privilegios afectan tanto al directorio home de cada usuario, como a
los directorios o archivos que el administrador decida.
Propietario es aquel usuario que crea un archivo dentro de su
directorio de trabajo o en un directorio sobre el que tenga derechos.
A los usuarios que no pertenecen al grupo de trabajo de quien creó
el archivo se les denomina reston de usuarios.
26. Permisos y derechos en Linux
Tipos de permisos en Linux:
En Linux cada archivo queda identificado por diez caracteres
(MÁCARA).
El 1º por la izda indica el tipo de archivo que es.
Los 9 siguientes en bloque de tres hacen referencia a los permisos
concedidos respectivamente a: propietario, grupo, resto.
Permiso Identifica
- Sin permiso
r Permiso de lectura
w Permiso de escritura
x Permiso de ejecución
Carácter Identifica
- Archivo ordinario
d Directorio
b Archivo de bloques especiales
c Archivo de caracteres especiales
l Archivo de vínculo o enlace
p Archivo especial de cauce
27. Permisos y derechos en Linux
Tipos de permisos en Linux:
La orden chmod permite modificar la máscara para que se puedan
realizar más o menos operaciones sobre archivos o directorios.
Los bloque de tres caracteres a partir del segundo de la máscara
corresponden, respectivamente, al propietario, al grupo y al resto
de usuarios.
Si no se especifica el tipo de usuario lo que haremos será realizar
la operación sobre todos los usuarios a la vez
Permiso Identifica Opciones
chmod chmod [options] [mode][file]Sin permiso [-R]
Carácter Acción
- Elimina derechos
+ Añade derechos
= Asigna permisos
especificados
Carácter Actúa sobre
u Propietario
g Grupo al que pertenece el usuario
o Resto de usuarios
28. ACTIVIDAD
Crea el archivo doc1 y describe el resultado de aplicar los permisos siguientes en Linux:
Carácter Identifica
$chmod g+x doc1 Se otorga permiso de ejecución al grupo al que pertenece el archivo
llamado doc1
$chmod rwx doc1 Se asignan los privilegios de lectura, escritura y ejecución a todos
los usuarios para el archivo doc1
$chmod go-wx doc1 Se quitan privilegios de escritura y ejecución al gurpo y al resto de
usuarios del archivo doc1
$chmod =x doc1 Asigna a todos los usuarios el permiso de ejecución. Esta misma
orden podría ser $chmod ugo+x doc1.
$chmod = doc1 Quita todos los privilegios a todos los usuarios del archivo doc1
29. Impresión de archivos
Linux incorpora programas y utilidades para la impresión de
archivos.
Estos programas se aglutinan en el sistema lp, que incluye la
mayoría de las utilidades para lanzar trabajos de impresión,
cancelarlos, controlar el spool, etc.
También se puede realizar esta operación desde el entorno
gráfico.
30. Actividades
1. Entra en el sistema con el nombre asignado por el
administrador.
2. Averigua qué usuarios están identificados ante el sistema.
3. Identifica el sistema en el que estamos trabajando.
4. Realiza los mismos ejercicios sobre archivos y directorios
(crear, eliminar,…) de las unidades de MSDOS; el directorio
principal de trabajo de cada usuario es el directorio home.
Podrás encontrar dichos enunciados en las diapositivas de
MSDOS.
5. Copia, desde donde diga el profesor, el siguiente fichero,
llamado coches, a nuestro directorio personal de trabajo.
RENAULT:CLIO:AZUL:1200:85CV
SEAT:IBIZA:BLANCO:1900:140CV
CITROEN:ZX:AZUL:1900:95CV
SEAT:LEON:VERDE:1400:120CV
31. Actividades
7. Muestra por pantalla las últimas dos líneas de este fichero.
8. Ordena el fichero por marcas y visualízalo.
9. Ordena el fichero por modelos y visualízalo.
10. Busca en el fichero anterior las líneas en las que el color sea
BLANCO.
11. Crea un archivo llamado pruebas y posteriormente
comprueba sus privilegios.
12. Crea un enlace al archivo prueba, llamado enlace, y
comprueba sus privilegios.
13. Imprime el contenido del archivo coches.
14. Confecciona una tabla indicando la sintaxis y para que sirven
las siguientes órdenes: clear, date, cat, who, passwd, ls, scrt,
chmod.