Pregunta Lista de archivos no grabables en Linux


¿Cómo puedo obtener una lista de archivos no grabables dentro de mi directorio actual?


7
2018-05-02 19:21


origen




Respuestas:


Interpretando eso como: usuario / grupo / otro no puede escribir

find . -maxdepth 1 -not -perm /ugo+w


14
2018-05-02 19:28



+1 para -maxdepth 1 - Aaron Copley


Esta find Encontrará archivos que nadie pueda escribir:

find . ! -perm /222

EDITAR: De la sugerencia de hmont sobre el comentario:

find . ! -perm /222 -exec ls -l {} +

Y mientras Mikey pone su respuesta, puedes usar -maxdepth 1 Para limitar la búsqueda a un solo directorio.


3
2018-05-02 19:28



¡Har! Me venció por 2 segundos, pero olvidó el 'en el directorio actual' (junto con todos los demás). :pag - MikeyB
+1 porque es el más claro. Yo añadiría un -exec ls -l {} \; para proporcionar información completa sobre permisos y cosas de propietario / grupo. - hmontoliu
@Mikey que puede interpretarse de muchas maneras :) Pero su sintaxis es más legible que la mía en general. - coredump
@hmontoliu solo para refinar aún más el cmd: en lugar de "-exec", y como esto es Linux (vs. solaris et al), simplemente puede usar la opción más rápida "-ls" para buscar (el formato es diferente, el contenido es mayormente el mismo) find . -maxdepth 1 ! -perm /222 -ls - michael
@michael_n: bueno saber - hmontoliu


find . ! -perm /a+w
find . ! -perm -ug+w

o alguna otra permutación con notación simbólica para cumplir con sus requisitos.

Para aclarar, el '/' coincidirá con cualquier usuario, grupo u otro. Para hacer coincidir todos, preceda el modo con '-'.


1
2018-05-02 19:27





perl -le 'print for grep { ! -w } <*>'

0
2018-05-02 19:27