Gestión de ficheros y directorios

21
Gestión de ficheros y directorios Tipos de ficheros La mayoría de sistemas definen seis tipos de ficheros. Ficheros normales. Son los ficheros comunes como ficheros de texto, imágenes, etc. Directorios. Ficheros que contienen referencias a otros ficheros y directorios. Ficheros de dispositivos (caracteres o bloques). Permiten la comunicación entre hardware y periféricos. Tuberías (pipes). Ficheros que permiten la comunicación entre diferentes procesos (también pueden llamarse ficheros FIFO). Sockets. Ficheros que comunican procesos en la red. Enlaces simbólicos. Existen dos tipos. Enlaces blandos. Fichero que apunta a otro fichero. Enlaces duros. Asigna otro nombre al fichero. Comando file La orden file indica el tipo de fichero de un fichero. El formato más común es file [opciones] fichero. Ejemplo. Tipo imagen. Ejemplo. Tipo script. Ejemplo. Tipo enlace. Qué es un inodo En los sistemas Unix, cada fichero tiene asociado un inodo. Un inodo se identifica con un número entero único dentro del sistema de ficheros y contiene la información necesaria para que un proceso pueda acceder al fichero. El inodo de un fichero normal contiene. El dispositivo donde se encuentra el sistema de ficheros. El identificador del fichero dentro del sistema de ficheros. El tamaño del fichero. El usuario y grupo propietario del fichero. Los permisos del fichero. Las marcas de tiempo del fichero.

description

Este documento trata sobre la gestión de ficheros y directorios en sistemas GNU Linux (concretamente Debian). Engloba las herramientas básicas de gestión de ficheros (crear, eliminar,etc), cómo buscar ficheros y directorios y cómo gestionar sus permisos. Todos los ejemplos los he probado en un sistema Debian 7 (serán similares en otros sistemas derivados como Ubuntu). Son apuntes utilizados en el certificado de profesionalidad "Operación de Sistemas Informáticos" (OSI), concretamente en el módulo formativo "Mantenimiento de la seguridad en sistemas informáticos".

Transcript of Gestión de ficheros y directorios

Page 1: Gestión de ficheros y directorios

Gestión de ficheros y directorios

Tipos de ficheros

La mayoría de sistemas definen seis tipos de ficheros.

Ficheros normales. Son los ficheros comunes como ficheros de texto, imágenes, etc.

Directorios. Ficheros que contienen referencias a otros ficheros y directorios.

Ficheros de dispositivos (caracteres o bloques). Permiten la comunicación entre

hardware y periféricos.

Tuberías (pipes). Ficheros que permiten la comunicación entre diferentes procesos

(también pueden llamarse ficheros FIFO).

Sockets. Ficheros que comunican procesos en la red.

Enlaces simbólicos. Existen dos tipos.

Enlaces blandos. Fichero que apunta a otro fichero.

Enlaces duros. Asigna otro nombre al fichero.

Comando file

La orden file indica el tipo de fichero de un fichero.

El formato más común es file [opciones] fichero.

Ejemplo. Tipo imagen.

Ejemplo. Tipo script.

Ejemplo. Tipo enlace.

Qué es un inodo

En los sistemas Unix, cada fichero tiene asociado un inodo.

Un inodo se identifica con un número entero único dentro del sistema de ficheros y contiene

la información necesaria para que un proceso pueda acceder al fichero.

El inodo de un fichero normal contiene.

El dispositivo donde se encuentra el sistema de ficheros.

El identificador del fichero dentro del sistema de ficheros.

El tamaño del fichero.

El usuario y grupo propietario del fichero.

Los permisos del fichero.

Las marcas de tiempo del fichero.

Page 2: Gestión de ficheros y directorios

El número de nombres del fichero (número de enlaces).

El nombre del fichero se indica en los ficheros de tipo directorio (asocian cada nombre con el

inodo correspondiente).

Atributos de un fichero

Un fichero contiene diferentes atributos que lo identifican en el sistema.

Ejemplo. Atributos de un fichero (ls -l).

Los atributos son.

Indicador de tipo. Indica el tipo de fichero.

-. Fichero normal.

d. Directorio.

l. Enlace simbólico.

c,b. Fichero de dispositivo (carácter y bloque respectivamente).

p. Tubería.

s. Socket.

Permisos. Indica los permisos sobre el fichero.

Número de enlaces. Indica el número de nombres (enlaces duros) del fichero.

Si es un directorio, indica el número de subdirectorios (incluidos . y ..).

Usuario propietario. El usuario propietario del fichero (normalmente el usuario que

creó el fichero).

Grupo propietario. Grupo propietario del fichero.

Tamaño. Tamaño del fichero (en bytes).

Fecha. Fecha de la última modificación del fichero.

Puede actualizarse con la orden touch.

Nombre. Nombre del fichero.

Si es posible evitar espacios en blanco, eñes, tildes, etc.

Las marcas de tiempo de un fichero son.

Fecha de acceso (atime). Indica la última fecha en la que se accedió al fichero.

Fecha de cambio (ctime). Indica la última fecha en la que los atributos del fichero

(permisos, propietarios, etc.) se modificaron.

Fecha de modificación (mtime). Indica la última fecha en la que el contenido del

fichero se modificó.

Comando ls

La orden ls lista los ficheros de un directorio (dir, vdir), pero también permite ver los atributos

de un fichero.

Su formato más común es ls [opciones] fichero.

Si no se indica ningún fichero lista el directorio actual.

Page 3: Gestión de ficheros y directorios

Ejemplo. Listar directorio.

Algunas opciones.

-a. Lista todos los ficheros, incluidos los ocultos (.fichero).

-A. Lista todos los ficheros de los directorios excepto los directorios . y ...

El directorio . es el propio directorio.

El directorio .. es el directorio superior.

-B. No muestra ficheros backups (fichero~).

-d. Lista los directorios como ficheros en vez de mostrar su contenido.

-h. Muestra las unidades de tamaño de forma “amigable”.

-i. Muestra el inodo del fichero.

-l. Lista ficheros en formato largo.

La opción -l por defecto, muestra la fecha de modificación (mtime).

La opción -lc muestra la fecha de cambio (ctime).

La opción -lu muestra la fecha de acceso (atime).

-n. Muestra los UID y GID en vez de los nombres de los propietarios del fichero.

-R. Muestra el contenido de los directorios recursivamente.

Ejemplo. Mostrar inodos y formato “amigable”.

Ejemplo. Listar directorio como fichero, UID y GID.

Comando stat

La orden stat indica los atributos y el estado de un fichero o sistema de ficheros.

Por defecto, la orden stat indica.

El nombre del fichero.

El tamaño del fichero en bytes y bloques y bloques reservados para operaciones de

entrada-salida.

El tipo de fichero.

La ubicación, el inodo y número de nombres (enlaces).

Los permisos, el usuario y grupo propietario del fichero.

Las marcas de tiempo atime, mtime y ctime.

El formato es stat [opciones] fichero.

Page 4: Gestión de ficheros y directorios

Ejemplo. Estado de un fichero.

Algunas opciones.

-c formato. Muestra los atributos y estado según el formato indicado.

-f sistemaDeFicheros. Muestra los atributos y estado del sistemaDeFicheros.

Algunos formatos son.

%a, %A. Muestra los permisos en formato numérico y simbólico respectivamente.

%g, %G. Muestra el GID y nombre del grupo propietario respectivamente.

%n. Muestra el nombre del fichero.

%u, %U. Muestra el UID y nombre del usuario propietario respectivamente.

%x. Muestra la fecha de acceso (atime).

%y. Muestra la fecha de modificación (mtime).

%z. Muestra la fecha de cambio (ctime).

%F. Muestra el tipo de fichero.

Ejemplo. Mostrar nombre del usuario propietario.

Ejemplo. Mostrar nombre del fichero y permisos con formato simbólico.

Ejemplo. Mostrar nombre y tipo del fichero.

Permisos de ficheros y directorios

Los sistemas UNIX proporcionan tres operaciones básicas para realizar sobre un fichero o

directorio lectura, r, escritura, w y ejecución, x.

En ficheros estos permisos indican.

r, lectura. Permite abrir y leer un fichero.

Page 5: Gestión de ficheros y directorios

w, escritura. Permite modificar el contenido de un fichero.

