El documento proporciona una introducción a los sistemas de archivos y directorios en Linux. Explica conceptos como ficheros, directorios, rutas, permisos y cómo moverse entre directorios y buscar, copiar y mover archivos usando comandos como ls, cd, find, cp y mv.
How to use Redis with MuleSoft. A quick start presentation.
Manejo de ficheros en Linux
1. Unidad 1. Introducción al S.O. Linux INDICE Introducción y características de Linux Distribuciones de Linux Instalación de Linux La shell de Linux Introducción a los sistemas de ficheros El path (ruta o camino) Programación en la shell: scripts
2.
3.
4.
5. Ejemplos de desplazamientos por directorios Ejemplo1 $ pwd /home/pedro $ cd props $ pwd /home/pedro/props $ cd /home/juan/cartas $ pwd /home/juan/cartas $ cd .. $pwd /home/juan $ ls . cartas informes $ cd informes $ ls .. cartas informes
6. Propiedades de los ficheros (I) En Linux existen cuatro tipos de ficheros: ejecutables (binarios), de texto , directorios y scripts (conjunto de comandos dentro de un fichero de texto) Para obtener información sobre ficheros se puede utilizar el comando “ls” con opciones: $ ls –l Visualiza información detallada sobre archivos. En este orden: tipo de archivo, permisos , número de enlaces , nombre del propietario , nombre del grupo , tamaño del archivo en bytes, fecha y hora de la última modificación y nombre del archivo Ejemplo: $ ls –l -rw-r--r-- 1 Juan Tiempo 207 feb 20 11:55 misdatos drwxrwxr-x 2 Juan Juan 4096 sep 12 10.33 test $ ls –a Incluye en el listado los archivos ocultos (su nombre comienza por “ . ”) $ ls –ld [<directorio>] Visualiza información sobre un directorio $ ls –u Visualiza los archivos ordenados según el último acceso $ ls –F Muestra “/”detrás del nombre si es un directorio y “*” si es un archivo $ ls –R Incluye los contenidos de los subdirectorios
7. Propiedades de los ficheros (II) El comando file muestra información sobre el tipo de archivo. Ej: $ file micarta micarta: ASCII text $file test test: directory
8.
9. Búsqueda de ficheros (I) find e s la orden para obtener el directorio donde se encuentra un fichero $ find <directorio_búsqueda> -<opción1> <criterios> [-<opción2> <criterios>] ... Opciones: -name <nombre_fichero> Búsqueda por nombre de archivo -user <nombre_usuario> Ficheros propiedad del usuario especificado -group <nombre_grupo> Ficheros que pertenecen al grupo especificado -size <bloques_tamaño> Ficheros de tamaño <bloques_tamaño> - print Visualiza la ruta por la salida estándar. Es la opción por defecto -type <tipo_fichero> Búsqueda por tipo de archivo <tipo_fichero> puede ser: b Dispositivos de bloque c Dispositivos de carácter d Directorios f Ordinarios (normales) p Canalizaciones con nombre (fifo) l Enlaces simbólicos
10. Búsqueda de ficheros (II) find (continuación) Opciones: -mtime <número_de_dias> Ficheros modificados hace <número_de_dias> <número_de_dias> y <bloques_tamaño> pueden ir precedidos de “+” (mayor que) o “ -” (menor que) Ejemplos “find”: $find / -name proyecto Busca el fichero “proyecto” desde el directorio raíz y muestra la ruta completa $find / -size +100 Ficheros de tamaño superior a 100 bloques Ejercicios “find”: Buscar todos los archivos con extensión “.c” en el directorio “programas” (del directorio de trabajo) modificados hoy Buscar el directorio de nombre “gracias” dentro del directorio principal del usuario “juan”
11. cp e s la orden para copiar ficheros y directorios: $ cp <archivo_origen1> [<archivo_origen2>] ... [<archivo_origenN>] <destino> <destino> puede ser un nombre de camino o un archivo Copiar archivos y directorios: cp (I) Opciones : -i : si el archivo destino ya existe el sistema pregunta si se desea reemplazarlo Se puede crear un alias para que el comando cp siempre se utilice con –i : $ alias cp=‘cp –i’ -p : cuando el usuario copia un archivo se convierte en propietario del mismo, y tendrá unos permisos predeterminados que no tienen por qué ser los mismos del original. Con la opción –p se mantienen los parámetros del archivo original -b : Hace una copia de seguridad cuando el archivo que queremos copiar ya existe se va a sobrescribir -r : Copia un directorio (y todos sus subdirectorios) de un directorio a otro
12. Copiar archivos y directorios: cp (II) Ejemplos “cp”: $ cp nuevaprop propuesta Copia el archivo “nuevaprop” en el archivo “propuesta”. Si “ propuesta” existe se sobrescribe $ cp doc1 doc2 informes Copia los archivos “doc1” y “doc2” en el directorio “informes” $ cp *.c /codigo/fuentes Copia todos los archivos con extensión “.c” en el directorio “ /codigo/fuentes” $cp informes/* nuevos Copia todos los archivos del directorio “informes” en el directorio “ nuevos” $cp –r cartas/gracias antiguas Copia el subdirectorio “cartas/gracias” en el directorio “antiguas” Ejercicios “cp”: Copiar todos los archivos con extensión “.o” o “.c” del directorio de trabajo al directorio “copiaproy” (que está dentro del directorio de trabajo) Copiar el archivo “nuevaprop” en el directorio “props” y con el nombre “version1”, pidiendo confirmación en caso de que “version1” ya exista
13. mv e s la orden para mover archivos/directorios y para renombrarlos Para cambiar un archivo de directorio: $ mv <nombre_archivo_original> <nombre_directorio > Para mover un directorio: $ mv <nombre_directorio_original> <nombre_directorio_destino > Para renombrar un archivo: $ mv <nombre_archivo_original> <nombre_archivo_nuevo> Mover/renombrar archivos y directorios: mv Ejemplos “mv”: $mv propuesta version1 Cambia el nombre del archivo “propuesta” a “version1” $mv informes/* copiainformes Mueve todos los archivos del directorio “informes” a “ copiainformes” Opciones : -i : pide confirmación de sobreescritura -b : Hace una copia de seguridad cuando el archivo destino ya existe y se va a sobrescribir
14. Crear y eliminar directorios mkdir e s la orden para crear directorios $ mkdir <nombre_direct1> [<nombre_direct2>] … [<nombre_directN>] Como argumento se puede pasar una ruta, pero todos los directorios de la ruta deben existir para que el comando se ejecute con éxito Ejemplos : $mkdir dfsi Crea el directorio “dfsi” dentro en el directorio de trabajo $mkdir /dfsi/alumnos Crea el directorio alumnos dentro de “dfsi” (este tiene que existir) rmdir e s la orden para eliminar directorios. El directorio tiene que estar vacío $ rmdir <nombre_direct1> [<nombre_direct2>] … [<nombre_directN>] Ejemplo : $rmdir dfsi Elimina el directorio “dfsi” dentro del directorio de trabajo
15. Borrar archivos rm e s la orden para borrar archivos $ rm { <nombre(s)_de_archivo> | * } Opciones : -i : pide confirmación antes de borrar el archivo Ejemplo $ rm –i dfsi/tema1 rm: ¿borrar el fichero regular vacío ‘dfsi/tema1’? (s/n) s $ Se puede crear un alias para que el comando rm siempre se utilice con –i : $ alias rm=‘rm –i’ -r : elimina un directorio y todos sus subdirectorios (también todos los archivos) Ejemplo $ rm –i –r dfsi rm: ¿descender al directorio ‘dfsi’? (s/n) s rm: ¿borrar el fichero regular ‘dfsi/tema2’? (s/n) s rm: ¿borrar el directorio ‘dfsi/alumnos’? (s/n) s rm: ¿borrar el directorio ‘dfsi’? (s/n) s $
Notas del editor
Solución ejercicios: 1) $ find programas –name ‘*.c’ –mtime 0 2) $ find /home/juan –name gracias –type d