Coreutils
Aus Fedorawiki.de
Paket mit grundlegenden Programmen
Projektseite: http://www.gnu.org/s/coreutils/
Einleitung
Neben Linux, util-linux, glibc und Bash eine der wichtigsten Programmsammlungen in Fedora.
Wie der Titel schon zeigt handelt es sich hier um wirklich fundamentale Programme welche in der Shell ausgeführt werden können.
Diese Programmsammlung sollte jedem erfahrenen GNU/Linux-Nutzer bekannt sein. Je mehr Erfahrungen im Umgang mit Bash und den coreutils gesammelt werden, desto überflüssiger werden oft andere Programme. Im Internet finden sich oft zahlreiche Artikel mit sogenannten Tipps und Tricks im Umgang mit GNU/Linux welche lediglich darauf hin deuten dass der jeweilige Nutzer seine Hausaufgaben nicht gemacht hat.
Schlimmer noch wenn GNU/Linux Administratoren nicht im Umgang mit den coreutils geschult wurden. Im übrigen gewährt der Blick in die C-Programme einen tiefen Einblick in das Betriebssystem. Und es spart enorm viel Zeit auf der Suche nach "Werkzeugen" um informationstechnische Probleme zu lösen. Manch einer kommt sogar auf die Idee Dinge zu programmieren die bereits seit Jahrzehnten vorhanden sind. Die coreutils sind auch Grundlage für Tausende von anderen Programmen in der Welt der IT.
Bedienung
Eine genaue Anleitung in Englisch erhält man durch das Kommando:
$ info coreutils
Der Parameter --help gibt meist Auskunft über die Syntax eines Kommandoaufrufs.
$ whatis $Programmname
gibt eine Kurzbeschreibung aus.
$ man $Programmname
Gibt oft deutlich mehr Informationen über ein Programm preis.
Alphabetische Auflistung von Programmen in coreutils in den 3 Verzeichnissen:
/bin : Grundlegende Programme zum Zugriff für alle Benutzer
/bin enthält Programme die von Nutzern und Systembetreibern genutzt werden können auch wenn kein anderes Dateisystem eingehängt wurde ( z.B. Einzelnutzer-Modus ). Programme die von Skripten aufgerufen werden dürfen hier auch liegen.
Unterverzeichnisse in /bin sind nicht erlaubt.
arch - architecture, Ausgabe der Architektur/Plattform
basename - Ausgabe des Namens einer Datei ohne Verzeichnis
cat - concatenate, Verbinden von Dateien, auch zur Ausgabe auf die Shell-Ausgabe geeignet
chgrp - change group, ändern der Gruppe einer Datei
chmod - change modus, ändern der Zugriffsrechte einer Datei
chown - change owner, ändern des Besitzers einer Datei
cp - copy, Kopieren einer Datei
cut - Einschränken der Ausgabe
date - Datum, Datumsmanipulation
dd - dumpdisk, Rohausgabe von Dateien
df - diskfree, Restspeicher eines Massenmediums ausgeben
echo - Ausgabe von Zeichen
env - env(ironement), Umgebung für ein Programm anpassen
false - falsch, Rückgabewert auf 1 (falsch) setzen
link - link, direkte Verknüpfung ohne Argumente
ln - wie link, aber auch indirekte Verknüpfungen durch Argumente möglich
ls - list directory content - Ausgabe von Verzeichnisinhalten
mkdir - make directory, Verzeichnis erstellen
mknod - make node, Eintrag in der Verzeichnisstruktur erstellen (Datei, Verzeichnis oder Sonderdatei)
mktemp - make temp, übergangsweise Datei oder Verzeichnis erstellen
mv - move, Verzeichnis oder Datei verschieben
nice - Prozesspriorät ändern
pwd - password, Passwort ändern
readlink - Inhalt einer Verknüpfung ausgeben
rm - remove, Datei (Verzeichnis entfernen mit Argument)
rmdir - leeres Verzeichnis entfernen
sleep - Zeitverzögerung
sort - sortieren
stty - Zeileneinstellungen des Terminals zeigen und ändern
su - switch user, Kommando als anderer Benutzer ausführen
sync - Zwischenspeicher leeren und auf Datenträger schreiben
touch - Zeitstempel einer Datei ändern oder ggfs Datei neu anlegen, falls nicht vorhanden
true - wahr, 0 setzen
uname - unix-name, Systeminformationen ausgeben, Kern, Betriebssystem etc.
unlink - Aufheben einer Verknüpfung
/usr/bin/
Primärer Ort für System-Programme
[ - prüft bedingte Ausdrücke
base64 - Ver- und Entschlüsselung
chcon - change context, SELinux Kontext einer Datei ändern
cksum - cyclic redundancy check, Prüfsumme ausgeben
comm - compare, vergleicht zwei Dateien
csplit - context split, teilen einer Datei nach "Auslöser"/Muster
cut - Verknüpfung auf /bin/cut, Einschränken der Ausgabe
dir - zeigt Verzeichnis Inhalt
dircolors - Farbeinstellungen für Verzeichnisausgabe unter ls
dirname - directory name, entfernt letzten Eintrag (Dateiname) aus Verzeichnisnamen
du - disk usage, überschlägt Belegung der Massenspeicher
env - env(ironement), Verknüpfung auf /bin/env, Umgebung für ein Programm anpassen
expand - Tabulatoren zu Leerzeichen ändern
expr - express, Ausdruck festlegen
factor - Zahlen faktorieren
fmt - format text, einfache Text Formatierung
fold - Zeilen umbrechen
groups - Gruppen des Nutzers ausgeben
head - Gibt den Anfang einer Datei aus
hostid - numerische Kennzeichnung des hosts
id - gibt reale Gruppen und nummerische Identifikation des Nutzers und seiner Gruppen aus
install - kopiert Dateien und setzt Attribute
join - zeilenweises Zusammenfügen von Dateien
logname - login name, gibt den Anmeldenamen des Nutzers aus
md5sum - Message-Digest Algorithm, Prüfsummenermittlung nach md5
mkfifo - make fifo (first in, first out) Sonderdatei Puffer erstellen
nl - number lines, Zeilen der Ausgabe nummerieren
nohup - no hangups, startet ein Programm so dass hangup signal ignoriert wird
nproc - number of processing units, gibt die Anzahl der verfügbaren Prozessoren aus
od - octal dump, gibt Datei im Oktal-Format oder anderen aus
paste - fügt Zeilen von Dateien zusammen
pathchk - patch check, prüft Gültigkeit von Verzeichnisangaben
pinky - vereinfachtes Finger
pr - print, Ausgabe wird für den Druck vorbereitet
printenv - print enviornment, gibt Umgebungsvariablen aus
printf - print formated, formatiert Ausgabe
ptx - permuted Index, vertauscht Indizes (Zeiger)
readlink - Verknüpfung auf /bin/readlink, Inhalt einer Verknüpfung ausgeben
runcon - run conditions, führt Datei mit bestimmten SELinux Kontext aus
seq - sequence, Ziffernfolge ausgeben
sha1sum - Secure Hash Algorithm, Prüfsummenermittlung nach sha1
sha224sum - Secure Hash Algorithm, Prüfsummenermittlung nach sha224
sha256sum - Secure Hash Algorithm, Prüfsummenermittlung nach sha256
sha384sum - Secure Hash Algorithm, Prüfsummenermittlung nach sha384
sha512sum - Secure Hash Algorithm, Prüfsummenermittlung nach sha512
shred - vernichten durch mehrmaliges überschreiben einer Datei
shuf - shuffle, zufällige Folgen erzeugen
split - Datei in Stücke zerlegen
stat - status, gibt genaue Informationen über Dateien in einem Dateisystem
stdbuf - standard buffer, ändert für ein Programm die Zwischenspeichereinstellungen
sum - Prüfsumme und Blockanzahl einer Datei ausgeben
tac - wie cat, Ausgabe erfolgt rückwärts
tail - Ende eine Datei ausgeben
tee - Dupliziert die Ausgabe für die weitere Verwendung
test - Prüft Dateitypen und vergleicht Werte
timeout - Startet ein Programm mit einer Zeitbegrenzung
tr - translate, ersetzt Zeichen durch andere
truncate - Ändert Dateigröße beliebig
tsort - topology sort, Ändert die Wortstellung
tty - An die Ausgabe gebundenes Terminal ausgeben
unexpand - Leerzeichen zu Tabulatoren ändern
uniq - Zeilenweise Ausgabe auf einmaligen Vorkommen von Zeilen reduzieren
users - Gibt Namen der angemeldeten Nutzer aus
vdir - zeigt Verzeichnisinhalt
wc - word count, gibt Zeilenenden, Wörter und byte-Anzahl von Dateien aus
who - Ausgabe von Nutzern die z.Zt. angemeldet sind.
whoami - Ausgabe des ausführenden Nutzers
yes - stets wiederholte Ausgabe von Zeichen
/sbin : System binaries
runuser - Kommando als anderer Benutzer ausführen
chroot - change root, wechselt das Stamm-Verzeichnis
Die Programme in coreutils können nach Zweck gruppiert werden:
Text-Manipulation
Reine Datei-manipulation
Reine Shell-Programme
...tbd...
Eine feinere Aufteilung nach Aufgaben:
...tbd...
Im Zusammenspiel wie in der Einleitung beschrieben können die Programme wie folgt genutzt werden:
...tbd...
...tbd...Überblick auf die Verzeichnisstruktur von Fedora
...tbd...FSH