Los siguientes comandos de acceso a archivos son comandos UNIX, no comandos específicos de shell.
Comando | Remakr |
---|---|
buscar | Encuentra la ubicación de un archivo |
ordenar | Lee un archivo y ordena la salida |
oír o seguir | Mira solo el principio o el final de un archivo |
El comando de búsqueda
El comando de búsqueda le permite buscar archivos y directorios y ejecutar comandos en esos archivos. La sintaxis del comando de búsqueda tiene tres secciones de argumentos generales. La sección de rutas es una lista de rutas (directorios) para buscar. La sección search_criteria es una lista de opciones que se consideran una expresión booleana (verdadero o falso). Cada opción (condición) se prueba a su vez y si el resultado es verdadero, se toma la acción indicada.
Algunos de los posibles criterios de búsqueda son:
- -nombre – Si el nombre del archivo coincide
- -usuario – Si el archivo pertenece a un usuario (nombre de inicio de sesión)
- -una vez – Si se accedió al archivo hace el número especificado de días
- -mtime – Si el archivo se modificó por última vez hace el número especificado de días
- tamaño – Si el archivo tiene el tamaño de bloque específico
Algunas de las acciones posibles son:
- -imprimir – Muestra el nombre de la ruta del archivo
- -exec – Ejecuta el comando
- -bien – Ejecuta el comando solo después de recibir una y de stdin
Ejemplos del uso del comando de búsqueda
No necesita saber el nombre completo del archivo para encontrarlo. Por ejemplo, los archivos de registro tienden a crecer con bastante rapidez. Como administrador del sistema, es posible que desee controlar el tamaño de los archivos de registro. Para buscar los archivos de registro administrativo (archivos en /var/log directorio), use el siguiente comando:
# find /var/log -name "*.log" -print /var/log/audit/audit.log /var/log/tuned/tuned.log /var/log/cloud-init.log /var/log/pm-powersave.log /var/log/awslogs-agent-setup.log /var/log/awslogs.log /var/log/boot.log /var/log/wpa_supplicant.log /var/log/amazon/ssm/amazon-ssm-agent.log /var/log/amazon/ssm/errors.log /var/log/amazon/ssm/hibernate.log /var/log/dpkg.log /var/log/yum.log /var/log/auth.log
Como parte de la limpieza del sistema de archivos, es posible que desee buscar archivos principales y eliminarlos. Los siguientes dos comandos encuentran cualquier archivo llamado core. El primer comando ejecuta el comando rm sin intervención del operador. El segundo comando imprime el comando rm y requiere la intervención del operador.
$ find / -name core -exec rm -f {} \; $ find / -name core -ok rm -f {} \;
Para encontrar archivos que tengan más de 1000 bloques, use el siguiente comando:
$ find / -size +1000 -print
El comando ordenar
Un archivo, como el archivo de contraseñas, se crea con frecuencia agregando nuevos usuarios al final del archivo. El archivo no está en ningún orden en particular; sin embargo, cuando busque algo o alguien en el archivo, sería útil si el archivo estuviera ordenado en algún orden. El comando ordenar proporciona una forma de ordenar el archivo.
Algunas de las opciones de clasificación más utilizadas son:
- -r – Ordena en orden inverso (z a a, en lugar de a a z)
- -n – Ordena los campos numéricamente, en lugar de simplemente como cadenas del Código estándar estadounidense para el intercambio de información (ASCII)
- -t [ch] – Establece el carácter separador de campo
- + número – Establece el número de campo a partir del cual comenzar a clasificar (los campos se numeran desde 0 [cero])
- – número – Establece el número de campo para detener la clasificación antes (este es el primer campo que no se considera para la clasificación)
- -b – Ignora los espacios en blanco iniciales (normalmente se consideran parte de los campos especificados durante las clasificaciones por teclado)
- -r – Ordena en orden inverso (z a a, en lugar de a a z)
- -o – archivo Establece el archivo que se usará para contener la salida del tipo (que podría ser el mismo archivo que contiene la entrada original)
# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin ...
Para ordenar el archivo por el nombre de inicio de sesión, use el siguiente comando:
# sort /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin cloud_user:x:1002:1003::/home/cloud_user:/bin/bash colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin geoclue:x:994:990:User for geoclue:/var/lib/geoclue:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt ...
Para ordenar el archivo por el quinto campo (el comentario), donde los campos están separados por dos puntos, use el siguiente comando:
# sort -t: -k5 /etc/passwd tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt ...
Puede poner la salida de un tipo en un archivo. Incluso puede generar la ordenación en el archivo original; por ejemplo:
# cat names Big Ape 415 Roger Rabbit 408 Jessica Rabbit 510 Easter Rabbit 408 Doctor Doom 415 Easter Rabbit 408 Peter Wolf 510 Roger Rabbit 408 Peter Rabbit 510
# sort names -o names
Vuelva a verificar el archivo:
# cat names Big Ape 415 Doctor Doom 415 Easter Rabbit 408 Easter Rabbit 408 Jessica Rabbit 510 Peter Rabbit 510 Peter Wolf 510 Roger Rabbit 408 Roger Rabbit 408
Si tiene varios archivos, ya ordenados, que desea fusionar en un solo archivo, use el siguiente comando:
# sort file1 file2 file3 -o file4
Combinar archivos puede generar entradas duplicadas. Para generar solo las líneas únicas del archivo, use el siguiente comando:
# sort -u names Big Ape 415 Doctor Doom 415 Easter Rabbit 408 Jessica Rabbit 510 Peter Rabbit 510 Peter Wolf 510 Roger Rabbit 408
Lectura de parte de un archivo
Con frecuencia, no desea revisar un archivo completo. Es posible que desee examinar el principio del archivo para determinar si es el correcto o mirar el final de un archivo para revisar lo que se ingresó por última vez en el archivo.
El Jefe de Comando
Para revisar el inicio de un archivo, use el comando principal:
# head -5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
El comando cola
Al revisar los archivos de registro, probablemente solo le interesen las últimas entradas de ese archivo. Puede usar el comando tail para ver el final del archivo.
# tail -5 /etc/passwd systemd-network:x:995:991:systemd Network Management:/:/sbin/nologin geoclue:x:994:990:User for geoclue:/var/lib/geoclue:/sbin/nologin cloud_user:x:1002:1003::/home/cloud_user:/bin/bash ssm-user:x:1003:1004::/home/ssm-user:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin