Lic. David Escalera C.
ESTRUCUTURA GENERAL DEL SISTEMA DE ARCHIVOS
INTRODUCCION
Linux es un sistema operativo de la familia Unix, gratuito, creado mediante la política de
“código abierto”. Estas características implican un gran ahorro en los costes de instalación
de los equipos, pero también una mayor especialización por parte del personal
informático. En todo sistema Unix existe un usuario administrador (root), que controla el
funcionamiento completo del sistema, tiene acceso universal y puede realizar cualquier
operación con los datos y los dispositivos de la máquina.
El administrador de cualquier tipo de servidor debe ser una persona especializada, que
conozca lo mejor posible sus equipos, sus aplicaciones y sus usuarios; manteniéndose al
día en los avances tecnológicos, en las revisiones y parches de los programas instalados
y en las necesidades de su empresa
SISTEMA DE ARCHIVOS
La parte del sistema operativo que fija como los archivos son estructurados, nombrados,
accedidos, usados, protegidos e implementados se conoce como "Sistema de Archivos".
Desde el punto de vista del usuario, el aspecto mas importante de un sistema de archivos
es la estructura que refleja el sistema de archivos, que constituye un archivo, como los
archivos se nombran y se protegen, que operaciones están permitidas sobre los archivos,
etc.
ESTRUCTURA DEL SISTEMA DE ARCHIVOS
Linux utiliza el concepto de partición raíz y sistemas de archivos montados sobre la
partición raíz. Esto significa que todas las unidades utilizaran una estructura de directorios
común. Así no existirán varias unidades y una estructura de directorios por unidad, sino
que existirá una única estructura de directorios y sobre ella se acomodaran las distintas
unidades, inclusive las que se comparten en redes.
La partición raíz es llamada "/" y es el directorio principal de la estructura. Las unidades,
antes de poder ser usadas, deben ser montadas en el sistema de archivos. Para ello debe
existir un "punto de montaje" donde alojar la información de la unidad. Un punto de
montaje no es más que un directorio cualquiera dentro del sistema de archivos, que debe
encontrarse vacío.
Tipos de sistema de Archivos de Linux
Cuando se instala Linux ofrece distintos sistemas de archivos como los siguientes:
Ext, Ext2, Ext3, Ext4, JFS, XFS, btrfs y swap
Ext4: Mas rápido y permite archive muchos más grande con una velocidad significativa.
Es una muy Buena opción para discos SSD, además puedes darte cuenta que cuando
intentas instalar cualquier distribución de Linux este es el sistema de archivo por defecto
que siguiere Linux.
Lic. David Escalera C. 2
Directorios del sistema de archivos linux
Comandos Básicos
Prompt
FICHEROS Y DIRECTORIOS
Cambiar de directorio: (CD)
Cuando hacemos login en linux, iremos al directorio base del usuario con el que hagamos
login, por ejemplo, si lo hacemos como " root " iremos a /root , si lo hacemos como " jose
" iremos al directorio /home/jose ... en ese direcctorio base es en el que debemos instalar
nuestros programas, compilar, editar archivos... Para cambiar de directorio, lo hacemos
al igual que en ms-dos, con el comando " cd ".
Si no introducimos ningún nombre de directorio, el mandato cd sin argumentos vuelve a
nuestro directorio de trabajo. Si queremos volver al directorio de nivel superior basta con
utilizar cd ..
En este punto cabe destacar que, al igual que vimos en Windows, en Linux también
podemos hacer referencia a los ficheros y directorios de 2 maneras:
• Rutas absolutas. Se forman empezando en el directorio raíz y acabando en el
punto al que queremos hacer referencia. Por ejemplo, si nuestro usuario se llama
pepito y queremos hacer referencia a su directorio personal, la ruta absoluta
sería /home/pepito.
• Rutas relativas. Se forman usando los directorios especiales . y .. y empiezan
siempre en el directorio actual. Recordando, el directorio especial . hace referencia
al directorio actual y el directorio especial .. hace referencia al directorio padre del
actual. Así, si por ejemplo estamos situados en el directorio /etc y queremos ir al
directorio personal de pepito, la ruta relativa sería ../home/pepito.
Lic. David Escalera C. 3
Ver la ruta donde nos encontramos:
Para saber donde nos encontramos, tecleamos:
$pwd
Este comando nos devuelve la ruta actual en la que nos encontramos.
Listar el contenido de un directorio:
Esto se hace a través del comando:
ls [-alF] [--color] [directorio/s] [fichero/s]
Por ejemplo para ver el contenido de /etc , si nos encontramos en el, simplemente
hariamos:
/etc$ ls
Una vez que estamos en un directorio concreto lo más probable es que queramos saber
el contenido del directorio. Para ello disponemos de la orden ls. Su nombre viene de
"listar" (en inglés, "list") y eso es precisamente lo que hace, listar el contenido de un
directorio. Si le pasamos un argumento nos mostrará el contenido del directorio que le
pasamos y si no, nos mostrará el contenido del directorio actual. La orden ls tiene
multitud de opciones. A continuación vamos a ver las más destacadas:
• ls -a muestra todos los archivos y directorios, incluso los ocultos (los que
comienzan con un punto).
• ls -l muestra un listado en el formato largo, con información de permisos (que ya
explicaremos más adelante), número de enlaces duros asociados al archivo,
usuario, grupo, tamaño en bytes y fecha de última modificación además del
nombre.
• ls -lh muestra la misma información que con la opción -l pero el tamaño del
fichero se muestra en unidades más entendibles (K, M, G...).
• ls -S muestra el contenido ordenado por tamaño de archivo.
• ls -t muestra el contenido ordenado por la fecha de última modificación.
• ls -r muestra el contenido ordenado de forma inversa.
• ls -R muestra la estructura de directorios que cuelga del directorio actual o del
que le pasemos como argumento.
• ls -i muestra el número del inodo en el que están los datos de cada fichero o
directorio. Si tenemos 2 ficheros que son enlaces duros del mismo fichero veremos
que el número del inodo es el mismo.
• ls -m muestra los ficheros y directorios en una sola fila, separados por comas.
• ls -1 muestra los ficheros y directorios en una sola columna.
• ls --color
Las opciones pueden combinarse entre sí. Por ejemplo, si ejecutamos la orden ls -lSa se
mostrará por pantalla el contenido del directorio actual ordenado por el tamaño de los
ficheros (por la opción -S) mostrando también los archivos ocultos (por la opción -a) y
en formato de lista larga (por la opción -l).
SIGNIFICADO DE LOS CAMPOS EN EL LISTADO DE FICHEROS
Como se ha comentado anteriormente al efectuar el mandato ls -l aparecen una serie de
entradas (filas), de tal forma que cada una de ellas hace referencia a un fichero. Una
entrada típica consta de varios campos. El significado de cada uno de ellos es el siguiente:
Lic. David Escalera C. 4
Crear Directorios:
Esta tarea la realizaremos con el comando:
• mkdir: Esta orden sirve para crear una carpeta o directorio cuyo nombre
será el que le pasemos como argumento a dicha orden.
También podemos crear directorios en lugares distintos al que nos encontramos,
mediante el uso de rutas absolutas o relativas. Así, si deseamos crear el
directorio Musica en /etc y nos encontramos en /home/alumno, tenemos 2
opciones:
$ mkdir /etc/Musica, o bien $ mkdir ../../etc/Musica
Con el comando mkdir también podemos crear varios directorios en una misma
orden. Para ello, no tenemos más que introducir tantos argumentos como carpetas
queramos crear. Así, la orden $ mkdir Documentos Imagenes Musica, creará
esos 3 directorios en el directorio actual de trabajo.
Crear Archivos
• touch
La orden touch sirve para cambiar la fecha de acceso y modificación de un
fichero que le pasemos como argumento. Si dicho fichero no existe, lo creará vacío con
el nombre que le hayamos pasado como argumento.
Por ejemplo, si ejecutamos la orden $ touch [Link], creará un archivo vacio con
el nombre "[Link]" si no existía anteriormente, o simplemente modificará su fecha
de acceso y modificación con la fecha actual del sistema, si existía con anterioridad.
Al igual que con el comando mkdir, con la orden touch podemos crear varios archivos con
una sola orden: $ touch fich1 fich2 fich3 fich4
Lic. David Escalera C. 5
• vi
Para crear archivos podemos utilizar un editor de texto como el “vi”, vim o nano
Ejecutamos el comando vi y nos desplegará un entorno para poder ingresar información.
El comando cat también nos permite crear un archivo direccionando la información.
• cat > archivo
Para definir fin de archivo se presiona la tecla Ctrl.-D
Borrar Directorios
Hay dos formas para realizar esto:
rmdir [directorio] ( solo borra directorios vacíos)
rm [-friv] nombre (para borrar directorios y ficheros)
Los parametros de rm son :
ParámetroFunción
-f No pide confirmación
-r Borrado recursivo de archivos y directorios
-v Se muestra lo que se va borrando
-i Se pide confirmación para cada fichero o directorio
Al igual que hemos visto en otras órdenes, podemos borrar varios ficheros o directorios
(según la orden) en una linea si se los pasamos como argumento. Así, si ejecutamos
$ rmdir pepito juanito paquito
borrará esos 3 directorios del directorio de trabajo actual.
La orden rm tambiénn sirve para eliminar directorios completos. Si el directorio contiene
ficheros y queremos borrar tanto el directorio como su contenido tendremos que usar la
orden rm con la opción -R. Mucho cuidado al utilizar esta opción, ya que podríamos
borrar información importante.
Copiar ficheros
Cuyo formato básico es:
cp [origen] [destino]
Existen parámetros para este comando que pueden ser consultados a través de las páginas
de manual de Linux
Por ejemplo, si ejecutamos la orden
$ cp [Link] [Link]
Se copiará el contenido del fichero [Link] en [Link], encontrándose
ambos en el directorio de trabajo actual.
Lic. David Escalera C. 6
Por otro lado, si en lugar de un fichero, indicamos como destino un directorio, lo que
sucederá es que creará una copia del archivo origen en el destino especificado. Por
ejemplo:
$ cp [Link] /home/alumno
Creará un archivo con el mismo nombre que el original en el directorio /home/alumno.
En la orden cp, al igual que en la orden rm, disponemos de la opción -R para copiar
directorios enteros con todo su contenido.
Así, si ejecutamos la orden
$ cp -R /home/alumno/directorio1 /tmp
Copiará todo el contenido de la carpeta directorio1 en el destino indicado, que en este
caso es /tmp.
Mover/Renombrar ficheros
Ambas acciones se realizan a través del comando:
mv [origen] [destino]
Si lo que se quiere es renombrar el fichero, el destino será el mismo directorio pero un
nombre de archivo diferente.
Nota: Evidentemente, los usos de los comandos anteriores variaran dependiendo de los
permisos que tengan los ficheros o directorios sobre los que se quieran aplicar.
La orden mv tiene otra utilidad, que es la de cambiar el nombre a un archivo. Para ello,
no tenemos más que pasarle como argumentos el nombre del fichero que queremos
renombrar y el nombre nuevo, de la siguiente manera:
$ mv [Link] [Link]
Comando Who
Esta orden visualiza los usuarios conectados a una máquina. El formato que utiliza who
es el siguiente
• Nombre del usuario: login
• Terminal de conexión: tty???
• Momento de la conexión
También puede utilizarse para conocer la propia identidad who am i
Comando Date
Esta orden permite consultar la fecha y hora del sistema El formato que utiliza date es el
siguiente:
• día de la semana
• mes
• día del mes
• hora
• zona horaria
• año
Lic. David Escalera C. 7
date también sirve para modificar la fecha y hora, pero sólo el superusuario puede
modificar estos valores. La fecha y hora son valores críticos para un sistema multiusuario.
Muchos de los servicios del sistema dependen de que estos valores sean correctos. Por
ello, tan sólo el superusuario puede modificarlos.
date –s h:m:s
Comando cal
Cal mes año Muestra un calendario del mes y año especificados cal 12 2005
Comando uname
Indica nombre y versión del sistema operativo. Usado con la opción -a muestra toda la
información.
$ uname -a
Linux hostname 2.4.21 #1 SMP Thu Sep 4 20:50:32
CEST 2003 i686 unknown
PERMISOS
Básicamente, existen tres tipos de permisos para los ficheros y directorios, aunque existen
otros "especiales":
• Lectura ( r ).
• Escritura ( w ).
• Ejecución ( x ).
rwxrw-r- x
También, se pueden modificar los permisos a través de una mascara que es:
usuario grupo Otros
r=4 w=2 x=1 r=4 w=2 x=1 r=4 w=2 x=1
Y para asignarlos, se sustituyen los permisos por números, por ejemplo, para rwxr-xr-x
haríamos:
Lic. David Escalera C. 8
-w-r-x- - -
USUARIO ADMINISTRADOR
Usuario root
Usuarios especiales
Usuarios normales
sudo
sudo (SUperuser DO) es una herramieta que permite otorgar a un usuario o grupos de
usuarios normales, permisos para ejecutar algunos comandos como root (o como otros
usuarios) sin necesidad de conocer su password.
adduser
deluser
Instalación de software
• sudo apt-get update
• apt install paquete
• apt-get remove --purge nombre_paquete