linux:herramientas
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| linux:herramientas [2018/12/21 14:34] – creado alberto | linux:herramientas [2018/12/23 17:23] (actual) – [head, tail: mostrar líneas iniciales/finales] alberto | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ====== Herramientas de Linux ====== | ====== Herramientas de Linux ====== | ||
| ===== Expresiones regulares ===== | ===== Expresiones regulares ===== | ||
| + | También denominados patrones. Sirven para lo mismo que los [[linux: | ||
| + | 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 ===== | ===== 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.\\ | 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.\\ | ||
| Línea 26: | Línea 34: | ||
| * **-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 ' | * **-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 ' | ||
| * **-ok**: Idéntica a **exec**, con la excepción de que hay que confirmar la ejecución del comando externo, para cada archivo encontrado. | * **-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, | + | * **-ls**: Muestra los detalles de los archivos encontrados, |
| ===== grep: búsqueda en archivo por filtro ===== | ===== 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/ | ||
| + | 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/ | ||
| + | Para extraer columnas la sintaxis es: **cut -c [columnas separadas por comas (,)] [archivo/ | ||
| + | |||
| + | 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/ | ||
| + | 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/ | ||
| + | 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.1545399265.txt.gz · Última modificación: por alberto
