Назад | Перейти на главную страницу

Эквиваленты команд Linux в opensolaris (и наоборот)?

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

Некоторые примеры: (linux -> opensolaris)

 ifconfig               -> ifconfig -a
 grep -r "pattern" dir/ -> find dir/. | xargs grep "pattern"

В частности, я все еще пытаюсь выяснить:
netstat -tnlp -> ??
(-lnpt показывает имя слушающего (-l) процесса (-p), pid и числовые адреса (-n) всех tcp (-t) соединений)

Я использую Rosetta Stone для Unix как мой ресурс для поиска команд в ОС, когда я знаю, что хочу сделать, но знаю только команду в другой ОС.

Это просто великолепно. Выберите интересующие вас ОС и нажмите «Нарисовать таблицу». Он сократит таблицу, так что все, что вы увидите, это, скажем, Linux и Solaris.

Многие хорошие ссылки на перевод команд (Linux -> OpenSolaris) перечислены в вики Sun. (Проверьте ссылки внизу страницы)

Различия между OpenSolaris и Linux

В общем, я думаю, вы обнаружите, что в opensolaris не так много «удобных» функций, как в linux; ваши два приведенных выше примера также являются хорошими примерами этого.

Вы можете получить версии многих инструментов GNU (те же версии, что и в Linux), установленные на solaris, и, возможно, они уже установлены. Хорошее эмпирическое правило - попробовать поставить букву g перед именем интересующей вас команды: gtar, ggrep. Разумеется, для этого требуются установленные пакеты - SUNWgtar, SUNWggrp для приведенных выше примеров в Solaris 10. Загляните в / usr / sfw / bin (и добавьте его в свой путь, если его там еще нет), чтобы узнать, какие инструменты у вас есть в наличии. Не все доступно таким образом, и для некоторых команд (например, ifconfig, упомянутого выше) вам просто нужно изучить различные варианты команд (ifconfig -a работает и в Linux).

Еще одна распространенная проблема, которую я должен помнить, - это синтаксис ps для просмотра всех процессов: BSD: ps ax, Solaris: ps -ef, Linux: работает любой синтаксис. По теме - используйте pkill вместо killall, чтобы убить все процессы с определенным именем. Killall в Solaris выполняет то, что предполагает название команды, и уничтожает все процессы, а не только те, которые вы назвали.

Я пришел из мира dpkg / apt (Debian / Ubuntu), поэтому я создал хорошую шпаргалку, когда узнал об управлении пакетами OpenSolaris (IPS).

APT                    IPS
apt-get install        pkg install
apt-get remove         pkg uninstall
apt-cache search       pkg search
apt-get update         pkg refresh (mostly redundant, pkg refreshes before installing)
apt-get dist-upgrade   pkg image-update
editing sources.list   pkg publisher / pkg set_publisher / pkg unset_publisher 

Это основано на устаревшей странице OpenSoalris.org сравнение apt и IPS.