Linux - это ядро, у него нет команд. Некоторые дистрибутивы программного обеспечения, созданные для этого ядра, следуют стандарту LSB, другие - политике Debian, большинство других - нет.
Стефан Шазелас
@ StéphaneChazelas Хотя я согласен, я бы сказал, что следование политике Debian близко к следованию LSB, так как Debian поддерживает LSB (если не по умолчанию, все еще через lsbпакет).
Технически вы не можете предположить , что угодно , потому что Linux-The-ядро привыкает в целой кучей встроенных или полу встраиваемый контекстах , где полный набор утилит оболочки была бы бессмысленной тратой пространства. Если вам интересно, что можно ожидать от установки в «нормальной» Unix-совместимой оболочке, я бы посмотрел не на POSIX или LSB, а на набор пакетов, которые Debian считает «необходимыми». Многие важные инструменты управления системой, например, «ip», вообще не стандартизированы.
ar echo hostname more sh
at egrep install mount shutdown
awk fgrep install_initd msgfmt su
batch file ipcrm newgrp sync
bc fuser ipcs od tar
chfn gettext killall passwd umount
chsh grep lpr patch useradd
col groupadd ls pidof userdel
cpio groupdel lsb_release remove_initd usermod
crontab groupmod m4 renice xargs
df groups md5sum sed zcat
dmesg gunzip mknod sendmail
du gzip mktemp seq
Ряд программ «только из LSB» на самом деле из POSIX. К ним относятся: awk, grep, ls, sed, sh, xargs точно; Я должен был проверить ar, at, batch, bc, crontab. Там могут быть и другие.
Джонатан Леффлер
@JonathanLeffler Я, должно быть, сделал ошибку в регулярном выражении. Исправлю, когда смогу.
Муру
NP. Я бы использовал страницу верхнего уровня POSIX 2008 (2013) или, в частности, список утилит . Он включает в себя все возможности, которые я упомянул; Я также вижу file, ipcrm, ipcs, m4, patch, и в zcatсписке - это операция Eyeballing , а не формальная проверка списков.
Технически вы не можете предполагать, что что- либо будет присутствовать, потому что ядро Linux используется в целом ряде встроенных или частично встроенных контекстов, где полный набор утилит оболочки будет бессмысленной тратой пространства. Например, не может быть и речи о создании устройства IoT, файловая система которого содержит загрузчик, монолитное ядро, пользовательский интерфейс, /sbin/initкоторый делает все, что потребуется устройству, несколько /devзаписей и больше ничего .
Спецификация POSIX.1-2008 «Shell and Utilities» , также связанная в ответе Муру, предназначена для стандартизации оболочки как языка программирования . Следовательно, он не включает в себя большинство инструментов системного администрирования, которые можно ожидать при «традиционной» установке Unix. К сожалению, это также видимый остающийся шрам древнего раскола между System V и BSD - инструменты, которые вы найдете в Linux, не такие, как в FreeBSD, OSX или чем-то еще. Итак, опять же, нет надежной базовой линии.
Чтобы указать, чего не хватает в ответе maru, это набор пакетов, который Debian (нестабильный) считает «обязательным» ( официальное определение : «Системы с только необходимыми пакетами, вероятно, непригодны для использования, но у них достаточно функциональности». чтобы позволить сисадмину для загрузки и установки дополнительного программного обеспечения. ") и которые способствуют файлы /bin, /sbin, /usr/binили /usr/sbin. Звездочки, отмеченные звездочкой, являются не просто «обязательными», но и «обязательными», что означает, что другое упакованное программное обеспечение может принимать свое присутствие независимо от него.
¹ awk-the-language является «существенным», но системный администратор может выбрать, хотят ли они реализацию «mawk» или «gawk».
И эти пакеты считаются так же важными; Официальное определение «важного» - «опытный человек из Unix, который обнаружил, что он пропал, сказал бы:« Что происходит на земле, где foo? »»:
Обратите внимание, что этот второй набор включает в себя критические инструменты системного администрирования, такие как psи iproute2, но также и вещи, которые могут быть совершенно ненужными в некоторых установках, таких как atи dmidecode. Оба набора также содержат вещи, специфичные для Debian, такие как dpkgи apt.
Также обратите внимание, что оба набора вместе не являются расширенным набором функций, требуемых LSB (или POSIX + XSI в этом отношении): эти утилиты отсутствуют:
ar gencat lpr msgfmt strings
bc gettext lsb_release patch strip
ed install_initd m4 pax time
file killall mailx remove_initd
fuser lp make sendmail
Список утилит, которые есть в вышеупомянутых пакетах, но не в LSB, длинен и утомителен, но я все равно включаю его, чтобы подчеркнуть, сколько «критических инструментов системного администрирования» он включает.
Всестороннее. Я хотел бы отметить, что аддусер (и семья) Debian - это ... Debian. Arch использует Slackware, который очень отличается. Я только называю его, так как он не звучит специфично для Debian, но, тем не менее, похож на ipкоманду, которую вы упоминали ранее.
Тем не менее, многие люди, как правило, просматривают содержимое каталогов, echo $PATHа затем просматривают справочную страницу для получения дополнительной информации.
Просмотр каталогов покажет вам, что входит в ваш конкретный дистрибутив, но не скажет, что должно быть. Как бы вы сказали, посмотрев туда, что чего-то не хватает?
busybox --list
, Просто шучу.lsb
пакет).Ответы:
Linux Standard Base (LSB) имеет список приложений :
Многие из них включены как часть стандарта POSIX 1003.1-2001 , но следующие либо только в LSB, либо имеют отличающиеся спецификации от POSIX:
источник
file
,ipcrm
,ipcs
,m4
,patch
, и вzcat
списке - это операция Eyeballing , а не формальная проверка списков.Технически вы не можете предполагать, что что- либо будет присутствовать, потому что ядро Linux используется в целом ряде встроенных или частично встроенных контекстов, где полный набор утилит оболочки будет бессмысленной тратой пространства. Например, не может быть и речи о создании устройства IoT, файловая система которого содержит загрузчик, монолитное ядро, пользовательский интерфейс,
/sbin/init
который делает все, что потребуется устройству, несколько/dev
записей и больше ничего .Спецификация POSIX.1-2008 «Shell and Utilities» , также связанная в ответе Муру, предназначена для стандартизации оболочки как языка программирования . Следовательно, он не включает в себя большинство инструментов системного администрирования, которые можно ожидать при «традиционной» установке Unix. К сожалению, это также видимый остающийся шрам древнего раскола между System V и BSD - инструменты, которые вы найдете в Linux, не такие, как в FreeBSD, OSX или чем-то еще. Итак, опять же, нет надежной базовой линии.
Чтобы указать, чего не хватает в ответе maru, это набор пакетов, который Debian (нестабильный) считает «обязательным» ( официальное определение : «Системы с только необходимыми пакетами, вероятно, непригодны для использования, но у них достаточно функциональности». чтобы позволить сисадмину для загрузки и установки дополнительного программного обеспечения. ") и которые способствуют файлы
/bin
,/sbin
,/usr/bin
или/usr/sbin
. Звездочки, отмеченные звездочкой, являются не просто «обязательными», но и «обязательными», что означает, что другое упакованное программное обеспечение может принимать свое присутствие независимо от него.¹ awk-the-language является «существенным», но системный администратор может выбрать, хотят ли они реализацию «mawk» или «gawk».
И эти пакеты считаются так же важными; Официальное определение «важного» - «опытный человек из Unix, который обнаружил, что он пропал, сказал бы:« Что происходит на земле, где foo? »»:
Обратите внимание, что этот второй набор включает в себя критические инструменты системного администрирования, такие как
ps
иiproute2
, но также и вещи, которые могут быть совершенно ненужными в некоторых установках, таких какat
иdmidecode
. Оба набора также содержат вещи, специфичные для Debian, такие какdpkg
иapt
.Также обратите внимание, что оба набора вместе не являются расширенным набором функций, требуемых LSB (или POSIX + XSI в этом отношении): эти утилиты отсутствуют:
Список утилит, которые есть в вышеупомянутых пакетах, но не в LSB, длинен и утомителен, но я все равно включаю его, чтобы подчеркнуть, сколько «критических инструментов системного администрирования» он включает.
источник
ip
команду, которую вы упоминали ранее.Википедия: список Unix команд и Linuxconfig: Команды Linux , безусловно , стоит посмотреть.
Тем не менее, многие люди, как правило, просматривают содержимое каталогов,
echo $PATH
а затем просматривают справочную страницу для получения дополнительной информации.источник