Atributo oculto en macOS

En ocasiones, por ejemplo al actualizar desde un sistema operativo anterior, vemos cómo aparecen en el directorio raíz archivos que deberían estar ocultos. En otras ocasiones deseamos ocultar archivos o carpetas que no queremos que se muestren. Sin recurrir a utilidades no incluidas por defecto en macOS existen 2 herramientas que nos permiten ocultar (o mostrar) a voluntad archivos o carpetas: el archivo .hidden y el comando chflags

Archivo /.hidden

Se puede crear un archivo /.hidden (en el directorio raíz del volumen o en otro directorio) con líneas independientes conteniendo cada una el nombre de los archivos o carpetas que se desean ocultar.

Se puede hacer desde Terminal con el editor pico.

sudo touch /.hidden
sudo pico/.hidden

Hay que escribir los nombres de archivos y/o carpetas que deseamos ocultar con retorno de carro después de cada uno. Guardar cambios con Ctrl+O y salir de pico con Ctrl+X. Hay que reiniciar la sesión para ver los cambios. Ejemplo de archivo .hidden:

Archivo1.txt
Carpeta1
Archivo2.jpg
Archivo3.pdf
Carpeta2
...

Comando chflags

El comando chflags viene incluido en macOS y su uso es muy sencillo, desde Terminal:

# para ocultarlo
chflags hidden archivo_o_carpeta
# para mostrarlo
chflags nohidden archivo_o_carpeta


Comando SetFile

El comando SetFile, por defecto, no viene en macOS pero sí entre las utilidades instaladas por las herramientas de desarrollo XCode (en la ruta /Developer/tools).
SetFile permite realizar algunas tareas sobre archivos y carpetas, entre ellas la de ocultarlos o mostrarlos (pero también modificar la fecha, los comentarios, creator, tipo…). Su uso es también desde Terminal:

SetFile <archivo o carpeta> -a [atributo]

El parámetro [atributo] es v (minúscula) para mostrar y V (mayúscula) para ocultar:

# para ocultar
SetFile <archivo o carpeta> -a V
# para mostrar
SetFile <archivo o carpeta> -a v

Hay que refrescar o volver a abrir el directorio para ver los cambios.