Comandos esenciales de Linux: Gestión de usuarios, directorios y archivos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,21 KB

Gestión de usuarios y grupos

  • passwd: Modifica la contraseña de un usuario.
    • passwd -l: Bloquea un usuario.
    • passwd -u: Desbloquea un usuario.
    • passwd -d: Elimina la contraseña de un usuario.
    • passwd -S: Muestra el estado de la contraseña de un usuario.
  • usermod: Modifica la información de un usuario.
    • usermod usuario -g: Cambia el grupo principal del usuario.
    • usermod usuario -G: Cambia los grupos secundarios del usuario.
  • deluser: Elimina un usuario.
  • delgroup: Elimina un grupo.

Gestión de archivos y directorios

  • rm: Elimina archivos o directorios.
    • Para eliminar directorios: rm -r
    • Para eliminar archivos: rm

Búsqueda de archivos y directorios con find

El comando find es una herramienta poderosa para buscar archivos y directorios en el sistema de archivos de Linux. A continuación, se presentan algunos ejemplos de su uso:

  1. Buscar un archivo de nombre "dibujo" en todo el sistema de archivos:
    find / -name dibujo
  2. Buscar archivos o directorios cuyo nombre empiece por "texto" en todo el sistema de archivos:
    find / -name "texto*"
  3. Buscar archivos que terminen en "dibujo" en todo el sistema de archivos:
    find / -name "*dibujo"
  4. Buscar un archivo de nombre "dibujo" dentro del directorio de archivos temporales:
    find /tmp -name "dibujo"
  5. Buscar archivos que terminen en "dibujo" dentro del directorio personal del usuario:
    find ~ -name "*dibujo"
  6. Buscar archivos o directorios de nombre "texto" que terminen en 1 o en 3 en todo el sistema de archivos:
    find / -name "texto[1,3]"
  7. Buscar archivos o directorios de nombre "texto" que terminen en 1, en 2 o en 3 dentro del directorio de archivos temporales:
    find /tmp -name "texto[1-3]"
  8. Buscar archivos o directorios de nombre "texto" que terminen en 1, en 2 o en 3 en todo el sistema de archivos:
    find / -name "texto[1-3]"
  9. Buscar directorios de nombre "texto" en todo el sistema de archivos:
    find / -name "texto" -type d
  10. Buscar directorios cuyo nombre empiece por "texto" dentro del directorio personal del usuario:
    find ~ -name "texto*" -type d
  11. Buscar el directorio de nombre "etc" en todo el sistema de archivos:
    find / -name "etc" -type d
  12. Buscar directorios cuyo nombre termine en "a" dentro del directorio personal del usuario:
    find ~ -name "*a" -type d
  13. Buscar ficheros de nombre "texto" en todo el sistema de archivos:
    find / -name "texto" -type f
  14. Buscar ficheros cuyo nombre empiece por "texto" dentro del directorio personal del usuario:
    find ~ -name "texto*" -type f
  15. Buscar un archivo de texto de nombre "texto1" en los archivos temporales y borrarlo con confirmación:
    find /tmp -name texto1 -exec rm -i '{}' ';'
  16. Buscar un archivo de texto de nombre "texto2" en los archivos temporales y copiarlo en el directorio personal del usuario con el nombre "mitexto":
    find /tmp -name texto2 -exec cp '{}' ~/mitexto ';'
  17. Buscar un archivo de texto de nombre "buendibujo" en todo el sistema de archivos y moverlo al directorio personal del usuario:
    find / -name buendibujo -exec mv '{}' ~ ';'
  18. Buscar un archivo de nombre "maldibujo" en todo el sistema de archivos y copiarlo en el directorio personal del usuario con el nombre "mitexto":
    find / -name maldibujo -exec cp '{}' ~/mitexto ';'
  19. Buscar un directorio de nombre "tmp" en todo el sistema de archivos y listar su contenido:
    find / -name tmp -type d -exec ls '{}' ';'

Filtrado de texto con grep

El comando grep permite buscar patrones de texto dentro de archivos. Algunas de sus opciones más comunes son:

  • -i: No distingue entre mayúsculas y minúsculas.
  • -v: Muestra las líneas que no coinciden con el patrón.
  • -c: Muestra el número de líneas que coinciden con el patrón.
  • -l: Muestra los nombres de los archivos que contienen líneas que coinciden con el patrón.

Ejemplos de patrones de búsqueda:

  • texto: Busca líneas que contengan la cadena "texto".
  • ^texto: Busca líneas que empiecen por "texto".
  • [^texto]: Busca líneas que no empiecen por "texto".
  • texto$: Busca líneas que terminen por "texto".

Extracción de campos con cut

El comando cut permite extraer campos específicos de un archivo de texto. Algunas de sus opciones son:

  • -c: Selecciona caracteres específicos.
  • -d: Especifica el delimitador de campos (por defecto es el tabulador).
  • -f: Selecciona campos específicos.
  • -f-: Muestra a partir de un campo.

Conteo de líneas, palabras y bytes con wc

El comando wc permite contar líneas, palabras y bytes en un archivo. Sus opciones principales son:

  • -c: Muestra el número de bytes.
  • -l: Muestra el número de líneas.
  • -w: Muestra el número de palabras.

Ordenación de texto con sort

El comando sort permite ordenar las líneas de un archivo de texto. Algunas opciones útiles son:

  • -t: Especifica el delimitador de campos.
  • -r: Ordena en sentido inverso.
  • -n: Ordena numéricamente.
  • -k: Especifica la columna por la que ordenar.

Ejemplos de uso combinado de comandos

  1. Mostrar toda la información referida al usuario "Mario":
    grep Mario archivo
  2. Mostrar la lista de las máquinas que pertenecen al dominio "aula11":
    grep aula11 archivo
  3. Mostrar la lista de nombres de máquina y dominios:
    cut -f 2 archivo
  4. ¿Cuántos dominios distintos aparecen?:
    grep -c -e aula11 -e aula15 archivo | uniq
  5. Mostrar la información ordenada por el tiempo que llevan conectados:
    cat archivo | sort -n -k 3
  6. Mostrar la información referida a "15pc1" y "11pc8":
    grep -e 15pc1 -e 11pc8 archivo
  7. ¿Cuántos usuarios distintos hay?:
    cut -f 1 archivo | wc -l | uniq
  8. ¿Cuántas máquinas pertenecientes al dominio "aula11" hay?:
    cut -f 2 archivo | grep aula11 | wc -l

Entradas relacionadas: