Sunteți pe pagina 1din 33

MANDATOS EN LINUX IES Peset Aleixandre

MANDATOS EN LINUX

Contenido
1.INTERFAZ DE MANDATOS DE LINUX..............................................................2

Iniciar una sesión en Linux...........................................................................3

2.MANDATOS EN LINUX...................................................................................5

Mayúsculas y minúsculas.............................................................................5

Construcción de expresiones.......................................................................5

Edición de la línea de mandatos...................................................................6

Mandatos múltiples................................................................................ ......7

Redireccionamiento de mandatos................................................................7

Redireccionamiento de los errores...............................................................8

Algunos Comandos Sencillos de LINUX.........................................................8

3.ALMACENAMIENTO DE LA INFORMACIÓN......................................................9

Estructura física...........................................................................................9

Tipos de discsos duros...............................................................................10

Estructura lógica........................................................................................10

Tipos de particiones...................................................................................11

4.SISTEMAS DE FICHEROS.............................................................................11

Estructura del sistema de archivos en LINUX.............................................12

Organización de directorios........................................................................13

5.TRABAJANDO CON DIRECTORIOS................................................................14

Crear directorios........................................................................................14

Eliminar directorios....................................................................................15

Renombrar o mover directorios..................................................................16

Desplazándose entre directorios................................................................16

6.TRABAJANDO CON ARCHIVOS.....................................................................17

Página 1 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Crear archivos....................................................................................... .....17

Copiar archivos..........................................................................................18

Renombrar o mover archivos.....................................................................19

Eliminar archivos.......................................................................................19

Examinar el contenido de un archivo.........................................................20

La instrucción ls.........................................................................................21

Buscar archivos......................................................................................... .23

Búsquedas de texto en los archivos...........................................................24

Cambio de modo de los ficheros comandos chmod, chown y chgrp............25

Espacio ocupado en el disco. Comandos du y df........................................27

7.VISUALIZACION DE ARCHIVOS....................................................................27

Visualización sin formato de un fichero. Comando cat................................27

Visualización de ficheros con formato. Comando pr....................................28

Visualización de ficheros pantalla a pantalla. Comandos more y less.........28

Otros comandos de visualización de ficheros.............................................29

Búsqueda en ficheros. Comandos grep, fgrep y egrep................................29

Compresión y descompresión de ficheros. Comandos tar y gzip.................30

Comandos de impresión. Comando lpr.......................................................31

Redirecciones........................................................................................... ..31

8.ACCESO A UNIDADES DE DISCO..............................................................32

Montar desde entornos gráficos.................................................................34

Página 2 de 33
MANDATOS EN LINUX IES Peset Aleixandre

1. INTERFAZ DE MANDATOS DE LINUX

En linux es posible trabajar de dos formas diferentes : utilizando el interfaz de


mandatos o empleando el interfaz gráfico.
Vamos a analizar el trabajo desde el interfaz de comandos ya que es la única
manera de realizar determinadas operaciones , y porque de esta forma
podemos tener un mayor control y comprensión del sistema operativo.
El interfaz de comandos de Linux es el shell, se trata de un programa que se
inicia una vez ha comenzado una sesión de trabajo. El shell proporciona una
interfaz entre el kernel del sistema operativo y el usuario. En Linux
disponemos de diferentes shells, siendo los más utilizados el shell
denominado bash o Bourne Shell.

Iniciar una sesión en Linux


Si Linux se ha arrancado en modo texto el sistema arranca de forma directa
el shell y queda a la espera de introducción de nuevos comandos. Si se ha
arrancado en modo gráfico se puede acceder al shell de dos formas:
• Se puede acceder al shell del sistema presionando alguna de las
siguientes combinaciones de teclas:
o <ctrl>+<alt>+<F1>
o <ctrl>+<alt>+<F2>
o <ctrl>+<alt>+<F3>
o <ctrl>+<alt>+<F4>
o <ctrl>+<alt>+<F5>
o <ctrl>+<alt>+<F6>

Esto hace que el sistema salga del modo gráfico y acceda a alguna de las
seis consolas virtuales de Linux, a las cuales también se puede acceder
cuando se arranca en modo de texto. Para volver al modo gráfico hay que
presionar <ctrl>+<alt>+<F7> o <ctrl>+<alt>+<F8>. Una de las
principales ventajas del trabajo con múltiples consolas, consiste en la
posibilidad de poder finalizar algún proceso o aplicación que haya podido
bloquear otro terminal. Evitando de esta forma tener que reiniciar el
sistema.
• Se puede acceder al shell haciendo clic sobre el icono de terminal.

Una vez finalizada la carga del sistema, se visualizará una pantalla en la cual
se nos solicita que introduzcamos la información necesaria para iniciar una
sesión de trabajo.
La información que debemos introducir es nuestro nombre de usuario
(localhost login) y la contraseña (Password). Localhost es lel nombre de la
máquina Linux utilizada, vosotros tendréis como nombres de máquina ordxx
siendo xx el número de ordenador en el aula.
Una vez introducida la contraseña, si no se ha cometido ningún error, la
pantalla se limpiará y aparecerá la línea de mandatos (prompt), representada
por el símbolo # si has entrado como root y por el símbolo $ si has entrado
como cualquier otro usuario distinto del administrador.

Cambiar la contraseña : cuando queramos cambiar nuestra contraseña,


utilizaremos la instrucción passwd, la teclearemos y pulsaremos ENTER. A
continuación, Linux nos solicitará la nueva contraseña. Cuando establezcas

Página 3 de 33
MANDATOS EN LINUX IES Peset Aleixandre

una contraseña debes tener presente que es recomendable que como mínimo
tenga 6 caracteres, que no sea una fecha, número o nombre que sea
asociable contigo o fácilmente reconocible. La contraseña te será solicitada
dos veces para evitar posibles errores.

Finalizar una sesión de trabajo : Cuando deseamos dejar de trabajar en


Linux sin apagar el sistema, o en el caso de que estemos utilizando un
usuario cuyos permisos sobre el mismo no incluyan la posibilidad de apagar el
sistema, deberemos finalizar la sesión de trabajo. Para ello podemos utilizar el
mandato exit o logout :
1. Sitúate en la consola virtual en la que has iniciado una sesión
de trabajo.
2. Escribe logout y pulsa Enter.
$ logout
Como puedes observar deslpués de unos breves instantes se limpiará la
pantalla y volverá a aparecer la pantalla de inicio de sesión.

Reinicializar o apagar Linux : En ningún momento debes apagar el


ordenador o reinicializarlo fisicamente, ya que esto podría provocar la pérdida
de datos o errores de disco. Para reiniciar Linux podemos utilizar dos
mandatos diferentes, reboot o shutdown -r, y si deseamos apagar el
sistema emplearemos los mandatos shutdown -h o halt. El comando
shutdwon dispone de diversas opciones que lo convierten en una opción
más flexible y útil que los mandatos reboot y halt. A diferencia de estos dos
últimos con shutdown podemos especificar en qué momento deseamos
detener o reiniciar el sistema, indicando para ello la hora o el tiempo restante
en minutos. En el siguiente ejemplo indicamos al sistema que éste va a
detenerse a las 23:15.
# shutdown -h 23:15
Si queremos reiniciar el sistema dentro de cinco minutos lo
podríamos hacer de la siguiente forma :
# shutdown -r +5
Es posible cancelar un shutdown desde otra consola utilizando el
comando :
# shutdown -c
Para reiniciar el sistema inmediatamente utilizaremos la palabra
now.
#shutdown -r now
Ten en cuenta que estos mandatos no pueden ser empleados por un usuario
que no sea el administradordel sistema.

Obtener ayuda : Una de las características de Linux es la amplia


documentación que se incluye en la mayoría de las distribuciones existentes.
Esta documentación se encuentra ubicada en el directorio /etc/doc.
Si deseamos obtener información sobre los parámetros y funcionamiento de
las diversas instrucciones o mandatos de Linux deberemos utilizar el
comando man indicando a continuación la instrucción sobre la cual
necesitamos obtener información.

# man shutdown

Una vez cargada la ayuda podemos desplazarnos por ella utilizando los
cursores. Cuando hayamos terminado podremos salir pulsando la tecla q. En

Página 4 de 33
MANDATOS EN LINUX IES Peset Aleixandre

cualquier momento podemos obtener ayuda sobre el funcionamiento de man


pulsando la tecla h mientras estamos visualizado la pantalla de ayuda.

2. MANDATOS EN LINUX
Aunque en la actualidad ya es posible realizar muchas operaciones desde X
Window, el interfaz gráfico de Linux, sigue siendo imprescindible utilizar el
shell para determinadas operaciones. Antes de examinar las instrucciones
más importantes que podemos emplear desde la línea de comandos
analizaremos algunos aspectos importantes que debemos tener presentes
para poder utilizar correctamente los mandatos que veremos en capítulos
posteriores. Ten presente que alguno de los aspectos analizados en este
capítulo son también válidos cuando utilicemos X Window.

Mayúsculas y minúsculas
Uno de los aspectos importantes que debemos tener presente al utilizar Linux
es que este, al igual que sucede con Unix , y a diferencia de Windows,
distingue las mayúsculas de las minúsculas. Esto quiere decir que no es lo
mismo crear un usuario denominado Albert que albert, de la misma forma no
es lo mismo el archivo listaNombres.txt que listanombres.txt. En ambos casos
los nombres simplemente se
diferencian por el uso de las mayúsculas.

Así por ejemplo, cualquiera de los siguientes son nombres de archivos o


directorios válidos, pero ninguno de ellos es igual a otro :

Nombrrres.txt
nombres.txt
archivos.nombres.txt
ARCHIVOS.nombres.txt
listadoDeNombresDeClientesDeLaEMpresaOrdenadosPorApellidos

Un nombre de archivo puede tener hasta 256 caracteres, pero no podemos


utilizar ninguno de los siguientes caracteres reservados :

*, ' & ( ) / ! ' ? \ | < > ;

Construcción de expresiones
En determinadas ocasiones necesitamos hacer referencia a más de un archivo
simultáneamente, o deberemos realizar búsquedas en las cuales no podemos
especificar un nombre en particular. Por ejemplo, puede ser necesario
localizar todos los archivos que empiecen por la letra n, o encontrar los
archivos que contengan la sílaba on.
Para poder realizar estas tareas disponemos de los comodines, gracias a los
cuales podemos construir expresiones regulares.
Un comodín es un carácter que se emplea para sustituir un conjunto de
caracteres.
Una expresión regular es un modelo formado por comodines y un conjunto de
caracteres.
Así , por ejemplo, podemos utilizar comodines para listar todos los archivos de
extensión conf del directorio /etc.
Página 5 de 33
MANDATOS EN LINUX IES Peset Aleixandre

# ls /etc/*.conf

Los principales comodines o meta caracteres que podemos emplear en Linux


y en la mayoría de versiones Unix son los siguientes :

Comodín Descripción

? Sustituye un carácter en la posición que ocupa.


* Sustituye uno o más caracteres.
[] Sustituye un rango de valores
^ Compara la coincidencia del texto al principio de la línea

$ Compara la coincidencia del texto al final de la línea

Si en lugar de listar como en el caso anterior todos los archivos de extensión


conf quisiéramos localizar todos los archivos cuyo nombre tenga cuatro
caracteres siendo el primero un l y su extensión sea conf escribiríamos el
siguiente mandato :

# ls /etc/l????.conf

En el caso de que tuvieran que empezar por una letra de entre la a y la m,


fuera cual fuera el número de caracteres emplearíamos la siguiente
instrucción :

# ls /etc/[a-m]*.conf

Si tan sólo queremos los archivos que empiecen por a, do o m escribiríamos

# ls /etc/[a,d,m]*.conf

Opciones para listar los archivos:

Edición de la línea de mandatos

Algunos de los shell incluidos en Linux nos permiten realizar algunas


operaciones básicas de edición cuando estamos introduciendo un comando.

Una de estas acciones es con la tecla Tab que nos permite obtener un listado
de todas las instrucciones que empiecen con el carácter o caracteres
introducidos.. Por ejemplo, si introducimos en la línea de comandos los
caracteres fi y pulsamos la tecla Tab conseguiremos ver en la pantalla un
listado de mandatos, entonces simplemente tendremos que terminar de
teclear el comando deseado.
Página 6 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Mandatos múltiples

En determinadas ocasiones podemos encontrarnos con la necesidad de


ejecutar más de un comando simultáneamente. La forma más simple de
hacerlo es utilizar el carácter ;. Por ejemplo:

# ls /; cat /etc/shells

Con esta sentencia se ejecutan las dos instrucciones visualizándose el


resultado de ambas por pantalla.

Redireccionamiento de mandatos
Otra posibilidad que nos brinda Linux es la de redireccionar la salida de los
comandos. En alguna ocasión puede resultar interesante desviar la salida
estándar de un comando. Por ejemplo, si deseamos guardar en un archivo el
listado con el contenido del directorio /etc simplemente deberemos escribir :

# ls /etc > listado.txt

De esta forma se creará un archivo denominado listado.txt en el directorio


actual con el listado de /etc. Si el archivo existiera sería previamente borrado.
En el caso de que no queramos borrar el archivo existente y tengamos que
añadir más información a él deberemos utilizar la doble redirección, >>, en
lugar de la simple empleada en el ejemplo anterior.

# ls /usr >> listado.txt.

Al ejecutar el comando anterior hemos añadido el listado del directorio /usr al


archivo listado.txt. En el caso de que el archivo no existiera se crearía de
forma automática.
Para ver su contenido podemos utilizar el comando cat.

# cat listado.txt

Si quieres realizar una pausa cada vez que se llene la pantalla recuerda que
puedes emplear el mandato more.
Otra función de la redirección es indicar a un mandato con qué datos debe
trabajar.

# more < listado.txt

En este caso la doble redirección se emplea para indicar cuando debe detener
la lectura. Así, si introducimos el siguiente comando podremos escribir
nombres en el fichero nombres2.txt hasta que escribamos la palabra fin.

# cat > nombres2.txt << fin

Redireccionamiento de los errores

También es posible redireccionar los errores que puedan producirse en la


ejecución de un comando. Los errores pueden redireccionarse a un archivo

Página 7 de 33
MANDATOS EN LINUX IES Peset Aleixandre

como hemos hecho anteriormente en el caso de la salida estándar o bien a un


dispositivo nulo en el caso de que queramos ignorarlos.
Los operadores utilizados para redireccionar los mensajes de error son los
mismos que hemos utilizado anteriormente pero precedidos por el número 2.
En el shell de Linux o cualquier otro Unix la salida y entrada estándar tienen
números de archivos asignados:
• La salida es el 1,
• La entrada el 0
• Los mensajes de error el 2.
En el siguiente ejemplo hemos redireccionado la salida de errores a un
archivo denominado errores.log

# ls /etc/ddoc 2 > errores.log

Después de ejecutar el comando anterior podemos imprimir el contenido de


dicho archivo para comprobar los errores que se han producido.

# cat errores.log
Si no queremos que se visualicen los mensajes de error ni que se almacenen
en un archivo deberemos redirigir la salida de errores a un dispositivo nulo.
Este dispositivo ya se encuentra definido en el sistema dentro del directorio
/dev y su nombre es null.

# ls /etc/ddoc 2 > /dev/null

Algunos Comandos Sencillos de LINUX


A continuación se describen algunos comandos sencillos de que pueden ser
útiles para familiarizarse con los comandos del sistema.

 date Muestra por pantalla el día y la hora.


 cal 1949 Muestra el calendario del año 1949.
 cal 05 1949 Muestra el calendario de mayo de 1949.
 who Indica qué usuarios tiene el ordenador en ese momento,
en qué terminal están y desde qué hora.
 whoami Indica cuál es la terminal y la sesión en la que se
está trabajando.
 clear Este comando limpia la consola

3. ALMACENAMIENTO DE LA INFORMACIÓN
Cuando trabajamos con el ordenador, nos vemos en la necesidad de guardar
la información en el disco duro, ya que de lo contrario se perdería esta
información al apagar el equipo. Actualmente existen en el mercado varios
estádares de conexión, que son, por orden de antigüedad: SCSI 1, IDE, SATA
Y SATA II. Todos ellos tienen distintas cualidadesde velocidad y usan
distintas controladoras en la placa base del equipo.

Página 8 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Estructura física

Tipos de discos duros

Página 9 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Estructura lógica
La estructura lógica se refiere a la distribución y el orden con los que se
debe de organizar toda la información del disco duro.

Página 10 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Tipos de particiones
Primaria: Divisiones principales del disco.Como máximo, un disco puede
tener cuatro particiones primarias.

Extendida: Forma de partición primaria que permite contener unidades


lógicas en su interior . Un discoduro sólo puede contener una partición
extendida . Por sí mismo, no puede contener archivos; debe de disponer de al
menos una unidad lógica con un formato de tipos de archivos.

Unidades lógicas: Particiones creadas dentro de la partición extendida. No


existe un límite de unidades lógicas. Cada una puede contener distintas
estructuras de archivos y sistemas operativos.

Página 11 de 33
MANDATOS EN LINUX IES Peset Aleixandre

4. SISTEMAS DE FICHEROS
El kernel de Linux soporta distintos sistemas de ficheros. Un sistema de
ficheros (filesystem) es la parte de un sistema operativo que determina el
modo en el que se almacena la información en el disco duro de nuestro
ordenador o en cualquier otro soporte de almacenamiento: disquetes,
almacenamiento especial en memorias, CD-ROMS, etc.
Un sistema operativo soportará un sistema de ficheros cuando conozca o
disponga de todas las funciones para manejarlo accediendo a datos de una
partición que lo utilice y manipulando los datos contenidos en ella, por
supuesto sin provocar errores o pérdidas de información.
Entre los sistemas de ficheros soportados en el kernel de linux se encuentran
los siguientes :

• Apple Macintosh FS : el soporte de ficheros Apple Macintosh


permitirá acceder tanto en modo de lectura como de escritura de las
particiones creadas por el sistema operativo MacOs.
• DOS FAT : El sistema FAT de MS-DOS es utilizado por las versiones más
antiguas de Windows, y MSDOS, el sistema operativo disseñado por
Microsoft.
• VFAT : El sistema de ficheros utilizado por Windows95, Windows98, por
la versión 4.0 de Windows NT y también por Windows XP.
• NTFS Es el sistema de ficheros utilizado por las versiones de Windows
NT anteriores a la versión 4.0.También lo podemos utilizar en Windows
XP
• Extended2 : el sistema de ficheros utilizado mayoritariamente en las
distribuciones GNU/Linux hasta la aparición de los primeros sistemas
de ficheros con journaling. También conocido como Second Extended.
• Ext3 : Es la versión con journaling del sistema de ficheros secundario
extendido (ext2) habitualmente utilizado en las instalaicones
GNU/Linux. Al disponer de journaling, esta versión del sistema de
ficheros dispone de una mayor tolerancia a fallos hardware, cortes de
luz, etc. El journaling en los sistemas de ficheros es una característica
que aumenta su fiabilidad. Esta técnica, basada en el funcionamiento
de bases de datos, permite asegurar las operaciones realizadas en el
movimiento o midificación de datos en el sistema de ficheros quedando
reflejadas en un log o journal que facilita la resolución de problemas en
caso de fallos eléctricos o similares.
• UDF Sistema de ficheros alternativo a ISO9660 desarrollado para
unidades de CD-ROM y DVD esencialmente.

Imaginemos que disponemos de un disco duro en el que hay un sistema


operativo instalado (por ejemplo Windows) que ha dejado de funcionar
correctamente, podremos utilizar un kernel de Linux con soporte para ese
tipo de particiones para montarlas y hacer copias de seguridad salvando
los datos contenidos en el disco duro antes de rehacer y formatear las
particiones para reinstalar el sistema operativo en cuestión de nuevo. Será
en estas ocasiones cuando comprobaremos la gran utilidad del kernel de
Linux al permitirnos añadir soporte de diversos filesystems.

Estructura del sistema de archivos en LINUX


En Linux, al igual que en cualquier otro Unix, todo es un proceso o archivo.
Un ejemplo de este hecho lo podemos encontrar en el dispositivo NULL. Este

Página 12 de 33
MANDATOS EN LINUX IES Peset Aleixandre

dispositivo no es más que un archivo que se encuentra ubicado en el


directorio /dev, y un ejemplo de utilización del mismo es redirigir la salida de
los errores hacia ese dispositivo para que no se visualicen.

# ls /etc/ddoc 2 > /dev/null

Dentro del directorio /dev podemos encontrar diferentes archivos que están
asociados a dispositivos tan diferentes como pueden ser un módem
(/dev/modem), un ratón (/dev/mouse) o un disco duro (/dev/hda). Por ello es
importante conocer y entender cómo funciona el sistema de archivo de Linux.
El sistema de archivos de Linux está diseñado para almacenar la información
de forma ordenada y jerarquizada. Los archivos se agrupan en directorios
formando una estructura de árbol. Siguiendo esta jerarquía, cada usuario es
propietario de los archivos y directorios que ha creado y tiene plenos
derechos sobre ellos.
Cada usuario tiene un directorio de trabajo en el que almacenará sus archivos
y subdirectorios. Los demás usuarios no podrán acceder a menos que tengan
permisos asignados para ello.
Internamente el sistema de archivos de Linux está estructurado como un
árbol, cada uno de los punteros que forman este árbol se denomina inodo. Un
inodo es una estructura de datos que contiene toda la información sobre el
archivo : tamaño, permisos, ubicación en el disco o discos, propietarios, tipo
de archivo,

Organización de directorios

Al instalar Linux se crearán por defecto una serie de directorios. Todos ellos se
encuentran ubicados en el directorio raíz, que se representa por el símbolo /.
Este directorio engloba todos los demás archivos y directorios, siendo su
propietario el administrador del sistema.
A diferencia de otros sistemas operativos, como es el caso de Windows en
cualquiera de sus versiones, en Linux no existe el concepto de unidades de
disco, es decir no hay un directorio raíz para c:, otro para d:, etc. Sino que las
unidades de disco son directorios del directorio raíz. Si examinamos el
contenido del directorio /mnt veremos dos directorios que representan la
unidad de CD-ROM y dle disquete.

Los principales directorios que podemos encontrar en Linux son los siguientes
:
Investigación : deduce tú mismo y completa el contenido de la
siguiente tabla :
Directorio Descripción
Bin

Dev

Etc

Página 13 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Lib

Lost+foun
d

Mnt

Tmp

Usr

Home

5. TRABAJANDO CON DIRECTORIOS


Cuando trabajamos con Linux, al igual que con la mayoría de sistemas
operativos, es importante saber movernos por su sistema de archivos. En
primer lugar aprenderemos a trabajar con los directorios, veremos cómo crear
, eliminar, copiar , renombrar o listar directorios.

El directorio actual
Normalmente podemos ver en el prompt del sistema el nombre del directorio
en el que nos encontramos, pero no nos indica la ubicación exacta del
mismo.
En caso necesario podemos obtener el nombre completo del directorio actual,
incluyendo todo el trayecto hasta el mismo con la instrucción pwd.

# pwd

Crear directorios
Cuando al trabajar diariamente con Linux nos encontremos con la necesidad
de agrupar y clasificar la información y documentos que generemos de una
forma lógica, no podemos tener todos los documentos dentro del directorio de
trabajo. La forma de clasificar la información es situándola dentro de
directorios, pero para poder hacerlo deberemos aprender a crear nuestros
propios directorios.

La instrucción de Linux que nos permite crear un directorio es mkdir. A


continuación crearemos un directorio llamado ejemplos.
$ mkdir ejemplos

De esta forma crearíamos el directorio ejemplos dentro del directorio actual.


Es decir, si nos encontrábamos dentro del directorio /home/elisa nuestro
directorio ejemplos s encontraría en /home/elisa/ejemplos.
También es posible crear un directorio en un lugar determinado, así, para
crear el directorio anterior podríamos haber especificado todo el trayecto o
Página 14 de 33
MANDATOS EN LINUX IES Peset Aleixandre

árbol de directorios como hemos hecho en el siguiente ejemplo para crear el


directorio pruebas.

$ mkdir /home/elisa/pruebas

El nombre del directorio de trabajo coincide con el nombre de usuario.


Otra posibilidad es, por ejemplo, crear un directorio denominado MisImagenes
dentro de otro llamado MisDocumentos.

$ mkdir MisDocumentos/MisImagenes

Si ejecutamos la instrucción anterior observaremos como se produce un error,


esto es debido a que no existe el directorio MisDocumentos . Para solucionar
este contratiempo tenemos dos posibilidades. La primera de ellas es crear el
directorio MisDocumentos y posteriormente volver a ejecutar la anterior
instrucción para crear MisImagenes. La segunda posibilidad es indicar a mkdir
que si no existe alguno de
los directorios del árbol deberá crearlo de forma automática, para ello
debemos utilizar el parámetro -p.

$ mkdir -p MisDocumentos/MisImagenes

Eliminar directorios

De la misma forma que nos puede ser necesario crear un directorio para
guardar archivos en él, también podemos encontrarnos con que tengamos
que eliminar un directorio que habíamos creado para guardar algún archivo
de forma temporal.
Para eliminar un directorio utilizaremos la instrucción rmdir. Así, por ejemplo,
para eliminar el directorio pruebas creado en el apartado anterior
escribiremos :

$ rmdir pruebas

En el caso de que tengamos que eliminar una estructura de directorios como


la creada anteriormente utilizaremos el parámetro -p.
Ten en cuenta que para poder eliminar un directorio éste debe estar vacío, no
pudiendo contener archivos.

Por tanto:

Renombrar o mover directorios


La instrucción empleada para renombrar o mover un directorio es mv. Así
para cambiar el nombre del directorio ejemplos por el de pruebas
escribiríamos :

$ mv ejemplos pruebas

En el caso de que existiera un directorio con el nombre pruebas, Linux no


renombraría el directorio ejemplos, sino que lo movería dentro del directorio
Página 15 de 33
MANDATOS EN LINUX IES Peset Aleixandre

pruebas. La siguiente instrucción mueve el directorio pruebas dentro de


MisDocumentos.

$ mv pruebas MisDocumentos

Si comprobamos el contenido del directorio MisDocumentos observaremos


como contiene los directorios MisImágenes y pruebas.

$ ls -l MisDocumentos

Desplazándose entre directorios


Ahora ya que sabemos cómo manipular directorios veremos cómo podemos
movernos de un directorio a otro. Para desplazarnos dentro del árbol de
directorios utilizaremos el comando cd.
Para situarnos en el directorio MisDocumentos simplemente deberemos
introducir el siguiente comando.

$ cd MisDocumentos

Si ahora comprobamos el directorio actual con pwd podremos observar cómo


hemos cambiado de directorio.
En cualquier momento podemos volver a nuestro directorio de trabajo
simplemente introduciendo el comando cd sin especificar un directorio de
destino.

$ cd

También es posible especificar la ruta completa del directorio al que


queremos desplazarnos, por ejemplo :

$ cd /home/elisa/MisDocumentos/MisImagenes
O
$ cd /user/bin

Para desplazarnos al directorio padre del directorio en el que estemos


situados escribiremos :

$ cd ..

Si estábamos situados en /usr/bin después de introducir la instrucción anterior


nos encontramos en /usr.
En el caso de que queramos ir al directorio principal o raíz el comando será :

$ cd /

6. TRABAJANDO CON ARCHIVOS

A continuación veremos algunos de los comandos más importantes que pone


a nuestra disposición Linux para manipular archivos.

Página 16 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Crear archivos
Cuando trabajamos con un sistema operativo disponemos de diversos
métodos para crear archivos. Normalmente los archivos se crearán utilizando
aplicaciones concretas. Por ejemplo, podemos utilizar un tratamiento de
textos como Corel WordPerfect para crear archivos en los cuales se guardarán
nuestros documentos o alguna de las aplicaciones de la suit StarOffice para
crear una hoja de cálculo o base de datos que evidentemente se almacenarán
en forma de archivos. En capítulos anteriores hemos visto cómo crear
archivos redirigiendo la salida de un comando como ls a un archivo.
A diferencia de otros sistemas operativos en Linux podemos crear un archivo
vacío con el comando del sistema, touch.

$ touch unarchivovacio

De esta forma hemos creado un un archivo denominado unarchivovacio.


En el caso de que el archivo existiera se cambiará la fecha del último acceso y
modificación del archivo a la fecha actual del sistema.
Podemos asignar otra fecha diferente a la del sistema utilizando el parámetro
-t seguido de la fecha en formato AAAAMMDDhhmm.ss.

$ touch -t 200011052315.45 unarchivo

Podemos ver la nueva fecha realizando un listado del directorio con el formato
lago y la fecha completa.

$ ls -l –full-time

Como puedes observar se ha modificado la fecha del archivo que habíamos


creado anteriormente por la especificada en el comando touch.

Opciones de touch:

Copiar archivos
Para copiar archivos en Linux utilizaremos el mandato cp. Este comando nos
permitirá realizar duplicados de los ficheros de una forma rápida.
El formato más simple de esta instrucción es indicando el nombre del fichero
a copiar y el nombre de la copia.

$ cp listado.txt copialistado.txt

Si el nombre de la copia es el de un directorio, Linux copiará el archivo origen


en el directorio especificado.

$ cp listado.txt MisDocumentos

Página 17 de 33
MANDATOS EN LINUX IES Peset Aleixandre

También es posible copiar más de un archivo simultáneamente utilizando los


comodines. Así, por ejemplo, podemos copiar todos los archivos que
empiecen por lis al directorio MisDocumentos/MisImagenes.

$ cp lis* MisDocumentos/MisImagenes

Una de las precauciones que hemos de tener al realizar copias es que Linux
sustituirá el archivo destino si éste existiera por el nuevo archivo. Para evitar
eliminar de esta forma algún archivo accidentalmente podemos utilizar dos
parámetros diferentes del comando cp. El primero de ellos es -i. Este
parámetro fuerza a Linux a realizar la copia de forma interactiva, es decir, si
el destino existiese se nos mostraría un mensaje de advertencia antes de
sobrescribirlo

$ cp -i listado.txt MisDOcumentos

El segundo parámetro que podemos utilizar es -b, el cual realiza una copia de
seguridad del archivo destino antes de sobreescribirlo

$ cp -b listado.txt MisDocumentos
La copia de seguridad tiene una tilde, ~ al final de su nombre.
También podemos utilizar este comando para copiar directorios, pero para ello
tendremos que utilizar el parámetro -r, de esta forma se realiza una copia
recursiva, del directorio y su contenido.

$ cp -r MisDocumentos CopiaDocumentos

En caso necesario podemos combinar diversos parámetros, por ejemplo si


queremos realizar una copia como la anterior de forma interactiva
escribiríamos :

$ cp -ri MisDocumentos CopiaDocumentos

EL comando cp nos obliga siempre a especificar un nombre origen y un


destion, así por ejemplo si queremos copiar el archivo passwd del directorio
/etc en el directorio actual deberíamos hacerlo de la siguiente forma :
$ cp /etc/passwd .

Donde el punto representa el directorio actual. Si tan sólo indicamos el


nombre del archivo origen, Linux nos devolverá un mensaje de error.
Resumiendo:

Renombrar o mover archivos

La instrucción utilizada para mover o renombrar un archivo es la misma que


habíamos examinado anteriormente para realizar estas operaciones con los

Página 18 de 33
MANDATOS EN LINUX IES Peset Aleixandre

directorios. Para cambiar el nombre del archivo listado.txt por lista.txt


utilizaríamos el siguiente comando.

$ mv listado.txt lista.txt

Si el nuevo nombre coincide con el de un directorio, Linux moverá el archivo


al directorio especificado. También es posible cambiar el nombre del archivo
al mismo tiempo que lo movemos a un nuevo directorio. Al igual que con la
instrucción cp hemos de tener cuidado al mover o cambiar el nombre a un
archivo, siendo posible utilizar también los parámetros -i y -b vistos
anteriormente.

Eliminar archivos

El comando empleado para eliminar archivos es el rm. Este comando nos


permitirá borrar tanto archivos como directorios.
Para eliminar un archivo tan sólo tendremos que introducir el mandato rm
seguido del nombre del archivo o archivos a eliminar.

$ rm unarchivovacio copialistado.txt

Recuerda que podemos utilizar los comodines para especificar más de un


archivo a borrar. En el caso de eliminar más de un archivo podemos emplear
el parámetro -i para que rm solicite confirmación antes de eliminar un
archivo.

$ rm -i CopiaDocumentos/l*

Si tenemos que eliminar todos los archivos de un directorio, así como el


propio directorio podemos hacerlo utilizando el parámetro -r.

$ rm -r CopiaDocumentos/MisImagenes

Es posible combinar los dos parámetros anteriores para evitar eliminar algún
fichero accidentalmente.

$ rm -ri CopiaDocumentos

Para evitar que Linux nos solicite confirmación podemos emplear el comando
-f.

$ rm -rf MisDocumentos/pruebas

Resumiendo:

Examinar el contenido de un archivo


Junto con la instrucción cat que nos permite visualizar el contenido de un
archivo de texto, tenemos otras dos instrucciones que nos aportan una mayor
Página 19 de 33
MANDATOS EN LINUX IES Peset Aleixandre

flexibilidad al examinar un archivo, principalmente si su contenido ocupa más


de una pantalla. Estas dos instrucciones son less y more.
Ambos comandos nos permiten realizar una pausa cada vez que se llena la
pantalla, así como la posibilidad de realizar determinadas operaciones de
desplazamiento en el texto. En la siguiente tabla se listan las teclas que nos
permiten interactuar con dichos comandos.

Podemos utilizar ambos comandos de formas diferentes, ya sea empleando


las redirecciones :

$ more < lista.txt


$ less < lista.txt

El carácter | (AltGr+1) combinando dos instrucciones :

$ ls /etc | more
$ ls /etc | less
O indicando directamente el nombre del archivo o archivos a visualizar
$ less lista.txt
$ less lista.txt nombres.txt
$ less n*

Como puede observar, el comando less una vez finalizado el listado visualiza
dos puntos en la última línea de la pantalla donde podemos introducir la tecla
de la acción deseada.

La instrucción ls
La instrucción utilizada en Linux para visualizar el contenido de un directorio
es ls. A diferencia del dir del antiguo MS_DOS las posibilidades de este
comando son muy extensas. ls dispone de más de 40 parámetros diferentes
que permiten obtener más o menos información al realizar el listado de
archivos y directorios.

Investigación : escribe la función de cada uno de los parámetros del


comando ls indicados en la tabla siguiente:

Página 20 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Recuerda que podemos combinar los parámetros anteriores en una única


instrucción. Así, por ejemplo, podemos obtener un listado del directorio /etc
en formato largo, ordenándolo por tamaño de archivo y visualizando el
tamaño de los archivos en kilobytes.

$ ls -lSh /etc

Si tenemos que realizar pausas debido al tamaño del listado deberemos


utilizar los comandos less o more.

$ ls -lSh /etc | more


También podemos añadir un poco de color a nuestro listado :

$ ls -lSh –color=auto /etc

Al igual que con otros comandos vistos anteriormente podemos utilizar


comodines para filtrar el resultado.

Página 21 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Por ejemplo, podemos obtener el listado de todos los archivos que empieden
por n de nuestro directorio de trabajo.

$ ls n*

Junto con la instrucción ls disponemos de otros comandos que nos permiten


realizar un listado del contenido de un directorio. Se trata de casos
particulares de ls. Así, por ejemplo, la instrucción dir o d es equivalente a un
ls -C -b y vdir o v a ls -l -b

$ dir
$ ls -C –b

Buscar archivos
Aunque podemos intentar localizar un archivo o archivos realizando listados
de lso diferentes directorios de Linux, encontrar un archivo de esta forma si
no sabemos aproximadamente donde se encuentra puede convertirse en una
tarea titánica.
Linux pone a nuestra disposición diversas instrucciones que nos van a facilitar
el trabajo que puede suponer localizar un archivo si no sabemos dónde se
encuentra.
La más importante de ellas es find. Esta instrucción nos permite localizar
archivos o directorios a partir de alguna información conocida del mismo.
Si quisiéramos encontrar todos los archivos existentes que empiecen por
passw simplemente tendríamos que escribir la siguiente instrucción :

$ find / -name passw* -print

Puedes cortar en cualquier momento el listado pulsando CTRL + C.


El primer valor especificado después del comando find es el directorio a partir
dle cual se iniciará la búsqueda, a continuación hemos empleado el
parámetro -name para poder indicar el nombre del archivo a buscar, y por
último el parámetro -print se emplea para que se visualice por pantalla el
resultado de la búsqueda.
Para limitar el resultado de la búsqueda podemos especificar un directorio en
particular como puede ser /etc, en lugar de empezar la búsqueda a partir del
directorio raíz, /.
Pero find, no sólo permite realizar búsquedas por nombre, sino que también
es posible localizar archivos en función de su tamaño o fecha de creación
entre otros conceptos.
En el siguiente ejemplo hemos buscado todos los archivos de más de 750 Kb
en el sistema de archivos actual.

$ find / -size +750k -type f –print

Para limitar la búsqueda a los archivos hemos utilizado el parámetro –type


Otra posibilidad es buscar en función de la fecha del archivo, por ejemplo los
archivos a los que no se ha accedido en los últimos dos meses :
$ find / -atime +60 -print

En los accedidos en los dos últimos días :

$ find / -atime -1 -print


Página 22 de 33
MANDATOS EN LINUX IES Peset Aleixandre

O incluso los archivos a los que se ha accedido en los últimos 60 minutos :

$ find / -amin -60 –print

Búsquedas de texto en los archivos


Linux también nos proporciona una serie de herramientas que nos permiten
realizar búsquedas dentro de los archivos, se trata de la familia de comandos
grep. Entre los que se incluyen grep, egrep, fgrep, y zgrep.
El primero de ellos, grep , nos permite realizar búsquedas empleando
expresiones regulares. Con el segundo, egrep, podemos emplear expresiones
regulares extendidas para localizar un texto dentro de un archivo. El tercer
comando, fgrep, se utiliza para la búsqueda de cadenas fijas, mientras que el
último miembro de la familia, zgrep, nos permite buscar dentro de archivos
comprimidos.
El funcionamiento básico de grep es muy simple, debemos especificar la
cadena buscada y el archivo donde realizamos la búsqueda.

$ grep root L/etc/passwd

En el ejemplo anterior hemos indicado a grep que queríamos buscar el texto


root dentro del archivo /etc/passwd, y él nos ha mostrado por pantalla todas
las líneas que contiene el texto root. Si queremos podemos hacer que
también nos muestre el número de línea. Para ello emplearemos el parámetro
.n.

$ grep -n root /etc/passwd

Podemos delimitar más la búsqueda empleando expresiones regulares. De


esta forma le indicaremos a grep que el texto root debe encontrarse al
principio de la línea.

$ grep '^root' /etc/passwd

En algunas ocasiones, si utilizamos expresiones regulares extendidas, el


comando grep no funcionará correctamente, como sucede en el siguiente
ejemplo:

$ grep '\(file' /etc/info-dir

En estas ocasiones deberemos emplear la instrucción egrep, la cual sí que


nos permite utilizar expresiones regulares extendidas.

$ egrep '\(file' /etc/info-dir

Pero egrep también soporta expresiones regulares como grep o fgrep, es por
ello que podemos emplear este comando indistintamente, siendo en más de
una ocasión más práctico y flexible que sus homólogos.
Página 23 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Opciones de grep:

Investigación : Completa la siguiente tabla.

Cambio de modo de los ficheros comandos chmod, chown


y chgrp

Los permisos de cada fichero se pueden ver con el comando ls -l. Para
cambiar los permisos de un fichero se emplea el comando chmod, que tiene
el formato siguiente:

chmod [quien] oper permiso files

quien Indica a quien afecta el permiso que se desea cambiar. Es una


combinación cualquiera de las letras u para el usuario, g para el grupo del
usuario, o para los otros usuarios, y a para todos los anteriores. Si no se da el
quien, el sistema supone a.
oper Indica la operación que se desea hacer con el permiso. Para dar un
permiso se pondrá un +, y para quitarlo se pondrá un -.
permiso Indica el permiso que se quiere dar o quitar. Será una combinación
cualquiera de las letras anteriores : r,w,x,s.
files Nombres de los ficheros cuyos modos de acceso se quieren cambiar.
Por ejemplo, para quitar el permiso de lectura a los usuarios de un fichero el
comando es:
Página 24 de 33
MANDATOS EN LINUX IES Peset Aleixandre

chmod a -r fichero.txt

Los permisos de lectura, escritura y ejecución tienen un significado diferente


cuando se aplican a directorios y no a ficheros normales. En el caso de los
directorios el permiso r significa la posibilidad de ver el contenido del
directorio con el comando ls; el permiso w da la posibilidad de crear y borrar
ficheros en ese directorio, y el permiso x autoriza a buscar y utilizar un fichero
concreto.
Por otra parte, el comando chown se emplea para cambiar de propietario
(“change owner”) a un determinado conjunto de ficheros. Este comando sólo
lo puede emplear el actual propietario de los mismos. Los nombres de
propietario que admite Linux son los nombres de usuario, que están
almacenados en el fichero /etc/passwd. La forma general del comando
chown es la siguiente:

chown newowner file1 file2 ...

Análogamente, el grupo al que pertenece un fichero puede ser cambiado con


el comando chgrp, que tiene una forma general similar a la de chown,

chgrp newgroup file1 file2...

Los grupos de usuarios están almacenados en el fichero /etc/group.


Resumiendo:

Página 25 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Espacio ocupado en el disco. Comandos du y df

El comando du permite conocer el espacio ocupado en el disco por un


determinado directorio y todos los subdirectorios que cuelgan de él. Para
usarlo basta simplemente colocarse en el directorio adecuado y teclear, du,
éste comando da el espacio de disco utilizado en bloques. Para obtener la
información en bytes se debe emplear el comando con la opción –h: du -h El
comando df por el contrario informa del espacio usado por las particiones del
sistema que se encuentren montadas.

7. VISUALIZACION DE ARCHIVOS
Visualización sin formato de un fichero. Comando cat
Este comando permite visualizar el contenido de uno o más ficheros de forma
no formateada. También permite copiar uno o más ficheros como apéndice de
otro ya existente. Algunas formas de utilizar este comando son las siguientes,
cat filename Saca por pantalla el contenido del fichero filename.cat file1
file2... Saca por pantalla, secuencialmente y según el orden especificado, el
contenido de los ficheros indicados.
cat file1 file2 >file3 El contenido de los ficheros file1 y file2 es
almacenado en file3.

Página 26 de 33
MANDATOS EN LINUX IES Peset Aleixandre

cat file1 file2 >>file3 El contenido de file1 y file2 es añadido al final de


file3.
cat >file1 Acepta lo que se introduce por el teclado y lo almacena en file1
(se crea file1).
Para terminar se emplea <ctrl>d

Visualización de ficheros con formato. Comando pr

Este comando, a diferencia de cat, imprime por consola el contenido de los


ficheros de una manera formateada, por columnas, controlando el tamaño de
página y poniendo cabeceras al comienzo de las mismas. Está muy en
relación con el comando lp de salida por impresora. Las formas más
importantes que admite son las siguientes:

• pr file Produce una salida estándar de 66 líneas por página, con un


encabezamiento de 5 líneas (2 en blanco, una de identificación y otras
2 líneas en blanco).
• pr -ln file Produce una salida de n líneas por página (cuando el
tamaño de papel de impresora, por ejemplo, tiene un número de líneas
distinto de 66)
• pr -p file Hace una pausa para presentar la página, hasta que se pulsa
<return> para continuar
• pr -t file Suprime las 5 líneas del encabezamiento y las del final de
página.
• pr -wn file Ajusta la anchura de la línea a n posiciones.
• pr -d file Lista el fichero con espaciado doble.
• pr -h `caracteres` file el argumento o cadena de caracteres
`caracteres` se convertirán en la cabecera del listado.
• pr +n file Imprime el fichero a partir de la página n.

Además de los ejemplos anteriores, se pueden combinar varias opciones en


un mismo comando, como por ejemplo en: pr -dt file la salida de este
comando es por la consola, pero puede redireccionarse a otro fichero, por
ejemplo, si ejecutamos el comando: pr file1 > file2 se crea un fichero nuevo
llamado file2 que es idéntico a file1, pero con formato por páginas y
columnas.

Visualización de ficheros pantalla a pantalla. Comandos


more y less

Estos comandos permiten visualizar un fichero pantalla a pantalla. El número


