как узнать версию bash
Как узнать версию bash
Как узнать в каком я интерпретаторе работаю? Какая команда нужна для етого
Из тех что знаю chsh или посмотреть на вид ком строки или посмотреть в файл /etc/passwd
Но ведь есть же команда
И что такое пользователь toor
1. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от Oyyo on 18-Апр-07, 00:00 | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от Anonymous on 18-Апр-07, 00:03 | ||
| ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
3. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от YuryD (??) on 18-Апр-07, 09:24 | ||
Не факт, это всего лишь имя файла выполняемого шелла, есть любители симлинки делать или переименовывать файлы. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
4. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от newser (ok) on 18-Апр-07, 09:44 | ||
Ну а кто мешает это выяснить? | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
5. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от bill (ok) on 18-Апр-07, 11:04 | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
6. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от newser (ok) on 18-Апр-07, 11:35 | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
7. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от YuryD (??) on 18-Апр-07, 11:57 | ||
Еще круче shell=/bin/csh | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
9. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от bill (ok) on 18-Апр-07, 12:53 | ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
8. «Как узнать в каком я интерпретаторе работаю» | + / – | |
Сообщение от bill (ok) on 18-Апр-07, 12:48 | ||
Существует две разновидности shell: Bourne-like и C Shell-like. Между ними есть различия, желательно их знать, уметь обращаться и с теми, и с другими. Тогда Ваш первоначальный вопрос вряд ли будет иметь значение. C Shell-like: C Shell (csh) и TC Shell (tcsh). Собственно, понять, с какой разновидностью имеем дело, можно, например, просто попробовав присвоить некой переменной значение: Для csh-like:
Как узнать свою версию BashЕсли у вас не работают примеры Bash кода, которые вы нашли онлайн или в учебниках, то одной из причин проблем может быть несоответствие версий. Или даже у вас может быть запущен не Bash, а одна из других многочисленных оболочек Linux. Данная статья расскажет, как проверить используемую версию Bash и как убедиться, что вы работаете именно в Bash, а не в другой оболочке. Этот метод проверить версию Bash также позволит вам убедиться, что вы работаете именно в Bash: Если вы используете другую оболочку, то ничего не будет выведено. Следующее сочетание клавиш покажет информацию о текущем экземпляре Bash, возможно вам будет проще его запомнить, чем имя переменной окружения: Ctrl+x Ctrl+v Запуск bash с опцией —version: Помните, что в этом случае версия bash будет выведена даже если в вашей текущей оболочке не используется bash, но bash установлен в системе. Если у вас система в обновлённом состоянии, то вы можете проверить версию Bash в репозиториях вашего дистрибутива — она будет соответствовать версии в вашей системе. Для Debian, Linux Mint, Ubuntu, Kali Linux и их производных это можно сделать следующей командой: Как узнать, какая оболочка используется в LinuxОболочки Linux Существует несколько оболочек Linux, каждая из которых имеет свои особенности. Примеры популярных оболочек: Bash (является оболочкой по умолчанию на множестве дистрибутивов) и ZSH (по умолчанию является оболочкой на Kali Linux, имеет много поклонников). Чтобы узнать, какая оболочка используется, выполните команду: Посмотрите, что именно будет выведено: Как узнать, какая в действительности используется оболочка Linux Но действительно ли всё так просто с оболочками? Посмотрите на следующий скриншот и попробуйте угадать, какая оболочка будет обрабатывать последующие команды? На скриншоте чётко видно, что команда вывела «/usr/bin/zsh», поэтому можно сказать, что используется оболочка ZSH. Но это неправильный ответ. Да, оболочкой по умолчанию в этой системе является ZSH, но чуть выше выполнена команда и даже хотя оформление или приглашение командной строки не поменялось, теперь введённые команды обрабатывает Bash. Это легко доказать, если выполнить команду то Bash покажет краткую справку по своим командам. А ZSH выведет сообщение, что команда не найдена: Что же на самом деле показывает переменная $SHELL? Видимо, это просто оболочка, используемая по умолчанию в данной системе, без учёта того, что пользователь мог запустить другую оболочку. Тем не менее вывод значение переменный $SHELL в большинстве случаев ответит на вопрос, какая оболочка используется на этой системе. Чтобы убедиться, что используется Bash, можно выполнить команду: Ещё один способ «узнать» Bash, это посмотреть на реакцию последовательного нажатия сочетания клавиш Ctrl+x Ctrl+v. В ответ на это Bash выведет примерно следующую строку: Как узнать версию LinuxКогда вы сами устанавливали систему и все настраивали, то точно знаете какой дистрибутив у вас установлен, какая версия и какая версия ядра. Но совсем другая ситуация, когда вы покупаете VPS или пытаетесь настроить компьютер другу или знакомому с Linux. Довольно часто может возникнуть вопрос как узнать версию Linux потому что эта информация часто очень важна. Например, уязвимости в программном обеспечении часто затрагивают только определенные релизы. В этой небольшой статье мы поговорим о том как посмотреть версию Linux через терминал и какие утилиты для этого используются и в каких конфигурационных файлах можно найти интересующую нас информацию. Скользящие или фиксированные релизыВсе активные дистрибутивы Linux выпускают новые релизы, только все по-разному. Конечно, дистрибутивы обновляются и между релизами, но пользователям привычен такой порядок, что обновления релиза получают только исправления безопасности и ошибок, а все новые возможности выпускаются новым релизом. Но существуют и другие пути. Сейчас есть два способа выпуска релизов: Фиксированные релизы используются в Ubuntu. Каждые 6 месяцев выходит новый релиз, поэтому тут есть четкое разделение на версии, новая версия дистрибутива Linux получает новое программное обеспечение, а затем на протяжении всего термина поддержки получает обновления безопасности. Как узнать версию Linux?На самом деле для этого есть очень много методов, начиная от общих признаков и до открыть файл и точно посмотреть версию и имя дистрибутива. Рассмотрим только самые популярные из них. Узнать дистрибутивПрежде всего давайте узнаем имя дистрибутива и его версию если это возможно. Для этого будем смотреть содержимое файлов в папке /etc/, которые заканчиваются на release: В Ubuntu утилита выведет содержимое двух файлов /etc/lsb-release и /etc/os-release. В них будет содержаться исчерпывающая информация о имени дистрибутива и версии его релиза: Но если мы выполним ту же команду в ArchLinux то получим совсем другой результат: Тут уже нет версии, есть только имя дистрибутива, поскольку ArchLinux использует систему скользящих релизов. Немного меньше, но почти всю ту же информацию можно получить используя команду lsb_release: Также очень часто вы можете узнать имя дистрибутива посмотрев пункт «О программе» для любого системного приложения или лучше утилиты «Настройки»: Или для RPM систем: Узнать версию ядраВо многих случаях нам нужна не столько версия дистрибутива linux, сколько версия ядра, которое в нем используется. Для просмотра этой информации тоже есть несколько команд: А еще можно посмотреть строку параметров запуска ядра, она тоже содержит версию: Есть еще несколько файлов с подобной информацией: Как узнать архитектуру компьютераВы уже знаете как узнать версию Linux, имя дистрибутива и ядро, архитектура уже проскальзывала в командах выше, но существует отдельная команда, которая выводит только архитектуру: Для этих же целей можно использовать uname: ВыводыТеперь вы знаете как посмотреть версию Linux. Как видите, в Linux достаточно много способов для решения этой задачи. Надеюсь, эта информация была полезной для вас. Основы работы с командной оболочкой bash в LinuxКомандная оболочка Bash является одним из нескольких главных компонентов в дистрибутивах Linux. Она позволяет читать и запускать команды, выполнять скрипты, работать с файлами. Наличие Bash не менее важно для полноценного функционирования операционных систем семейства Linux, чем ядро или рабочее окружение. Рассмотрим, как и для чего был создан программный продукт, разберем его преимущества, области применения и расскажем о начале работы с Bash. Обзор будет полезен всем, кто начинает свое практическое знакомство с Linux, а также тем, кто хочет иметь под рукой удобную шпаргалку с основным функционалом командного интерпретатора. Что такое BashBash (Bourne again shell или «возрождённый» shell) – это модифицированная версия программной оболочки Bourne-shell (sh или «Оболочка Борна»). Она является командным процессором, работающим интерактивно в текстовом окне. Bash нужен для приема команд пользователя и их отправки операционной системе для последующей обработки. Bash – это универсальный инструмент для выполнения различных задач, который в некоторых случаях позволяет избежать установки специализированного программного обеспечения. Одновременно, это скриптовый язык программирования, позволяющий создавать сценарии для автоматизации различных операций. История созданияПредшественница Bash – Bourne-shell (sh, «Оболочка Борна») была одной из первых оболочек для операционных систем Unix. Ее создал в 1978 году британский ученый Стивен Борн, давший Bourne-shell свое имя. Изначально оболочка sh обладала относительно небольшим набором функций. Но в 1987 году Bourne-shell заинтересовался программист Брайан Фокс, сумевший доработать и значительно расширить ее функционал. В 1989 году Брайан создал бета-версию Bash и продолжал поддерживать свое детище вплоть до 1993 года. Брайан Фокс — создатель оболочки Bash. Основные команды, правила их написания и прочие особенности Bash были перенесены из sh. Прочие возможности, включая историю, позаимствованы из Korn Shell и C Shell (других вариаций Bourne-shell). Bash практически полностью соответствует стандартам POSIX. Сегодня оболочка Bash предустановлена в большей части дистрибутивов Unix/Linux. Взаимодействие оболочки и операционной системы обеспечивается с помощью специальной программы – терминала (например, lxterm, xterm, eterm, gnome-terminal). СинтаксисПравила написания Bash представляют собой расширенный синтаксис Bourne-shell. Узнать подробности про основы взаимодействия с оболочкой, а также спецификации конкретных команд можно в руководстве Bash Reference Manual, распространяемом GNU. Это полезная шпаргалка для начинающих, позволяющая быстрее сориентироваться в оболочке. Пример скриптаНиже рассмотрен пример самого простого скрипта, выводящего надпись «Hello world». Данный сценарий состоит из двух строк, где первая указывает операционной системе, что файл должен запускаться при помощи оболочки Bash. Во второй строчке указывается действие – его и должен выполнить скрипт. Это действие должно напечатать в окне терминала соответствующую надпись. Отличие Bash от Bourne-shellBash в Linux способна выполнять практически все важные сценарии Bourne-shell без внесения дополнительных изменений. Исключение составляют те, где необходимо ссылаться на спецпеременные Bourne-shell или, где применяются ее встроенные команды. В синтаксисе Bash применяются приемы из Korn Shell и C Shell: Используя консоль Bash в качестве интерактивного интерпретатора, можно прибегать к автодополнению названий файлов, программ, переменных и команд нажатием клавиши Tab (↹). Для чего нужен BashОсновные преимуществаНа данный момент разработано множество различных вариаций Bourne-Shell. Но, по сравнению с ними, командный интерпретатор Bash обладает рядом преимуществ.
Примеры примененияКак работать с BashРассмотрим, как пользоваться Bash на примере подключения к веб-серверу (где находятся файлы сайта) с установленным дистрибутивом Linux через протокол SSH с нуля. Для этого можно воспользоваться любым предпочитаемым способом. В данном случае рассматривается веб-сервер с Ubuntu, хотя в других дистрибутивах принцип остается тем же. 1. После успешного ввода логина и пароля программа Терминал Linux в автоматическом режиме запустит Bash. Собственно, пользователь уже подключится к системе и увидит приглашение на ввод команд. 2. Приглашение отображается относительно стандартно и имеет следующий вид: В примере: 3. Когда приглашение выполнено, терминал автоматически поставит пробел и будет находиться в ожидании ввода команд. На предложенном изображении была нажата кнопка «Enter». В следующей строчке введена команда «cd» перейти в существующий каталог «/opt». Еще ниже отображается результат вывода – рабочей папкой стала «/opt» и это показано в приглашении. 4. Командная строка Linux позволит запускать любое установленное в системе приложение. Как правило, каталоги со списком исполняемых программ расположены в папках «/bin, /usr/bin». Проверяемые каталоги интерпретатор сохраняет в переменной «$PATH». Просмотреть их список можно командой: 5. Далее можно воспользоваться командой «ls» и добавить к ней один из каталогов, найденных в «$PATH», чтобы увидеть список доступных программ. Например: 6. Если приложение консольное, Bash произведет его запуск в терминале. Ниже показан пример запуска редактора Nano. 7. Bash также позволяет осуществлять запуск приложений в фоновом режиме. Для запуска в фоне, после ввода названия программы в конце следует добавить знак амперсанда (&). Здесь строка «[2] 23258» – это номер и PID процесса. При этом nano находится в фоновом режиме. Вернуться к нему можно командой «fg» (добавив номер задачи, если их запущено несколько) или «jobs». Поскольку в фоне может работать достаточно много команд, проверить номер требуемой можно командой «bg». Она отобразит список активных задач. ЗаключениеПомимо вышеперечисленного в этой статье, интерпретатор имеет множество полезных встроенных команд. С их помощью можно выполнять весь спектр работы с веб-сервером. Часть этих команд используется для работы со строками и массивами текстовых данных в консольном окружении ОС семейства Unix.
|