Linux команда для запуска файла

Содержание
  1. Как запустить программу на Linux
  2. Виды программ в Linux
  3. Запуск программ в терминале
  4. Запуск программ от имени другого пользователя
  5. Как запустить программу в фоне
  6. Как запустить скрипт в Linux
  7. Запуск программ Linux в графическом интерфейсе
  8. Выводы
  9. HackWare.ru
  10. Этичный хакинг и тестирование на проникновение, информационная безопасность
  11. Азы работы в командной строке Linux (часть 1)
  12. Командная строка Linux
  13. TAB для автодополнения
  14. ENTER для запуска выполнения команд
  15. CTRL + c для прерывания выполнения программы
  16. ↑ (курсорная клавиша вверх) для просмотра истории команд
  17. Азы файловой системы Linux
  18. Базовые команды Linux
  19. pwd для показа текущей рабочей директории
  20. mkdir для создания новых директорий
  21. ls для просмотра содержимого каталогов
  22. cd для перехода по папкам (смены текущей рабочей директории)
  23. cp для копирования файлов
  24. mv для переименования и перемещения файлов.
  25. rm для удаления файлов и папок
  26. Как копировать текст в командной строке и как вставлять в командную строку Linux
  27. Ошибка «команда не найдена»
  28. Ещё несколько полезных сочетаний клавиш для командной строки Linux

Как запустить программу на Linux

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

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

Виды программ в Linux

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

Все программы можно поделить на несколько типов:

  • Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
  • Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
  • Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.

А теперь перейдем к запуску программ.

Запуск программ в терминале

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

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

Разработчики придумали обходной путь. Была создана переменная PATH, в которой хранятся все пути к папкам где обычно находятся программы — /bin, /sbin, /usr/bin, /usr/sbin и так далее. Вы можете посмотреть ее содержимое командой:

Когда вы набираете имя программы система ищет исполняемый файл с таким именем по всем папкам из PATH и если находит — то выполняет. Если же такого файла нет, то выдается сообщение — command not found. Таким образом, чтобы запустить одну из системных программ достаточно набрать имя ее исполняемого файла, например:

Читайте также:  Windows defender редактор реестра

И можно передать параметры после пробела:

Когда программа находится не в этих каталогах, нужно указать к ней полный путь:

Если же вы хотите запустить программу через терминал ubuntu, которая находится в текущей папке, то ситуация будет немного другой. Система выполняет только поиск по папкам из переменной PATH, в текущей директории она не ищет. Поэтому, если вы наберете имя исполняемого файла, то получите ошибку. Нужно указывать полный путь, как вы помните путь к текущей папке будет ./:

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

По умолчанию эта команда открывает настройки утилиты sudo в редакторе Vim, но с этой переменной окружения настройки откроются в редакторе nano.

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

Вы уже знаете как запустить программу в терминале linux, а что насчет других пользователей? В Windows достаточно часто используется запуск программ от имени администратора чтобы программа могла получить больше прав доступа в системе. В Linux для этого используется утилита sudo. Ее имя можно расшифровать как switchuserdo — изменить пользователя и выполнить. По умолчанию утилита выполняет команду от имени суперпользователя root:

Но с помощью опции -u можно выполнить программу от имени любого пользователя, зарегистрированного в системе:

Команда whoami (кто я) выводит имя текущего пользователя.

Как запустить программу в фоне

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

Система выведет PID, уникальный идентификатор программы, который вы потом можете использовать чтобы закрыть ее командой kill:

Как запустить скрипт в Linux

Мы уже говорили, что программы делятся на бинарные и интерпретируемые. Раньше мы говорили только про бинарные программы. Для запуска интерпретируемых нужен непосредственно интерпретатор, к таким программам относятся написанные на таких языках, как Java, Python, Perl, Ruby, PHP, NodeJS и многих других. Синтаксис запуска такой программы отличается:

интерпретатор /путь/к/файлу/программы параметры

Разные интерпретаторы ведут себя по разному, поэтому лучше сразу указывать полный путь к программе. Python обычно подхватывает скрипты из текущей папки без указания полного пути:

А Java программы нужно запускать так:

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

Или же просто набрать путь к скрипту:

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

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

Запуск программ Linux в графическом интерфейсе

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

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

Точно так же работает запуск скриптов в графическом интерфейсе. Вы можете найти все ярлыки из меню в каталоге /usr/share/applications/. Любую программу можно запустить двойным щелчком отсюда. Но давайте посмотрим что находится внутри ярлыка, для этого откройте его в текстовом редакторе:

Кроме всего прочего, в строке Exec указана команда, которая выполняет запуск программы linux, когда вы делаете двойной клик на ярлыке. Вы можете взять один из существующих ярлыков и сделать на его основе свой. Здесь указано просто имя программы. Но важно заметить, что лучше указывать полный путь в таких местах, как ярлыки, скрипты, cron и так далее это уменьшит количество ошибок, поскольку вы не можете знать проверяет ли система в этом случае PATH или ищет программу только в текущем каталоге. Теперь вы знаете все о том как запустить программу на linux.

Читайте также:  Reagentc exe образ среды восстановления windows не найден

Выводы

В этой статье мы рассмотрели как запустить программу через терминал ubuntu или в других дистрибутивах Linux. Несмотря на то, что это кажется очень простой темой, тут есть свои интересные моменты, которые могут быть полезны. Но вы о них уже знаете. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Азы работы в командной строке Linux (часть 1)

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

Командная строка Linux

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

добавлен в избранные команды,

доступен в контекстном меню при клике правой кнопкой мыши в области рабочего стола.

Либо вы для вызова эмулятора терминала вы можете воспользоваться сочетанием клавиш CTRL + ALT + t.

В приглашении командной строки отображается имя пользователя и имя хоста. Перед областью ввода команд может быть символ решётки (#) или символ доллара ($). Символ доллара означает, что вы работаете под обычным пользователем, а символ решётки – что под суперпользователем (root).

На скриншоте видно, что я открыл консоль как обычный пользователь (символ $), а затем вошёл как root (символ сменился на #).

В некоторых инструкциях перед командами пишут $ или # и новички, пытаясь выполнить команды копированием-вставкой, получают разнообразные ошибки. Если перед командной вы видите $ или #, то их не нужно печатать – они написаны только для информирования вас о том, нужны ли дополнительные привилегии для выполнения данной команды.

TAB для автодополнения

При вводе команды или имени файла, обязательно используйте клавишу TAB – она автоматически допишет для вас команду или имя файла. Если при нажатии на TAB ничего не происходит, то быстро нажмите TAB два раза, чтобы увидеть все доступные варианты. Если варианты не выводятся, то это верный признак того, что: 1) вы неправильно начали вводить имя команды, 2) программа, которую вы намереваетесь запустить, ещё не установлена.

ENTER для запуска выполнения команд

Набрав команду, нажмите ENTER и после этого она запустится.

CTRL + c для прерывания выполнения программы

Если вы хотите оборвать выполнение команды, то используйте для этого сочетание клавиш CTRL + c. Если вы ввели команду, но передумали её запускать, то вместо удаления строки, можете также нажать CTRL + c.

(курсорная клавиша вверх) для просмотра истории команд

Если вы хотите повторить выполнение команды, то клавишами и вы можете пролистать историю ранее введённых команд, выбрать любую из них для повторного выполнения, отредактировать перед запуском.

Азы файловой системы Linux

Если нужно прочитать какие-то данные или сохранить информацию в файл из консоли, нужно уметь указывать путь до файла. В файловой система Linux нет такого понятия как буквы дисков. Там используется понятие «корень». Обозначается корень символом /

После корня указываются папки (в Linux они называются директориями) и файлы. Одни папки могут быть вложены в другие – точно также как в Windows. Вложенные папки и файлы разделяются символом / (точно таким же как корень).

Пример указания пути до файла:

Эта запись означает, что файл book.txt находится в папке mial, а папка mial находится в папке home.

Базовые команды Linux

pwd для показа текущей рабочей директории

Откройте консоль и введите туда

У меня вывелось:

Здесь / (первый слеш) – это корень, home – это название папки (директории), далее / (второй слеш) – отделяет название вложенной папки, mial – название второй вложенной папки.

Читайте также:  Размеры dvd дисков windows

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

mkdir для создания новых директорий

После mkdir укажите название папки, которую вы хотите создать. Если вы укажите относительный путь, например, так:

То будет создана новая папка test1 в текущей рабочей директории, т.е. в моём случае путь до неё будет

Также можно указать абсолютный путь до папки:

ls для просмотра содержимого каталогов

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

Теперь мы можем убедиться, что папки test1 и test2 действительно были созданы.

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

После команды и опций можно указать путь до папки, содержимое которой вы хотим посмотреть. Чтобы увидеть содержимое директории /var/log нужно ввести:

Для просмотра содержимого корневой директории:

cd для перехода по папкам (смены текущей рабочей директории)

Для перехода по папкам используется команда cd после которой пишется директория, в которую вы хотите перейти. Можно указывать относительный путь или абсолютный:

Символ . (одна точка) означает текущую директорию, а символ .. (две точки) означаете родительскую директорию. Следовательно, для перехода на один уровень вверх нужно набрать

cp для копирования файлов

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

Этой командой я скопировал файл test.sh в директорию test1. Проверим

mv для переименования и перемещения файлов.

После команды mv указывается имя файла, который вы хотите переименовать или переместить. Затем через пробел пишется директория, куда вы хотите переместить файл (тогда файл будет перемещён в неё с исходным именем), или директория и новое имя файла (тогда файл будет перемещён и переименован), или только новое имя файла (тогда файл будет переименован).

Файл test.sh из каталога test1 я переместил в каталог test2:

Файл test.sh в каталоге test2 я переименовал в test2.sh:

Файл test2.sh в каталоге test2 я переместил в каталог test1 и присвоил ему имя new.txt:

rm для удаления файлов и папок

Чтобы удалить наши тестовые директории, воспользуемся командой rm. После этой команды укажите путь до файла или папки, которые нужно удалить. Если вы собираетесь удалить директорию, то используйте также опцию -r, она означает рекурсивно удалять каталоги и их содержимое. Можно указать сразу несколько файлов и (или) каталогов:

Для понимания иерархии файловой системы рекомендуется ещё одна статья для новичков «Структура директорий Linux. Важные файлы Linux».

Как копировать текст в командной строке и как вставлять в командную строку Linux

Привычные сочетания клавиш Ctrl+c и Ctrl+v в терминале имеют другое действие. Для копирования нужно использовать Ctrl+Insert, а для вставки Shift+Insert.

Ошибка «команда не найдена»

Причиной данной ошибки могут быть:

  • неправильно набрано имя команды
  • программа не установлена
  • данную команду может выполнять только root

Ещё несколько полезных сочетаний клавиш для командной строки Linux

  • Ctrl+l для очистки экрана
  • Ctrl+a для перехода в начало введённой команды
  • Ctrl+e для перехода в конец введённой команды
  • Ctrl+u для удаления всего, что стоит до курсора
  • Ctrl+k для удаления всего, что стоит после курсора
  • Ctrl+d для завершения текущего сеанса, закрытия консоли

Одна из самых часто используемых:

  • Ctrl+R: Поиск по ранее запущенным командам, начните писать искомую и вам будут предлагаться самые подходящие варианты. Для запуска нажмите ENTER.

Имеется функционал копи-пастинга:

  • Ctrl+W: Вырезать слово перед курсором, добавить его в буфер обмена.
  • Ctrl+K: Вырезать часть строки после курсора, добавить её в буфер обмена.
  • Ctrl+U: Вырезать часть строки перед курсором, добавить её в буфер обмена.
  • Ctrl+Y: Вставить из буфера обмена последнее, что вы вырезали.

Источник

Оцените статью