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

В чем разница между параметрами командной строки в стиле BSD и Unix?

Я пытался погуглить, но безуспешно. Кто-нибудь может мне с этим помочь?

Это зависит от программы. ps это тот, с которым вы сталкиваетесь чаще всего - кто-то, кто вырос в среде BSD, напечатает ps auwwx в то время как тот, кто вырос в среде System V, напечатает ps -ef даже если ps в настоящее время поддерживает оба типа вариантов.

Многое и мало, см .:

Также беспокойтесь о:

Чувствительность к регистру, например

mailx -R  replyTo@domain.com .....  # GNU/Linux
mailx -r  replyTo@domain.com .....  # Unix

Параметры требуются для одних ароматов, но не требуются для других, например

/usr/bin/echo -e "This\nis a\n test"  # GNU/Linux
/bin/echo        "This\nis a\n test"  # Unix

Дополнительные опции, например,

last -y  # BSD  - include year
last -a  # GNU/Linux - include hostname

Одно из основных отличий платформы - позиционные аргументы. Большинство утилит командной строки принудительно устанавливают флаги перед позиционными аргументами. То есть в системе GNU нормально следующее:

ls / -la

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