jueves, 16 de mayo de 2024

Comandos basicos en Linux (Tema 7)

 

Directorios y sistemas de archivos



En Linux y Unix todo es un fichero. Los directorios son ficheros, los ficheros son ficheros, y los dispositivos son ficheros. A veces a los dispositivos se les llama nodos, pero siguen siendo ficheros.

Los sistemas de ficheros de Linux y Unix se organizan en una estructura jerárquica, de tipo árbol. El nivel más alto del sistema de ficheros es / o directorio raíz. Todos los demás ficheros y directorios están bajo el directorio raíz. Por ejemplo, /home/jebediah/cheeses.odt muestra la ruta completa al fichero cheeses.odt que está en el directorio jebediah, que a su vez está bajo el directorio home, que por su parte está bajo el directorio raíz (/).

Por debajo del directorio raíz (/) hay un importante grupo de directorios común a la mayoría de las distribuciones de GNU/Linux. A continuación hay una lista de los directorios que aparecen normalmente bajo el directorio raíz (/):

  • /bin - aplicaciones binarias importantes

  • /boot - Ficheros de configuración del arranque, núcleos y otros ficheros necesarios para el arranque (boot) del equipo.

  • /dev - los ficheros de dispositivo

  • /etc - ficheros de configuración, scripts de arranque, etc.

  • /home - directorios personales (home) para los diferentes usuarios.

  • /initrd - usado cuando se crea un proceso de arranque initrd personalizado.

  • /lib - librerías del sistema (libraries)

  • /lost+found - proporciona un sistema de "perdido+encontrado" (lost+found) para los ficheros que existen debajo del directorio raíz (/)

  • /media - particiones montadas (cargadas) automáticamente en el disco duro y medios (media) extraíbles como CDs, cámaras digitales, etc.

  • /mnt - sistemas de archivos montados manualmente en el disco duro.

  • /opt - proporciona una ubicación donde instalar aplicaciones opcionales (de terceros)

  • /proc - directorio dinámico especial que mantiene información sobre el estado del sistema, incluyendo los procesos actualmente en ejecución

  • /root - directorio personal del usuario root (superusuario); también llamado "barra-root".

  • /sbin - binarios importantes del sistema

  • /srv - puede contener archivos que se sirven a otros sistemas

  • /sys - archivos del sistema (system)

  • /tmp - temporary files

  • /usr - aplicaciones y archivos a los que puede acceder la mayoría de los usuarios

  • /var - archivos variables como archivos de registros y bases de datos



¿Qué Son Los comandos Linux?

Los comandos de Linux te permiten controlar tu sistema desde la interfaz de línea de comandos (CLI) en lugar de utilizar tu ratón o trackpad. Son instrucciones de texto introducidas en el terminal para indicarle a tu sistema exactamente qué hacer.

Los comandos que ingreses en el terminal de Linux distinguen entre mayúsculas y minúsculas y siguen una sintaxis como “comando -opciones argumentos“. Puedes combinarlos para tareas complejas mediante pipelines y redirecciones.

Algunas cosas clave para saber sobre los comandos de Linux:

  • Son sensibles a mayúsculas y minúsculas; por ejemplo, “ls” y “LS” significan cosas diferentes.
  • Siguen una sintaxis específica como “comando -opciones argumentos“.
  • Se pueden combinar para realizar operaciones complejas mediante pipelines y redirecciones.
  • Te proporcionan un control detallado sobre tu sistema, algo difícil de lograr con interfaces gráficas.
  • Te permiten automatizar tareas mediante scripts de shell y procesamiento por lotes.
  • Se pueden utilizar para acceder a recursos del sistema como el sistema de archivos, red, memoria y CPU.
  • Forman la base de la interacción con servidores y sistemas operativos Linux.

Comandos de Administración de Archivos en Linux


La gestión de archivos es una tarea común en la línea de comandos de Linux. Aquí tienes comandos esenciales para archivos:

1. ls – Listar Contenidos de Directorio

El comando ls es uno de los comandos de Linux más utilizados. Lista el contenido de un directorio, mostrando todos los archivos y subdirectorios contenidos en su interior.

Sin opciones o argumentos, ls mostrará el contenido del directorio de trabajo actual. Puedes pasar un nombre de ruta para listar archivos y carpetas en esa ubicación en su lugar.

Sintaxis:

ls [opciones] [directorio]

Algunas de las opciones más útiles de ls incluyen:

  • -l – Muestra los resultados en formato largo, mostrando detalles adicionales como permisos, propiedad, tamaño y fecha de modificación para cada archivo y directorio.
  • -a – Muestra archivos y directorios ocultos que comienzan con . además de los elementos no ocultos.
  • -R – Lista de forma recursiva todo el contenido de los subdirectorios, descendiendo indefinidamente en carpetas secundarias.
  • -S – Ordena los resultados por tamaño de archivo, comenzando por el más grande.
  • -t – Ordena por marca de tiempo, el más reciente primero.

