Comandos útiles de búsqueda de Linux para el administrador del sistema

El comando find es uno de los más utilizados en el sistema operativo Linux.


Sería difícil administrar un entorno Linux sin saber encontrar comandos.

Le ayuda a buscar archivos, carpetas en el servidor Linux, y extremadamente útil para el mantenimiento del sistema de archivos.

En este artículo, he enumerado algunas de las sintaxis de comandos de búsqueda más comunes para ayudarlo con la productividad.

Encuentra archivos en un sistema de archivos específico

Si conoce el nombre y el sistema de archivos pero no está seguro de la ruta exacta de la carpeta, puede usar esta sintaxis.

En el siguiente ejemplo, estoy buscando un archivo de mensajes en el sistema de archivos / var.

[[correo electrónico protegido] ~] # find / var -name mensajes
/ var / log / messages
[[correo electrónico protegido] ~] #

Consejos: si no conoce el nombre del sistema de archivos, puede buscar en / nivel, pero tenga en cuenta que puede llevar tiempo si tiene una gran cantidad de sistemas de archivos.

[[correo electrónico protegido] ~] # mensajes de encontrar / -name
/ var / log / messages
[[correo electrónico protegido] ~] #

Si no conoce el nombre exacto del archivo, también puede usar un patrón comodín para buscar.

Ex – para buscar error_log puedes intentar

[[correo electrónico protegido] ~] # find / -name error_ *
/ var / log / httpd / error_log
[[correo electrónico protegido] ~] #

¿Qué hay de buscar el nombre del archivo con minúsculas o mayúsculas, en otras palabras, ignorar mayúsculas y minúsculas?

Bueno, puedes usar –iname en lugar de –name.

Ex:

[[correo electrónico protegido] var] # find / -iname MENSAJES
/ var / log / messages
[[correo electrónico protegido] var] #

Echemos un vistazo a un escenario más en tiempo real. Si conoce el tipo de archivo y desea buscarlos todos.

Por ejemplo, si está trabajando en WebSphere, es posible que desee buscar todos los archivos que terminan en .out, entonces puede intentar

# find / -name * .out

Encuentra archivos basados ​​en propiedad y permisos

Tener archivos con 777 el permiso es peligroso ya que cualquiera puede editarlo o eliminarlo, por lo que, como administrador del sistema, es posible que desee realizar un escaneo para encontrar cualquier archivo con permisos 777.

Para un ex – para mostrar cualquier archivo que tenga permiso 777 bajo / opt sistema de archivos.

[[correo electrónico protegido] ~] # find / opt / -type f -perm 777
/ opt / testing
/opt/SystemOut.log
[[correo electrónico protegido] ~] #

Consejos: ¿qué hay de imprimir la propiedad del archivo, la marca de tiempo en el mismo comando de línea?

[[correo electrónico protegido] ~] # find / opt / -type f -perm 777 -exec ls -ltr {} +;
-rwxrwxrwx 1 raíz raíz 0 19 de julio 03:35 / opt / testing
-rwxrwxrwx 1 raíz raíz 0 19 de julio 03:36 /opt/SystemOut.log
[[correo electrónico protegido] ~] #

También puede cambiar el permiso de 777 a 755 en una única sintaxis de comando de búsqueda.

# find / opt / -type f -perm 777 -exec chmod 755 {} +;

Obviamente, puede ajustar el permiso de 755 a cualquier otro que desee.

¿Qué tal encontrar archivos, que es propiedad de un usuario root o diferente??

Esto es muy útil si tiene problemas al iniciar los servicios debido a que el inicio anterior fue realizado por root.

Por ejemplo, si tomcat es propiedad de un usuario llamado “tomcatapp” y por alguna razón, ha comenzado con root.

Adivina qué sucederá cuando reinicies la próxima vez con “tomcatapp”?

No lo hará porque parte de la propiedad del archivo se ha cambiado a root, y ahora “tomcatapp” no puede modificar / eliminar esos archivos. Entonces esto se vuelve muy útil en esa situación.

Así es como puede buscar cualquier archivo propiedad de root en un sistema de archivos específico.

# find / opt / -user root

Nota: realizar esta sintaxis de búsqueda en / nivel dará como resultado tantos archivos / carpetas, por lo que es posible que desee controlar haciendo esto en un sistema de archivos específico.

Encuentra archivos anteriores a días particulares

El mantenimiento del sistema de archivos es esencial para el soporte de producción, y a menudo tiene que lidiar con esta sintaxis para encontrar registros que son más antiguos (digamos) 60 días.

El siguiente ejemplo es para encontrar el archivo access.log anterior a 60 días en el sistema de archivos / opt.

# find / opt / -name access.log -mtime +60

Consejos: si decide buscar y eliminar en la misma línea de comando, puede hacer lo siguiente. Esto encontrará access.log anterior a 60 días en el sistema de archivos / opt y lo eliminará.

# find / opt / -name access.log -mtime +60 -exec rm {} +;

Si bien esto es muy útil, es posible que desee enumerar los archivos antes de eliminarlos. Para hacerlo

# find / opt / -name access.log -mtime +60 -exec ls -ltr {} +;

Encuentra archivos de gran tamaño

En algún momento, es posible que tenga que lidiar con la limpieza frecuente del sistema de archivos debido a que la aplicación está escribiendo una gran cantidad de registros debido a un problema de código, etc..

Tomemos un ejemplo de búsqueda de archivos de más de 1 GB en el sistema de archivos / opt.

# find / opt / -size + 1G

Consejos: Si sabe que todos los archivos en / opt / con más de 1 GB se pueden eliminar, entonces solo puede buscar y eliminar en la misma línea.

# find / opt / -size + 1G -exec rm {} +;

Espero que los comandos de encontrar arriba sean útiles y te ayuden en tiempo real.

Para obtener más información sobre los comandos de Linux, consulte este curso en línea.

TAGS:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map