de líneas por pantalla es de 23 líneas de texto y una última línea de
mensajes, donde aparecerá la palabra more. Cuando se pulsa la barra
espaciadora (el espacio en blanco), se visualizará la siguiente pantalla. Para
salir de este comando (terminar la visualización) se pulsa <ctrl>d o q. Por
ejemplo: more file

Página 27 de 33
MANDATOS EN LINUX IES Peset Aleixandre

El comando less es muy similar al anterior pero permite el desplazamiento a


lo largo del texto empleando las teclas de cursores pudiendo desplazarse
hacia arriba o abajo de un fichero.

Otros comandos de visualización de ficheros

Búsqueda en ficheros. Comandos grep, fgrep y egrep


El comando grep localiza una palabra, clave o frase en un conjunto de
directorios, indicando en cuáles de ellos la ha encontrado. Este comando
rastrea fichero por fichero, por turno, imprimiendo aquellas líneas que
contienen el conjunto de caracteres buscado. Si el conjunto de caracteres a
buscar está compuesto por dos o más palabras separadas por un espacio, se
colocará el conjunto de caracteres entre apóstrofes ('). Su formato es el
siguiente:

grep 'conjuntocaracteres' file1 file2 file3

siendo 'conjuntocaracteres' la secuencia de caracteres a buscar, y file1,


file2, y file3 los ficheros donde se debe buscar. Veamos un nuevo ejemplo:

grep 'TRIANGULARIZACION MATRIZ' matrix.f scaling.f

Este comando buscará TRIANGULARIZACION MATRIZ entre las líneas de los


ficheros matrix.f y scaling.f. Este comando permite seleccionar, entre todas
las líneas de uno o más ficheros, aquellas que contienen un motivo que
satisface una expresión regular determinada.

grep [-opcion] expresión_regular [referencia...]

Las opciones principales son:


• c lo único que se hace es escribir el número de las líneas que
satisfacen la condición.
• i no se distinguen mayúsculas y minúsculas.
• l se escriben los nombres de los ficheros que contienen líneas
buscadas.
• n cada línea es precedida por su número en el fichero.

Página 28 de 33
MANDATOS EN LINUX IES Peset Aleixandre

• s no se vuelcan los mensajes que indican que un fichero no se puede


abrir.
• v se muestran sólo las líneas que no satisfacen el criterio de selección.

A continuación se muestra una serie de ejemplos.


• grep ‘ˆd’ text líneas que comienzan por d.
• grep ‘ˆ[ˆd]’ text líneas que no comienzan por d.
• grep -v ‘ˆC’ file1 > file2 quita las líneas de file1 que comienzan por
C y lo copia en file2.

Compresión y descompresión de ficheros. Comandos tar


y gzip
Tanto el comando tar como gzip son ampliamente empleados para la
difusión de programas y ficheros en Linux. El primero de ellos agrupa varios
ficheros en uno solo o “archivo”, mientras que el segundo los comprime. En
conjunto estos dos programas actúan de forma muy similar a programas
como Winzip

• Para crear un nuevo archivo se emplea:

tar –cvf nombre_archivo.tar fichero1 fichero2 …

donde fichero1, fichero2 etc. son los ficheros que se van a añadir al archivo
tar.

• Si se desea extraer los ficheros se emplea



tar –xpvf nombre_archivo.tar fichero1 …

Al contrario que tar que agrupa varios ficheros en uno, gzip comprime
un único fichero con lo que la información se mantiene pero se reduce
el tamaño del mismo. El uso de gzip es muy sencillo gzip fichero con
lo que se comprime fichero (que es borrado) y se crea un fichero con
nombre fichero.gz.

• Si lo que se desea es descomprimir un fichero se emplea entonces:

gzip –d fichero.gz

recuperando el fichero inicial.


Como se ha comentado al principio es típico emplear tar y gzip de
forma consecutiva, para obtener ficheros con extensión tar.gz o tgz
que contienen varios ficheros de forma comprimida (similar a un
fichero zip). El comando tar incluye la opción z para estos ficheros de
forma que para extraer los ficheros que contiene:

tar –zxf fichero.tar.gz

Comandos de impresión. Comando lpr


El comando lpr se emplea para imprimir una serie de ficheros. Si se emplea
sin argumentos imprime el texto que se introduzca a continuación en la

Página 29 de 33
MANDATOS EN LINUX IES Peset Aleixandre

impresora por defecto. Por el contrario, lpr nombre_fichero imprime en la


impresora por defecto el fichero indicado.

Redirecciones
Los comandos de Linux tienen una entrada estándar (número 0) y dos
salidas estándar (número 1 para la salida normal del comando, y número 2
para la salida de los mensajes de error que se puedan producir en su
ejecución). Por defecto tanto la entrada como las salidas estándar de los
comandos son la propia terminal, a no ser que por la propia naturaleza del
comando se den en él los nombres de algunos ficheros que hagan el papel de
entrada y de salida. Por ejemplo, en el comando

cp file1 file2

file1 es la entrada y file2 es la salida; aquí no intervienen las entradas y


salidas estándar. Sin embargo,
cuando utilizamos por ejemplo el comando ls (listado de directorio), la salida
de este comando se dirige hacia la terminal. Si queremos que la salida de
este comando se dirija a un fichero llamado file, podríamos escribir,

ls >file

el (>) es uno de los llamados operadores de redirección y dirige la salida


estándar hacia el fichero indicado a continuación; si este fichero no existe, se
crea en ese momento. Otros operadores de redirección son el operador (<)
que redirige la entrada estándar desde un determinado fichero, y el operador
(>>) que redirige la salida estándar hacia otro fichero, pero añadiendo dicha
salida al final de ese fichero, sin
sobreescribir el contenido original. Por ejemplo, si cada vez que entramos en
el sistema ejecutamos el comando,

date >>archivo

tendremos un fichero llamado archivo que contiene información sobre todas


las veces que hemos entrado en el sistema.
Otro ejemplo, para añadir al fichero file2 al final de file1 y al conjunto
llamarle file3, sería cat file1 file2 >file3 o, si quisiéramos que el fichero
resultante fuera el mismo file1, cat file2 >>file1. Un ejemplo en redirección
a la entrada podría ser el siguiente,
mail juan <carta que envía al usuario juan el contenido del fichero carta.

8. ACCESO A UNIDADES DE DISCO


Linux a diferencia de Windows no utiliza letras ("a:", "c:", "d:", ...) para
acceder a las distintas unidades de disco de un ordenador. En Linux para
acceder al contenido de una unidad de disco o de un CD-ROM este tiene que
haber sido previamente "montado".
Montar un dispositivo o unidad es enlazarlo o incluirlo como parte de su
sistema. Es decir, al montar un dispositivo en nuestra instalación de
GNU/Linux podremos tener acceso a él a partir del punto de montaje
asignado. Montar es, en definitiva, hacer físicamente accesible un dispositivo
o sistema de ficheros desde un punto concreto en el sistema de ficheros de
nuestro sistema GNU/Linux.
Página 30 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Por ejemplo, las distribuciones de GNU/Linux incluyen normalmente un


directorio vacío denominado floppy en el raiz del sistema. Este directorio se
ha creado para que pueda ser utilizado para montar en él la unidad de
disquetes, de modo que una vez montada y con un simple ls podamos ver el
contenido de nuestro disquete. De igual forma , el directorio /cdrom se
encuentra vacío ya que está pensado para ser utilizado al montar nuestra
unidad lectora de CD-ROM.
Los dispositivos montados en nuestro sistema no necesitan ser unidades
físicamente conectadas a nuestro sistema local, sino que también pueden
montarse unidades y dispositivos remotos por red.
Para que un sistema GNU/Linux pueda tener acceso a una unidad o sistema
de ficheros, ya sea ésta una partición de nuestro disco duro o el contenido de
una tarjeta Compact Flash (como las que se utilizan para almacenar fotos en
una cámara digital) o cualquier otro dispositivo, es necesario que procedamos
a montar dicha unidad.
Las particiones de datos de nuestro sistema son accesibles al mismo porque
han sido montadas en el arranque tras la detección del hardware del
sistema. Esto explica que al instalar ciertas distribuciones, se nos solicite el
punto de montaje para las distintas particiones creadas. De todas las
particiones creadas en la instalación de una distribución GNU/Linux existe una
que no se montará en ningún punto del sistema, ya que en ningún caso se
quiere que sean accesibles a los usuarios, es la partición de swap. La
partición de intercambio de memoria, swap, debe activarse para que el
sistema operativo pueda hacer uso de ella, aunque nunca se montará como
parte de nuestro sistema de ficheros.
Es importante comprender que una unidad montada se considera parte del
sistema y como tal debe permanecer accesible físicamente. Esto es lo que
justifica el que nuestro sistema GNU/Linux deshabilite la posibilidad de
apertura de una unidad de CD-ROM mientras ésta está montada en el
sistema, es decir, que una vez montado el CD-ROM no podremos abrir el
lector pulsando el botón de apertura. En el momento en el que desmontamos
la unidad ésta vuelve a comportarse de forma habitual y podemos abrirla
pulsando el botón Eject.
En el caso de otros dispositivos como la disquetera, el sistema no dispone de
la posibilidad de bloquear la extracción de la unidad montada, pero hemos de
ser muy cuidadosos y asegurar que la unidad está desmontada antes de
proceder a su extracción. Como veremos, podemos ejecutar mount sin ningún
tipo de parámetros para visualizar una lista de dispositivos montados en
nuestro sistema. Si extraemos un
disquete de la disquetera sin desmontarlo previamente observaremos errores
de acceso a la misma en nuestra pantalla.
Para montar una unidad hemos de saber determinar :
➔ Cuál es el identificador para esta unidad (/dev/fd0)
➔ Cuál es el punto de montaje para la misma (/floppy)
➔ Qué tipo de sistema de ficheros tiene la unidad. (ext2, auto, ext3...)
Es imprescindible saber qué dispositivo queremos montar. En los sistemas
GNU/Linux los dispositivos se identifican teniendo en cuenta su
localización. En el directorio /dev/ de nuestro sistema podemos encontrar los
ficheros que nos permiten identificar a los distintos dispositivos. Entre ellos
encontraremos los que hacen referencia a particiones de nuestros discos
duros.
Los discos duros se referencian como hd o sd según sean discos IDE o SCSI,
además se utiliza una letra que indicará de cuál de los dispositivos IDE o SCSI
de los que dispongamos se trata. Por ejemplo, en el caso de discos IDE, que
Página 31 de 33
MANDATOS EN LINUX IES Peset Aleixandre

es la situación más común, denotamos como hda al dispositivo conectado


como maestro en el IDE primario (conector IDE0 en nuestra placa), hdb al
esclavo de ese mismo ide, y finalmente hdc y hdd al maestro y esclavo,
respectivamente, del IDE secundario. Además para cada disco duro se denota
un número que determina de forma unívoca la partición referenciada con esta
notación.
Así : hda1 hace referencia a la primera partición primaria del disco maestro
conectado al IDE primario de nuestra placa base.
El segundo punto a tener en cuenta a la hora de montar un dispositivo es el
path o ruta concreto al que se añade o enlaza el dispositivo o sistema de
ficheros. Esta ruta en la que enlazaremos el dispositivo, es decir, donde
montaremos nuestra unidad se denomina “punto de montaje”.
Y por último deberemos indicar el tipo de sistema de ficheros del
dispositivo a montar.
El montado se realiza mediante el comando mount, con lo que el contenido
de la unidad se pone a disposición del usuario en el directorio de Linux que
se elija. Por ejemplo para acceder al CD-ROM se teclearía el siguiente
comando:

mount -t iso9660 /dev/cdrom /mnt/cdrom

donde -t iso9660 indica el tipo de sistema que usa la unidad de disco para
guardar los ficheros (las más usuales son: iso9660 en el caso de un CD-ROM,
vfat en el caso de Windows, y ext2 o ext3 en el caso de Linux),
/dev/cdrom indica el dispositivo que se va a montar. Todos los dispositivos
están representados por un fichero del directorio /dev, por ejemplo en el caso
de un disquete será seguramente /dev/fd0, por último
/mnt/cdrom es el directorio en el que se pondrá a disposición del usuario el
contenido del CD-ROM.
Para montar disquetes se suele utilizar el directorio /mnt/floppy. De todas
formas el usuario siempre puede crear un directorio vacío con el nombre que
el elija para montar las unidades de disco que desee donde desee. Cuando el
usuario haya dejado de usar ese disco deberá "desmontarlo" mediante el
comando umount antes de sacar el disquete o el CD-ROM. En este último
caso debería escribir:

umount /mnt/cdrom

La ejecución de mount sin parámetros nos da información sobre las unidades


o dispositivos montados en nuestro sistema.
Para utilizar el comando mount de la forma anterior hace falta ser
administrador o root. Para que un usuario común pueda utilizar disquetes,
CD-ROM, etc. hay que editar el fichero /etc/fstab Por ejemplo para que
cualquier usuario pueda acceder a un disquete habrá que indicar la siguiente
línea:

/dev/fd0 /mnt/floppy vfat user,noauto 0 0

También habrá que asegurarse de que el directorio /mnt/floppy sea


accesible por todos los usuarios. Una vez seguidos los pasos anteriores
cualquier usuario podrá "montar" un disquete escribiendo el siguiente
comando:

mount /mnt/floppy
Página 32 de 33
MANDATOS EN LINUX IES Peset Aleixandre

Al igual que antes el usuario deberá ejecutar el comando umount


/mnt/floppy antes de sacar el disquete.
Cualquier dispositivo puede montarse manualmente si disponemos de
permisos de superusuario, sin más que especificar el dispositivo, su punto
de montaje y tipo de sistema de ficheros a utilizar. No obstante, en el
arranque de nuestor sistema se montan automáticamente algunas unidades.
El fichero de configuración fstab que podemos encontrar en el directorio /etc
contiene la información relativos al montaje de unidades en el arranque de
nuestro sistema.
Este fichero contiene además información sobre unidades que, no siendo
automáticamente montadas, podrán ser montadas con posterioridad al
arranque de manera sencilla. El fichero fstab almacena no sólo los parámetros
necesarios para montar algunas unidades en el arranque, sino que a la hora
de montar dispositivos, podremos indicar únicamente el punto de montaje, y
si éste se encuentra en alguna de las líneas del fichero fstab y poseemos los
permisos necesarios se procederá al montaje de la misma utilizando los
parámetros y datos indicados en este fichero.

Montar desde entornos gráficos

En los entornos gráficos de sobremesa KDE y GNOME encontramos la


posibilidad de crear iconos en el Escritorio, cada uno de los cuales nos
permitirá montar una unidad concreta ateniéndonos a lo que sobre la misma
se haya indicado en el fichero fstab con solo pulsar dos veces sobre el mismo
como si se tratara de una aplicación cualquiera que quisiéramos lanzar. Para
desmontar estas unidades bastará pulsar con
el botón derecho sobre el mismo icono y escoger la opción que desmontará la
unidad.

Página 33 de 33

S-ar putea să vă placă și