Übersicht
ls-r ist ein benutzerdefiniertes Skript, das den Inhalt des aktuellen Verzeichnisses und aller Unterverzeichnisse auflistet. Es bietet dieselbe Funktionalität wie der Befehl 'ls -R' und ist nützlich, um komplexe Verzeichnisstrukturen auf einen Blick zu erfassen.
Hauptmerkmale
- Rekursive Verzeichnisdurchsuchung: Zeigt den Inhalt des aktuellen Verzeichnisses und aller Unterverzeichnisse an.
- Anzeige aller Unterelemente: Enthält sowohl Dateien als auch Verzeichnisse.
- Kompakte Nutzung: Ermöglicht die Eingabe von 'ls -R' mit kürzerer Syntax.
Wichtige Optionen
Da ls-r ein benutzerdefiniertes Skript ist, können Sie im Grunde die Optionen des 'ls'-Befehls direkt übergeben. Hier sind einige häufig verwendete Optionen des 'ls'-Befehls.
Anzeige/Format
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`ls-r` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Verschiedene Anwendungsbeispiele für das ls-r-Skript.
Standard rekursive Liste
ls-r
Listet den Inhalt des aktuellen Verzeichnisses und aller Unterverzeichnisse rekursiv auf.
Rekursive Liste mit detaillierten Informationen
ls-r -l
Listet rekursiv mit detaillierten Informationen wie Dateiberechtigungen, Besitzer und Größe auf.
Rekursive Liste mit versteckten Dateien
ls-r -a
Listet alle Elemente rekursiv auf, einschließlich versteckter Dateien und Verzeichnisse.
Detaillierte rekursive Liste mit menschenlesbaren Größen
ls-r -lh
Listet rekursiv mit detaillierten Informationen und Dateigrößen in K, M, G auf.
Rekursive Liste für ein bestimmtes Verzeichnis
ls-r /var/log
Listet den Inhalt eines angegebenen Verzeichnisses rekursiv auf.
Installation
Da ls-r kein Standardbefehl ist, müssen Sie es entweder durch Erstellen eines eigenen Skripts oder durch Einrichten eines Alias installieren. Hier ist eine Methode, um ein einfaches Shell-Skript zu erstellen, das den Befehl 'ls -R' ausführt.
1. Skriptdatei erstellen
Erstellen Sie eine Datei namens 'ls-r' mit einem Texteditor. Erstellen Sie beispielsweise eine Datei im aktuellen Verzeichnis.
echo '#!/bin/bash\nls -R "$@"' > ls-r
Fügen Sie den folgenden Inhalt in die Datei ein. Die erste Zeile gibt an, dass es sich um ein Shell-Skript handelt, und die zweite Zeile übergibt alle Argumente ($@) an den Befehl 'ls -R'.
2. Ausführungsrechte vergeben
Vergeben Sie Ausführungsrechte für die erstellte Skriptdatei.
chmod +x ls-r
3. Zum PATH hinzufügen (Optional)
Um 'ls-r' von jedem Verzeichnis aus ausführen zu können, verschieben Sie die Skriptdatei in ein Verzeichnis, das in der PATH-Umgebungsvariable des Systems enthalten ist (z. B. /usr/local/bin).
sudo mv ls-r /usr/local/bin/
Verwendung als Alias (Alternative)
Anstatt eine Skriptdatei zu erstellen, können Sie auch die Alias-Funktion der Shell verwenden, um 'ls-r' als Kurzbefehl für 'ls -R' festzulegen. Fügen Sie die folgende Zeile zu Ihrer ~/.bashrc- oder ~/.zshrc-Datei hinzu und starten Sie dann Ihre Shell neu oder wenden Sie sie mit dem Befehl 'source' an.
echo 'alias ls-r="ls -R"' >> ~/.bashrc && source ~/.bashrc
Tipps & Hinweise
Nützliche Tipps und zu beachtende Punkte bei der Verwendung des ls-r-Skripts.
Leistungsüberlegungen
Für sehr große oder tiefe Verzeichnisstrukturen kann der Befehl 'find' effizienter sein als 'ls -R' (und somit ls-r). 'find' bietet mehr Filter- und Aktionsoptionen.
- Beispiel: `find . -print` (Listet alle Dateien und Verzeichnisse ab dem aktuellen Verzeichnis auf)
Überprüfung der Optionsübergabe
Damit Ihr Skript alle Optionen des 'ls'-Befehls unterstützt, stellen Sie sicher, dass es alle Argumente über '$@' im Skript übergibt. Das Skript im Installationsbeispiel oben behandelt dies korrekt.
Alternative Befehle
Wenn Sie Verzeichnisstrukturen visuell ansprechender darstellen möchten, können Sie den Befehl 'tree' verwenden. 'tree' muss auf den meisten Linux-Distributionen separat installiert werden.
- Beispiel: `sudo apt install tree` (Debian/Ubuntu)
- Beispiel: `sudo yum install tree` (CentOS/RHEL)
- Beispiel: `tree -L 2` (Zeigt die Baumstruktur bis zu einer Tiefe von 2 Ebenen im aktuellen Verzeichnis an)