LINUX – Comando «du» para análisis del uso de espacio en disco.

El comando ‘du’ (Disk Usage) es una herramienta de línea de comandos que nos permite analizar el uso de espacio en disco en sistemas Linux. Esta utilidad es especialmente útil cuando necesitamos identificar los directorios o archivos que están ocupando la mayor cantidad de espacio en nuestro disco duro. En este artículo, exploraremos cómo utilizar el comando ‘du’ de manera efectiva y cómo aprovechar su funcionalidad avanzada para obtener un análisis más detallado del uso de espacio en disco.

Introducción al comando ‘du’ en Linux

El comando ‘du’ es una herramienta estándar en la mayoría de las distribuciones de Linux y se utiliza para mostrar el tamaño de los directorios y archivos en el sistema de archivos. Su sintaxis básica es simple: ‘du’ seguido de las opciones y argumentos necesarios. Al ejecutar ‘du’ sin argumentos adicionales, mostrará el tamaño de los directorios y archivos en el directorio actual, ordenados de mayor a menor.

Para analizar el uso de espacio en disco en Linux, podemos utilizar el comando ‘du’ de diferentes maneras. Una opción común es utilizar la bandera ‘-s’ para resumir el tamaño total de un directorio o archivo en lugar de mostrar el tamaño de cada subdirectorio individualmente. Por ejemplo, para mostrar el tamaño total del directorio especificado.:

Otra opción útil es utilizar la bandera ‘-h’ para mostrar los resultados en un formato legible para los seres humanos, utilizando unidades como kilobytes (KB), megabytes (MB) o gigabytes (GB). Por ejemplo , para mostrar el tamaño total del directorio especificado en un formato legible.

Uso avanzado del comando ‘du’ para un análisis detallado

El comando ‘du’ también ofrece opciones avanzadas que nos permiten obtener un análisis más detallado del uso de espacio en disco. Por ejemplo, podemos utilizar la bandera ‘-a’ para mostrar el tamaño de todos los archivos y directorios en lugar de solo los directorios. Además, la opción ‘-h’ también se puede combinar con esta bandera para obtener resultados legibles para los seres humanos.

Otra opción interesante es utilizar la bandera ‘–max-depth’ seguida de un número para limitar la profundidad del análisis. Por ejemplo, para mostrar el tamaño de los directorios y archivos en el directorio especificado hasta una profundidad máxima de dos niveles.:

Recomendaciones para optimizar el espacio en disco utilizando ‘du’

Una vez que hemos obtenido un análisis detallado del uso de espacio en disco utilizando el comando ‘du’, podemos tomar medidas para optimizar el espacio. Algunas recomendaciones incluyen:

  • Eliminar archivos y directorios no utilizados o innecesarios.
  • Comprimir archivos grandes o antiguos que no se utilizan con frecuencia.
  • Mover archivos grandes a un dispositivo de almacenamiento externo.
  • Utilizar sistemas de archivos más eficientes, como ext4 en lugar de ext3.
  • Configurar cuotas de disco para limitar el espacio utilizado por cada usuario.

Al seguir estas recomendaciones, podemos aprovechar al máximo el espacio en disco disponible y mejorar el rendimiento de nuestro sistema Linux.

En resumen, el comando ‘du’ es una herramienta poderosa para analizar el uso de espacio en disco en sistemas Linux. Con su sintaxis simple y opciones avanzadas, podemos obtener un análisis detallado del espacio utilizado por directorios y archivos. Al utilizar el comando ‘du’ junto con las recomendaciones para optimizar el espacio, podemos mantener nuestro sistema Linux eficiente y maximizar el espacio de almacenamiento disponible.

Publicado en Unix - Linux | Deja un comentario

LINUX – Comando ‘touch’: Creación y modificación de archivos.

En el entorno Linux, el comando ‘touch’ es una herramienta muy útil para crear y modificar archivos de forma rápida y sencilla desde la línea de comandos. Con ‘touch’, los usuarios pueden crear nuevos archivos vacíos, actualizar la fecha de acceso o modificación de un archivo existente, o incluso establecer una fecha y hora específica para un archivo. En este artículo, exploraremos en detalle la sintaxis y las opciones del comando ‘touch’, y cómo utilizarlo para crear y modificar archivos en Linux.

Sintaxis y opciones del comando ‘touch’ en Linux

La sintaxis básica del comando ‘touch’ es la siguiente:

Algunas de las opciones más comunes incluyen:

  • ‘-a’: Actualiza solo la fecha de acceso del archivo.
  • ‘-m’: Actualiza solo la fecha de modificación del archivo.
  • ‘-c’: No crea un nuevo archivo si no existe.
  • ‘-r referencia’: Establece la fecha y hora del archivo según la referencia especificada.
  • ‘-d fecha’: Establece la fecha y hora del archivo según la fecha especificada.

Estas opciones permiten al usuario personalizar la forma en que se crean o actualizan los archivos utilizando el comando ‘touch’.

Cómo utilizar ‘touch’ para crear y modificar archivos en la línea de comandos

El comando ‘touch’ se puede utilizar para crear un archivo vacío simplemente especificando el nombre del archivo como argumento. Por ejemplo, para crear un archivo llamado ‘archivo.txt’, ejecutamos el siguiente comando:

Si deseamos modificar la fecha de acceso o modificación de un archivo existente, podemos utilizar las opciones ‘-a’ o ‘-m’ respectivamente. Por ejemplo, para actualizar solo la fecha de acceso de ‘archivo.txt’, ejecutamos el siguiente comando:

Para establecer una fecha y hora específica para un archivo, podemos utilizar la opción ‘-d’ seguida de la fecha deseada en el formato adecuado. Por ejemplo, para establecer la fecha y hora del archivo ‘archivo.txt’ al 1 de enero de 2022 a las 12:00 PM, ejecutamos el siguiente comando:

Con estas opciones y ejemplos básicos, los usuarios pueden aprovechar al máximo el comando ‘touch’ para crear y modificar archivos según sus necesidades en Linux (Para ver las fechas de creación, modificación de un archivo; podemos utilizar los comando : «stat <archivo> «ls -l <archivo>» «date -r <archivo>»).

El comando ‘touch’ es una herramienta esencial en el entorno Linux para la creación y modificación de archivos desde la línea de comandos. Con su sintaxis simple y opciones versátiles, los usuarios pueden personalizar la forma en que se crean y actualizan los archivos, ya sea estableciendo una fecha y hora específica o actualizando solo la fecha de acceso o modificación. Esto resulta especialmente útil para tareas de automatización y administración del sistema en Linux. Esperamos que este artículo haya sido útil para comprender y aprovechar al máximo el comando ‘touch’ en Linux.

Publicado en Unix - Linux | Deja un comentario

LINUX – Conexión sin clave, Relación de confianza, conectarse vía SSH, ejecutar comando remotos sin clave.

Para un ejemplo, supongamos que tengo una granja de 20 servidores de nombre “apolo01 al apolo20” y necesito conectarme vía SSH desde la cuenta “nagios” del servidor “monitor00” a la granja de servidores “apoloxx”, los pasos serían los siguientes :

1.- En el servidor “monitor00” generamos el par de claves de autenticación SSH para el usuario “nagios” utilizando la herramienta ssh-keygen. SSH implementa la autenticación con clave pública utilizando RSA o DSA. La versión 1 del protocolo SSH sólo soporta RSA, mientras que la versión 2 soporta ambos sistemas.

Con esta instrucción, creara las respectivas claves, dentro del directorio “.ssh”. Revisar que los permisos, para que funcione la raíz de la cuenta “nagios” debe tener permisos 755 .

La carpeta “.ssh” debe tener permisos 700.

Las claves dentro de la carpeta “.ssh” deben tener permisos 600.

Si el archivo .ssh/authorized_keys no existe, crearlo con los permisos adecuados (644), de lo contrario la autenticación con clave pública no funcionará correctamente:

El archivo “.ssh/authorized_keys”, lista las claves públicas con las cuales se permite el acceso. Cuando un usuario se loguea, el cliente SSH le indica al servidor qué par de claves desea utilizar para la autenticación. El cliente prueba que tiene acceso a la clave privada y el servidor verifica que la correspondiente clave pública está autorizada para la cuenta especificada.

2.- Aquí ya suponemos que la cuenta “nagios” ya fue creada y existe en toda la granja “apoloxx”.

Nos conectamos al servidor “apolo01” con la cuenta nagios y procedemos a crear si no existe la carpeta “.ssh” con su respectivo permiso 700. Dentro de est carpeta creamos el archivo “authorized_keys” con sus respectivos permisos indicados anteriormente (644).

Estoy simplificando pasos y ahora solo falta copiar el contenido del archivo “id_rsa.pub” del servidor “monitor00”, cuando creamos el par de claves (se ve más o menos así):

3.- La clave anteriormente indicada, la copiamos en el archivo “authorized_key” del servidor “apolo01”.

Con esto ya estamos listos y podemos conectarnos directamente al servidor “apolo01” sin necesidad de ingresar la password de la cuenta.

Importante a tener en cuenta, son los permisos con que se crean las cuentas de usuario por defecto (Directorio HOME).

LINUX por defecto crean las nuevas cuentas de usuario con permisos 775.

AIX – Sun Solaris – FreeBSD Los crea por defecto con permisos 700.

Para que funcione la relación de confianza se debe cambiar los permisos a la carpeta HOME.

chmod 755 HOME

Por lo general, este es el punto que más da errores y que no todos los que trabajamos en esto, lo sabemos.

Después teniendo el primer servidor de la granja funcionando. Es tan fácil como copia, conservando los permisos, al resto de los 19 servidores de la granja.

(nagios@apolo01] $ scp -rp .ssh apolo02:/nagios

Lo mismo para otros servidores, si ya existe la carpeta .ssh, basta con agregar la clave al final del archivo “authorized_key” y debería funcionar.

Para que la relación de confianza funcione (por ejemplo, al usar SSH o SCP sin requerir una contraseña), el servidor debe tener acceso adecuado a los archivos de claves públicas y privadas. Si los permisos son demasiado permisivos (por ejemplo, **777**), el sistema puede considerar que no es seguro y, como resultado, requerir una contraseña.

Publicado en Unix - Linux | 1 comentario

LINUX – Algunos TIPS del comando GREP para búsqueda con expresiones regulares.

A continuación, se verán unos ejemplos con la potencia de búsqueda de patrones con el comando GREP. Para este ejemplo utilizaremos un archivo de texto de nombre “textoejemplo.txt”……

En el siguiente ejemplo mostraremos la 1era. línea después de la búsqueda del patrón…

Aquí utilizamos la opción “-A x”. Esto es lo que hace el comando

-A x  Saca las x líneas siguientes a la búsqueda de patrón.

-B x Saca las x líneas anteriores a la búsqueda del patrón.

-C x Saca las x líneas antes y después de la búsqueda del patrón.

Con el comando ejecutado anteriormente, vemos que saca la línea del patrón a buscar y la línea siguiente. Nosotros solo queremos la linea siguiente. Para solucionarlo utilizamos el comando AWK y le indicamos que solo muestre la segunda línea….

En el siguiente comando, solo queremos que nos muestre el valor que se encuentra entre los caracteres “>9.984<”, solo el valor….

En el siguiente comando le diremos, que nos muestre el nombre del archivo que se encuentra entre los caracteres “-“….

Aquí le indicamos que deseamos extraer la fecha que esta en el siguiente formato “dd/mm/aaaa”…..

Aquí el nombre, para este ejemplo queremos todo lo que encuentra después del último carácter “-“, sin dejar carácter blanco al principio…

Todo lo indicado anteriormente, se puede adaptar a sus necesidades. Espero les sirva…..

Publicado en Unix - Linux | Deja un comentario

BATCH – WINDOWS cmd – Guardar información de directorio (carpeta) en archivo txt.

La siguiente línea de comandos la utilizo para generar un listado de directorio en particular en el cual me guarda en un archivo txt (ejemplo salida.txt). Esto puede servir, cuando se desee verificar los archivos que han sido modificados en un cierto tiempo (por supuesto con un SCRIPT).

forfiles recorre los archivos en el directorio actual. También se puede especificar cuál directorio usando /P <pathname> usas el parámetro /C <command> para especificar el comando a ejecutar en cada archivo. para este caso, usamos el comando echo para mandar a la salida las propiedades que buscas @FILE @FSIZE @FDATE @FTIME y mandas esa salida a un archivo usando >> (un append) al archivo donde quieres guardar tus resultados. El resultado de la ejecución de esta linea debería ser algo así :

Publicado en Unix - Linux | Deja un comentario