x, ejecución. Permite ejecutar un fichero ejecutable o script.

En directorios indican.

x, ejecución. Permite entrar al directorio, pero no listar el contenido ni crear ficheros o

directorios.

rx, lectura y ejecución. Permite entrar al directorio y listar el contenido de este, pero

no crear ficheros o directorios dentro de él.

rwx, lectura escritura y ejecución. Acceso total.

wx, escritura y ejecución. Permite crear, borrar o renombrar ficheros o directorios,

pero no listar su contenido.

Los permisos se aplican en tres categorías.

u, permisos de usuario. Usuario propietario del fichero (por defecto, el usuario que lo

creó).

g, permisos de grupo. Usuarios del grupo del propietario.

o, Permisos de otros. Resto de usuarios.

Cada usuario pertenece a una sola de estas categorías; por ejemplo, al usuario propietario se

le aplicarán los permisos de usuario, aunque estos sean más restrictivos que los de grupo.

Los permisos se identifican con nueve caracteres.

Los tres primeros caracteres indican los permisos de usuario.

Los tres caracteres siguientes indican los permisos de grupo.

Los tres últimos caracteres indican los permisos del resto de usuarios.

Comando chmod

La orden chmod permite cambiar los permisos de los ficheros y directorios.

Solo el usuario propietario o root pueden cambiar los permisos.

Su formato es chmod [opciones] modo fichero.

Ejemplo. Añadir permiso de escritura a grupo.

El cambio de permisos se hace según el modo, que se puede indicar con símbolos o números.

Permisos simbólicos.

Page 6: Gestión de ficheros y directorios

El formato es quien operación permisos.

quien. Indicado por u (usuario), g (grupo), o (otros) o a (todos).

operación. Indicada por + (añadir), - (quitar) o = (asignar).

permisos. Indicados por r, w y x.

Ejemplo. Añadir permisos de ejecución al usuario propietario.

Ejemplo. Asignar permisos de lectura y escritura para usuario y grupo, y lectura para el resto.

Ejemplo. Asignar permisos de lectura, escritura y ejecución para usuario y de lectura para el

resto de forma recursiva.

Ejemplo. Quitar permiso de lectura al resto.

Permisos numéricos.

Los permisos se representan por un número octal de tres dígitos para usuario, grupo y resto

respectivamente.

Cada dígito vale 4 para lectura, 2 para escritura y 1 para ejecución.

Para las combinaciones se suman los valores, por ejemplo, permiso rw se representa por 6

(4+2).

Ejemplo. Asignar permisos de lectura, escritura y ejecución para usuario, lectura y ejecución

para grupo y ninguno para el resto.

Ejemplo. Asignar permisos de lectura y escritura para usuario y grupo y escritura para el resto.

Page 7: Gestión de ficheros y directorios

Permisos por defecto, comando umask

Cuando se crea un fichero o directorio se crea con unos permisos por defecto.

Para ver y modificar el valor por defecto de los permisos podemos usar la orden umask.

El formato de la orden umask es umask [opciones] [valor].

Ejemplo. Permisos simbólicos.

Ejemplo. Permisos numéricos.

Para obtener el valor por defecto de los permisos, tenemos que restar al valor 777, que en

forma numérica indica permisos totales para usuario, grupo y otros, el valor umask.

Ejemplo. Permisos por defecto de lectura y escritura para usuario y grupo y lectura para resto.

Permisos especiales, setuid, setgid y sticky bit.

Además de los permisos de lectura, escritura y ejecución existen tres permisos más, setuid,

setgid y sticky bit.

Permisos setuid y setgid.

Ambos permisos están relacionados con los atributos de los procesos.

Permiten que un proceso lanzado por un usuario se ejecute con permisos de otro usuario.

Cuando se crea un proceso, este tiene un UID/GID real y un UID/GID efectivo.

UID/GID real. Identifican al usuario y grupo de usuario que ha lanzado (y puede

detenar) un proceso.

UID/GID efectivo. Identifican las operaciones que el proceso puede hacer en el

sistema.

Por ejemplo, un proceso con UID efectivo 0 (root) puede modificar todos los

ficheros del sistema.

Lo normal es que los UID/GID reales y efectivos coincidan.

Podemos usar la orden ps para ver los UID/GID reales y efectivos.

Ejemplo. UID/GID reales y efectivos.

Page 8: Gestión de ficheros y directorios

Ejemplo. UID/GID reales y efectivos (forma numérica).

Ejemplo. La orden passwd.

Cuando un usuario ejecuta passwd, se modifica el fichero /etc/shadow que es propiedad de

root.

Los permisos setuid y setgid en forma simbólica son s y en forma numérica son 4000 y 2000

respectivamente.

Ejemplo. Activar setuid (forma simbólica).

Ejemplo. Activar setgid (forma simbólica).

Ejemplo. Activar setuid (forma numérica).

Permiso sticky bit.

Solo se utiliza en directorios.

Permite crear ficheros en un directorio (con permiso de escritura), pero solo los podrán borrar.

El propietario del fichero.

El propietario del directorio.

El usuario root.

Ejemplo. Directorio /tmp.

El permiso sticky en forma simbólica es t y en forma numérica es 1000.

Ejemplo. Activar sticky (forma simbólica).

Page 9: Gestión de ficheros y directorios

Ejemplo. Activar sticky (forma numérica).

Comados chown y chgrp

Las ordenes chown y chgrp permiten cambiar el usuario y grupo propietario de un fichero.

Solo el usuario root puede cambiar el propietario de un fichero.

Solo los usuarios que pertenecen al nuevo grupo, pueden cambiar de grupo.

El formato de la orden chown es chown [opciones] usuario [:grupo] fichero.

Ejemplo. Cambiar el usuario y grupo propietario.

Algunas opciones.

-R. Cambia recursivamente el usuario (y grupo) propietario de un directorio y lo que

contenga.

-v. Indica las opciones que realiza.

Ejemplo. Cambiar el usuario propietario.

El formato de la orden chgrp es chgrp [opciones] grupo fichero.

Tiene las mismas opciones que la orden chown.

Ejemplo. Cambiar el grupo propietario.

Enlaces

Los enlaces simbólicos permiten referirse a un fichero con otro nombre.

Podrían verse como los accesos directos a ficheros.

Existen dos tipos de enlaces.

Enlaces blandos (o simbólicos). Un fichero que apunta al fichero original (son los

enlaces más comunes).

Cualquier cambio tanto en el fichero original como en el enlace simbólico se

reflejará en el otro fichero.

Page 10: Gestión de ficheros y directorios

Borrar el enlace simbólico no afecta al fichero original (seguirá existiendo).

Enlaces duros (o físico). Se asigna otro nombre a un fichero.

No existe el concepto de fichero original y enlace, pues todos los nombres

tienen la misma categoría (son el mismo fichero).

El fichero se borra cuando se borran todos sus nombres.

Podemos ver los enlaces con la orden ls -l.

Ejemplo. Enlace simbólico.

Ejemplo. Enlace duro.

Ejemplo. Inodo de enlace duro.

Comando ln y comando unlink

La orden ln permite crear enlaces tanto simbólicos como duros.

El formato más habitual es ln [opciones] origen destino.

Ejemplo. Crear enlace simbólico.

Algunas opciones.

-f. Borra el fichero destino si ya existe.

-s. Crea enlaces simbólicos.

-v. Muestra el nombre del fichero antes de enlazarlo.

Ejemplo. Crear enlace simbólico (un directorio).

Ejemplo. Crear un enlace duro.

La orden unlink permite eliminar enlaces.

Su formato es unlink fichero.

Ejemplo. Eliminar enlace.

Page 11: Gestión de ficheros y directorios

Anexo. Buscar ficheros

Una tarea común en los sistemas es la búsqueda de ficheros que cumplan determinadas

características.

Por ejemplo, ficheros propiedad de un usuario, modificados recientemente, de un

determinado tipo, etc.

Existen diversos comandos que ayudan a buscar estos ficheros en el sistema.

Comandos which y whereis

Las órdenes which y whereis permiten buscar la ubicación de los comandos del sistema.

Comando which.

La orden which busca la ruta de los comandos.

Su formato es which [opciones] comando.

Ejemplo. Buscar comando.

Sus opciones son.

-a. Muestra todas las rutas del comando.

Ejemplo. Buscar comando (todas las rutas).

Comando whereis.

La orden whereis busca el fichero binario, el código fuente y página del manual (man) de un

comando.

El formato es whereis [opciones] comando.

Ejemplo. Buscar comando.

Algunas opciones.

-b. Sólo busca binarios.

-m. Sólo busca las páginas del manual.

-s. Sólo busca las fuentes.

Ejemplo. Buscar binarios y fuentes.

Page 12: Gestión de ficheros y directorios

Comando locate

La orden locate permite encontrar ficheros por nombre.

Es bastante rápido, ya que busca en una base de datos (var/lib/mlocate/mlocate.db) donde

almacena la ubicación de los ficheros en vez de buscar en el propio sistema de ficheros.

La base de datos se actualiza con la orden updatedb.

Los resultados de la búsqueda serán más o menos fiables dependiendo de la periodicidad de

actualización de la base de datos.

Su formato es locate [opciones] patrónDeBúsqueda.

Ejemplo. Buscar ficheros.

Algunas opciones.

-b. Sólo busca coincidencias en el base name (en el nombre del fichero, no en todo el

path).

-c. Muestra el número de ficheros con el mismo nombre en vez de los ficheros.

-e. Muestra sólo ficheros “existentes”.

Si eliminamos un fichero y la base de datos no se actualiza, locate seguirá

mostrando el fichero borrado.

-i. No hace distinción entre mayúsculas y minúsculas.

-S. Muestra estadísticas sobre la base de datos mlocate.db.

Ejemplo. Mostrar sólo ficheros “existentes”.

Eliminamos un fichero, si ejecutamos locate sin actualizar la base de datos seguirá mostrando

el fichero.

Ejecutamos locate -e.

Ejemplo. No discriminar entre mayúsculas y minúsculas.

Page 13: Gestión de ficheros y directorios

Ejemplo. Número de ficheros jpg del sistema.

Ejemplo. Estadísticas de la base de datos.

Actualizar la base de datos.

Para actualizar la base de datos tenemos que ejecutar la orden updatedb.

Normalmente se crea una tarea cron para realizar la actualización (usr/bin/updatedb).

Ejemplo. Actualizar base de datos.

Comando find

La orden find permite encontrar ficheros que cumplan un determinado criterio.

Al contrario que la orden locate, find busca los ficheros en el sistema de ficheros (es un poco

más lento).

El formato más común de la orden es find [directorio] expresión.

Ejemplo. Buscar ficheros (búsqueda por nombre).

Ejemplo. Buscar ficheros (búsqueda por nombre y tipo).

Creando expresiones de búsqueda.

Las expresiones de búsqueda tienen los siguientes componentes.

opciones. Modifica la forma en que opera find.

Page 14: Gestión de ficheros y directorios

criterios. Indica el criterio de búsqueda.

acciones. Indica qué hacer con los ficheros encontrados.

operadores. Permiten agrupar expresiones.

Opciones.

-maxdepth. Indica el nivel de subdirectorios donde buscará.

-maxdepth 1 buscará ficheros sólo en el directorio indicado.

-mindepth. Indica el nivel de subdirectorios donde empezará a buscar.

-mount. No busca en otras particiones.

Criterios de búsqueda.

Algunos criterios de búsqueda generales.

-iname. Busca ficheros por nombre (se pueden utilizar comodines) sin distinguir entre

mayúsculas y minúsculas.

-name. Busca ficheros por nombre (se pueden utilizar comodines).

-perm. Busca según los permisos del fichero.

El formato es -perm [+ -] permisos.

-perm 022. Busca permisos exactos (permisos exactos).

-perm -022. Busca todos los permisos (permisos de escritura para grupo y

otros).

-perm +022. Busca alguno de los permisos (permiso de escritura para grupo u

otros).

-size. Busca según el tamaño del fichero.

El formato es -size [+ -] tamaño [b c k].

b bloques, c Bytes o k Kb (opción por defecto).

-size 300. Busca el tamaño exacto.

-size -300. Busca ficheros de menor tamaño.

-size +300. Busca ficheros de mayor tamaño.

-type. Busca según el tipo de fichero (b, c, d, p, l, s, f).

f para ficheros normales.

-uid, -gid. Indica el UID o GID de los ficheros.

-user. Busca por propietario del fichero.

Algunos criterios de búsqueda por tiempo.

-atime. Busca ficheros por fecha de acceso (en días).

El formato es -atime [+ -] tiempo.

-atime 3. Busca la fecha exacta.

-atime +3. Busca fechas anteriores.

-atime -3. Busca fecha posteriores.

-mtime. Busca ficheros por fecha de modificación (en días).

Igual que -atime.

-amin, -mmin. Como -atime y -mtime pero en minutos.

Page 15: Gestión de ficheros y directorios

-anewer fichero, -newer fichero. Busca la fecha de acceso o modificación

respectivamente más reciente que un fichero dado.

Acciones.

-exec. Permite ejecutar una orden sobre los ficheros encontrados.

El formato es -exec comando \{\} \;.

-ls. Muestra el nombre de los ficheros en formato largo.

-ok. Como -exec, pero pregunta antes de ejecutar la orden.

Tiene el mismo formato que -exec.

-print. Muestra el nombre de los ficheros encontrados (opción por defecto).

Operadores.

-a. Operación AND.

-o. Operación OR.

!. Operación NOT.

(). Agrupa expresiones (los símbolos de paréntesis se tienen que escapar).

Ejemplo. Buscar ficheros propiedad del usuario manuel sólo en el directorio indicado.

Ejemplo. Mostrar en formato largo ficheros con extensión html.

Ejemplo. Buscar ficheros sin extensión html.

Ejemplo. Buscar ficheros modificados en los últimos siete días.

Ejemplo. Buscar sólo en un directorio ficheros (tipo fichero normal) y mayores de 30 Kb.

Ejemplo. Buscar sólo en un directorio ficheros (tipo fichero normal) o mayores de 30 Kb.

Ejemplo. Buscar ficheros en el propio directorio con permisos de escritura para grupo y otros.

Ejemplo. Buscar ficheros en el propio directorio con permisos de escritura para grupo u otros.

Page 16: Gestión de ficheros y directorios

Ejemplo. Buscar y copiar a un directorio ficheros por nombre (sin discriminar mayúsculas y

minúsculas).

Ejemplo. Buscar sólo ficheros con nombre hola o sólo directorios con nombre adios.

Anexo. Comandos básicos de gestión de ficheros y directorios

Los sistemas Linux poseen muchas herramientas para gestionar ficheros y directorios desde el

shell.

Comandos pwd y cd

La orden pwd indica el directorio actual y la orden cd permite navegar por el sistema de

ficheros.

Comando pwd.

La orden pwd muestra el directorio actual de trabajo.

El formato más común de la orden es pwd.

Ejemplo. Mostrar directorio actual.

Por defecto, en la mayoría de los sistemas Linux el directorio actual se indica en el prompt.

Ejemplo. Prompt (directorio /home/usuario).

Ejemplo. Prompt (directorio /home).

Comando cd.

La orden cd permite navegar por el sistema de ficheros.

Page 17: Gestión de ficheros y directorios

Se pueden indicar rutas absolutas y relativas.

Ruta absoluta. Ruta que comienza desde el directorio raíz (/) especificando todos los

directorios hasta el directorio destino.

Ruta relativa. Ruta que comienza desde el directorio actual.

El formato es cd ruta.

Ejemplo. Cambiar de directorio (ruta absoluta).

Ejemplo. Cambiar de directorio (ruta relativa).

Algunos atajos.

Directorio .. Indica el directorio actual.

La orden cd lee la variable de entorno PWD.

Directorio . .. Indica el directorio superior.

Directorio ~. Indica el directorio home del usuario.

Lo mismo que indicado la orden cd sin argumentos (sin ruta).

La orden cd lee la variable de entorno HOME.

Directorio -. Indica el directorio anterior (el último directorio visitado).

La orden cd lee la variable de entorno OLDPWD.

Ejemplo. Cambiar a un directorio inferior (ruta relativa).

O simplemente.

Ejemplo. Cambiar a un directorio superior.

Ejemplo. Cambiar a dos directorios superiores.

Ejemplo. Cambiar al directorio home del usuario.

Ejemplo. Cambiar al directorio anterior.

Page 18: Gestión de ficheros y directorios

Comandos mkdir y rmdir

La orden mkdir permite crear directorios y la orden rmdir elimina directorios vacíos.

Comando mkdir.

El formato de la orden es mkdir [opciones] directorio.

Ejemplo. Crear directorio.

Algunas opciones.

-m. Indica los permisos del directorio.

Los permisos se pueden indicar con formato numérico o simbólico.

Si no se indican, los permisos los define umask.

-p. Crea la estructura de directorios completa.

Ejemplo. Crear una estructura de directorios.

Por defecto, mkdir no puede crear una estructura de directorios completas (el directorio

“directorio” no existe).

Crear la estructura completa en un solo paso.

Ejemplo. Indicar permisos (formato numérico).

Ejemplo. Indicar permisos (formato simbólico).

Comando rmdir.

La orden rmdir elimina directorios vacíos.

Page 19: Gestión de ficheros y directorios

El formato es rmdir [opciones] directorio.

Ejemplo. Eliminar directorio.

Algunas opciones.

-p. Elimina una estructura de directorios completa.

Ejemplo. Eliminar una estructura de directorios completa.

Comando touch.

La orden touch permite cambiar las marcas de tiempo de un fichero (fecha de acceso y/o

modificación).

Además, touch crea un fichero vacío si no existe.

El formato de la orden es touch [opciones] fichero.

Ejemplo. Cambiar marcas de tiempo.

Ejemplo. Crear un fichero vacío (se crea si el fichero no existe).

Algunas opciones.

-a. Cambia la fecha de acceso del fichero.

-c. No crea un fichero.

-m. Cambia la fecha de modificación del fichero.

-r ficheroReferencia. Cambia la fecha de acceso y/o modificación a la del

ficheroReferencia.

Ejemplo. Cambiar fecha de modificación.

Comandos cp y mv

Las ordenes cp y mv permiten reubicar (copiar y mover respectivamente) ficheros en el

sistema de ficheros.

Comando cp.

Page 20: Gestión de ficheros y directorios

La orden cp permite duplicar (copiar) ficheros.

El formato es cp [opciones] origen destino.

Si se indica un fichero con el mismo nombre que destino, la orden cp sobrescribirá el fichero

existente.

Ejemplo. Copiar fichero.

Algunas opciones.

-b. Crea una copia de seguridad del fichero origen.

La copia tendrá el signo ~ al final del nombre.

-i. Pregunta antes de sobrescribir un fichero.

-l. Se crea un enlace simbólico en vez de copiar el fichero.

Se utiliza cuando se copia un enlace simbólico (en vez de copiar el fichero

creará otro enlace).

-n. No sobrescribe ficheros.

-p. Mantiene las propiedades del fichero origen (permisos, marcas de tiempo).

-r. Copia recursiva de directorios (Se utiliza cuando el origen es un directorio en vez de

un fichero).

Ejemplo. Preguntar antes de sobrescribir un fichero.

Ejemplo. Crear copia de seguridad.

Ejemplo. Copiar un directorio.

Ejemplo. Copiar todos los ficheros de un directorio.

Ejemplo. Crear un enlace simbólico.

Page 21: Gestión de ficheros y directorios

Comando mv.

La orden mv permite mover ficheros y directorios.

El formato es mv origen destino.

Si el origen y el destino es el mismo sistema de ficheros (el mismo directorio) se renombra el

fichero.

Ejemplo. Mover un fichero.

Algunas opciones.

-i. Pregunta antes de sobrescribir un fichero.

Ejemplo. Renombrar fichero.

Ejemplo. Mover un directorio.

Ejemplo. Mover todo el contenido de un directorio.

Comando rm

La orden rm permite borrar ficheros y directorios.

El formato es rm [opciones] fichero.

Ejemplo. Borrar un fichero.

Algunas opciones.

-i. Pregunta antes de eliminar un fichero.

-r. Borra directorios recursivamente (Borra el directorio y su contenido).

Ejemplo. Borrar todo el contenido de un directorio.

Ejemplo. Borrar directorio (y su contenido).