LINUX.ORG.RU
ФорумTalks

линукс и exe

 


0

2

почему на линуксе экзешники не имеют расширения .exe? Почему бы не ввести такой стандарт? Например, rund/runctl будет запускать только те экзешники которые имеют расширение .exe

★★★★☆
Ответ на: комментарий от alman

Ну так моно в жопу укушенный. Он потому и не нужен.

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

ну вопервых считается из 1 файла. С того в который ты мышом ткнул. Во вторых там считается гораздо меньше чем с 5000 имен +4 символа

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

Бред. Что такое исполняемый бинарь? +x есть? Не исполняемый. Любой выхлоп /dev/random исполняемый. Вопрос в том, что он вылетает на 2-й 3-й комманде. Ты про COFF слышал? Про ELF?

Пять звезд! Лор. ПЯТЬ ЗВЕЗД. Чувак такое пишет, что у меня у хомяка шерсть дыбом.

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

Я его уже использовал, могу ещё раз показать что он у меня работает нормально.

➜  arm_asm  ls
impl.c  impl.h  main.c  Makefile
➜  arm_asm  make
clang -O2  main.c impl.c
clang -O2  main.c impl.c -o no_suffix
➜  arm_asm  ls
a.out  impl.c  impl.h  main.c  Makefile  no_suffix
➜  arm_asm  find -executable -delete
➜  arm_asm  ls
impl.c  impl.h  main.c  Makefile

userd
()

Ты зачем тупняком разбрасываешься? Выпей водки своей смузи и успокойся уже.

gill_beits ★★★★
()

навинфак и язабан уже предлагали? :)

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

ну вопервых считается из 1 файла. С того в который ты мышом ткнул.

Ты вообще графический интерфейс в линуксе видел, или только из консоли втыкаешь?

Во вторых там считается гораздо меньше чем с 5000 имен

Лотерея. Может считаться и со всех 5000.

+4 символа

Считать из файла на диске 4 байта или 256 - разницы почти никакой, всё равно данные прочтутся большим блоком, из которого потом можно взять те 4 байта. К ненужному тормошению носителя информации добавляются тысячи операций по открытию файлов на чтение и закрытию. Не замечал, что большими файлами объёмы информации обычно перемещаются быстрее?

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

Ты не поверишь я думаю просто ты скрипт писать не умеешь.

А я думаю, что твоя парадигма не думать, а слова находить и красиво складывать.

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

Дальше на личности переходи давай. Нет в Linux графического интерфейса. Ну как бы нет его. Linux это ядро. Во вторых считается с одного. С того который ты хочешь запустить. Ну что за идиот будет сканировать все файлы? Ты ткнешь тогда из него считают я не помню толи 512 толи сколькто там байт заголовка. Это кстатичуть ли не Posix прописано. А про открытие и закрытие ты извини. Нет там такого strace на ls натрави. Ну чтоб прозреть.

Друг просто ты сейчас такое невежество вылил. Ну реально strace на ls натрави и погляди где там опен рид клоус кроме как в директории.

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

Бред. Что такое исполняемый бинарь? +x есть? Не исполняемый. Любой выхлоп /dev/random исполняемый. Вопрос в том, что он вылетает на 2-й 3-й комманде. Ты про COFF слышал? Про ELF?

Засунь своих ельфоф куда подальше, до тех пор пока не усвоишь основы работы с файлами, а они со времён доса мало изменились. Ты не разбираешься в основах организации данных файлами, каталогами и прочим, пытаешься подменить недостающее натыренными отовсюду не относящимися к обсуждению данными. Открой ФМ и посмотри что есть тип файла а что атрибут.

Пять звезд! Лор. ПЯТЬ ЗВЕЗД. Чувак такое пишет, что у меня у хомяка шерсть дыбом.

В первый раз услышал про типы и атрибуты файлов? Да, это может быть шок.

Napilnik ★★★★★
()

А что тебе мешает самому приписать exe к названию файла?

sudo.exe bash.exe

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

Я его уже использовал, могу ещё раз показать что он у меня работает нормально.

Тебе конкретный баг привели, и нафиг не спросили про ненадёжный метод его обхода.

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

Дальше на личности переходи давай. Нет в Linux графического интерфейса. Ну как бы нет его. Linux это ядро.

Ты из секты свидетелей ядра линукса? Это почти всё объясняет! Для большинства пользователей ПК, линукс это ОС, а какая у неё либа нужна для запуска, дело десятое.

Во вторых считается с одного. С того который ты хочешь запустить. Ну что за идиот будет сканировать все файлы?

Графический файловый менеджер именно что так и делает - памяти сейчас гигабайты, много данных за раз в неё помещается. Открой konqueror и проверь.

Ты ткнешь тогда из него считают я не помню толи 512 толи сколькто там байт заголовка. Это кстатичуть ли не Posix прописано.

При написании стандарта всего предусмотреть без тестинга сложно. Написали лажу и не исправили.

А про открытие и закрытие ты извини. Нет там такого strace на ls натрави. Ну чтоб прозреть.

Сколько хелловордов ты написал, колись;) Чтобы прочитать байты из файла, его сначала нужно открыть на чтение, это факт, иначе бардак будет. А уж куда открытие спрятать, к делу не относится.

Друг просто ты сейчас такое невежество вылил. Ну реально strace на ls натрави и погляди где там опен рид клоус кроме как в директории.

Начитался манов и теперь думаешь что всё знаешь?) А есть ещё обратная сторона силы:))) Когда мне нужно в хелловорде на довольно низком уровне прочитать что-то из файла, сначала его открываю, или на чтение, или на чтение и запись. Без этого система прочитать ничего не даёт.

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

Какой метод обхода? У меня баг вообще не воспроизводится, что я и продемонстрировал, могу ещё раз.

➜  test  echo " " > test1
➜  test  echo " " > test2
➜  test  du -h -b *
2	test1
2	test2
➜  test  chmod +x test2
➜  test  find -executable -delete
➜  test  ls
test1

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

Какой метод обхода? У меня баг вообще не воспроизводится, что я и продемонстрировал, могу ещё раз.

test echo " " > test1

А длину текстового файла кто смотреть будет? Твоя команда создаёт файл с длиной 0, а у меня файлы создавались в ФМ командой из локальной менюшки и длина их сразу была 2 байта. Ну и посмотрим, что в новосозданном текстовом файле:

Создаём в том же каталоге файл 1.pp с таким текстом

VAR
Fail: FILE;
Q5: STRING;
Q2: LONGINT;
BEGIN
ASSIGN(Fail,'Текстовый файл');
RESET(Fail,1);
Q2:=FILESIZE(Fail);
WRITELN('Длина этого файла ',Q2,' байт');
IF Q2>2 THEN Q2:=2;
BLOCKREAD(Fail,Q5[1],Q2);
WRITELN(ORD(Q5[1]));
WRITELN(ORD(Q5[2]));
CLOSE(Fail);
END.
И
$ fpc 1.pp -XX -CX
$ ./1
Длина этого файла 2 байт
32
10

Теперь почему-то только один текстовой файл потёрся, тот что «запускаемый». Но это всё равно не приемлемо, у меня же могут быть башевые скрипты в каталогах или напоминалки в имени файлов - может их я стирать не собираюсь.

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

find -type f -delete -executable

А вот так мои созданные в ФМ даже не исполняемые файлы с содержимым #32#10 трёт. Замечательная автоматизация, почти как в старой теме форума http://linuxhacker.ru/~shaman/perl-one.html

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

А мну вчера порошок покупал (стиральный) и долго лыбился при покупке от названия «ЯТЬ». «@#ЯТЬ отстирает шмотки чисто чисто! Теперь у вас дома есть №;ЯТЬ, она будет стирать...» Ну и так далее. Юмористы, мыла УЙ только не хватает.

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

недостаточно. Файл не перестает быть экзешником от того, что у тебя нет прав на его исполнение!

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

так ты из тех! (которые считают, что чем больше файлов в директории, тем медленней она должна отображаться даже несмотря на пагинацию и индексы? =)

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

А в Symbian OS вроде как были и exe, и dll. Хотя это ниразу не винда. Наверное с доса они копировали такую систему именования. Да у них там и собственное подмножество C++ было — Symbian C++.

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

Помню те времена (а может, они ещё и не кончились), когда вирусня распространялась милым способом: Kurnikova.jpg.exe

Нет, не кончились. На этой неделе получил грозное письмо, что я должен срочно гасить кредит. Приложение — rar, внутри kreditnyi_dogovor.doc.exe

Касперский с дрвебом только на второй день начали определять, что есть вирус.

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

где программы ты запускаешь щелчком мыши

Программам не место в ~, а текущему каталогу в файловом менеджере - в /usr/bin. Не нужно.

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

А проверял? Или теоретизируешь как всегда?

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

ЗЫ: Я отлично это знаю, но на практике оно обычно не работает.

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

Не знаю как в Gnome/Nautilus, но Dolphin понимает тип файла и без какого-либо расширения, по mime или заголовку.

Можешь удостовериться в этом сам, удалив расширение .jpg у своей любимой картинки с поняшкой, Dolphin всё так же будет показывать миниатюру и открывать её твоим любимым вьюером картинок.

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

в том числе и по суфиксу расширения имени файла действует софт.

Поправил.

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

Формально это были дампы оперативной памяти, записанные на диск...

Shadow ★★★★★
()

Уже все используют без расширения или .run

Reedych ★☆
()

Потому, что расширение имени - это древность, которая тянется ещё с CP/M из-за ограничений ОС и файловой системы. GNU/Linux же пошёл как unix-подобная ОС, потому такую тупость к себе не потащил.

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

Таки да. Расширение файла используется лишь в спорных случаях. Скажем, если надо отличить odt от zip (а odt по сути является zip с определённой структурой файлов). А если файлы однозначно различаются по mime type, то расширение используется лишь очень кривым софтом.

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

Без executable атрибута (который очень быстро проверить) бинарник всё равно не запустится. А если запускаемость не важна, то и в винде можно сменить расширение с exe на что-нибудь другое. И точно также бинарник запускаться не будет, но и определить то, что это бинарик легко нельзя будет.

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

почему на линуксе экзешники не имеют расширения .exe?

Имеют. Некоторые даже запускаются без вайна (mono).

Почему бы не ввести такой стандарт?

Уже есть и хороший стандарт, и хороший пример плохой реализации ".exe", которую лучше избегать.

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

А если запускаемость не важна, то и в винде можно сменить расширение с exe на что-нибудь другое.

Но по умолчанию никто этим не занимается.

И точно также бинарник запускаться не будет, но и определить то, что это бинарик легко нельзя будет.

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

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

Ты меня не понял?

Расширение exe в винде == право executable в Linux.

И то, и то легко проверить (не надо читать содержимое файла). И то, и то можно убрать и файл перестанет легко определяться, как исполняемый (однако достаточно продвинутый файловый менеджер сможет на обоих ОС распознать исполняемый файл по заголовку). В обоих случаях по умолчанию никто не убирает признаки исполняемого файла.

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

Расширение exe в винде == право executable в Linux.

Расширение это тип, а он <> не равен атрибуту файлов.

однако достаточно продвинутый файловый менеджер сможет на обоих ОС распознать исполняемый файл по заголовку

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

В обоих случаях по умолчанию никто не убирает признаки исполняемого файла.

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

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

И это говорит регистрант у которого голова забита идиотскими идеями тысячелетней древности?

В смысле, что тебя нельзя стукнуть кирпичом по кумполу? Ты против;)

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

В винде куча разных форматов исполняемых файлов. Да даже тот же самый PE имеет различные расширения («файл экранной заставки», скажем). А ещё есть всякие com, bat, vbs. Если в системе стоят дополнительные интерпретаторы, то сюда ещё уйма скриптовых языков прибавится. В итоге, если не следить за всем этим зоопарком форматов, то можно нечаянно запустить какого-нибудь зловреда.

В Linux пошли по иному пути - есть два типа файлов - исполняемые и не исполняемые. Исполняемые, это которые запускаются и делают что хотят, а не исполняемые открываются в различных редакторах и просмоторщиках и если в этих приложениях нет уязвимостей, то точно ничего плохого сделать не могут.

Вот скажи мне, какая нафиг разница, какой формат имеет файл, если ты собираешься его запустить? Ты пишешь команду (или дваждый кликаешь в файловом менеджере) и тебя совсем не интересует это PE, ELF или шелл-скрипт, тебе главное его запустить, не?

А если ты собрался файл редактировать, то тебе это уже будет важно. Но тут сработают mime-типы, однако это уже совсем другой спор.

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

Если бы я имел ввиду эту, я бы написал трехтысячелетней давности. И она не идиотская в отличии от твоего тысячелетнего старья.

siphonops ★★★
()

Вообще, если расширить вопрос на определение типа любого файла, а не только исполняемого, то вопрос достаточно интересный. Зря вы какахами в ТСа кидаете.
Magic последовательности, как и расширения, не супер хорошее решение. Именно Magic, а mime это уже результат определения типа файла, точнее просто стандарт, как этот результат записать. Если уж кидаетесь какахами, то извольте сами точно выражаться! А то, понимаешь «Мой файловый менеджер определяет по mime». А mime он где берет, из /dev/random?
То, что надо прочитать начало файла для определения типа, далеко не всегда удобно, например по сети или в архиве. А еще может быть так, что по содержимому это один тип файла, а пользователю надо показывать как другой. Пример про офисный документ, который архив по сути, тут уже приводили.
ИМХО, у яблоков (привет, Джобс!) до 10 версии системы было неплохое решение этой задачи: тип файл хранился как отдельный атрибут, рядом с именем. И с именем файла не мешается (нельзя случайно поменять, не надо писать в командах и т.п.) и проблемы zip<>odt быть не может. ЕМНИП, он был только 4 символа, что может быть не всегда достаточно. Было бы неплохо расширить этот стандарт, сделать иерархическим, вроде «ZIP(Archive)/ODT(Office)». Тогда и пользователю можно предоставлять больше выбора чем это открыть. Плохо, что такая система хранения типа не стала популярной и от нее отказались из-за несовместимости со всякими виндами (при переносе с системы на систему инфа о типе терялась).

ls-h ★★★★★
()
Ответ на: комментарий от KivApple

В Linux пошли по иному пути - есть два типа файлов - исполняемые и не исполняемые. Исполняемые, это которые запускаются и делают что хотят, а не исполняемые открываются в различных редакторах и просмоторщиках и если в этих приложениях нет уязвимостей, то точно ничего плохого сделать не могут.

То есть линуксоид, это лох-юзверь, которому ничего кроме как запускать и ставить из пакетов, с бинарями делать больше не надо, а в винде - продвинутый пользователь:)))) Здрасьте, приехали с вашим гениальным решением.

Вот скажи мне, какая нафиг разница, какой формат имеет файл, если ты собираешься его запустить? Ты пишешь команду (или дваждый кликаешь в файловом менеджере) и тебя совсем не интересует это PE, ELF или шелл-скрипт, тебе главное его запустить, не?

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

А если ты собрался файл редактировать, то тебе это уже будет важно. Но тут сработают mime-типы, однако это уже совсем другой спор.

Это в винде с исполняемым файлом ФМ ничего лишнего сделать не даёт, а в линуксе его тип не имеет значения - открывай хоть в текстовом редакторе.

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

в отличии от твоего тысячелетнего старья.

Хз тогда, что у тебя за глюк.

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