Comandos esenciales para modificar atributos de archivos

Última actualización: 2 de marzo de 2026
  • Windows permite gestionar atributos como solo lectura, oculto, sistema o archivo mediante comandos como attrib, PowerShell y las opciones avanzadas de Propiedades.
  • Linux combina permisos clásicos (chmod, chown, chgrp, umask) con atributos especiales de chattr, como inmutable, solo añadir, borrado seguro o compresión transparente.
  • Herramientas como attrib, chattr y lsattr son claves para proteger archivos críticos, controlar copias de seguridad y endurecer sistemas frente a borrados o modificaciones accidentales.

Comandos para modificar atributos de archivos

Cuando empiezas a trastear con archivos en Windows o Linux, tarde o temprano te topas con los atributos de archivos y directorios: cosas como solo lectura, oculto, inmutable, comprimido, etc. No son simples “permisos”, sino propiedades adicionales que determinan cómo trata el sistema operativo esos ficheros.

Dominar los comandos esenciales para manejar estos atributos te da un control brutal sobre tu sistema: puedes proteger archivos críticos, ocultar información sensible, automatizar copias de seguridad o endurecer un servidor para que ni el más despistado (o malintencionado) lo rompa con un borrado accidental.

Qué son los atributos de archivos y por qué te interesan

Además de los permisos clásicos (lectura, escritura, ejecución), tanto Windows como Linux gestionan docenas o incluso cientos de atributos internos que describen el estado de un archivo o carpeta: si está oculto, si solo se puede añadir información, si está comprimido, si participa en el sistema de copia de seguridad, si puede borrarse o no, etc.

En Windows, muchos de estos atributos aparecen como columnas en la vista Detalles del Explorador (cosas tipo etiquetas, prioridad, disco, estado de archivo y similares), pero la mayoría no se pueden editar desde esa interfaz. Para tocar lo realmente importante hay que ir a Propiedades, a opciones avanzadas o directamente usar comandos como attrib o PowerShell.

En Linux la película es distinta: a los permisos y propietarios clásicos (gestionados con chmod, chown, chgrp, umask) se suman los llamados atributos extendidos, que se manipulan sobre todo mediante chattr. Son atributos más “bajos” a nivel de sistema de archivos (ext2, ext3, ext4, etc.) y permiten cosas tan bestias como marcar un archivo como inmutable o pedir que sea borrado de forma segura.

Comando attrib en Windows: cambiar atributos desde la consola

En sistemas Windows (desde MS-DOS 3.0 hasta las versiones actuales de Windows 10 y Windows Server) el comando básico para tocar atributos es attrib. Con él puedes ver, añadir o quitar atributos estándar de archivos y directorios, tanto de forma individual como masiva.

Sintaxis general de attrib:

attrib ]

Si ejecutas attrib sin parámetros, el comando muestra los atributos de todos los archivos del directorio actual, incluidos los ocultos. Para afinar, añades ruta, comodines o modificadores como /s y /d.

Atributos clásicos que puedes cambiar con attrib

Los modificadores clave del comando attrib en Windows son letras precedidas por + (para establecer) o (para quitar):

  • {+|-}r – Atributo Read-only (solo lectura). Si está activo, el archivo no se puede modificar ni borrar fácilmente desde aplicaciones normales.
  • {+|-}a – Atributo de archivo (Archive). Marca archivos que han cambiado desde la última copia de seguridad; herramientas como xcopy o programas de backup pueden usarlo para saber qué hay que copiar.
  • {+|-}s – Atributo de sistema (System). Identifica archivos propios del sistema operativo. Para cambiar otros atributos de un archivo de sistema, normalmente tienes que quitar primero este.
  • {+|-}h – Atributo oculto (Hidden). El archivo deja de mostrarse en vistas normales del Explorador, salvo que tengas activada la opción de ver elementos ocultos.
  • {+|-}o – Atributo de archivo sin conexión (Offline), usado por tecnologías de almacenamiento que mueven datos entre discos locales y remotos.
  • {+|-}i – Atributo Not Content Indexed. Indica que el archivo no debe ser indizado por servicios de búsqueda, útil para ahorrar recursos o evitar que ciertos datos aparezcan en resultados de búsqueda.
  • {+|-}x – Atributo de archivo de limpieza, relacionado con determinadas políticas de mantenimiento.
  • {+|-}p – Atributo de archivo anclado (pinned), asociado a mecanismos que mantienen siempre disponible un archivo en caché local.
  • {+|-}u – Atributo de archivo desanclado (unpinned), lo contrario del anterior.
  • {+|-}b – Atributo de blob SMR, propio de ciertos sistemas de almacenamiento avanzados.

