LINUX.ORG.RU
Ответ на: комментарий от int13h

Ну вот незадача, в одном из них зашифрованное послание с Омикрон-Персей 8, а в другом послание из /dev/random. А сейчас, внимание, вопрос: как быстро различить эти файлы не имея расширения?

скажи сначала - ЗАЧЕМ?

drBatty ★★
()
Ответ на: комментарий от Deleted

ls умеет подсвечивать файлы по типу, вне зависимости от расширения.

ман кури - оно по расширениям.

$ echo $LS_COLORS 
no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.bat=01;32:*.BAT=01;32:*.btm=01;32:*.BTM=01;32:*.cmd=01;32:*.CMD=01;32:*.com=01;32:*.COM=01;32:*.dll=01;32:*.DLL=01;32:*.exe=01;32:*.EXE=01;32:*.7z=01;31:*.ace=01;31:*.ACE=01;31:*.arj=01;31:*.bz2=01;31:*.cpio=01;31:*.deb=01;31:*.dz=01;31:*.gz=01;31:*.jar=01;31:*.lzh=01;31:*.lzma=01;31:*.rar=01;31:*.RAR=01;31:*.rpm=01;31:*.rz=01;31:*.tar=01;31:*.taz=01;31:*.tb2=01;31:*.tbz2=01;31:*.tbz=01;31:*.tgz=01;31:*.tlz=01;31:*.trz=01;31:*.txz=01;31:*.tz=01;31:*.tz2=01;31:*.xz=01;31:*.z=01;31:*.Z=01;31:*.zip=01;31:*.ZIP=01;31:*.zoo=01;31:*.aac=01;35:*.AAC=01;35:*.anx=01;35:*.asf=01;35:*.ASF=01;35:*.au=01;35:*.axa=01;35:*.axv=01;35:*.avi=01;35:*.AVI=01;35:*.bmp=01;35:*.BMP=01;35:*.divx=01;35:*.DIVX=01;35:*.flac=01;35:*.FLAC=01;35:*.gif=01;35:*.GIF=01;35:*.jpg=01;35:*.JPG=01;35:*.jpeg=01;35:*.JPEG=01;35:*.m2a=01;35:*.M2A=01;35:*.m2v=01;35:*.M2V=01;35:*.m4a=01;35:*.M4A=01;35:*.m4p=01;35:*.M4P=01;35:*.m4v=01;35:*.M4V=01;35:*.mid=01;35:*.midi=01;35:*.mka=01;35:*.mkv=01;35:*.MKV=01;35:*.mov=01;35:*.MOV=01;35:*.mp3=01;35:*.MP3=01;35:*.mp4=01;35:*.MP4=01;35:*.mp4v=01;35:*.mpc=01;35:*.MPC=01;35:*.mpeg=01;35:*.MPEG=01;35:*.mpg=01;35:*.MPG=01;35:*.nuv=01;35:*.oga=01;35:*.ogv=01;35:*.ogx=01;35:*.ogg=01;35:*.OGG=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.PNG=01;35:*.ppm=01;35:*.qt=01;35:*.ra=01;35:*.RA=01;35:*.ram=01;35:*.RAM=01;35:*.rm=01;35:*.RM=01;35:*.spx=01;35:*.svg=01;35:*.svgz=01;35:*.tga=01;35:*.TGA=01;35:*.tif=01;35:*.TIF=01;35:*.tiff=01;35:*.TIFF=01;35:*.vob=01;35:*.VOB=01;35:*.wav=01;35:*.WAV=01;35:*.wma=01;35:*.WMA=01;35:*.wmv=01;35:*.WMV=01;35:*.xbm=01;35:*.xcf=01;35:*.xpm=01;35:*.xspf=01;35:*.xwd=01;35:*.XWD=01;35:*.xvid=01;35:

drBatty ★★
()
Ответ на: комментарий от true_admin

омг, это точно? он на каждый файл file натравливает?

у тебя акк угнали, и потому аватарку сменили? раньше ты не слушал школьников.

drBatty ★★
()
Ответ на: комментарий от sin_a

Ой, ты и правда про команду file не знаешь?

Зае*шься таким способом нужные типы файлов на диске искать

frame ★★★
()
Ответ на: комментарий от IPR

Ага, и половина сервисов будет в слёзы, мол вы можете использовать только картинки. Например blogger.

Только быдлокодеры проверяют не по MIME-типу, а по расширению.

border-radius
()
Ответ на: комментарий от d

jpeg — метод сжатия с потерями

JPEG — это в первую очередь организация.

KRoN73 ★★★★★
()
Ответ на: комментарий от sin_a

В том же, в чём htm и html.

Расширение htm (особенно когда ещё и недокодировка внутри) - отличный детектор клинических виндорасов, писавших по книгам 15-летней давности.

А вот касательно жпегов ещё и JPE видел.

border-radius
()
Ответ на: комментарий от border-radius

И много народу смотрело JPEG под досом?

О! Вот и выросло!

Да все смотрели, вообще-то.

KRoN73 ★★★★★
()
Ответ на: комментарий от sin_a

Некоторые разные прлиложения под андроид без них не способны.

quowah
()
Ответ на: комментарий от Deleted

http://storage4.static.itmages.ru/i/13/0315/h_1363347484_6448502_b614b6841f.png

может всё-же ман осилишь? ls делает stat(2) для каждого файла, получая

          struct stat {
               dev_t     st_dev;     /* ID of device containing file */
               ino_t     st_ino;     /* inode number */
               mode_t    st_mode;    /* protection */
               nlink_t   st_nlink;   /* number of hard links */
               uid_t     st_uid;     /* user ID of owner */
               gid_t     st_gid;     /* group ID of owner */
               dev_t     st_rdev;    /* device ID (if special file) */
               off_t     st_size;    /* total size, in bytes */
               blksize_t st_blksize; /* blocksize for file system I/O */
               blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
               time_t    st_atime;   /* time of last access */
               time_t    st_mtime;   /* time of last modification */
               time_t    st_ctime;   /* time of last status change */
           };
из-за st_mode field оно может каталог от девайса отличить, но не более того. Остальное красит по расширению(точнее по имени, например в слаке *.EXE красит зелёным).

drBatty ★★
()
Последнее исправление: drBatty (всего исправлений: 1)
Ответ на: комментарий от Deleted

Я во втором посте и сказал что «по расширению».

вот ты бы не тыкался, а ман прочитал.

И да, картинки пости на винфак, здесь можно текст постить.

drBatty ★★
()
Ответ на: комментарий от drBatty

Тебя заело?

В первом посте я ошибочно сказал что ls светит по типу файла. Потом опомнился и исправился. В чем, собственно, проблема? А том что я изначально оплошался?

Deleted
()
Последнее исправление: Copycat (всего исправлений: 1)
Ответ на: комментарий от drBatty

И да, картинки пости на винфак, здесь можно текст постить.

Думаю одна картинка все же нагляднее чем простыня текста.

Deleted
()
Ответ на: комментарий от Deleted

В первом посте я ошибочно сказал что ls светит по типу файла. Потом опомнился и исправился. В чем, собственно, проблема? А том что я изначально оплошался?

на самом деле, светится и так и так. Сначала проверяется тип файла, потом имя. Но используя метод тыка, ты дважды сделал неверный вывод. И ман так и не раскрыл.

Думаю одна картинка все же нагляднее чем простыня текста.

мне неинтересно смотреть на твоё ШГ. Мне своё роднее. Кроме того, кто-то может и соврать, а кто-то неправильно что-то сделать. Для проверки надо попробовать самому, а это сложно - скопипастить не получится.

Повторюсь: если хочешь _показать_ мне какой-то гуй - делай скрин, но вот кидать текст в виде картинки, да ещё на форум, в котором картинки не показываются - идиотизм. Задумайся пожалуйста.

drBatty ★★
()
Ответ на: комментарий от drBatty

на самом деле, светится и так и так. Сначала проверяется тип файла, потом имя. Но используя метод тыка, ты дважды сделал неверный вывод. И ман так и не раскрыл.

Честно скажу - раскрывал. Ман и ls и dircolors. Читал вскользь, но тем не менее не нашел ничего что объясняло бы принцип работы подсветки.

Для проверки надо попробовать самому, а это сложно - скопипастить не получится.

Казалось что проверил. Перед своей писаниной удалил у рандомного файла расширение и ls все-равно его подсветил. Надо было, конечно, читнуть доки, каюсь.

Повторюсь: если хочешь _показать_ мне какой-то гуй - делай скрин, но вот кидать текст в виде картинки, да ещё на форум, в котором картинки не показываются - идиотизм. Задумайся пожалуйста.

Так это ведь скрин и был. Скрин консоли в которой мой ls после удаления расширения файла перестал подсвечивать его. Скинул из принципа что будет быстрее взглянуть на скрин чем читать сумбурное описание словами. Впрочем да, наверное я не прав.

Deleted
()
Ответ на: комментарий от Deleted

Казалось что проверил. Перед своей писаниной удалил у рандомного файла расширение и ls все-равно его подсветил. Надо было, конечно, читнуть доки, каюсь.

на самом деле, в Linux есть понятие «тип файла», это то самое поле st_mode, о котором я выше писал.

там определены сл. биты:

       The following flags are defined for the st_mode field:

           S_IFMT     0170000   bit mask for the file type bit fields
           S_IFSOCK   0140000   socket
           S_IFLNK    0120000   symbolic link
           S_IFREG    0100000   regular file
           S_IFBLK    0060000   block device
           S_IFDIR    0040000   directory
           S_IFCHR    0020000   character device
           S_IFIFO    0010000   FIFO
           S_ISUID    0004000   set UID bit
           S_ISGID    0002000   set-group-ID bit (see below)
           S_ISVTX    0001000   sticky bit (see below)
           S_IRWXU    00700     mask for file owner permissions
           S_IRUSR    00400     owner has read permission
           S_IWUSR    00200     owner has write permission
           S_IXUSR    00100     owner has execute permission
           S_IRWXG    00070     mask for group permissions
           S_IRGRP    00040     group has read permission
           S_IWGRP    00020     group has write permission
           S_IXGRP    00010     group has execute permission
           S_IRWXO    00007     mask for permissions for others (not in group)
           S_IROTH    00004     others have read permission
           S_IWOTH    00002     others have write permission
           S_IXOTH    00001     others have execute permission
т.е. права, и тип. Например 0040000 значит - каталог. Оно синеньким подсвечивается, даже PORNO.JPG. Приоритет типа выше, чем имени. Логика исполняемых сложнее - он подсвечивается если юзер вызвавший ls может исполнять(имеет право), и если это не каталог(и не сокет какой-то), или его имя подходит под шаблон типа *.EXE(от дистра зависит).

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.