Herramientas de usuario

Herramientas del sitio


linux:herramientas

¡Esta es una revisión vieja del documento!


Herramientas de Linux

Expresiones regulares

También denominados patrones. Sirven para lo mismo que los caracteres genéricos, sustituir caracteres desconocidos en una búsqueda, pero son diferentes.
Los principales metacaracteres de las expresiones regulares son:

  • .: Cualquier carácter, una única vez (equivale al carácter genérico ?).
  • *: Cero instancias o más del carácter al que precede.
  • [a-n]: Un carácter de la lista, como en los caracteres genéricos.
  • ^: Principio de línea.
  • $: Final de línea.
  • \: Carácter de escape, inhibe el metacarácter siguiente para que sea tomado como un carácter normal.

find: búsqueda de archivos

El comando find permite buscar en uno o varios árboles de directorios , archivos en base a unos criterios y aplicarles un tratamiento según una acción especificada.
Sintaxis: find [ruta/s] [parámetro/s de selección] [acción]. Además las expresiones (parámetros) de selección pueden evaluarse como operaciones booleanas, de forma que deban cumplirse diferentes condiciones para realizar la búsqueda.

  • Rutas: Se especifica la ruta a partil de la cual se recorrerá su árbol de directorios para buscar los archivos especificados. Si hay varias se separan por espacios. Si no se especifica, se toma el directorio actual.
  • Parámetros (o expresiones) de selección: Empiezan con un guión - seguido de sus parámetros. Algunos de los principales son:
    • -name [motivo]: El comando find busca por el nombre del archivo. El shell interpreta el comando, que puede usar caracteres genéricos, por lo que para evitar confusiones se recomienda indicar el motivo entre apostrofes. Ejemplo: buscar los archivos que empiezan por s en el árbol de directorios que comienza en /usr =⇒ find /usr -name 's*' 2>/dev/null.
    • -size (+-)[tamaño] [b,c,k]: Busca los archivos en función de su tamaño. Especificando un signo + o -, se especifica si el valor a buscar es mayor o menor que el indicado (si no se pone, interpreta que es exactamente ese valor). El número puede indicar diferentes tamaños de bloques, en función de la letra:
      • b especifica bloques de datos de 512 bytes (por defecto).
      • c especifica bloques de datos de 1 byte.
      • k, M o G especifica bloques de datos de 1 KB, 1MB o 1GB respectivamente.
    • -mtime (+-)[días]: Busca por la última fecha de modificación. Un signo + o -, se especifica si el valor a buscar es mayor o menor que el indicado (si no se pone, interpreta que es exactamente ese valor).
    • -perm [permisos]: Puede buscarse archivos en función de sus permisos. Pueden indicarse tanto de forma octal, como simbólica.
    • -newer [archivo]: Busca los archivos cuya fecha de modificación sea más reciente que el archivo de referencia pasado como parámetro. Muy útil para la realización de copias de seguridad.
    • -user [usuario]: Permite recuperar los archivos pertenecientes a un usuario. Se puede indicar el usuario por su nombre, o por su UID.
    • -group [grupo]: Permite recuperar todos los archivos pertenecientes a un grupo. Se puede indicar el grupo por su nombre, o por su GID.
  • Operadores: Operadores que permiten evaluar de forma booleana varias expresiones para realizar las búsquedas:
    • -a o -and AND lógico entre dos expresiones.
    • -o u -or OR lógico entre dos expresiones.
    • ! o -not negación lógica.
    • (…) los paréntesis permiten definir el orden de los operadores lógicos. Deben llevar \ delante, ya que tienen un significado especial para el shell.
  • Acciones:
    • -print: Acción predeterminada. Imprime en pantalla los resultados de la búsqueda.
    • -exec: Se ejecuta un comando externo del shell pasado como argumento y seguido de llaves {}, entre las que se especifica la ruta del archivo encontrado en el comando a ejecutar. Debe terminar con \;. Ejemplo: Borrar todos los archivos cuyo nombre empieze por s en el directorio actual: find . -name 's*' -exec rm {} \;
    • -ok: Idéntica a exec, con la excepción de que hay que confirmar la ejecución del comando externo, para cada archivo encontrado.
    • -ls: Muestra los detalles de los archivos encontrados, como lo haría el comando ls -ldi. Equivale al comando find . -exec ls -ldi {} \;

grep: búsqueda en archivo por filtro

El comando grep permite buscar en uno más archivos, o en la entrada estándar, las líneas correspondientes a un filtro. Pueden usarse expresiones regulares como filtro. La sintaxis es: grep [opción/es] [filtro] [archivo/s].
Opciones del comando grep:

  • -v: Se imprimen las líneas que no corresponden al filtro.
  • -c: Se indica el número de líneas que se corresponden con el filtro.
  • -l: Muestra los nombres de los archivos que contienen líneas que concuerdan con el filtro.
  • -n: Muestra el número de línea donde se encuentra la correspondencia.
  • -i: Ignora la diferencia entre mayúsculas y minúsculas.
  • -w: Busca la palabra exacta, en vez de coincidencias.

cut: extraer campos o columnas

El comando cut permite extraer columnas o campos seleccionados a partir de la entrada estándar o de un archivo.
Para extraer campos la sintaxis es: cut -f [nº de campo/s separados por comas (,)] -d [delimitador] [archivo/s].
Para extraer columnas la sintaxis es: cut -c [columnas separadas por comas (,)] [archivo/s].

En este último caso, el concepto columna implica que cada columna debe tener un número de caracteres determinado. De esta manera se cuentan los caracteres, de la primera columna a la última. Para definir las columnas a extraer, hay que indicar el número de carácter inicial de cada columna, seguido de un guión, y el número de carácter final de la columna. Si no se especifica nº de carácter inicial o final, se toma el primer o el último carácter de la línea respectivamente.

sort: ordenar lineas

El comando sort ordena las líneas de un archivo, o su entrada estándar, y devuelve el resultado en su salida estándar.
Sintaxis general: sort -t [delimitador] -k[nº campo].[nº carácter] [opción/es] [archivo].
La opción -n clasifica los campos numéricos en función de su valor aritmético.
La opción -r invierte la ordenación el comanso sort.

head, tail: mostrar líneas iniciales/finales

Los comandos head y tail sólo permiten mostrar el inicio y final de los archivos, respectivamente.
Con la opción -n[N], [N] especifica la línea N hasta la que se va a mostrar información en el caso del comando head, o las N últimas líneas que se mostrarán en el caso de tail.
Además, en el caso de tail, especificando la opción -n+[N], se muestra desde la línea N, hasta el final del archivo.

El comando tail también sirve para leer los archivos escritos al mismo tiempo por otros procesos. Con la opción -f se leen las nuevas líneas del erchivo introducido como argumento a medida que estén disponibles. Este comando se interrumpe con ctrl + c.

linux/herramientas.1545582160.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki