Corriendo ls --help
Es de poca ayuda para aclarar qué. ls -F
hace.
-F, --clasificar el indicador de adición (uno de * / = & gt; @ |) a las entradas.
Así, me referí a esta hilo para averiguarlo, cuya respuesta dice
-F Muestra una barra ('/') inmediatamente después de cada ruta de acceso que es una directorio, un asterisco ('*') después de cada archivo ejecutable, un a signo ('@') después de cada enlace simbólico, un signo de porcentaje ('%') después de cada punto muerto, un signo igual ('=') después de cada toma, y un barra vertical ('|') después de cada uno que es un FIFO.
Suponiendo que sea correcto, no entiendo por qué la salida que obtengo de ls -F
es:
'List 1.pdf'* 'List 2.pdf'* 'List 3.pdf'* 'List 4.pdf' 'List 5.pdf'* 'List 6.pdf'
Ya que todos son archivos pdf, ¿por qué algunos de ellos están marcados como ejecutables? ¿No deberían todos estar marcados de la misma manera?
fuente
>
sufijo, se usa para solaris puertas (que son una forma de IPC similar a tuberías y enchufes). No se utiliza en otros sistemas operativos.Respuestas:
Tener la marca 'ejecutable' no es causado ni depende de que sean archivos PDF.
En lugar, ls muestra el asterisco si el archivo es permisos tener el bit + x establecido para cualquier grupo. Es decir, si corres
ls -l
en los mismos archivos que verárwxr-xr-x
en lugar derw-r--r--
. Puedes cambiar esto usandochmod
.Sin embargo, es no tiene ningún sentido marcar un archivo PDF como "ejecutable" porque en realidad no tiene ningún código ejecutable del sistema operativo (y si intentara ejecutar alguno de esos archivos, obtendría un mensaje de error de algún tipo).
La razón más probable por la que tienen el bit de permiso + x es por accidente: ya sea porque los ha copiado desde un disco de Windows (debido a la configuración de Windows + x en todos los archivos de forma predeterminada), o desde otro tipo de almacenamiento que no almacenar permisos de archivo en absoluto (por ejemplo, una memoria USB FAT32).
(Si un disco FAT32 se mostrará en Linux con archivos con + x o -x depende de las opciones de montaje, como 'fmask = 0133'. Desafortunadamente, fmask = 0 es el valor predeterminado, lo que resulta en un + x inútil).
fuente