Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EXPLOTACIÓN DEL
SISTEMA OPERATIVO LINUX.
1
1. Introducción
2
1. Init
3
3. Interfaz de Linux
Ya hemos vistos en unidades anteriores que es un
interfaz, en Linux podemos encontrar interfaz de texto y
gráficas.
En GNU/Linux existen multitud de entornos gráficos que
ofrecen un gran abanico de posibilidades para los
usuarios. El motivo es que en los sistemas operativos de
la familia Unix, la interfaz gráfica se ejecuta como una
capa por encima de la interfaz de texto. Esta capa recibe
el nombre de X Windows System y es la encargada de
dibujar las ventanas, botones, cuadros de texto, etc.,
además de gestionar los eventos que los afecte (clic de
ratón, combinaciones de teclas, etc)..
4
3. Interfaz de Linux
Sobre X Windows se ejecutan los gestores de ventanas,
que se encargan de especificar cómo debe dibujarse cada
elemento. Del gestor de ventanas depende el aspecto, la
capacidad de personalización, etc. Algunos ejemplos son:
Kwin, Fluxbox, Openbox, Metacity o Icewm entre otros.
Para facilitar el uso de los gestores de ventanas se han
creado librerías, llamadas toolkits. Las más usadas son:
• GTK (Gimp toolkit)
• QT (Cute).
La última capa de esta estructura son los entornos de
escritorio, que se apoyan en los toolkits para ofrecer el
aspecto final que obtiene el usuario. De ellos depende la
integración entre aplicaciones y el comportamiento
general de la interfaz.
5
3. Interfaz de Linux
6
3. Interfaz de Linux
7
3. Interfaz de Linux
8
3.1 Interfaz de Linux. Comandos básicos
9
3.1 Interfaz de Linux. Comandos básicos
10
3.1 Interfaz de Linux. Comandos básicos
Comando ls
El comando ls se utiliza para listar los archivos y
directorios que existan dentro de otro directorio.
También se puede combinar con otros parámetros para
ver información adicional, por ejemplo, -l. Ejemplos:
• ls -l
Muestra el listado por columnas y con detalles.
• ls -a
Nos muestra los archivos y directorios dentro del
directorio actual, incluyendo los archivos y directorios
ocultos..
11
3.1 Interfaz de Linux. Comandos básicos
Comando cd
Con el comando cd se puede cambiar el directorio en el
que nos encontramos en la terminal. En un sistema
operativo de escritorio, equivaldría a hacer doble click en
una carpeta para abrirla y ver su contenido. Ejemplos:
• cd ..
Sube directamente un nivel respecto al directorio en
el que nos encontramos.
• cd /nombre-directorio
Abre el directorio especificado en la ruta.
12
3.1 Interfaz de Linux. Comandos básicos
Comando pwd
Con el comando pwd se pude ver el nombre del
directorio en el que esta el terminal. Sería como
preguntar al sistema ¿Dónde esta?, algo muy útil en un
sistema gestionado desde la línea a de comandos.
13
3.1 Interfaz de Linux. Comandos básicos
14
3.1 Interfaz de Linux. Comandos básicos
Comando mkdir
El comando mkdir se utiliza para crear los directorios que
se necesiten desde la línea de comandos. Para usarlo se
debe poner el comando mkdir seguido del nombre del
directorio que quieres crear. También se puede usar /
para crear un directorio dentro de otro directorio.
Ejemplos:
• mkdir Directorio1
Esto creará un directorio con el nombre establecido.
• mkdir Directorio1/Directorio2
Esto creará el Directorio2 dentro del Directorio1.
15
3.1 Interfaz de Linux. Comandos básicos
Comando rmdir
Se puede eliminar y para esto se utiliza el comando
rmdir. Sólo se puede borrar directorio que no tengan
contenido dentro y no pide confirmación, cuando se
utiliza el comando rmdir, lo borrará. Ejemplos:
• rmdir Directorio1
Elimina el Directorio1, siempre que esté vacío.
• rmdir Directorio1/Directorio2
Borra el Directorio2.
16
3.1 Interfaz de Linux. Comandos básicos
17
3.1 Interfaz de Linux. Comandos básicos
Comando touch
El comando touch permite crear un documento con el
nombre que le asigne, listo para su edición. Su uso es
muy sencillo y no copia ninguna información. Ejemplos:
• touch archivo1.txt
Para crear un archivo simple con el nombre y la extensión
que queramos.
• touch archivo1.txt archivo2.txt archivo3.txt
Esto crea todos los archivos que indiquemos de golpe.
18
3.1 Interfaz de Linux. Comandos básicos
Comando cat
El comando cat se utiliza, principalmente, para ver el
contenido de un archivo o para crear un archivo en el
que poder escribir. Ejemplos:
• cat nombre-archivo.txt
Esto mostrará el contenido del archivo en la
terminal.
• cat > nombre-archivo.txt
Al usar > creamos el archivo con el nombre indicado
para editarlo y añadir el texto que queramos.
• cat archivo1 archivo2 > archivo3.txt
Copia el contenido de varios archivos a un tercero..
19
3.1 Interfaz de Linux. Comandos básicos
20
3.1 Interfaz de Linux. Comandos básicos
Comando rm
Si lo que necesitas es borrar un archivo, el comando rm
el que tienes que utilizar. La acción de borrado con rm es
irreversible, así que hay que tener precaución con su uso.
Ejemplos:
• rm archivo1.txt
Para el eliminar el archivo indicado totalmente.
• rm -r
Con este modificador se eliminan todos los archivos y
subdirectorios.
21
3.1 Interfaz de Linux. Comandos básicos
22
3.1 Interfaz de Linux. Comandos básicos
Shutdown
Se encarga de apagar el sistema de forma segura. Todos los
usuarios logueados son notificados y se deshabilita el login. Es
posible apagar el sistema inmediatamente o luego de cierto
período de tiempo. También da la posibilidad a todos los servicios a
detenerse de forma limpia.
• Para reiniciar el sistema inmediatamente, ejecutar:
shutdown -r now
• Otro ejemplo, para apagar el sistema a las 23:59, ejecutar:
shutdown -h 23:59
23
3.1 Interfaz de Linux. Comandos básicos
Shutdown
Una característica interesante de shutdown, es que permite
cancelar un apagado que está esperando mediante la opción -c. Por
ejemplo, si se ha programado un apagado a las 12:35, es posible
cancelarlo en cualquier momento ejecutando shutdown -c:
24
3.1 Interfaz de Linux. Comandos básicos
25
4. Niveles de ejecución
26
4. Niveles de ejecución
27
4. Niveles de ejecución
28
4. Niveles de ejecución
29
4. Niveles de ejecución
30
4. Niveles de ejecución
31
4. Niveles de ejecución
32
5. Estructura de archivos de Linux
33
5. Estructura de archivos de Linux
FHS se define como un estándar que detalla los nombres, ubicaciones, contenidos y
permisos de los archivos y directorios, es decir, un conjunto de reglas que especifican
una distribución común de los directorios y archivos en sistemas Linux.
Como se ha mencionado, se creo inicialmente para estandarizar la estructura del
sistema de archivos para sistemas GNU/Linux y más tarde, en torno al año 1995,
también para su aplicación en sistemas Unix.
FHS no es más que un documento guía, es decir, cualquier fabricante de software
independiente o cualquier persona que decida crear una nueva distribución GNU/Linux,
podrá aplicarlo o no a la estructura del sistema de archivos, con la ventaja de que si lo
integra en el sistema, el entorno de éste será mucho más compatible con la mayoría de
las distribuciones.
Es importante saber que el estándar FHS es en cierto modo flexible, es decir, existe
cierta libertad en el momento de aplicar las normas. De ahí que existan en la actualidad
leves diferencias entre distribuciones GNU/Linux.
Objetivos principales de FHS
• Presentar un sistema de archivos coherente y estandarizado.
• Facilidad para que el software prediga la localización de archivos y directorios instalados.
• Facilidad para que los usuarios prediga la localización de archivos y directorios instalados.
• Especificar los archivos y directorios mínimos requeridos.
34
5. Estructura de archivos de Linux
35
5. Estructura de archivos de Linux
37
5. Estructura de archivos de Linux
• /lib: contiene librerías compartidas (similar a las dll de Windows) necesarias
para arrancar el sistema y para los ficheros ejecutables contenidos en, por
ejemplo, /bin.
• /media: contiene los subdirectorios que se utilizan como puntos del
montaje para los medios de almacenamiento, tales como disquetes, CD-
ROM y memorias USB.
• /mnt: contiene sistemas de archivos externos que hayan sido montados. Las
entidades que aparecen dentro de /mnt representan recursos externos a los
que se puede acceder a través de este directorio.
• /opt: se suelen instalar complementos o add-ons de los programas. Las
aplicaciones crean un subdirectorio dentro de /opt denominado con el
mismo nombre del programa.
• /root: Este directorio es el directorio /home del administrador del sistema
(root).
• /sbin: Los programas y comandos que se utilizan para la administración del
sistema se almacenan en /sbin, /usr/sbin y /usr/local/sbin. /sbin únicamente
contiene los ejecutables esenciales para el arranque, recuperación y
reparación del sistema.
38
5. Estructura de archivos de Linux
39
5. Estructura de archivos de Linux
40
5. Estructura de archivos de Linux
42
6. Permisos de ficheros en Ubuntu.
El sistema de archivos que utiliza Linux es mucho más
avanzado, y a la vez sencillo, que el que utilizan otros
sistemas, como Windows. Este se basa en especificar si el
propietario, el grupo de usuarios o cualquiera puede leer,
escribir o ejecutar el archivo. Sin duda, es una forma muy
eficaz de mantener a cada usuario del sistema controlado,
evitando que este pueda acceder a los datos de los demás sin
permiso.
43
6. Permisos de ficheros en Ubuntu.
En Linux, todo archivo y directorio tiene tres niveles de
permisos de acceso: los que se aplican al propietario del
archivo, los que se aplican al grupo que tiene el archivo y los
que se aplican a todos los usuarios del sistema. Con ls -l
podemos ver los permisos cuando listamos un directorio:
44
6. Permisos de ficheros en Ubuntu.
45
6. Permisos de ficheros en Ubuntu.
46
6. Permisos de ficheros en Ubuntu.
47
6. Permisos de ficheros en Ubuntu.
Actividad. Indique permiso tiene cada usuario sobre el siguiente
archivo.
48
6. Permisos de ficheros en Ubuntu.
Actividad. Indique permiso tiene cada usuario sobre el siguiente
archivo.
49
6. Permisos de ficheros en Ubuntu.
50
6. Permisos de ficheros en Ubuntu.
51
6. Permisos de ficheros en Ubuntu.
La combinación de bits encendidos o apagados en cada grupo da
ocho posibles combinaciones de valores, es decir la suma de los bits
encendidos:
52
6. Permisos de ficheros en Ubuntu.
Cuando se combinan los permisos del usuario, grupo y otros, se
obtienen un número de tres cifras que conforman los permisos del
archivo o del directorio. Esto es más fácil visualizarlo con algunos
ejemplos:
53
6. Permisos de ficheros en Ubuntu.
Actividad. Convierta a numérico o a texto los siguientes permisos.
• 661
• 722
• 545
• -RW- -WX - - X
• - -WXR-XR-X
• - R-XRWX---
54
6. Permisos de ficheros en Ubuntu.
Actividad. Convierta a numérico o a texto los siguientes permisos.
• 661 → -RW-RW---X
• 722 → -RWX-W - -W-
• 545 → -R-XR - - R - X
• -RW-WX - - X → 631
• - -WXR-X-R-X → 355
• - R-XRWX--- → 570
55
6. Permisos de ficheros en Ubuntu.
56
6. Permisos de ficheros en Ubuntu.
Partiendo de un archivo «softzone», estos son algunos ejemplos
para cambiar los permisos usando el código de letras:
• chmod +rwx softzone -> añade permiso de lectura, escritura y
ejecución al propietario.
• chmod g+rwx softzone -> añade permiso de lectura, escritura y
ejecución al grupo del usuario propietario.
• chmod o+rwx softzone -> añade permiso de lectura, escritura y
ejecución al resto de usuarios.
• chmod -x softzone -> quita el permiso de ejecución al propietario.
• chmod g-wx softzone -> quita los permisos de escritura y
ejecución al grupo del usuario propietario.
• chmod o-rwx softzone -> quita todos los permisos al resto de
usuarios.
• chmod a+r -> añade permiso de lectura a propietario, grupo y
resto de usuarios.
57
6. Permisos de ficheros en Ubuntu.
58
6. Permisos de ficheros en Ubuntu.
59
7. Script en Linux
Un script de comandos es un fichero de texto cuyas líneas son comandos
ejecutables, tal y como las escribirías en la línea de comandos del shell.
Los scripts pueden ejecutarse como si fueran un nuevo comando. Las
líneas que empiezan con el carácter # son comentarios y son ignoradas por
el shell al ejecutar el script.
El intérprete de comandos o "shell" es también un lenguaje de
programación completo. La programación de shell se usa mucho para
realizar tareas repetidas con frecuencia.
En Linux cuando hagas un script se suelen comenzar con una línea que
indica la shell con la que se va a ejecutar el script. Puede ser:
• #!/bin/bash
• #!/bin/sh
• #!/bin/ksh
Cualquier otra línea del script que comience por # es tomada como un
comentario, éstos se deben añadir con el fin de facilitar la lectura del
programa.
60
7. Script en Linux
61
7. Script en Linux
62
7.1. Variables.
Como en cualquier lenguaje de programación. Las variables se pueden definir como un espacio en la memoria del
sistema que puede contener un valor o no. Una variable de bash puede contener un número, un carácter o una
cadena de caracteres. No necesitas declararla.
Para asignar variables usamos el símbolo de igual =, o con el comando set.
Para obtener el valor de la variable debemos precederla por $, es decir, el carácter $ nos permite expandir el valor
de una variable dentro de una cadena.
Si se asigna a una variable algo entre paréntesis, lo que hacemos es crear una matriz del número de elementos
que hay entre paréntesis o entre comillas.
$colores = (rojo amarillo azul verde blanco)
Si se quiere que se introduzcan las variables desde la línea de comandos, solicitando información al usuario o
usuaria usa el comando read (del inglés leer). Este comando tiene como propósito solicitar información al usuario
o usuaria. Su ejecución captura las digitaciones realizadas, hasta obtener un carácter nueva línea (tecla Enter).
Existen una serie de variables predefinidas por el shell que contienen valores útiles. Por ejemplo:
$PWD, el nombre del directorio actual.
$HOME, el nombre del directorio raíz del usuario.
$PATH, una lista de directorios separados por “:” donde el shell busca los comandos.
El valor de cualquiera de ellas se puede ver en todo momento con el comando echo. Por ejemplo:
$ echo $HOME
Para borrar el contenido seria:
unset valor
63
7.1. Variables.
64
7.1. Variables.
65
7.1. Variables.
66
7.2. Parámetros.
Dentro del script, las variables $1, $2, $3, ... se substituyen por la
cadena correspondiente a cada parámetro:
• $0: es la llamada al script.
• $1: es el primer parámetro que se pasa.
• $2: es el segundo, etc.
• $#: es el número de parámetros que se pasan.
• $@ y $*: son todos los parámetros, que se listan de una vez, en el
orden que se han pasado.
• $$: pid que tiene nuestro script. Número de procesos del shell.
• $?: es el valor de salida del último comando ejecutado. En un "exit
1", se devolvería el valor 1. Si todo sale bien, se devuelve el valor
0.
• $_: nos da el último argumento que hemos utilizado.
68
7.3. Ejecución.
69
7.4. Línea de comandos.
70
7.5. Script.
72
7.5. Script.
73
7.5. Script.
74
7.5. Script.
Un ejemplo de las variables serian:
VAR1="Esto es una prueba" # Asignación de una variable
VAR2=12 # Asignación de valor numérico
echo $VAR1 # ==> Esto es una prueba
echo "VAR2=$VAR2" # ==> VAR2=12
Las variables del intérprete Bash pueden considerarse desde los siguientes
puntos de vista:
• Variables locales. Son definidas por el usuario y se utilizan únicamente
dentro de un bloque de código, de una función determinada o de un
script.
• Variables de entorno. Son las que afectan al comportamiento del
intérprete y al de la interfaz del usuario.
• Parámetros de posición. Son los recibidos en la ejecución de cualquier
programa o función y hacen referencia a su orden ocupado en la línea de
comandos.
• Variables especiales. Son aquellas que tienen una sintaxis especial y
que hacen referencia a valores internos del proceso. Los parámetros de
posición pueden incluirse en esta categoría.
75
7.5. Script.
76
7.5. Script.
Un ejemplo seria
#!/bin/bash
#
# Esto es un ejemplo en Bash del clásico "Hola Mundo"
#
MENSAJE="Hola Mundo"
echo $MENSAJE
77
7.5. Script.
78
7.5. Script.
79
7.5. Script.
80
7.5. Script.
81
7.5. Script.
82
7.5. Script.
83
7.5. Script.
84
7.5. Script.
85
7.5. Script.
86
7.5. Script.
87
7.5. Script.
88
7.5. Script.
89
7.5. Script.
#!/bin/bash
#Suma de dos variables introducida por parámetros
let suma=$1+$2
echo ‘La suma es ‘ $suma
90
7.5. Script.
91
7.5. Script.
Un ejemplo seria:
#!/bin/bash
#Lee una palabra por pantalla y lo muestra con un mensaje
echo “Introducir una palabra”
read variable
echo “Muestra valor introducido: $variable”
También puede ser
#!/bin/bash
#Lee una palabra por pantalla y lo muestra con un mensaje
read -p “Introducir una palabra” variable
echo “Muestra valor introducido: $variable”
92
7.5. Script.
93
7.5. Script.
94
7.5. Script.
#!/bin/bash
# Sumar dos números introducidos por teclado
read –p “Introduzca el primer número: “ Num1
read –p “Introduzca el segundo número: “ Num2
let suma=$Num1+$Num2
echo “El resultado de la operación es $suma”
95
8. Actividades de repaso.
• ls
• mkdir
• pwd
96
8. Actividades de repaso.
97
8. Actividades de repaso.
• drwx - - - - - -
• - r-x-wx - -x
• lrw-rw-rw-
98
8. Actividades de repaso.
99
8. Actividades de repaso.
• 555 →
• 777→
• -wxr-xw - - →
• r - - -w - - -x→
100
8. Actividades de repaso.
101
8. Actividades de repaso.
102
8. Actividades de repaso.
103
104