GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Welches sind die Standardbefehle, die in jeder Linux-basierten Distribution verfügbar sind?

Leider gibt es keine Verfügbarkeitsgarantie.

Die meisten Systeme verfügen jedoch über GNU-Coreutils. Das allein stellt ungefähr 105 Befehle zur Verfügung. Sie können sich wahrscheinlich auf diese verlassen, es sei denn, es handelt sich um ein eingebettetes System, das stattdessen BusyBox verwendet.

Sie können sich wahrscheinlich auch auf bash, cron, GNU findutils, GNU grep, gzip, iproute2, iputils, man-db, module-init-tools, net-tools, passwd (passwd oder shadow), procps, tar und util verlassen. Linux.

Beachten Sie, dass einige Programme Unterschiede zwischen den Distributionen aufweisen können. Zum Beispiel /usr/bin/awk könnte gawk oder mawk sein. /bin/sh kann im POSIX-Modus dash oder bash sein. Auf einigen älteren Systemen /usr/bin/host hat nicht dieselbe Syntax wie die BIND-Version, daher ist es möglicherweise besser, dig.

zu verwenden

Wenn Sie nach Standards suchen, die Linux Standard Base definiert einige häufig vorkommende Programme, aber nicht alle Distributionen behaupten, dem Standard zu entsprechen, und einige tun dies nur, wenn Sie ein optionales LSB-Kompatibilitätspaket installieren. Als Beispiel dafür kommen einige Systeme, die ich gesehen habe, nicht mit lsb_release in einer Standardinstallation.

Außerdem könnte die Liste der von POSIX standardisierten Befehle hilfreich sein.

Ein anderer Ansatz für Ihr Problem besteht darin, Ihr Skript mit den Paketierungstools jeder Distribution (z. B. RPM für Red Hat, DEB für Debian usw.) zu paketieren und eine Abhängigkeit von anderen Programmen oder Paketen zu deklarieren, die Sie benötigen. Es ist ein bisschen Arbeit, aber es bedeutet, dass die Benutzer eine freundlichere Fehlermeldung sehen, die ihnen nicht nur sagt, was fehlt, sondern auch, welche Pakete sie installieren müssen.

Weitere Informationen:

  • RPM - Hinzufügen von Abhängigkeitsinformationen zu einem Paket
  • Debian - Deklaration von Beziehungen zwischen Paketen.

Auf nicht eingebetteten Linux-Systemen können Sie im Allgemeinen auf die meisten GNU-Dienstprogramme zählen:

  • coreutils
  • Bash
  • findutils (mindestens find und xargs , nicht unbedingt locate und updatedb )
  • grep
  • gzip
  • sed
  • tar

plus die util-linux-Suite und die procps-Suite. Beachten Sie, dass /bin/sh ist nicht immer bash, es kann auch eine Shell mit weniger Funktionen sein, wie zum Beispiel eine der mehreren Aschegabeln.

Die Linux Standard Base definiert eine Reihe allgemeiner Dienstprogramme mit Funktionen, die auf allen konformen Systemen erwartet werden. Sie können auch die meisten der von POSIX spezifizierten Dienstprogramme erwarten. Eine bemerkenswerte Ausnahme ist pax , das nicht Teil der Standardinstallation vieler Distributionen ist.

Wenn Sie die Dinge einfach halten möchten, fordern Sie die Installation eines lsb_release an Paket. Viele Distributionen haben ein solches Paket, das alle Abhängigkeiten enthält, die vom LSB benötigt werden.

Auf einem eingebetteten System ist alles möglich. Eingebettete Linux-Systeme führen normalerweise BusyBox aus, aber viele Dienstprogramme und Funktionen sind optional, sodass Sie sich auf sehr wenige Dinge verlassen können.


Es gibt eine Reihe von Befehlen, die die meisten, wenn nicht alle Linux-Distributionen und auch Unix-Distributionen bereitstellen. Dies sind die vom POSIX-Standard spezifizierten obligatorischen Befehle.

Die meisten der von Ihnen zitierten Befehle (cd , mkdir , ls , echo , grep , sed , awk , etc.) sind davon. Die Ausnahme ist ping wie WhiteWinterWolf zu Recht kommentierte.


Linux
  1. Linux – Was sind die verschiedenen Möglichkeiten zum Festlegen von Dateiberechtigungen usw. unter Gnu/Linux?

  2. Auf welcher Plattform werden Linux VPS konfiguriert?

  3. Welche Netzwerkports werden vom Linux-Betriebssystem reserviert?

  4. Welche Befehle sind im %pre-Abschnitt einer Kickstart-Datei unter CentOS verfügbar?

  5. Android - Auf welcher Linux-Distribution basiert Android?

ArchLabs Review:Ein kurzer Blick auf die Rising Arch-basierte Linux-Distribution

Kurzer Blick auf die Arch-basierte Indie-Linux-Distribution:MagpieOS

Einige zufällige Einzeiler-Linux-Befehle [Teil 2]

Einige zufällige Einzeiler-Linux-Befehle [Teil 3]

So finden Sie heraus, welche Linux-Version Sie ausführen

So verwenden Sie den which-Befehl in Linux