LINUX.ORG.RU

К вопросу о опциональности расширения файлов.

 , , , ,


0

2

Давайте-ка на минутку отвлечёмся от практики и немного поразмышляем: есть такая сущность как расширения файлов. Однако по большому счёту и для самой Операционной Системы, и для пользователя расширения вовсе не обязательны, они опциональны.
Проведите небольшой эксперимент — вручную удалите у ваших -txt -mkv -jpg -avi файликов их расширения и внезапно окажется что не изменилось ровным счётом ничего — всё работает по-старому. Магия? Да, именно она.

Так что же это, дань традиции? Слой совместимости с устаревшими ОС? Зачем мы мы упорно прописываем новым файлам расширения?
/discuss

★★★★★

Если я, на пример, уберу расширения с видео, картинок и тп. то тогда мне обязательно придется картинки сложить в картинки, видео в видео и тп. И все равно оно постепенно все перепутается, засрется и будет полный бардак.
Да и все ли обязательно смотрит сразу на сигнатуру. Та же сортировка будет работать заметно тупее.

hbars ★★★★★
()
Последнее исправление: hbars (всего исправлений: 1)

Это оптимизация.

Deleted
()

Во-первых, удобнее и логичнее с ними. Во-вторых, иногда крайне нерационально верифицировать тип файла.

observer ★★★
()

Зачем мы мы упорно прописываем новым файлам расширения?

Чтобы можно было по имени файла сразу понять, картинка это или видео. В той же консоли это вполне полезно, да и в файловых менеджерах не мешает.

Причем тут development?

risenshnobel ★★★
()

У меня нет времени на то чтобы подглядывать mime-type файла. Гораздо проще и быстрее прочесть расширение.

KblCb ★★★★★
()

Наличие раширений позволяет раскидывать файлы с помощью однострочников.

zinfandel ★★
()

Как ты будешь работать с файлами из mc? Файловый менеджер показывает значок, а mc нет. А в файловом менеджере как отличишь фото от видео, если и там и там вместо значка - предпросмотр?

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

«придется картинки сложить в картинки, видео в видео и тп. И все равно оно постепенно все перепутается, засрется и будет полный бардак.»

hbars ★★★★★
()

ну вообще-то узнавать тип файла по расширению быстрее, чем с помощью утилиты file.

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

Но расширение ведь не обязано соответствовать, файл jpg а там png и наоборот сплошь и рядом встречается.

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

2014 год скоро, а люди все так же вручную таскают файлы туда-сюда, а некоторые даже делают это мышкой. ПК давно не средство автоматизации, а уютный втртуальный мир. теперь человек помогает компьютеру выполнять компьютерные задачи. о каком отмирании расширений тут можно говорить

anonymous
()

Некоторые flv играются как mp4, если расширение убрать.

Deleted
()

find . -type f -name '*.pl' vs libmagic (file utility)

/thread

gh0stwizard ★★★★★
()

Слой совместимости с устаревшими ОС?

Ага, с Windows.

KendovNorok
()

есть такая сущность как расширения файлов

4.2.

Магия?

mime, дружочек.

Слой совместимости с устаревшими ОС?

Ты про суффиксы файлов? Не, это нужно пользователю. Но, например, можно было бы не суффиксы, а префиксы делать. Тогда удобно было бы сортировать по типу файлов.

Eddy_Em ☆☆☆☆☆
()

bash-integration в IntelliJ IDEA видит только скрипты с расширением .sh, так что пока нужно :-(

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

shit, а и правда. Просто я так ни разу не делал, не обращал поэтому внимания.

Но таки при замене суффиксов на префиксы получим очевидное преимущество: обычный ls будет сортировать файлы по типам.

Eddy_Em ☆☆☆☆☆
()

тред полон консолезадротов, лол

между тем, нормальные ФМ умеют отображать соответствующую миме-типу иконку, так что да, расширения не нужны

специально удаляю скриптом расширения, и когда знакомые вендузятники просят поделиться кинцом или музычкой, а потом звонят, недоумевая, почему ничего не проигрывается, я глумливо хихикаю в трубку

anonymous
()

Очередная протечка тупняка на моём лоре, все в таз

zolden ★★★★★
()

что это делает в девелопмент?

нет никаких расширений, есть имена файлов с точками. file.tar.gz.aes256 это просто имя.

идите познавать мир в толкс

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)

Тупняк. Даже без эксперимента.

anonymous
()

Проведите небольшой эксперимент — вручную удалите у ваших -txt -mkv -jpg -avi файликов их расширения и внезапно окажется что не изменилось ровным счётом ничего — всё работает по-старому.

Удалил. Винда спрашивает, каким приложением открывать эту непонятную ерунду.

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

специально удаляю скриптом расширения, и когда знакомые вендузятники просят поделиться кинцом или музычкой, а потом звонят, недоумевая, почему ничего не проигрывается, я глумливо хихикаю в трубку

пять баллов)

Zhbert ★★★★★
()

Во-первых, libmagic небесплатен. Весь софт пытается использовать расширение, если оно есть именно потому, что в больших директориях libmagic может угадывать тип за секунды.

Во-вторых, libmagic неидеален. Он ставит приоритет на бинарных файлах. Он затачивается под нужды упоротых на голову сисадминов апача. Он способен опознать юникодный текст как досовый .COM файл (те, кто в курсе, что такое copy of memory, оценят). Вообще, сигнатуры на .com — доказательство того, что у девелоперов libmagic проблемы с головой. Тем временем, люди пилят отдельную эвристику для текстовых файлов т.к. в libmagic мало паттернов.

Нет, в простейших случаях оно работает, но пользоваться эвристикой для всего — ни за что.

anonymous
()

Не весь софт под линукс умеет определять тип файла не имеющего расширения (идущий, например, со многими легковесными DE).

Меня шокировало, но OS X тоже не определяет (не работает Quick View и пиктограмму не для всех типов отображает корректно, приложения для открытия выбирает правильно).

Y ★★
()
Последнее исправление: Y (всего исправлений: 1)

Для удобства. Посмотрел на файл и понял, что там должно быть. Если убрать типы файлов то любой каталог превратиться в помойку и нужно будет вспоминать что есть что в ней, каждый раз вызывая file.

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

Добавь "после последней точки". А то файл можно и так обозвать: this.is.a.very.long.filename.with.some.suffix

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от haku

Но расширение ведь не обязано соответствовать, файл jpg а там png и наоборот сплошь и рядом встречается.

Кухонными ножами каждый день убивают людей. Но это же не значит, что они предназначены для этого.

Так и с расширениями. Редкие использования не по теме не отменяют общей пользы для быстрой идентификации типа.

KRoN73 ★★★★★
()

вручную удалите у ваших -txt -mkv -jpg -avi файликов их расширения и внезапно окажется что не изменилось ровным счётом ничего — всё работает по-старому. Магия? Да, именно она.

Лучше удали расширение у своих -c -cpp -h файлов, и проверь магию еще раз.

TEX ★★★
()

Потом удали с -gz -tgz -srt -deb -rpm -vim и прочее прочее прочее

TEX ★★★
()

OSX - тэги?
Похвально, ya-ya-natur

Deleted
()

Слабоумный ты фуррифаг, отчленить символы от конца до точки, и сразу вызывать соответствующий парсер формата намного быстрее, чем перебирать все.

anonymous
()

о опциональности расширения файлов

Ты прав, но слишком рано остановился. Имена файлов тоже опциональны - по содержимому понятно, что оно такое есть. Аналогично, индексы в БД, без них всё тоже работает.

Но мы и то и другое упорно сопровождаем. Ещё нужно объяснять зачем?

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

А вот это будет намного забавней, т.к. gcc не умеет парсить содержимое файлов, прежде чем узнать, на каком языке они написаны. И получится весьма прикольно:

file not recognized: Формат файла не распознан
collect2: ошибка: выполнение ld завершилось с кодом возврата 

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от haku

Но расширение ведь не обязано соответствовать, файл jpg а там png и наоборот сплошь и рядом встречается.

*.avi и *.txt можно обозвать, но это же не норма вещей.

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

специально удаляю скриптом расширения, и когда знакомые вендузятники просят поделиться кинцом или музычкой, а потом звонят, недоумевая, почему ничего не проигрывается, я глумливо хихикаю в трубку

Ах вот почему линуксоидов всего 1 процент.

Jayrome ★★★★★
()

Удобнее. Быстрее. Нагляднее.

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

Да и потому и предложил. Тут недавно тема была где gcc материли

TEX ★★★
()

Я бы сказал, расширение - fallback. Если нет информации о mime-type, нет возможности проанализировать заголовок, то остаётся расширение.

invy ★★★★★
()

Я не ставлю расширения.

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

На самом деле ничего не мешает сделать (или уже есть?) файловую систему, которая помимо имени файла хранит его тип. Думаю, двух байт хватило бы чтобы закодировать все возможные типы файлов и иметь огромный задел на будущее.

invy ★★★★★
()

Человек вчера узнал о миме, ну не ломайте же ему кайф!

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

Я бы сказал, расширение - fallback. Если нет информации о mime-type, нет возможности проанализировать заголовок, то остаётся расширение.

Не совсем — если переименовать jpg в txt то его по даблклику открывает уже kate, а не gwenview.
Или тут накосячили создатели кед?

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

Ну, кеды используют как раз расширения для определения mime type, судя по настройкам в 'file associations'.

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

На самом деле ничего не мешает сделать (или уже есть?) файловую систему, которая помимо имени файла хранит его тип.

На самом деле мир не однородный и очень разный. И при перекладывании инфы с такой «умной» фс на всякие флэшки, болванки и прочие интернеты будут происходить всякие несуразности :(

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

Ну, кеды используют как раз расширения для определения mime type, судя по настройкам в 'file associations'.

Однако если расширения убрать, то текст открывает kate, картинки gwenview, а видео smplayer.
Получается кеды-то всё умеют, но ведутся на расширения и фейлятся с своей такой логикой «доверять имени файла, а не его типу».

haku ★★★★★
() автор топика
Последнее исправление: haku (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.