Beruflich Dokumente
Kultur Dokumente
Sistemas Operativos
Práctica No 3
Sistema de ficheros
Contenido
▪ Niveles de acceso a la información.
▪ Órdenes para el manejo de ficheros y directorios.
▪ Enlaces
Un fichero o archivo se puede definir como un conjunto de datos con un nombre asociado.
Un directorio es un fichero especial, el cual contiene información que permite localizar en el dispositivo
otros ficheros.
raiz (“/”) : Todos los ficheros y directorios de un sistema UNIX cuelgan de un directorio principal llamado
"raíz", que se representa como "/". La raíz es el único directorio que no tiene directorio padre.
(/home): Es el directorio hogar de los usuarios, aquí se almacena un directorio por cada usuario del sistema.
(/boot): Archivos fundamentales para el arranque del sistema, aquí es donde se encuentra el Grub.
/bin : Aquí se encuentran los programas de uso más común para los usuarios (Ej ls, cat, cp, etc).
/etc : Este directorio contiene órdenes y archivos de configuración empleados en la administración del
sistema. Estas pueden ser ejecutadas por usuarios
privilegiados (Ejemplo root (administrador)).
1) Ejercicios:
a. Averigua tu directorio de conexión.
b. Averigua tu directorio de trabajo.
c. Entra al directorio raíz con: cd /
d. Averigua de nuevo tu directorio de conexión y directorio de trabajo, hay
algún cambio con las preguntas 1 y 2?
Camino absoluto o completo. Consistente en el conjunto de nodos por los que hemos
de pasar, partiendo del directorio raíz, para llegar al fichero o directorio que queremos
referenciar.
Ejemplo: /usr/bin/troff
Camino relativo. Tenemos dos formas de acceder a un fichero usando una trayectoria
relativa, según tomemos en consideración el directorio de trabajo o el directorio de
conexión:
2
URACCAN
Sistemas Operativos
1. Respecto del directorio de trabajo:
a) Suponiendo que nuestro directorio de trabajo es /usr:
Camino relativo al directorio de trabajo (situados desde usr a troff): bin/troff
NOTA: Para el camino relativo se pueden utilizar la cadena ".." para ascender en el
árbol.
Ejemplo 2:
- Suponiendo que nuestro directorio de conexión actual es /users/ssp, la referencia al
fichero o directorio anterior seria ~/../../usr/bin/troff
3
URACCAN
Sistemas Operativos
Ejercicio:
• Nombre de fichero
El nombre de un fichero en UNIX puede tener hasta 255 caracteres y aunque no existe el concepto
de extensión de un fichero es posible incluir el carácter . tantas veces como se desee, la única
consideración a tener en cuenta en este sentido, es la referente a los nombres de fichero cuyo primer
carácter es . a los que históricamente se denominan ficheros ocultos ya que por defecto no son
mostrados por la orden ls. Una denominación más precisa para estos ficheros sería la de ficheros sin
interés habitual, ya que se suelen utilizar para configurar aplicaciones y normalmente el usuario no tiene
interés en verlos.
Es importante tener en cuenta que los intérpretes de comandos de UNIX (denominados shell) consideran
distintos los caracteres en mayúsculas de los caracteres en minúscula. Por lo tanto no son equivalentes
los ficheros: programa.c y Programa.c. Ej:
programa, programa.c, programa.c.primera_version, base_datos.1992
4
URACCAN
Sistemas Operativos
3) Ejercicio:
- utiliza: ls –al ¿Existe algún fichero oculto en su directorio de conexion?
- Cree en su directorio de conexión un directorio oculto ( mkdir .dir1)
(ponerle un punto al principio del nombre lo hace oculto).
"*" Representa cualquier conjunto de símbolos. Por ejemplo, sabiendo que el comando ls permite listar
el contenido de un directorio;
$ ls * # lista todos los ficheros del directorio de trabajo
$ ls ab* # lista los ficheros que empiecen por ab
Aparte de los caracteres comodín, existen otros caracteres cuyo significado es especial para la shell.
Entre estos: < , > , | , &.
4) Ejercicio:
- Listar todos los ficheros del directorio /etc que comiencen por “i” y terminen
por “b” . ¿Qué ficheros tienen como segunda letra una “ s” ? ¿Qué ficheros
tienen como tercera letra una consonante?
Listado de ficheros
La orden ls se utiliza para visualizar el contenido de un directorio. Su sintaxis es la siguiente:
ls [parámetros] [path_name]
Si no indicamos path_name, se presentará el contenido del directorio de trabajo actual. Según los
parámetros utilizados en la orden (campo parámetros en la sintáxis), obtendremos distintos tipos de
información acerca de los ficheros. Especialmente relevantes son los siguientes:
-a permite visualizar los ficheros ocultos (aquellos que empiezan por .).
-l lista los ficheros en formato largo, incluyendo información adicional completa acerca de cada uno de
ellos.
5
URACCAN
Sistemas Operativos
odo del fichero: El primer carácter del campo “derechos de acceso” se refiere a:
6
URACCAN
Sistemas Operativos
Cada usuario del sistema tiene un número identificador (UID) único dentro del sistema y también pertenece a
un grupo de usuarios identificado unívocamente dentro del sistema por un número (GID). Cada fichero lleva
asociado el identificador de usuario propietario y la del grupo al que pertenece.
Orden id
La orden id devuelve el identificador (número) de usuario y de grupo del usuario que le indiquemos. La
opción -u visualiza sólo el UID (identificador del usuario) y la opción -g visualiza únicamente el GID
(identificador del grupo).
Su sintaxis es: $ id [-ug] [usuario]
5) Ejercicio:
- ¿Cuáles son sus identificadores de usuario y de grupo?
- Haga un recorrido por los directorios más importantes del sistema, visualizando
los ficheros contenidos en ellos. Localice algún fichero ordinario, directorio,
especial modo carácter, especial modo bloque y algún enlace simbólico.
Para poder realizar operaciones sobre cualquier directorio (leer o escribir) será necesario
siempre, tener otorgado además el permiso de ejecución.
7
URACCAN
Sistemas Operativos
Apis:~$ pwd
/home/arq005
Apis:~$ ls -l prog.c
-rw-r----- 1 arq005 users 1024 Sep 3 14:58 prog.c
Apis:~$ chmod 754 prog.c
Apis:~$ ls -l
-rwxr-xr-- 1 arq005 users 1024 Sep 3 14:58 prog.c
Orden cd
Se utiliza para cambiar de directorio de trabajo actual.
Su sintaxis es la siguiente:
cd [path_name]
Cuando se utiliza sin parámetros, el directorio de trabajo actual pasa a ser el directorio propio (el del
arranque), también conocido como directorio HOME, dicho de otro modo, si nuestro directorio actual
es /usr/local, dando la orden cd nos colocamos en nuestro directorio HOME, directorio en el que
iniciamos sesión de trabajo, es decir el directorio que tenemos al entrar en el sistema.
Tanto cd, como pwd son órdenes internas del intérprete, no existe ningún fichero ejecutable en el que
estén programadas.
6) Ejercicio:
- Cree un directorio que se llame Dir1 colgando de su directorio de conexión. ¿Con que
permisos se crea?
- Cree un archivo que se llame texto.txt dentro de Dir1 ¿Con que permisos se crea?
- Modifique los permisos del archivo con 000. Intente leer o escribir ¿Qué ocurre?
- Habilite los permisos de lectura a todos. Intente leer o escribir ¿Qué ocurre?
- Habilite los permisos de lectura y escritura solo al propietario. Intente leer o escribir ¿Qué
ocurre?
- Modifique los permisos del directorio Dir1 con 000. Intente entrar(cd) , leer(ls) o escribir
(mkdir) ¿Qué ocurre?
- Habilite los permisos de lectura a todos. Intente leer(ls), escribir (mkdir) o entrar(cd) ¿Qué
ocurre?
- Habilite los permisos de lectura y escritura solo al propietario. Intente leer(ls), escribir
(mkdir) o entrar(cd) ¿Qué ocurre?
- Habilite los permisos rwx para el propietario. Intente leer(ls), escribir (mkdir) o entrar(cd)
¿Qué ocurre?
- Que función realiza el permiso de ejecución en un directorio?
8
URACCAN
Sistemas Operativos
Mascara de permisos: es el valor de los permisos por defecto que se asignan a un nuevo
archivo o directorio.
La orden umask permite modificar la máscara de permisos. Su sintaxis es:
umask [###]
• Llamado sin parámetros, el resultado son tres dígitos octales que indican de izquierda a derecha el
valor de la máscara que determina los permisos iniciales para el propietario, el grupo y para el resto
de usuarios.
0 0 2 2
• Para poder realizar operaciones sobre cualquier directorio (leer o escribir) será necesario
siempre, tener otorgado además el permiso de ejecución.
• No puede asignarse el permiso de ejecución por defecto a los archivos (el sistema lo elimina).
Para cambiar la máscara debemos utilizar la orden umask seguido de tres dígitos octales que
representan los permisos que deseamos NEGAR!!
$ umask xxx
donde xxx es un número octal de tres dígitos cuyos valores van de 0 a 7, e indican:
9
URACCAN
Sistemas Operativos
Ejemplo:
$umask
022
Permisos de:
Directorios= rwx r-x r-x
Archivos= rw- r - - r - -
$umask 016
Los directorios y archivos que se creen desde ahora, tendrán los siguientes permisos:
Directorios= rwx rw- - -x
Archivos= rw- rw- - - -
7) Ejercicios:
- Cuál es la máscara de permisos en su sistema?
- Cree un directorio Dir2 y un archivo texto2.txt. Cuáles son los permisos para
cada uno?
- Modifique la máscara de permisos a 042. Cuál será el resultado en ficheros y
directorios?
- Cree un directorio Dir3 y un archivo texto3.txt. Cuáles son los permisos para
cada uno?
- Restablezca la máscara de permisos a su valor original.
Comando de administrador: sólo el root puede cambiar el propietario o grupo de un archivo o directorio.
Está restringido el cambio de propietario o grupo para usuarios normales por motivos de seguridad.
Es necesario pertenecer al grupo_nuevo para poder cambiarlo. La orden groups permite conocer a qué grupos
pertenece un usuario.
8) Ejercicio:
- Cree un directorio Dir1 y un archivo arch.txt.
- Cree un usuario tempo2.
- Cambie de propietario y grupo, Dir1 y arch.txt por tempo2 (utilice sudo).
- Inicie sesión como tempo2 e intente crear el directorio Dir3 en Dir1 y modificar
arch.txt, que ocurre?, explique.
10
URACCAN
Sistemas Operativos
Visualización y manejo de ficheros
En UNIX existe un conjunto de órdenes que permiten visualizar el contenido de ficheros.
Orden cat
La sintaxis es:
cat [nombre_fichero]
Se utiliza para visualizar el contenido de un fichero de texto por la pantalla.
Orden rm
Se utiliza para borrar un conjunto de ficheros. Su sintaxis es:
$ rm [-irf] fichero1 fichero2 ...
Esta orden es especialmente peligrosa.
Las opciones tienen el siguiente significado:
$ rm –irf directorio
Borra el directorio con sus archivos y subdirectorios.
-i (interactive) antes de borrar cada uno de los ficheros, rm preguntará si realmente queremos
hacerlo.
-r (recursivo) borra ficheros y subdirectorios.
-f (force) fuerza el borrado de los ficheros, incluso si estos están protegidos contra escritura (el
fichero debe pertenecer al usuario que quiere borrarlo).
Orden mv
Su funcionalidad es idéntica a cp, salvo que mv provoca que los ficheros o directorios origen
desaparezcan de su localización inicial. Su sintaxis es:
$ mv origen1 [origen2 ...] destino
Orden which
Esta orden se emplea para buscar en los directorios especificados en el PATH de usuario el fichero que
le especifiquemos. Como resultado, visualiza en forma de camino absoluto el nombre del fichero.
Su sintaxis es:
$ which fichero
11
URACCAN
Sistemas Operativos
Orden whereis
La orden whereis acepta como parámetro únicamente el nombre de una orden. Devuelve el
directorio donde reside dicha orden y la página correspondiente donde se encuentra en el manual. Los
flags -b -m y -s se utilizan para limitar la búsqueda a binario, pagina del manual o código fuente,
respectivamente.
Su sintaxis es:
$ whereis [-b -m -s] orden
Orden su
La orden su permite cambiar nuestro identificador de usuario. Cuando se invoca, nos pide la palabra
clave del usuario al que queremos cambiar. Si a su no le pasamos como parámetro ningún nombre de
usuario, asumirá que deseamos convertirnos en root. Obviamente, si no conocemos la palabra clave del
usuario, la orden fallará.
Su sintaxis es:
$ su [nombre del usuario]
Las dos órdenes que necesitamos para manipular directorios son mkdir y rmdir.
mkdir nom_directorio
rmdir nom_directorio
mkdir (make directory) permite crear un nuevo directorio.
rmdir (remove directory) lo elimina. Para eliminar un directorio vacío.
La orden pwd se utiliza para mostrar nuestro directorio actual de trabajo, tal y como indican sus iniciales ( print
working directory ).
Su sintaxis es la siguiente:
$pwd
9) Ejercicios:
- Cree un directorio Dir3.
- Copie en Dir3 el archivo passwd que se encuentra en /etc.
- Visualice el archivo. (cat)
- Visualice las 2 primeras líneas del archivo y las dos ultimas,
- Cree un segundo directorio hermano de Dir3 de nombre Dir4.
- Copie en Dir3 y Dir4 el archivo /etc/apt/sources.list
- Cree un tercer directorio hermano de Dir3 y Dir4, de nombre Dir5.
- Mueva su copia de passwd a Dir4.
- Elimine el directorio Dir5.
- Elimine el directorio Dir4.
- Renombre el archivo sources.list por orígenes.list.
- Localice con (whereis) la orden sudo.
- Localice con (which) el archivo texto.txt
- Cual es su directorio de trabajo actual?
12
URACCAN
Sistemas Operativos
Orden ln (Enlaces):
Enlaces Fuertes o duros:
Se utiliza para permitir que un mismo fichero aparezca en el sistema de ficheros bajo dos nombres diferentes, es
decir que se crea otro nombre de fichero que hace referencia al mismo fichero físico. Si eliminamos alguna de
sus referencias, solo eliminaremos el nombre pero no el fichero. Este solo será eliminado si eliminamos todos
los vínculos. El numero de enlaces de un fichero lo indica el segundo campo de la información que obtenemos
con la orden ls –l. Los enlaces fuertes no son aplicables a directorios.
Ejemplo:
enlaceF3
enlaceF1
enlaceF2
arch
Nota: Utilice ls –i nombre_archivo, para ver los inodes (numero asignado por Linux para identificar a cada
fichero del sistema) de los archivos.
10) Ejercicios:
- Cree en su directorio de conexión un directorio que se llame p02.
- Copie el fichero PASSWD del sistema (se localiza en /etc) en el directorio p02.
- Cree un enlace fuerte a un fichero situado en su directorio de conexión y compare el número de
enlaces que tiene ahora y los que tenía antes de realizar esta operación.
- Realice de nuevo la misma operación pero en este caso sobre un directorio. ¿Puede realizar un
enlace blando sobre un directorio?
- Borre el fichero original. ¿Puede acceder a los datos a través del soft-link? ¿y a través del hard-
link? ¿Qué ocurre si creamos un fichero con el mismo nombre que el que hemos borrado? ¿Puede
acceder a los datos a través del soft-link? ¿y a través del hard-link?
- Intente realizar un enlace fuerte sobre el fichero de contraseñas del sistema. ¿Qué ocurre? ¿Por
qué? Realice un enlace blando. ¿Qué ocurre? ¿Por qué?
13