Comandos Unix/Linux

 

Imagen de Tux

Colección de apuntes sobre comandos Unix/Linux, aunque algunos de los ejemplos están basados en la distribución de Ubuntu, la mayoria de ellos son aplicables a cualquier distro.

 

 

 

 

 

 

Sistema de ficheros en un Sistema Operativo UNIX/LINUX

 

Resumen de los directorios más importantes:

  • /bin: contiene los ejecutables (binarios) esenciales para el sistema. Si observamos su contenido encontraremos los comandos más básicos.
  • /boot: aquí están los archivos usados por el sistema durante el arranque, incluida la imagen del núcleo.
  • /dev: almacena los controladores (device drivers o device files) para el acceso a los dispositivos físicos del disco, como el ratón, las tarjetas, el escáner, etc.
  • /var: suele contener información variable, tanto generada por el propio sistema como por los usuarios. Contiene algunos subdirectorios interesantes:
  • /var/lock: alberga los ficheros de bloqueo para indicar al sistema que un determinado dispositivo es inaccesible cuando está siendo usado por alguna aplicación.
  • /var/log: es la bitácora del sistema, puesto que aquí se almacenan los registros detallados de toda la actividad desarrollada en el transcurso de una sesión de trabajo.
  • /var/spool: contiene información preparada para ser transferida, por ejemplo, los trabajos de impresión o los mensajes de correo.
  • /lib: contiene las librerías usadas por diferentes aplicaciones, evitando que cada programa incluya las suyas propias con la consiguiente redundancia de ficheros.
  • /etc: es el directorio destinado para almacenar todos los archivos de configuración del sistema.
  • /home: contiene el árbol de directorios propio de cada usuario del sistema. Encontraremos un subdirectorio para cada usuario, lo que en el entorno gráfico se llama carpeta personal. Es una buena costumbre situar este directorio en una partición independiente para salvaguardar los datos en caso de catástrofe o para reinstalar completamente un sistema distinto respetando el trabajo anterior.
  • /sbin: aloja comandos esenciales de administración del sistema, normalmente reservados al administrador.
  • /usr: donde se almacenan las aplicaciones y recursos disponibles para todos los usuarios del sistema.
Destacaremos:
  • /usr/bin: contiene la mayoría de programas y comandos a disposición de los usuarios.
  • /usr/share: suele contener datos compartidos independientes de la máquina, como la documentación de los programas o colecciones de imágenes para el escritorio.
  • /tmp: es un directorio temporal usado generalmente por las aplicaciones para almacenar algunos ficheros en tiempo de ejecución.
  • /media: cuando montamos un CDRom, una memoria usb o un disquete se crea aquí automáticamente un subdirectorio .
  • /media/cdrom0 para la primera unidad de cdrom
  • /media/usbdisk para la memoria usb
  • /media/floppy para el disquete

 

Operaciones con ficheros

 

  • df[opciones] visualiza el punto de montaje, el número de bloques libres y si le pongo la opción -i los inodos libres en cada sistema de archivos.
  • du[opciones] directorio|fichero informa de los bloques totales que usa el directorio sumando lo que ocupan los objetos de toda la rama que cuelga de él.

Opciones:

-a recursivamente

  • fdformat /dev/fd0: formatea a bajo nivel la disquetera.
  • mkfs ext2|ext3 /dev/fd0: crea el sistema de archivos ext2 ó ext3 en un dispositivo.
  • mkdosfs /dev/fd0: crea un sistema de archivos en formato 2 en un dispositivo
  • cfdisk dispositivo: programa visual para hacer particiones en dispositivos.
  • mount /dev/fd0 /floppy: monta la disquetera en el directorio floppy.
  • umount dispositivo: desmonta sistemas de ficheros.

 

 

Tipos de dispositivos:

 

/dev/fd0: disquetera

/dev/hda1: partición de disco duro no1

/dev/hdc: cdrom

nota: el lápiz USB se monta en /media/usbdisk

Para ver que sistemas de archivos hay y con qué características se montan cuando el sistema arranca hay que mirar el fichero fstab:

 

Ejemplo:

 

cat/etc/fstab

 

Manejo de Directorios y Ficheros

 

  • cd: cambia de directorio activo, cd solo te lleva a tu HOME. Un punto para referirse al directorio actual. Dos puntos .. al directorio padre.
  • ls: lista el contenido de un directorio.

-a: lista los ocultos.

-R: lista recursivamente

-r: lista en orden inverso

-f: visualiza un * en los ejecutables, una / junto a directorios y @ junto E. simbólicos.

-s: muestra el tamaño en bloques.

-l: formato largo.

-i: muestra el i-nodo

-d: para ver el listado de los directorios sin lo que llevan dentro

 

Ejemplo:

 

ls -Ra ./*/mensaje → lista a partir de mi directorio actual y mira en el siguiente directorio sea cual sea su nombre.

  • mkdir: crea directorios. Se pueden crear varios a la vez. Se debe tener permiso de escritura donde se vayan a crear.
  • mkdir -p directorio/ sirve para crear ramas de directorios.
  • rmdir: borra uno o más directorios, siempre que los permisos lo permitan. Los directorios tienen que estar vacíos. No se puede eliminar el directorio actual. Se pueden usar meta caracteres.
  • rmdir -p directorio borra una estructura entera si sus directorios están vacíos.
  • mv: mueve o renombra (si están en el mismo sitio) ficheros o directorios. Cuando se mueve un archivo se conserva el i-nodo.
Ejemplo:
mv directorio1 directorio2 → los directorio pueden estar llenos.
  • cp fichero1 fichero2: hace una copia de fichero1 en fichero2 . Si el destino existe lo sobrescribe sin preguntar. Si el destino existe y sobrescribimos se cambia el contenido, pero se conserva el propietario y los permisos de destino. Si no existe el destino lo crea y mantiene los permisos de origen.
Parámetros opcionales:
-i: pregunta al usuario si quiere copiar sobre el destino ya existente

-R: copia de forma recursiva lo que hay en carpeta 1 en carpeta2

 

Ejemplo:

 

cp -R carpeta1 carpeta2 → Copiará la carpeta1 y todo su contenido en carpeta2.

-p: al hacer la copia mantiene la fecha, hora, propietario y permisos

-f: sobrescribe el destino en caso de existir aunque no se tenga permiso de escritura sobre el pero es necesario tener permiso sobre el directorio en el que está.

  • rm: elimina archivos de uno o varios directorios.

-i: pregunta antes de borrar cada archivo.

-f: elimina el archivo aunque no tengamos permiso para suprimirlo, pero se debe de tener permiso sobre el directorio en el que está.

-r: borra todo el contenido del directorio así como el propio directorio.

 

Ejemplo:

 

rm -r directorio1 → Borrará el directorio1 así como todo su contenido.

 

Búsqueda de ficheros

 

Para buscar uno ó varios ficheros en el conjunto de directorios se utiliza el siguiente comando:

 

  • find directorio -opcion1 -opcion2 ....

Opciones:

-name nombre del archivo (o directorio) a buscar

-user todos los archivos del usuario que especifiquemos

-type x donde x puede ser: b = archivo de bloque, c = archivo tipo carácter, d = directorio, f = fichero normal, l = enlace simbólico.

-print muestra en pantalla la ruta de todo el archivo

-perm [-]nnn buscaría todos los archivos cuyos permisos de acceso sean los indicados (en

octal).

-size n buscaría todos los archivos con n bloques (512 bytes). Con size nc los de n bytes ó caracteres.

-follow buscaría siguiendo los posibles enlaces

-exec xx "{}" ";" sirve para ejecutar un determinado comando "xx" en los archivos encontrados.

-xdev no extender la búsqueda a otros sistemas de archivos

-not invierte lo que va detrás

-empty busca archivos o directorios vacios

-links n busca archivos o directorios con n enlaces.

-inum n encuentra el archivo con el número de enlace n

-nouser usuarios que no pertenecen ya al sistema

 

 

Ejemplo:

 

find / -nouser -exec rm -r "{}" ";" buscaríamos a partir del directorio raíz todos los archivos y directorios de usuarios que ya no pertenecen al sistema y los borraríamos.

 

Metacaracteres

 

Los Metacaracteres nos permiten hacer búsquedas muy selectivas veamos cómo se utilizan con unos ejemplos:

 

t???[a-b] → ficheros que empiezan por t, con cinco letras y que acaban en una letra que va de la a-b.

???q[¡b] ficheros de 5 letras cuya cuarta letra es una q y su quinta letra es distinta de b.

ls *lista todos los ficheros del directorio actual.

[a-gK-O4-7]es equivalente a [abcdefgKLMNO4567]

 

 

© 2007-2017 AquiHayapuntes.com