Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как сделать файл исполняемым в debian


Как сделать файл исполняемым в Linux

Операционная система Linux, в отличие от Windows, определяет какие файлы являются программами не по расширению, а по специальному флагу исполняемости. У каждого файла есть три основных флага, чтение, запись и исполнение. Они определяют что система может делать с этим файлом.

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

Содержание статьи:

Что такое исполняемость?

Уже много написано о том, как установить флаг исполняемости. Но что происходит с файлом во время этого, что такое исполянемость и как это работает?

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

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

Чтобы система могла определить какие файлы нужно выполнять, а какие лучше не надо и был придуман флаг исполняемости. По сути, флаг исполяемости - это несколько байт в файловой системе, которые говорят нужно выполнять файл или нет, само содержимое файла никак не изменяется. Со скриптами все работает точно так же, только команды из файла выполняет не процессор, а интерпретатор, например, в bash скриптах - сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик - это ld-linux.so.2.

Как сделать файл исполняемым в Linux?

В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:

$ chmod категория действие флаг адрес_файла

  • Категория - флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
  • Действие - может быть + (плюс), что будет значить установить флаг или - (минус) снять флаг.
  • Флаг - один из доступных флагов - r (чтение), w (запись), x (выполнение).

Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:

chmod u+x адрес_файла

 

Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:

chmod ugo+x адрес_файла

Посмотреть флаги в терминале можно с помощью утилиты ls:

ls -l каталог_с_файлами

Это значит, что все флаги включены для всех категорий. Первое rwx - флаги владельца, второе - группы, а третье - для всех остальных. Если флаг не установлен, на его месте будет прочерк.

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

chmod u-x адрес_файла

Как установить фалг исполняемости в GUI

Вы можете сделать файл исполняемым в linux не только через терминал. Такая функциональность есть во всех файловых менеджерах. Возможно, на первых порах это будет для вас проще. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:

Дальше перейдите на вкладку права и установите галочку Разрешить выполнение файла как программы:

Готово, исполняемый файл linux может быть запущен системой, прямо из файлового менеджера.

Выводы

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

Как в Linux сделать файл исполняемым?

Весьма часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл выполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент возбуждает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно. Для начала чуть-чуть теории. в Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их продолжению.

В Linux и других unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. безусловно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из собственных эстетических соображений. Для операционной системы это не будет иметь никакого значения. Ну и главный вопрос как же операторная система определяет какой файл исполняемый, является программой, а какой нет. Всё очень элементарно — это устанавливается одним из битов прав на файл.

Содержание статьи

Исполняемые файлы в Linux

В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.

Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.

Характерные черты исполняемых файлов в Linux

Пользователи, активно применяющие в повседневной работе операционную систему Windows, свыкнули к тому, что программы имеют расширение «.exe». Такие файлы содержат скомпилированный программный код, или иными словами – последовательность байтов, которая загружается в оперативную память и выполняется процессором. Linux реализует асбсолютно другой подход. Ранее, изучая написание скриптов командного интерпретатора Bash, мы уже поспели рассмотреть пример создания исполняемого файла. Он в отличие от Windows представляет собой обыкновенный текстовый документ с набором команд. Его особенностью является то, что перед основным содержимым дополняется специальный комментарий, говорящий операционной системе Linux, какую программу использовать для интерпретации. Кроме скрипта, исполняемым файлом является и скомпилированная программа. Таким образом, все файлы в Linux смогут быть, как обычными текстовыми документами, так и исполняемыми программами. Отличие лишь в специальных флагах и преимуществах доступа операционной системы (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство).

Назначение прав для запуска файла в Linux

Сделать файл вразумительным для запуска можно с помощью графической оболочки. Нажмите по ярлыку правой кнопкой мыши. В контекстуальном меню выберите пункт «свойства». Открывшееся окно должно содержать вкладку «преимущества», в котором нужно активировать пункт «разрешить выполнение файла как программы». Данный метод будет отличаться в зависимости от дистрибутива Linux и графической оболочки. Также возможно приставить права запуска через консоль. Для этого используется команда chmod. Пример, презентованый ниже, устанавливает право выполнения для владельца файла и его группы. Вы можете скопировать Bash-скрипт из первоначального примера в файл и провести с ним данную операцию.

chmod ug+x games-dialog

Установка прав на пуск в Linux

Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо осуществить в окне терминала простую команду:

chmod +x имя_файла

или

sudo chmod +x имя_файла

Вот и все, сейчас вы знаете как сделать файл исполняемым в Linux. И если нужно будет запустить script или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментах!

Как сделать файл исполняемым (для запуска) из командной строки?

spotter

02.02.2018
18:52

Постоянная ссылка на комментарийВойдите, чтобы ставить дизлайкине нравится

+1

Войдите, чтобы ставить лайкимне нравится

скажите, почему некоторые пишут вот так - chmod u+x адрес_файла

[аноним]

11.04.2019
23:13

Постоянная ссылка на комментарийВойдите, чтобы ставить дизлайкине нравится

+1

Войдите, чтобы ставить лайкимне нравитсяchmod не действует даже от root, чтобы сделать исполняемым из usb appimage.

Это заговор разработчиков Линукс или я что-то делаю неправильно?

#su
password root
#chmod u+x /run/media/vladimir/usb name/appimage

#
#mount
#.... /run/media/vladimir/usb name/appimage =rw

Владимир

11.04.2019
23:40

Постоянная ссылка на комментарийВойдите, чтобы ставить дизлайкине нравится

+1

Войдите, чтобы ставить лайкимне нравится

В качестве версии, -- установлен запрет на исполнение программ из usb, -- потому что абсолютистское сознание воспринимает usb как сексуальную установку на исполнение некоторого действия, -- US, -- мерять конец от американец. Что удивляет по этой же причине не хотят избавляться от мусорных полигонов ибо гестапо заложило в наше подсознание необходимость подличать, -- под лiчать, числить под собою инакомыслящего своею женою. Потому и поЛИ go-эн, -- энный go, шут, общий, -- по, -- половой орган Ложно Идентифицированный. Как-то так. Да, понимаю, что воспринимается будто отморозок пишет.

Как сделать исполняемый файл? [РЕШЕНО]

ПКМ щелкаешь по файлу, выбираешь свойства и там настраиваешь (верно для КДЕ3, в 4-ых вероятно так же).

***
Из КДЕ файл так и будет запускаться приложением, которое за него отвечает, напишите в консоли ./имя_приложения и нажмите выполнить его(энтер).
(или выберите в mc курсором и нажмите "ввод"(энтер))

У меня например, файл из примера (linux-carmanniy_spravochnik.djvu), после превращения в выполняемый в попрежнему запускался Djveiw, а вот при запуске из консоли выдало честно:
./linux-carmanniy_spravochnik.djvu
bash: ./linux-carmanniy_spravochnik.djvu: не могу запустить бинарный файл

Что показывает, что все честно работает, т.е. пытается запуститься, просто файл не бинарный.

****

"Паровозик" же (скрипт, командный файл и т.п. названия), как пример напишу ниже:

#!/bin/bash
#останавливаем программу MLdonkey
killall

Несколько полезных команд Linux. Linux статьи

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

Как сделать файл исполняемым

chmod +x myfile

Данная команда сделает исполняемым файл myfile.

chmod +x *

Данная команда сделает исполняемыми все файлы в текущей директории.

Как сделать файл неисполняемым

chmod -x myfile

Команда снимает право на выполнение файла.

Как создать пустой файл в Linux

Для решения данной задачи можно воспользоваться командой touch:

touch filename

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

Завершение (уничтожение) процесса

Иногда бывает нужно уничтожить какой-нибудь процесс (зависшую программу). Если вы знаете имя команды, которой был запущен процесс (программа), то вы можете воспользоваться командой killall:

killall firefox

Данная команда остановит все процессы, запущенные командой firefox.

Если же killall не помог или неприемлем, то можно найти PID (идентификатор процесса) и убить его командой kill:

admin@pingvinus:~$ ps -Aef | grep firefox admin 2275 1 11 07:42 ? 00:05:52 /usr/lib/firefox-3.5.8/firefox admin 2821 2800 0 08:32 pts/2 00:00:00 grep firefox admin@pingvinus:~$ kill 2275

Здесь мы сначала с помощью команд ps и grep определяем PID процесса (первое число слева), а потом останавливаем данный процесс командой kill.

Как создать новый файл в консоли Debian 9. Утилита touch

В жизни каждого пользователя Unix наступает момент перехода из обычного пользования операционной системой в режим продвинутого использования. Когда начинает хотеться что-то создавать, а не просто использовать готовое. Одним из первых вопросов, с которым приходится столкнуться на этом бесконечном и иногда тернистом пути, является вопрос о том, как создать новый файл. И это логично! С момента возникновения Unix основным правилом было то, что всё в этой операционной системе является файлом. Но нам нужно создать файл на диске, а не какой-то философский объект. Поэтому рассмотрим несколько способов создания файла на диске в операционной системе Debian 9, но предложенные варианты могут работать и под другими версиями *nix.

touch — самый простой способ, предназначенный для создания файла в Linux

Итак, директива touch предназначена для создания файла на диске в доступном для записи месте под ОС Linux. Чтобы с её помощью создать файл, нужно набрать сперва эту команду, потом имя нового файла и нажать Enter:

root@server:/home/test# touch test.txt

Проверим:

root@server:/home/test# ls
 test.sh test.txt

Файл создан! Важно понимать, что файл создаётся в той директории, в которой во время создания файла находится пользователь.

Для того, чтобы создать файл в другой директории, нужно прописать до неё абсолютный или относительный путь:

root@server:~# touch /home/test/test2.txt

Если файл в указанном месте с таким именем существует, система ничего не скажет и даже не моргнёт. Ну есть файл и есть. Не волнует, что пользователь решил его создать ещё раз. То есть при создании файла утилитой touch, если этот файл уже существует, ничего не происходит.

Зато, если нет директории, в которой планируется создать файл, система ругнётся:

root@server:~# touch /home/test/1/test2.txt
 touch: cannot touch '/home/test/1/test2.txt': No such file or directory

Есть ещё одно свойство команды touch, которое пожалуй лучше сразу знать. С её помощью можно создать несколько файлов сразу. Между названиями файлов просто должен стоять пробел. Не придумаю сходу, зачем и когда это может понадобиться, но 100% понадобится — в этом я уверен. Выглядит это так:

root@server:/home/test# touch 1.txt 2.mp3 3.doc 4.mb4
 root@server:/home/test# ls
 1.txt 2.mp3 3.doc 4.mb4 test2.txt test.sh test.txt

Резюме

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

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

java - Создание пакета debian из исполняемого источника jar без использования каких-либо инструментов и скриптов

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

.

bash - Как создать файл в Linux из окна терминала?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама
.

linux - Как мне создать окончательный исполняемый файл с помощью make?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд
.

linux - Как выполнить файл без расширения .sh в оболочке

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Набрать техников
.

c - Создание исполняемого файла Ubuntu

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии
.

Как сделать файл llvm .bc исполняемым?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Смотрите также