Ejemplo:

ls -l /home/user/documentos

Esto listaría el contenido de la carpeta “documents” en un formato largo. 

Ejemplo de resultado:

total 824
-rwxrwx--- 1 user user    8389 Jul 12 08:53 report.pdf
-rw-r--r-- 1 user user   10231 Jun 30 16:32 presentation.pptx
drwxr-xr-x 2 user user    4096 May 11 09:21 images
-rw-rw-r-- 1 user user     453 Apr 18 13:32 todo.txt

Este resultado muestra una lista detallada con permisos, tamaño, propietario y marca de tiempo para cada archivo y directorio. El formato de lista larga proporcionado por la opción -l brinda información útil sobre los archivos de un vistazo.

El comando ls te brinda un control flexible sobre la lista de contenido del directorio y es uno de los comandos que utilizarás constantemente al trabajar en Linux.

2. cd – Cambiar de Directorio

El comando cd se utiliza para navegar entre directorios. Te permite moverte desde el directorio de trabajo actual a una nueva ubicación en el sistema de archivos.

Cuando ejecutas el comando cd por sí mismo, te llevará al directorio de inicio. También puedes pasar una ruta específica para cambiar a ella. Por ejemplo:

  • cd /usr/local – Cambia al directorio /usr/local 
  • cd .. – Te mueve un nivel atrás hacia el directorio principal 
  • cd ~/pictures – Cambia a la carpeta pictures en tu directorio de inicio

Sintaxisis:

cd [directorio]

Ejemplo:

cd /home/user/documents

Esto cambiaría el directorio de trabajo a la carpeta “documents” dentro de /home/user. Usar cd es esencial para poder acceder y trabajar con archivos en diferentes ubicaciones de manera conveniente.

3. mkdir – Crear un Nuevo Directorio

El comando mkdir te permite crear una nueva carpeta. Simplemente, específicas el nombre del directorio a crear.

Sintaxis:

mkdir [opción] <directorio>

Esto creará un directorio llamado por ejemplo “nuevoproyecto” en el directorio de trabajo actual.

Algunas opciones útiles de mkdir:

  • -p – Crea directorios principales de forma recursiva según sea necesario.
  • -v – Muestra un resultado detallado que indica los directorios creados.

Ejemplo:

mkdir -v ~/project/code

Esto crearía el subdirectorio “code” bajo “project” en la carpeta de inicio del usuario, con un resultado detallado que muestra el directorio creado

4. rmdir – Eliminar Directorio

Para eliminar un directorio vacío, utiliza el comando rmdir. Ten en cuenta que rmdir solo puede eliminar directorios vacíos, y necesitaremos el comando rm para eliminar los que tengan algún contenido.

Sintaxis:

rmdir [opciones] <directorio>

Algunas opciones para rmdir incluyen:

  • -v – Muestra un resultado detallada al eliminar directorios.
  • -p – Elimina directorios principales de forma recursiva según sea necesario.

Ejemplo:

rmdir -v ~/project/code

Esto eliminaría el subdirectorio “code” bajo “project” mientras muestra un resultado detallado.
5. touch – Crear Un Nuevo Archivo Vacío

El comando touch se utiliza para crear instantáneamente un nuevo archivo vacío. Esto es útil cuando necesitas un archivo vacío para llenarlo con datos más tarde.

La sintaxis básica de touch es:

touch [opciones] /nombredearchivo

Algunas opciones útiles para touch incluyen:

  • -c – No crea el archivo si ya existe. Evita sobrescribir archivos existentes accidentalmente.
  • -m – En lugar de crear un nuevo archivo, actualiza la marca de tiempo en un archivo existente. Esto se puede usar para cambiar la hora de modificación

Por Ejemplo:

touch /home/user/nuevoarchivo.txt

El comando anterior crea un nuevo archivo vacío llamado “nuevoarchivo.txt” en el directorio /home/user. Si nuevoarchivo.txt ya existe, actualizará las marcas de acceso y modificación en el archivo en su lugar.

6. cp – Copiar Archivos y Directorios

El comando cp copia archivos o directorios de una ubicación a otra. Requiere pasar una ruta de origen y un destino.

La sintaxis básica de cp es:

cp [opciones] /origen/ /destino/

Algunas opciones útiles de cp:

  • -r – Copia directorios de forma recursiva, descendiendo a subdirectorios para copiar su contenido también. 
  • -i – Solicita confirmación antes de sobrescribir archivos existentes en el destino. Evita sobrescribir datos accidentalmente.
  • -v – Muestra un resultado detallado que indica los detalles de cada archivo mientras se copia. Útil para confirmar exactamente lo que se copió.

Por Ejemplo:

cp -r /home/user/documents /backups/

