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

Как узнать какая оболочка используется в линукс

  • автор:

Как узнать, какую оболочку я использую в Linux [4 метода]

Какую оболочку я использую в Linux? Это вообще вопрос? Конечно, это является. Для систем Linux доступно несколько оболочек. Некоторые из наиболее популярных из них:

Вы можете задаться этим вопросом в некоторых ситуациях.

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

Позвольте мне показать вам различные команды Linux, чтобы узнать, какую оболочку вы используете.

Узнайте, какую оболочку вы используете в Linux

Сейчас нет команды, которая выдаст вам этот результат со 100% точностью для всех оболочек. Но эти команды должны быть точными для большинства оболочек.

Способ 1

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

Если вы попытаетесь просмотреть информацию о процессе, вам должно быть показано имя процесса, то есть оболочка.

ps -p $$

Вывод должен быть таким:

PID TTY TIME CMD 15012 pts/0 00:00:00 zsh

Способ 2

Вы также можете использовать $0. $0 может быть именем оболочки или именем сценария оболочки. Когда он используется внутри сценария оболочки, он обозначает имя сценария.

Но если вы используете его в оболочке без имени файла, оно покажет имя оболочки.

echo $0

В выводе будет просто имя оболочки:

echo $0 bash

Способ 3

Вы также можете использовать команду pstree. pstree означает дерево процессов и отображает все запущенные процессы в виде дерева.

Если вы предоставите его без аргументов, он покажет все процессы из init или systemd.

Однако если вы дадите ему идентификатор процесса, он отобразит все эти процессы как корень дерева. Другими словами, он покажет все процессы, инициированные этим процессом.

Вы можете использовать тот же параметр $$bash, который мы видели в методе 1.

pstree $$

Способ 4

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

Вы можете использовать следующую команду, чтобы получить используемую вами оболочку:

cat /proc/$$/cmdline

В результате вы получите имя оболочки.

Бонусный совет: узнайте версию оболочки.

Итак, вы узнали, как узнать, какую оболочку вы используете. А как насчет версии оболочки, которую вы используете? Вы можете получить версию оболочки, просто добавив –version после имени запущенной оболочки.

Например, если вы используете zsh, вы можете использовать это:

zsh --version

Вывод предоставит вам информацию о версии:

zsh 5.4.2 (x86_64-ubuntu-linux-gnu)

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

Кстати, а вы используете какой-нибудь другой способ проверить, какую оболочку используете? Почему бы не поделиться этим с нами в разделе комментариев?

Все права защищены. © Linux-Console.net • 2019-2024

Как узнать, какую оболочку я использую в Linux

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

Узнайте, в какой оболочке вы находитесь

Есть разные способы узнать, в какой оболочке вы сейчас находитесь. Самый простой способ узнать это — использовать специальные параметры оболочки.

Во-первых, специальный параметр с именем $$ обозначает PID текущего запущенного вами экземпляра оболочки. Этот параметр доступен только для чтения и не может быть изменен. Таким образом, следующая команда также покажет вам имя оболочки, которую вы используете:

$ ps -p $$
PID TTY TIME CMD 21666 pts/4 00:00:00 bash

Приведенная выше команда работает во всех доступных оболочках.

Если вы не используете csh , другим способом узнать текущую оболочку является использование специального параметра оболочки с именем $0 , обозначающего имя оболочки или сценария оболочки, который в настоящее время работает. Это один из специальных параметров Bash, но он доступен и в других оболочках, таких как sh , zsh , tcsh или dash. . Использование команды echo для вывода ее значения сообщит вам имя оболочки, в которой вы сейчас находитесь.

$ echo $0
bash

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

$ echo $SHELL
/bin/shell

Короче говоря, чтобы узнать текущую оболочку, вы должны использовать либо $$ , либо $0 , но не $SHELL .

Узнайте версию оболочки, которую вы используете

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

Для bash :

$ bash --version
GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Для zsh :

$ zsh --version
zsh 5.0.7 (x86_64-pc-linux-gnu)

Для tcsh :

$ tcsh --version
tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,nd,color,filec

Для некоторых оболочек вы также можете использовать переменные оболочки (например, $BASH_VERSION или $ZSH_VERSION ).

$ echo $BASH_VERSION

Как узнать какая графическая оболочка стоит в linux

В этой статье я хочу поделиться с новичками в Linux, как и где можно посмотреть/узнать установленную версию дистрибутива и используемое окружение рабочего стола на вашем компьютере.
Узнать версии дистрибутива и окружения рабочего стола, а также разрядность системы (32 или 64-bit) в Ubuntu/Linux Mint можно двумя способами: графически и в терминале, с использованием специальных команд.

Откройте Параметры системы — Сведения о системе:

Как видно на нижнем снимке, приложение Сведения о системе даёт исчерпывающую информацию о названии и версии дистрибутива, а также тип разрядности ОС (в моём случае — 64-bit):

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

Скопируйте и выполните в терминале (нажмите Enter) следующую команду:

После выполнения команды вы должны увидеть в терминале примерно следующую информацию о названии дистрибутива, версии, кодовом названии, архитектуре/разрядности ОС и версии окружения Unity:

В Linux Mint откройте Системные настройки — О системе:

Приложение О системе также даёт подробную информацию о названии, версии дистрибутива и версии рабочего окружения Cinnamon, а также тип разрядности ОС:

Скопируйте и выполните в терминале (нажмите Enter) следующую команду:

После выполнения команды вы должны увидеть в терминале примерно следующую информацию о названии дистрибутива, версии, кодовом названии, архитектуре/разрядности ОС и версии окружения Cinnamon:

P.S. Для удобства отображения необходимых параметров системы, я объединил три различные команды в одну, через точку с запятой и пробел, но их также можно выполнять по отдельности:

Подробнее познакомиться с терминальными командами вы можете в следующей статье: Терминальные команды в Linuх.

11 комментариев :

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

можно еще добавить сведения о ядре uname -r

В терминале Убунту строчка «No LSB modules are available» что означает? Что за модуль такой?

lsb_release -a чуть более универсальный, конечно. Но не для старых версий систем на ядре Linux

Есть ещё один годный терминальный вариант: screenfetch

=Есть ещё один годный терминальный вариант: screenfetch= Да, но это отдельная программа screenfetch, которая требует предварительной установки перед запуском в терминале. Данная статья ориентирована на уже установленную графическую программу «О системе» и терминальные команды, которые не требуют установки, а просто выводят информацию в терминале.

Владимир, просто не удержался, по мне очень интересный вариант.

lsb_release — a , самое то.
Кстати, сегодня день рождения у Линуса нашего Бенедикта Торвальдса. 45 лет. Желаю ему долгих лет.

Добрый день. Я новичок:)
Подскажите, пожалуйста, как быть.
У меня на компе коряво работает соединение sftp с сервером. Посоветовали снести Cinnamon, поставить Mate, и типа будет мне счастье. А у меня очень медленный 3ж-интернет. И качать все и устанавливать заново нет возможности.
Я скачала пакет mate, запустила его командой install и т.д., а терминал мне отвечает:

$ sudo apt-get install Mint-Meta-Mate [sudo] password for kozlovska: E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock — open (11: Resource temporarily unavailable) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?

Помогите, пожалуйста. Как мне запустить установку?

Как изменить оболочку Shell в Linux

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

Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.

Оболочки Linux

Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.

Существуют разные оболочки Linux. Можно отметить:

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

Как определить текущую командую оболочку

Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.

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

Способ 1

Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:

Из вывода команды, мы видим, что используется оболочка bash.

Способ 2

Также можно воспользоваться командой echo $0 . Данная команда выведет на экран имя текущего работающего процесса, внутри которого она выполнена. Так как мы выполняем команду внутри оболочки, то будет выведено имя оболочки.

Способ 3

Определим, работающий процесс оболочки командой ps.

Определить текущую оболочку Shell в Linux

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

Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells

Выведем содержимое файла /etc/shells , для этого выполняем команду:

Список командных оболочек Linux

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

Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.

Например, переключимся на оболочку sh. Выполняем команду:

Переключиться на другую оболочку в Linux

Как изменить оболочку

Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).

Чтобы изменить оболочку текущего пользователя нужно выполнить команду:

В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).

Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):

После этого нужно выйти и снова войти в систему.

Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:

Заключение

Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.

Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:

Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Как узнать, какую оболочку вы используете в Linux

(2 оценок, среднее: 5,00 из 5)

Как узнать, какую оболочку вы используете в Linux

К акую оболочку я использую в Linux? Для систем Linux доступно несколько оболочек. Некоторые из самых популярных из них:

Вы можете удивиться этому в нескольких ситуациях.

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

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

Узнайте, какую оболочку вы используете в Linux

Теперь нет команды, которая даст вам этот вывод со 100% точностью для всех оболочек. Но эти команды должны быть точными для большинства оболочек.

Способ 1

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

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

Вывод должен быть таким:

Способ 2

Вы также можете использовать $0. $0 может быть именем оболочки или именем сценария оболочки. Когда он используется внутри сценария оболочки, он обозначает имя сценария.

Но если вы используете его в оболочке без имени файла, он покажет имя оболочки.

Вывод будет просто иметь имя оболочки:

Способ 3

Вы также можете использовать команду pstree. pstree означает дерево процессов и показывает все запущенные процессы в виде дерева.

Если вы не укажете аргумент, он покажет все процессы из init или systemd.

Однако, если вы дадите ему идентификатор процесса, он покажет весь этот процесс как корень дерева. Другими словами, он покажет все процессы, инициированные этим процессом.

Вы можете использовать тот же параметр $$ bash, который мы видели в методе 1.

Способ 4

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

Вы можете использовать следующую команду, чтобы получить оболочку, которую вы используете:

Вывод должен дать вам имя оболочки.

Бонусный совет: узнайте версию оболочки

Итак, вы узнали, как узнать, какую оболочку вы используете. Как насчет версии используемой оболочки? Вы можете получить версию оболочки, просто добавив –version после имени вашей запущенной оболочки.

Например, если вы используете zsh, вы можете использовать это:

Вывод даст вам информацию о версии:

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

как узнать версию линукс

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

Узнаем версию Linux

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

Способ 1: Inxi

Inxi поможет в два счета собрать все сведения о системе, однако предустановлена она лишь в Linux Mint. Но это не беда, абсолютно любой пользователь может за несколько секунд установить ее из официального репозитория.

поиск терминала по системе ubuntu

завершение установки утилиты inxi в терменале ubuntu

После установки вы можете проверить информацию о системе, введя следующую команду:

После этого на экран выведется следующая информация:

  • Host — имя компьютера;
  • Kernel — ядро системы и ее разрядность;
  • Desktop — графическая оболочка системы и ее версия;
  • Distro — имя дистрибутива и его версия.

команда inxi -s терменале ubuntu

Однако это далеко не вся информация, которую может предоставить утилита Inxi. Чтобы узнать все сведения, впишите команду:

В результате будет отображена абсолютно вся информация.

команда inxi -f терменале ubuntu

Способ 2: Терминал

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

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

команда cat etc issue терменале ubuntu

команды lsb_release -a терменале ubuntu

команда cat etc -release в терменале ubuntu

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

Способ 3: Специальный инструмент

    Итак, чтобы узнать информацию о системе, вам необходимо войти в ее параметры. На разных дистрибутивах это выполняется по-разному. Так, в Ubuntu вам необходимо нажать левой кнопкой мыши (ЛКМ) по иконке «Параметры системы» на панели задач.

значок параметры системы на панели задач ubuntu

поиск параметры системы по системе ubuntu

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

значок сведения о системе в настройках ubuntu

сведения о системе ubuntu

В Linux Mint информации больше:

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

Заключение

Как можно заметить, способов узнать версию Linux очень много. Есть как графические инструменты для этого, так и не обладающие такой «роскошью» утилиты. Чем пользоваться — выбирать только вам. Важно лишь одно — получить желаемый результат.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Читайте также:

  • Windows 10 mobile не обновляются приложения
  • Платформа фильтрации windows что это
  • Как установить ai suite 3 на windows 10
  • Подключение к cisco linux
  • Компоненты службы шифрования не зарегистрированы windows 7

О разных командных оболочках Linux и Unix

image

Наверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:

  • Клоны Bourne shell (bash, zsh)
  • C shell (csh, tcsh)
  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
  • Экзотические, специфические и все остальные

Наибольшее распространение получили POSIX-совместимые оболочки, ведущие родословную от Bourne shell (шелл Борна), поэтому с него и начнем

Bourne shell и его клоны

Bourne shell, исполняемый файл: sh. Командная оболочка названная в честь своего создателя Стивена Борна. Большая часть операторов была заимствована им из языка Алгол 68. Вышла в 7-м издании операционной системы UNIX, где была оболочкой по умолчанию. До сих пор подавляющее большинство Unix-подобных систем имеют /bin/sh — символическую или жесткую ссылку на sh-совместимую оболочку.

Bourne again shell, исполняемый файл: bash. Название можно перевести, как «Возрождённый шел Борна». Скорее всего самая популярная оболочка на сегодняшний день. Де-факто стандарт для Linux. Не буду на ней останавливаться, т.к. в интернете много хороших статей про bash. Например вот и вот.

Z shell, исполняемый файл: zsh. Свободная современная sh-совместимая оболочка. Имеет ряд преимуществ перед bash касающихся в основном работы в интерактивном режиме. О ней на Хабре писали тут и тут
Кроме того существует довольно много оболочек попадающих в эту группу: Korn shell (ksh) и Almquist shell (ash) etc но не будем подробно на них останавливаться.

C shell

C shell, исполняемый файл: csh Командная оболочка разработанная автором vi Биллом Джоем. За основу для скриптового языка csh был взят, как понятно из названия, язык C. Т.к. на тот момент, в 1978 г., это был наиболее популярный язык программирования среди разработчиков и пользователей BSD UNIX. В настоящий момент более популярна свободная реализация csh — tcsh.

TENEX C Shell, исполняемый файл: tcsh. Именно в tcsh когда-то впервые появилось автодополнение. Является оболочкой по умолчанию в FreeBSD. Подробнее о ней почитать можно здесь.
Для того чтоб наглядно показать разницу в синтаксисе приведу несколько примеров скриптов делающих одно и то же для csh и sh-совместимого командного интерпретатора.

#!/bin/sh if [ $days -gt 365 ] then echo This is over a year. fi 
#!/bin/csh if ( $days > 365 ) then echo This is over a year. endif 

Множественное ветвление (Переключатель, Swich/case):

#!/bin/sh for i in d* do case $i in d?) echo $i is short ;; *) echo $i is long ;; esac done 
#!/bin/csh foreach i ( d* ) switch ( $i ) case d?: echo $i is short breaksw default: echo $i is long endsw end 

Цикл вычисляющий 10 первых степеней двойки:

#!/bin/sh i=2 j=1 while [ $j -le 10 ]; do echo '2 **' $j = $i i=`expr $i '*' 2` j=`expr $j + 1` done 
#!/bin/csh set i = 2 set j = 1 while ( $j  

Однако список фичь поддерживаемых свежими версиями bash, zsh и tcsh очень похож и выбор конкретной оболочки по большей части дело вкуса. С менее распространенными оболочками дело обстоит иначе. Тут различия существеннее.

Командные оболочки, базирующиеся на популярных языках программирования.

Perl Shell, исполняемый файл: psh. Оболочка сочетающая в себе функции вышеупомянутых оболочек и мощь языка Perl. Т.к. psh написана на perl она может запускаться даже на Windows. Несколько примеров использования psh:

 ls | s/y/k/ # Замена c помощью регулярных выражений ls | < print ++$i, ": $_"; >q # Быстрые фильтр. Внутри фигурных скобок выражение на perl, где $_ содержит одну строку вывода. netstat | < $_[1]>2; >g # grep-фильтры. Выводятся только те строки для которых выражение в скобках возвращает true command >[=FOO] # Перенаправление по дескриптору открытого файла command >[2] file # Эквивалентно command 2> file на bash. Перенаправляет в файл поток вывода и ошибок grep foo lib/**/*.pm # Использование **, что означает текущий каталог и все подкаталоги 

Scsh, исполняемый файл scsh. Командный интерпретатор с открытым кодом использующий в качестве скриптового языка Scheme 48. Не поддерживает стандартные для других оболочек функции (история команд, редактирование текста в командной строке, дополнение путей/команд). Рекомендуется написания скриптов, но не для интерактивной работы. Может прийтись по вкусу любителям функционального программирования. Ниже приведен пример скрипта, который выводит имена всех исполняемых файлов находящихся в каталогах из переменной окружения PATH

#!/usr/local/bin/scsh -s !# (define (executables dir) (with-cwd dir (filter file-executable? (directory-files dir #t)))) (define (writeln x) (display x) (newline)) (for-each writeln (append-map executables ((infix-splitter ":") (getenv "PATH")))) 

IPython. Это интерактивная оболочка для языка программирования Python, имеющая ряд дополнительных функций. IPython имеет специальный профиль для работы в качестве системной командной оболочки. Способ запуска этого режима зависит, как я понял, от версии, но на моей машине это выглядит так:
ipython3 --profile=pysh

  • Кросплатформенность. Есть даже версия под Windows
  • Python версий 2.x или 3.x в качестве скриптового языка, расширенные возможности интроспекции
  • Автодополнение кода Python а так же имен файлов и системных команд.
  • История команд и макросы на ее основе
  • Механизм ускоряющий навигацию по каталогам, закладки и многое другое
# Допустим нам захотелось посчитать сумарный размер файлов логов dpkg: In [58]: cd /var/log/ /var/log In [59]: log_files = !ls -l dpkg.log* In [60]: log_files[0] Out[60]: '-rw-r--r-- 1 root root 1824 нояб. 3 16:41 dpkg.log' In [61]: for line in log_files: . size += int(line.split()[4]) . In [62]: size Out[62]: 1330009 # . или последовательно пингануть десяток хостов In [67]: for i in range(100,110): . !ping -c 1 192.168.0.$i . 
Остальные

Конечно это не полный список даже популярных оболочек. Помимо вышеперечисленных категорий существуют ещё использующие собственный синтаксис, не совместимый с sh и не копирующий существующие ЯП . Примером может служить friendly interactive shell (fish). Но на последок хотел бы рассказать не о ней, а более специфической sleepshell.

Sleep Dummy Shell, исполняемый файл: sleepshell. Строго говоря командным процессором sleepshell назвать нельзя, т.к. он не умеет обрабатывать команды. И вообще не умеет ничего, кроме как периодически записывать в стандартный вывод звёздочки "*". Однако используется она именно в качестве командной оболочки и вот для чего: Допустим мы хотим предоставить кому-то возможность делать тоннели ssh через наш сервер под управлением Linux или Unix. Подробнее про ssh-туннелирование читаем тут. Но нам не нужно при этом, что этот кто-то получил доступ к командной строке и файловой системе нашего сервера. Для такого случая и предназначена sleepshell. Создаем на сервере аккаунт в качестве шела для него устанавливаем sleepshell. Владелец аккаунта сможет подключаться и пробрасывать порты, но не сможет выполнять команды.

На этом всё. Надеюсь, что было интересно. Буду рад любым замечаниям и советам по тексту статьи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *