4 votos

¿Cómo puedo determinar el tipo de archivo en Linux?

Estoy editando la variable de entorno LS_COLORS. dircolors listas de los colores predeterminados para diferentes tipos de archivo. Los tipos de archivo que se denotan de la siguiente manera:

bd = (BLOCK, BLK)   Block device (buffered) special file
cd = (CHAR, CHR)    Character device (unbuffered) special file
di = (DIR)  Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK)   Symbolic link. If you set this to ‘target' instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING)  Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (ORPHAN)   Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE)   Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE)   Named pipe (fifo file)
sg = (SETGID)   File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY)   Directory with the sticky bit set (+t) and not other-writable
su = (SETUID)   File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE)    Directory that is sticky and other-writable (+t,o+w)

¿Cómo puedo determinar a cuál de estas categorías un archivo o directorio pertenece?

Los enlaces estoy referencia para LS_COLORS: aquí y aquí

El uso de file no está funcionando; consultar un directorio me dice que el directorio es... un directorio. Pero tiene claramente un tipo de flag que file no se muestra, ya que algunos directorios tienen absolutamente horrible color verde pálido de poner de relieve con el texto en blanco. El uso de ls -lah no funciona bien; la primera letra de la cadena de permisos es d y de nuevo, esto no es suficiente información.

Ubuntu 19.10 | Plasma de KDE 5.16.5 | zsh 5.7.1

5voto

Eduardo Trápani Puntos 181

No sé de un programa que se lista el tipo de archivo como dircolors lo sabe. Sospecho que no hay, a pesar de que sería una buena adición a dircolors Pero se puede volcar la base de datos y encontrar el que usted desea cambiar. Por ejemplo, para los directorios:

$ dircolors -p|grep dir

# Configuration file for dircolors, a utility to help you set the
# slackware version of dircolors) are recognized but ignored.
DIR 01;34 # directory
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable

Ahora sabes cuantos diferentes tipos de directorios que hay (para dicolors, sólo son directorios para file. Compruebe los permisos del blanco sobre verde pálido en el directorio ls -ld your_directory

También puede ver los colores con su significado, de su sistema. Marque esta secuencia de comandos.

Sé que estos pasos no hacer exactamente lo que quieres: obtener el tipo de archivo dircolors utiliza para un determinado nodo. Pero, entre los dos deben ayudar a depurar y ajustar los colores para los tipos de archivo que no puede encontrar.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: