Das Kommandozeilenwerkzeug install ist Bestandteil der GNU Coreutils und wurde speziell für das Installieren von Programmen, Skripten und Dateien entwickelt. Es vereint die Funktionen von cp, mkdir, chmod und chown in einem einzigen, leistungsstarken Befehl. Dies vereinfacht viele typische Aufgaben bei der Softwarebereitstellung.
Grundlegende Verwendung
install [OPTIONEN]... QUELLE ZIEL
install [OPTIONEN]... QUELLE... VERZEICHNIS
install [OPTIONEN]... -t VERZEICHNIS QUELLE...Häufig genutzte Optionen
Option | Beschreibung |
|---|---|
| Erstellt automatisch alle übergeordneten Verzeichnisse |
| Erstellt Verzeichnisse anstelle von Dateien zu kopieren |
| Setzt Dateirechte (z. B. |
| Setzt den Dateibesitzer (erfordert Root-Rechte) |
| Setzt die Dateigruppe (erfordert Root-Rechte) |
| Zielverzeichnis für mehrere Quelldateien |
| Zeigt jeden ausgeführten Schritt an (verbose) |
| Kopiert nur, wenn sich Quelldatei und Zieldatei unterscheiden |
Einschränkungen: Was install nicht kann
Das Kommando install kann keine kompletten Verzeichnisse samt Inhalt kopieren. Wenn du ein gesamtes Verzeichnis mit allen Unterdateien übernehmen möchtest, musst du stattdessen cp -a verwenden und die Eigentümer- und Rechtevergabe separat erledigen.
Beispielskript zum Kopieren eines Verzeichnisses
Pfad: ~/scripts/cp_dir.sh
#!/bin/bash
# Dokumentation anzeigen, wenn das Skript ohne Parameter aufgerufen wird
if [ "$#" -ne 3 ]; then
echo "Verwendung: ./cp_dir.sh USER:GROUP /pfad/zur/quelle /pfad/zum/ziel"
echo "Kopiert ein Verzeichnis rekursiv, setzt Eigentümer:Gruppe und Berechtigungen."
exit 1
fi
# Argumente zuweisen
EIGENTUM="$1" # Format: benutzer:gruppe
QUELLE="$2" # Quellverzeichnis
ZIEL="$3" # Zielverzeichnis
# Zielverzeichnis anlegen mit Besitzer und Gruppe
install -d -o "${EIGENTUM%%:*}" -g "${EIGENTUM##*:}" "$ZIEL"
# Inhalt rekursiv kopieren
cp -a "$QUELLE/." "$ZIEL/"
# Besitzer und Gruppe rekursiv setzen
chown -R "$EIGENTUM" "$ZIEL"
# Standardrechte auf 755 setzen (anpassbar)
chmod -R 755 "$ZIEL"Praktische Beispiele
1. Ein Skript mit bestimmten Rechten installieren
Mit install:
install -m 755 myscript.sh /usr/local/bin/myscriptOhne install:
cp myscript.sh /usr/local/bin/myscript
chmod 755 /usr/local/bin/myscript2. Binärdatei mit automatischer Verzeichniserstellung installieren
Mit install:
install -D -m 755 myapp /usr/local/bin/myappOhne install:
mkdir -p /usr/local/bin
cp myapp /usr/local/bin/myapp
chmod 755 /usr/local/bin/myapp3. Mehrere Verzeichnisse anlegen
Mit install:
install -d /opt/myapp/config /opt/myapp/dataOhne install:
mkdir -p /opt/myapp/config /opt/myapp/data4. Datei mit Besitzer und Gruppe installieren
Mit install:
install -o $USER -g $GROUP -m 644 config.ini /etc/myapp/Ohne install:
cp config.ini /etc/myapp/
chown -R $USER:$GROUP /etc/myapp/config.ini
chmod 644 /etc/myapp/config.iniVorteile von install gegenüber Einzelbefehlen
- Kombiniert Kopieren, Rechtevergabe und Besitzwechsel in einem Schritt
- Ersetzt mehrere gängige Befehle:
cp,chmod,chown,mkdir - Besonders praktisch für Skripte, Makefiles oder Installationsroutinen
Installation von install
install ist standardmäßig auf Debian-Systemen enthalten. Falls nicht:
apt install coreutils- Log in to post comments