En cuanto al fichero sobre el que actúa, puedes indicar unidad, ruta y nombre de archivo, o usar comodines como * y ? para aplicarlo a grupos:

  • – Indica dónde están los archivos a los que quieres cambiar atributos.
  • Los comodines permiten cosas tipo C:\public\*.* para actuar sobre todos los ficheros de una carpeta.
  Problemas de rendimiento en AMD Ryzen con Windows 11: causas, pruebas y soluciones

Los modificadores extra afinan dónde se aplica el cambio:

  • /s – Aplica attrib y las opciones elegidas a los archivos coincidentes en el directorio actual y todos sus subdirectorios.
  • /d – Hace que attrib actúe también sobre directorios, no solo sobre archivos.
  • /l – En sistemas con enlaces simbólicos, aplica los cambios sobre el enlace en sí en lugar del destino.
  • /? – Muestra la ayuda de attrib en la consola.

Ejemplos prácticos con attrib en Windows

Veamos algunos usos típicos para que le pilles el punto al comando:

  • Ver atributos de un fichero concreto en el directorio actual:

    attrib news86
  • Hacer solo lectura un archivo de texto:

    attrib +r report.txt
  • Quitar el atributo de solo lectura a todos los archivos de la carpeta public en la unidad B: y sus subcarpetas:

    attrib -r b:\public\*.* /s
  • Marcar todos los archivos de la unidad A: como “Archive” y luego quitar ese atributo solo a los .bak:

    attrib +a a:*.* & attrib -a a:*.bak

En un escenario de administración real, es muy habitual usar attrib para ocultar archivos masivamente, quitar solo lectura, o preparar conjuntos de archivos para una copia de seguridad incremental sin tener que ir archivo a archivo desde el Explorador.

Cambiar atributos de archivos en Windows 10 desde la interfaz gráfica

Si no te apetece tirar de consola, Windows ofrece opciones para controlar atributos desde el propio Explorador y también desde PowerShell, aunque algunas propiedades avanzadas siguen siendo más cómodas de gestionar vía comandos.

Editar atributos básicos desde Propiedades

Para cambiar los atributos más comunes de un archivo en Windows 10 desde la interfaz gráfica, el procedimiento típico es:

  1. Abrir el Explorador de archivos y localizar el archivo o carpeta.
  2. Seleccionarlo y en la cinta, en la pestaña Inicio, hacer clic en Propiedades (o botón derecho > Propiedades).
  3. En la pestaña General verás la sección “Atributos” con las casillas Solo lectura y Oculto, que puedes activar o desactivar.
  4. Si pulsas en Opciones avanzadas, se abre una ventana con atributos adicionales.

Entre esas opciones avanzadas aparecen detalles como:

  • Carpeta lista para archivarse – Marca la carpeta como candidata para copias de seguridad.
  • Permitir que los archivos de esta carpeta tengan indizado el contenido además de las propiedades del archivo – Controla si el servicio de búsqueda puede indizar también el contenido (texto interno) de los archivos.
  • Comprimir contenido para ahorrar espacio en disco – Activa la compresión NTFS transparente para ese archivo o carpeta.
  • Cifrar contenido para proteger datos – Habilita el cifrado EFS para proteger la información a nivel de sistema de archivos.

Estas casillas no son tan visibles como las de Solo lectura y Oculto, pero permiten una gestión bastante fina del comportamiento del archivo, sobre todo en entornos donde el espacio en disco o la seguridad son críticos.

Cambiar atributos con PowerShell en Windows

Para administradores y usuarios avanzados, PowerShell es prácticamente obligatorio. Con él puedes consultar y modificar atributos de manera más detallada que con attrib, y además integrarlo en scripts.

Para ver los atributos actuales de un archivo, puedes usar:

Get-ItemProperty "C:\ruta\archivo.ext"

Si quieres ver todas las propiedades disponibles, incluidas las ocultas, puedes formatear la salida como lista:

Get-ItemProperty "C:\ruta\archivo.ext" | Format-List -Property * -Force

Para establecer un atributo específico (por ejemplo, poner un archivo en solo lectura) la sintaxis típica es:

Set-ItemProperty "C:\ruta\archivo.ext" -Name IsReadOnly -Value $true

Dependiendo de la propiedad concreta (compresión, cifrado, etc.) se usan nombres y cmdlets específicos, pero la idea es siempre la misma: consultar con Get-Item / Get-ItemProperty y modificar con Set-Item / Set-ItemProperty.

Cambiar atributos desde CMD con attrib en Windows 10

Si estás usando el Símbolo del sistema clásico, el trabajo con atributos se hace casi siempre con attrib. La lógica es muy simple: +letra para añadir un atributo y -letra para quitarlo.

  Cómo intercambiar la función de los clicks del ratón en Windows 11

Algunos usos típicos serían:

  • Poner un archivo en solo lectura:
    attrib +r "C:\ruta\archivo.txt"
  • Quitar el atributo oculto a una carpeta:
    attrib -h "C:\ruta\carpeta" /d
  • Aplicar cambios de forma recursiva a toda una estructura de directorios:
    attrib +h +r "C:\datos\*.*" /s /d
  • Ver la ayuda completa con todas las opciones:
    attrib /?

Con esto puedes solucionar desde un simple “no puedo quitar el solo lectura de este archivo” hasta escenarios tipo “estos archivos tienen propiedades que no se pueden leer, ¿qué narices pasa aquí?” examinando atributos y corrigiéndolos.

Gestionar permisos y atributos en Linux: chmod, chown, chgrp, umask

En sistemas GNU/Linux, antes de meternos con los atributos especiales de chattr, conviene recordar los comandos básicos de propiedad y permisos, que siguen siendo la primera capa de control sobre los archivos.

Los principales comandos relacionados con permisos y propietarios son:

  • chown – Cambia el propietario y grupo de un archivo:

    chown propietario:grupo archivo

    Opciones habituales:

    -f para suprimir mensajes de error y -R para operar de forma recursiva en subdirectorios.
  • chgrp – Cambia solo el grupo propietario:

    chgrp grupo archivo

    Comparte opciones con chown, destacando también -f y -R.
  • chmod – Modifica los modos (permisos) de un archivo:

    chmod modo archivo

    Puedes usar notación octal (por ejemplo 754) o simbólica (u=rwx,g=rx,o=r). También acepta -f y -R.
  • newgrp – Cambia el grupo efectivo del usuario actual para nuevos archivos:

    newgrp nuevo-grupo

    Solo funciona si el usuario ya pertenece al grupo indicado.
  • umask – Define la máscara por defecto de permisos para nuevos archivos y directorios. El valor indicado (por ejemplo 002) se resta del máximo teórico (777 para directorios, 666 para archivos) para determinar los permisos iniciales.

Por ejemplo, con umask 002 los nuevos directorios se crean con permisos 775 y los nuevos archivos con 664. Hay que tener en cuenta que en archivos no se aplica el bit de ejecución automáticamente, de ahí que la resta se haga sobre 666, no sobre 777.

chattr y lsattr en Linux: atributos especiales a bajo nivel

Además de los permisos estándar, Linux permite definir atributos especiales a nivel de sistema de archivos (sobre todo en ext2, ext3 y ext4). Estos se gestionan con los comandos chattr (para cambiar) y lsattr (para listar).

El comando chattr solo puede usarse, en la práctica, con privilegios de administrador: normalmente necesitas ser root para cambiar estos atributos, especialmente en archivos del sistema o de otros usuarios.

La sintaxis general de chattr es:

chattr atributos archivo...

Algunas opciones útiles:

-R para modificar de forma recursiva, -V para modo verboso, -f para suprimir mensajes de error, y -p para especificar un proyecto en sistemas que lo soportan.

Atributos especiales más importantes en Linux

Los atributos se indican con letras, que se añaden con +, se quitan con o se asignan como conjunto exacto con =. Entre los más interesantes están:

  • aSolo añadir (append-only). El archivo solo se puede abrir en modo de adición de datos. Es ideal para ficheros de log que no quieres que nadie pueda truncar ni borrar.
  • cCompresión automática. El kernel comprime los datos al escribirlos en el archivo y los descomprime al leerlos, de forma transparente.
  • d – Evita que el archivo se incluya en ciertas operaciones de backup (por ejemplo, al usar dump).
  • e – Indica que el archivo usa extents para el mapeo de bloques, algo normal en ext4.
  • iInmutable. No se puede borrar, ni modificar, ni renombrar, ni crear enlaces hacia él. Es una auténtica “caja fuerte” a nivel de sistema de archivos.
  • j – Pide al kernel que registre en el journal todos los datos escritos en el archivo, mejorando la recuperabilidad tras un fallo. Es relevante en sistemas ext3/ext4 con determinadas opciones de montaje.
  • sBorrado seguro. Cuando se elimina el archivo, el kernel pone a cero los bloques de datos, en lugar de limitarse a marcar la entrada como borrada. Es útil para datos sensibles, aunque su efectividad real depende del hardware y del sistema de archivos.
  • S – Garantiza que las modificaciones se escriben de forma síncrona en disco, similar al comportamiento de sync.
  • t – Desactiva ciertas optimizaciones de fusión de colas (tail merging) de bloques, pensado para compatibilidad con cargadores de arranque como GRUB.
  • u – Permite recuperar el contenido de un archivo (por ejemplo, recuperar archivos guardados en una unidad USB) aunque se haya borrado, manteniendo una copia que el sistema de archivos puede restaurar.
  • A – Evita que se actualice la marca de tiempo de último acceso (atime) cuando se lee el archivo, reduciendo escrituras en disco (muy apreciado en portátiles o SSD).
  Cómo descomprimir archivos en Windows 11: guía completa y actualizada

Para ver la lista completa de atributos y detalles de compatibilidad con cada sistema de archivos, lo mejor es consultar la página del manual con man chattr.

Ejemplos de uso de chattr y lsattr

Algunos comandos habituales para trabajar con atributos especiales en Linux son:

  • Activar el modo solo añadir en un archivo:

    chattr +a file1
  • Hacer un archivo inmutable (imposible de borrar o modificar mientras dure el atributo):

    chattr +i file1
  • Marcar un archivo para borrado seguro:

    chattr +s file1
  • Evitar que un archivo se incluya en ciertos backups:

    chattr +d file1
  • Ver los atributos especiales de un archivo o carpeta:

    lsattr file1
  • Aplicar atributos de forma recursiva a todos los archivos de un directorio:

    chattr -R +i /ruta/critica

Ten en cuenta que, para deshacer algunos de estos cambios (por ejemplo, quitar la inmutabilidad con chattr -i), también necesitarás privilegios de root. Es fácil dejarte un fichero “blindado” y luego preguntarte por qué no puedes borrarlo aunque tengas permisos a nivel de usuario.

Otros comandos clave relacionados con atributos y seguridad en Linux

Además de chattr, en entornos Unix/Linux hay una serie de comandos que influyen directamente en cómo se comportan los archivos en cuanto a permisos, propietarios y comportamiento por defecto. Conocerlos te ayuda a combinar permisos UNIX clásicos con atributos especiales para un control fino.

Entre los más relevantes, además de los que ya hemos mencionado, destacan:

  • chown – para transferir propiedad a otro usuario o grupo, crucial en servidores donde varios servicios comparten datos.
  • chgrp – para ajustar grupos y delegar acceso entre equipos de trabajo sin tocar propietarios.
  • chmod – para endurecer permisos, por ejemplo quitando escritura global o ejecución innecesaria en scripts.
  • umask – para definir políticas globales de creación de archivos más seguras (por ejemplo, evitar que se creen con permisos 777 por defecto).
  • lsattr – para auditar qué archivos tienen atributos especiales activos, muy útil al depurar comportamientos raros tipo “no puedo borrar este archivo ni root”.

Combinando estos comandos puedes montar políticas muy sólidas: por ejemplo, tener un directorio de logs con archivos solo-append, propiedad de un usuario de servicio, con permisos estrictos y sin que se actualice el tiempo de acceso para reducir desgaste en disco.

Como ves, tanto en Windows como en Linux existen comandos potentes y muy granulares para modificar atributos de archivos. Desde opciones simples como marcar un fichero en solo lectura o ocultarlo, hasta mecanismos avanzados como la inmutabilidad o el borrado seguro, estos atributos son la base para proteger información, optimizar el rendimiento y mantener la integridad del sistema. Entender y usar bien herramientas como attrib, PowerShell, chmod, chown, umask, chattr y lsattr marca la diferencia entre un sistema que se mantiene bajo control y uno en el que los archivos “hacen lo que quieren”.

archivos guardados unidad usb
Artículo relacionado:
Cómo ver y recuperar archivos guardados en una unidad USB