0 votos

Identificar los "directorios específicos de UNIX" en MacOS

Según Guía de programación del sistema de archivos de Apple En la actualidad, MacOS incluye los llamados directorios específicos de UNIX:

Los directorios de esta categoría son heredados de las instalaciones tradicionales de UNIX. Son una parte importante de la capa BSD del sistema, pero son más útiles para los desarrolladores de software que para los usuarios finales.

Estos están ocultos para el usuario, e incluyen /bin , /tmp , /dev , /usr y mucho más.

Mi pregunta es: ¿cómo puedo identificar estos directorios?

Me he dado cuenta de que chflags tiene un UF_HIDDEN bandera, que pensé que podría ayudar, sin embargo mientras UF_HIDDEN se fija en /bin y /dev no se ha fijado en /tmp (por lo que no debe establecerse para todos los directorios específicos de UNIX). También me preguntaba si mdls podría ayudar, ya que observo lo siguiente:

kMDItemSupportFileType = (
    MDSystemFile
)

Sin embargo, este valor ( MDSystemFile ) está presente en /bin/bash así como muchos otros archivos que no son directorios específicos de UNIX (ya que son archivos). He pensado que es posible que el archivo sea un directorio específico de UNIX si el kMDItemSupportFileType contiene MDSystemFile , y el archivo es un directorio, sin embargo esta teoría también se vino abajo ya que MDSystemFile no está presente para /tmp .

¿Cómo se pueden identificar estos directorios específicos de UNIX?

2voto

Steve Evans Puntos 155

Para determinar mediante programación si un archivo o directorio está oculto en MacOS, utilice la función NSFileManager . Esto puede hacerse mediante AppleScript, Objective-C o Swift.

NSURLIsHiddenKey

Comprueba si un archivo o directorio tiene el NSURLIsHiddenKey asociado y que se establezca como verdadero:

Clave para determinar si el recurso no se muestra normalmente a los usuarios, devuelta como un objeto booleano NSNumber (lectura-escritura).

Tenga en cuenta que los nombres de archivos y directorios que comienzan con un punto ( . ) están ocultos, independientemente de este atributo.

Utilice una función como la de NSFileManager enumeratorAtURL:includingPropertiesForKeys:options:errorHandler: para enumerar el sistema de archivos y consultar los atributos deseados.

Devuelve un objeto enumerador de directorios que puede utilizarse para realizar una enumeración profunda del directorio en la URL especificada.

1voto

Jose Chavez Puntos 645

No hay ninguna distinción técnica como tal en juego aquí. El término "directorio específico de UNIX" no es una "cosa" en términos del sistema operativo MacOS.

El nombre sólo entra en juego para que Apple explique qué tipos de archivos y carpetas quedan ocultos a la vista del programa Finder. Así que la definición real de lo que es, es simplemente cómo funciona el Finder.

La mejor manera de encontrar la lista completa de archivos y carpetas ocultos por Finder es hacer ingeniería inversa del programa Finder.app.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X