Esto copiaría de forma recursiva el directorio /home/user/documents y todo su contenido al directorio /backups/. La opción -r es necesaria para copiar directorios.

El comando cp es una de las utilidades de administración de archivos más utilizadas para copiar archivos y directorios en Linux, y te encontrarás usando este comando con bastante frecuencia.

7. mv – Mover o Renombrar Archivos y Directorios

El comando mv se utiliza para mover archivos o directorios a una ubicación diferente o renombrarlos. A diferencia del comando anterior, los archivos de la ruta de origen se eliminan después de haber sido movidos al destino.

También puedes usar el comando mv para renombrar archivos, ya que solo necesitas cambiar las rutas de origen y destino al antiguo y nuevo nombre.

La sintaxis de mv es:

mv [opciones] /origen/ /destino/

Opciones útiles de mv:

  • -i – Solicitar antes de sobrescribir archivos existentes en la ubicación de destino. Esto evita sobrescribir datos accidentalmente.
  • -v – Producir un resultado detallado que muestre cada archivo o directorio a medida que se mueve. Útil para confirmar exactamente lo que se movió.

Por Ejemplo:

mv ~/folder1 /tmp/folder1

Esto moverá folder1 desde el directorio de inicio (~) al directorio /tmp/. Echemos un vistazo a otro ejemplo de cómo usar el comando mv para renombrar archivos.

mv folder1 folder2

Aquí, “folder1” es renombrado a “folder2.” 

8. rm – Eliminar Archivos y Directorios

El comando rm elimina archivos y directorios. Úsalo con precaución porque los archivos y directorios eliminados no se pueden recuperar.

La Sintaxis es:

rm [opciones] /nombre/

Opciones útiles de rm:

  • -r – Elimina directorios de forma recursiva, incluyendo todos los contenidos dentro de ellos. Necesario al eliminar directorios.
  • -f – Forzar la eliminación y suprimir todas las solicitudes de confirmación. ¡Peligroso sin posibilidad de recuperación!
  • -i – Solicitar confirmación antes de eliminar cada archivo o directorio. Proporciona seguridad contra borrado accidental. 

Por Ejemplo:

rm -rf temp

Esto eliminará de forma recursiva el directorio “temp” y todos sus contenidos sin solicitar confirmaciones (-f anula las confirmaciones).

Nota: El comando rm borra permanentemente archivos y carpetas, así que úsalo con extrema precaución. Si se usa con privilegios de sudo, también podrías eliminar por completo el directorio raíz y Linux dejará de funcionar después de reiniciar tu computadora.

9. find – Buscar Archivos en una Jerarquía de Directorios

El comando find busca de forma recursiva archivos en directorios que coincidan con los criterios dados.

La sintaxis básica de find es:

find [ruta] [criterio]

Algunos criterios útiles para find incluyen:

  • -type f – Buscar solo archivos normales, omitiendo directorios. 
  • -mtime +30 – Buscar archivos modificados hace más de 30 días.
  • -user jane – Buscar archivos pertenecientes al usuario “jane.”

Por Ejemplo:

find . -type f -mtime +30 

Esto encontrará todos los archivos regulares mayores de 30 días en el directorio actual (indicado por el punto).

El comando find permite buscar archivos según todo tipo de condiciones avanzadas como nombre, tamaño, permisos, marcas de tiempo, propiedad y más.

10. du – Estimar el Uso del Espacio de un Archivo

El comando du mide el uso del espacio en disco para un directorio dado. Cuando se usa sin opciones, muestra el uso del disco para el directorio de trabajo actual.

La Sintaxis de du Es:

du [opciones] [ruta]

Opciones útiles de du:

  • -h –  Muestra los tamaños de archivo en un formato fácil de leer para humanos, como K para kilobytes en lugar de un recuento de bytes. Mucho más fácil de analizar.
  • -s – Muestra solo el tamaño total para un directorio, en lugar de enumerar cada subdirectorio y archivo. Bueno para resúmenes.
  • -a – Muestra tamaños individuales de archivos además de totales. Ayuda a identificar archivos grandes.

Por Ejemplo:

du -sh pictures

Esto imprimirá un tamaño total fácil de leer para el directorio “pictures.”

El comando du es útil para analizar el uso del espacio en disco de un árbol de directorios e identificar archivos que consumen espacio en exceso.

LISTA AMPLIADA DE COMANDOS:

 https://drive.google.com/drive/folders/1oTDZq7bFTue9tuWNI6io6CjMqPFWFegv?usp=sharing

VIDEO APLICACIÓN DE COMANDOS:

Bibliografia




No hay comentarios.:

Publicar un comentario

Sistemas Operativos y DOS

 Sistema Operativo El sistema operativo es el  software  que  coordina y dirige todos los servicios   y  aplicaciones  que utiliza el   usua...