LINUX

Cómo obtener una lista de todos los propietarios de archivos en un directorio de Linux

obtener el directorio de archivos de los propietarios de la lista

Este tutorial está destinado a ayudarlo a obtener una lista de propietarios de todos los archivos en un directorio en Linux. Los comandos que se muestran aquí son universales y se espera que funcionen en cualquier distribución de Linux. Sin embargo, My Lab se basa en Ubuntu 18.04, 16.04 y CentOS 7.

Trabajar con archivos, directorios y permisos de usuario es una tarea diaria cuando se administran sistemas Linux. Casi todo en Linux es un archivo, y saber cómo verificar y cambiar la propiedad de un archivo / directorio es útil.

Enumere los propietarios de archivos en un directorio usando el comando stat

los estadística es una herramienta de línea de comandos que se utiliza para mostrar el estado del sistema de archivos o archivos en sistemas Linux / Unix. En Ubuntu y todos los sistemas basados ​​en Debian, el comando stat lo proporciona el coreutils paquete. Si por alguna razón este paquete no está instalado, puede instalarlo usando el comando:

$ sudo apt-get -y install coreutils

En CentOS, el comando también lo proporciona el paquete coreutils que se puede instalar usando yum si falta:

$ sudo yum -y install coreutils

Una vez confirmado que el comando existe, usaremos las siguientes opciones para obtener los propietarios de los archivos en un directorio:

-C : Para especificar el formato
% U : Formato para imprimir el nombre de usuario del propietario del archivo

Entonces, la sintaxis del comando es:

 stat -c %U  <file>

Para todos los archivos, utilice la marca comodín *. Vea ejemplos a continuación:

$ cd ~
$ stat -c %U *
jmutai
jmutai
jmutai

El problema con esta salida es que no existe un mapeo entre el archivo y el propietario. Necesitaremos usar conceptos de bash para mapear el archivo y el propietario. Entonces ejecutaremos un comando como el siguiente:

$ cd /dir
$ files=`ls`
$ for file in $files; do owner=`stat -c %C $file`; echo $file $owner; done

La salida de arriba estará en el formato que debería ser fácil de interpretar.

Development jmutai
Documents root
ping_all.sh dan
examples.desktop benard

Para otras secuencias de formato válidas de estadísticas para archivos, consulte su página de manual:

$ man stat

Enumere los propietarios de archivos en un directorio usando el comando buscar

Un hallazgo es una herramienta de línea de comandos de Linux que se usa a menudo para buscar archivos en un directorio. Con algunas expresiones regulares y un comando de impresión, puede enumerar los propietarios de los archivos en un directorio

La sintaxis exacta del comando a utilizar es:

# find /dir -printf '%un'

Esto hará una búsqueda recursiva y una lista por defecto. Puede realizar un filtrado adicional, como imprimir nombres de usuario únicos para evitar duplicados. Para esto, canalice la salida al comando sort, con -u opción:

# find /dir -printf '%un' | sort -t: -u

Para incluir la propiedad del grupo de archivos, agregue un %gramo opción en la función de impresión.

# find /dir -printf '%u:%gn' | sort -t: -u

El siguiente ejemplo imprimirá todos los nombres de usuario únicos que poseen archivos en el / var / directorio

salida de nombres de usuario que poseen archivos

Vea el siguiente ejemplo para nombres de usuario y grupos:

mostrar nombres de usuario y grupos

Usando el comando ls

También puede usar el comando ls para verificar el propietario de los archivos y directorios en Linux. El único problema es cómo manejar la propiedad recursiva.

# ls -lh /dir 
# ls -lhR /dir

Conclusión

Los tres comandos anteriores deberían ayudarlo a identificar a los propietarios de archivos y directorios en sus máquinas Linux. Si tiene otros comandos / script que cree que podemos actualizar en esta lista, no dude en compartirlos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar