Linux-Kenntnisse sind immer gefragt. Bauen Sie Ihre Fähigkeiten aus, indem Sie lernen, wie Sie Linux-Verzeichnisbefehle und Linux-Dateibefehle verwenden. Dieser Leitfaden ist als Reise geschrieben. Eine Reihe von Schritt-für-Schritt-Anleitungen, die Sie durch das Navigieren, Erstellen, Entfernen, Verschieben und Umbenennen von Verzeichnissen und Dateien führen. Alles über die Linux-Befehlszeile.
Wenn Sie bereit sind, praktische, reale Linux-Kenntnisse aufzubauen, sind Sie hier genau richtig!
Voraussetzungen
Um die Linux-Beispiele in diesem Handbuch zu üben, benötigen Sie einen Computer, auf dem Linux ausgeführt wird. Die Distribution von Linux spielt keine Rolle. Alle Demos in diesem Handbuch verwenden RedHat Enterprise Linux 8 (RHEL).
Ubuntu 20.04 LTS ist eine großartige Alternative, wenn Sie RedHat nicht verwenden möchten.
Verzeichnisse auflisten und finden
Wenn Sie mitmachen, öffnen Sie eine Terminalsitzung auf Ihrem Linux-Computer.
Finden des aktuellen Verzeichnisses mit pwd
Wenn Sie in einem Terminal durch ein Dateisystem navigieren, befindet sich Ihre Eingabeaufforderung immer in einem bestimmten Verzeichnis, das als aktuelles Verzeichnis oder Arbeitsverzeichnis bezeichnet wird. Abhängig von der Konfiguration des Terminals können Sie das Arbeitsverzeichnis in der Eingabeaufforderung sehen oder nicht.
Die pwd
oder der Befehl Arbeitsverzeichnis drucken zeigt das aktuelle Verzeichnis an, in dem Sie sich befinden. Geben Sie den Befehl wie unten gezeigt ein:
pwd
Standardmäßig ist das Verzeichnis /home/
Ihr Ausgangspunkt in einer Terminalsitzung, es sei denn, Sie sind mit dem Root-Konto angemeldet.
Wenn Sie den Befehl ausführen, wird das Arbeitsverzeichnis wie unten gezeigt zurückgegeben:
Im Gegensatz zu Windows verwendet Linux keine Laufwerksbuchstaben (C:\ , D:\ usw.) für Festplatten oder Partitionen (eine logische Region auf einer Festplatte). Unter Linux wird Verzeichnissen ein / vorangestellt .
Auflisten von Dateien und Ordnern mit dem ls
Befehl
Innerhalb von Verzeichnissen finden Sie Dateien und Unterordner. Die pwd
Der Befehl zeigt nur das Arbeitsverzeichnis an, wie sehen Sie also Unterverzeichnisse und Dateien? Die ls
Befehl.
Die ls
oder list directory ist das Äquivalent zu dir
Befehl in Windows. Dieser Befehl listet Dateien und Verzeichnisse im aktuellen Verzeichnis oder einem beliebigen angegebenen alternativen Pfad auf.
Die
dir
Der Befehl existiert auch unter Linux. Entspricht dem Ausführen vonls -C -b
. Typischerweisels
wird überdir
verwendet da mehr Anzeigeflexibilität vorhanden ist.
Um Dateien und Verzeichnisse im Verzeichnis /home/user zu finden Verzeichnis, führen Sie ls
aus Befehl. Die resultierende Ausgabe sind die verschiedenen darin enthaltenen Dateien und Verzeichnisse (Ordner).
ls
Die ls
Der Befehl zeigt auch zusätzliche Informationen zu Dateien und Ordnern wie Berechtigungen, Dateigröße (in Bytes) und Dateidaten mit dem l
an Möglichkeit. Wie in Windows können einige Dateien und Ordner vom Betriebssystem aus der normalen Ansicht ausgeblendet werden. Zeigen Sie Dateien an, die standardmäßig nicht angezeigt werden, mit dem a
Option.
Dotfiles sind Klartext-Konfigurationsdateien in Unix-Systemen. Jede Datei kann ausgeblendet werden, wenn dem Dateinamen ein Punkt
.
vorangestellt wird .
ls -la
Sie können im folgenden Screenshot sehen, indem Sie den la
verwenden Optionen erhalten Sie viel mehr Informationen, die in sechs verschiedenen Spalten von links nach rechts angezeigt werden:
- Berechtigungen im POSIX-ACL-Format mit vorangestelltem
d
bezeichnet ein Verzeichnis - Unterverzeichnisse zählen bei Verzeichnissen, die nur Dateien enthalten, als
1
- Benutzer und Gruppe, zu der eine Datei oder ein Ordner gehört
- Verzeichnis- oder Dateigröße in Bytes
- Zeitpunkt der letzten Änderung
- Name der Datei oder des Ordners
Alle Dateien und Ordner finden Sie in Unterverzeichnissen mit dem -R
Option zur rekursiven Anzeige von Verzeichnisinhalten.
ls -R
Wenn Sie den Inhalt eines anderen Verzeichnisses anzeigen möchten, übergeben Sie das Zielverzeichnis an ls
. Unten gezeigt sind die /var/log Inhalt des Verzeichnisses, ohne /home/user zu verlassen Verzeichnis.
ls /var/log
Suchen von Dateien und Ordnern mit find
Das Auffinden von Dateien in einem großen Dateisystem ist schwierig. Zum Glück die find
Der Befehl bietet mehrere Möglichkeiten, die benötigten Dateien und Ordner zu finden.
Beispielsweise möchten Sie /var finden Verzeichnis. Gegeben sei ein Startpunkt, /
, und legen Sie den Typ als d
fest Suchen Sie nach dem Verzeichnis im Dateisystem nach var
Name.
sudo find / -type d -name "var"
Möglicherweise sehen Sie einen Permission Denied-Fehler, selbst wenn Sie den Befehl mit
sudo
ausführen . Derfind
versucht, ein virtuelles Dateisystem im Zusammenhang mit Gnome zu durchsuchen (wenn Sie KDE verwenden, tritt dieser Fehler nicht auf), auf das Ihr Benutzer keinen Zugriff hat. Steigen Sie stattdessen nicht in Verzeichnisse auf anderen Dateisystemen ab, indem Sie den-xdev
verwenden wechseln Sie stattdessen.
Wie wäre es, alle Dateien mit der Log-Erweiterung zu finden? Suchen Sie ähnlich wie zuvor das Root-Dateisystem, aber geben Sie diesmal f
an nach Dateien und suchen Sie nach dem Platzhaltermuster *.log
.
sudo find / -type f -name "*.log"
Der
find
Der Befehl hat andere Optionen, wie z. B.H
,L
undP
, die behandeln, wie symbolische Links behandelt werden.
Schneller nach Dateien suchen mit locate
Wie find
, die locate
Der Befehl sucht nach Dateien und Ordnern, tut dies jedoch schneller, indem er eine Datenbank anstelle des gesamten Dateisystems durchsucht.
Vielleicht haben Sie eine Datei namens MyTextFile.txt irgendwo auf Ihrem Computer. Sie haben vergessen, wo es sich befindet, und brauchen Hilfe, um den Pfad zu finden. Verwenden Sie den locate
Befehl, um die Datei zu finden, indem Sie den Namen der Datei angeben, wie unten gezeigt.
locate MyTextFile.txt
Der
locate
Der Befehl findet Dateien, findet aber keine neuen Dateien bissudo updatedb
läuft. Ein Cronjob führtupdatedb
aus einmal am Tag, aber Sie können diesen Befehl jederzeit manuell ausführen.
Wie würden Sie alle Verzeichnisse mit dem Namen tmp
finden ? Sie könnten */tmp
übergeben , was locate
mitteilt um die Datenbank nach Einträgen zu durchsuchen, die auf tmp
enden .
locate */tmp
Verzeichniswechsel mit cd
Befehl
Bisher haben Sie größtenteils in einem einzigen Verzeichnis gearbeitet. Der Betrieb unter Linux bedeutet oft, Verzeichnisse zu wechseln, was über cd
erfolgt oder Verzeichniswechselbefehl. Anhand des Beispiels unten wird aus dem aktuellen Home-Verzeichnis /home/user, verschoben nach /var/log während Sie Ihr aktuelles Verzeichnis überprüfen.
# Show that you are in the current home directory
pwd
# Change to the /var/log directory
cd /var/log
# Verify that you are now in the /var/log directory
pwd
Nachdem Sie nun gelernt haben, in ein bestimmtes Verzeichnis zu wechseln, wie bewegen Sie sich ein Verzeichnis nach oben? Um sich ein Verzeichnis nach oben zu bewegen, verwenden Sie zwei Punkte (..
), übergeben an cd
Befehl. Nach der Ausführung bewegen Sie sich, wie unten zu sehen, um ein einzelnes Verzeichnis nach oben und landen wieder im /var/
Verzeichnis.
# Show that you are currently in the /var/log directory
pwd
# Move up a single directory
cd ..
# Verify that you have moved up to the /var directory
pwd
Wenn Sie in die /var/log wechseln möchten Verzeichnis erneut, übergeben Sie den Namen des Verzeichnisses, in das gewechselt werden soll, mit einem nachgestellten /
.
# Show that you are currently in the /var directory
pwd
# Change to the /var/log directory
cd log/
# Verify that you are back in the /var/log directory
pwd
Wie unten zu sehen, geben Sie das Ziel-Unterverzeichnis nur mit einem nachgestellten /
ein macht es überflüssig, jedes Mal einen absoluten Pfad einzugeben.
Wenn Sie sich bei der Verwendung von
cd
bezüglich eines Datei- oder Verzeichnisnamens nicht sicher sind , drücken Sie dieTAB
Taste zweimal drücken, um eine Liste mit Möglichkeiten zu erstellen. Beispiel:cd
Erstellen eines neuen Verzeichnisses mit mkdir
Das Erstellen eines Verzeichnisses in Linux erfolgt über den mkdir
oder make directory-Befehl. So erstellen Sie ein neues Verzeichnis mit dem Namen MyAwesomeLinuxDir in Ihrem Home-Verzeichnis (gekennzeichnet durch den speziellen Pfad ~
), verwenden Sie den folgenden Befehl.
mkdir ~/MyAwesomeLinuxDir
Wenn Linux das Verzeichnis erfolgreich erstellt, gibt Linux keine Meldung in der Konsole zurück. Mit dem ls
können Sie die Verzeichnisse in Ihrem Home-Verzeichnis auflisten Befehl, um zu überprüfen, ob das Verzeichnis MyAwesomeLinuxDir , existiert.
Fügen Sie jetzt etwas Komplexität hinzu und erstellen Sie mehrere neue Verzeichnisse mit einem einzigen Befehl. Um mehrere Verzeichnisse zu erstellen, verwenden Sie den mkdir
Befehl und übergeben Sie mehrere durch ein Leerzeichen getrennte Verzeichnisnamen.
mkdir ~/Directory01 ~/Directory02 ~/Directory03
Listen Sie noch einmal die Verzeichnisse mit dem ls
auf Befehl. Wie Sie unten sehen können, existieren jetzt drei weitere Verzeichnisse.
So nützlich wie die Verwendung von mkdir
Um einen einzelnen Ordner zu erstellen, was ist, wenn Sie viele Ordner auf einmal erstellen müssen? Anstatt jedes Verzeichnis abzutippen, verwenden Sie die Klammererweiterung! Diese Technik ist leistungsfähig, wenn mehrere Verzeichnisse mit einem ähnlichen Muster erstellt werden.
Die Klammererweiterung macht das Erstellen mehrerer Verzeichnisse basierend auf einem Muster schneller, als wenn Sie jedes von Hand eingeben würden. Um die Klammererweiterung zu demonstrieren, hängen Sie {03..07}
an nach dem Namen Directory
um fünf Verzeichnisse zu erzeugen. Sie werden vielleicht feststellen, dass Directory03 bereits vorhanden, weil Sie es in einem vorherigen Beispiel erstellt haben. Vermeiden Sie einen Fehler über vorhandene Verzeichnisse mit dem p
Option.
mkdir -p ~/Directory{03..07}
Wie unten zu sehen, Verzeichnis03 nicht erstellt, sondern vier neue Verzeichnisse mit der Endung 04
bis 07
jetzt existieren.
Erstellen einer neuen Datei mit touch
Nachdem Sie nun gelernt haben, Ordner zu erstellen, wie erstellen Sie eine Datei? Unter Verwendung des Linux touch
Befehl eine leere Datei erstellen, wie im nächsten Beispiel zu sehen.
touch ATABlog
Listen Sie noch einmal die Dateien und Ordner in Ihrem Home-Verzeichnis auf, um zu sehen, dass die neue Datei ATABlog Datei existiert.
Denken Sie daran, wie Sie erfahren haben, dass mkdir
Befehl kann Klammererweiterung verwenden, um mehrere Verzeichnisse zu erstellen? Die gleiche Technik ist mit dem touch
nützlich auch befehlen! Erstellen Sie fünf weitere ATABlog Dateien mit den Endungen 01 bis 05.
touch ATABlog{01..05}
Nach dem Auflisten der Dateien und Ordner mit ls
, existieren fünf neue Dateien in Ihrem Home-Verzeichnis.
Entfernen von Verzeichnissen und Dateien in Linux
Im letzten Abschnitt haben Sie gelernt, wie Sie Verzeichnisse und Dateien unter Linux erstellen. Verwenden Sie zum Entfernen von Verzeichnissen und Dateien den rm
Befehl zum Entfernen von Verzeichnissen und deren Inhalten.
Sie möchten beispielsweise eine Datei mit dem Namen ATABlog01. entfernen Entfernen Sie eine Datei, indem Sie den Dateinamen an rm
übergeben Befehl. Wie unten zu sehen ist, entfernen Sie das ATABlog01 Datei aus dem aktuellen Verzeichnis.
rm ATABlog01
Sie können mehrere Dateien auf einmal entfernen, indem Sie im aktuellen Verzeichnis zwischen jedem Dateinamen ein Leerzeichen einfügen. Löschen Sie das verbleibende ATABlog## Dateien in einem einzigen rm
Befehl, wie unten gezeigt.
rm ATABlog02 ATABlog03 ATABlog04 ATABlog05
Nachdem Sie nun gelernt haben, Dateien zu entfernen, ist es an der Zeit, ein Verzeichnis zu entfernen. Standardmäßig ist die rm
Befehl entfernt keine Verzeichnisse. Entfernen Sie ein Verzeichnis, indem Sie den r
angeben oder rekursiv Option, wie im folgenden Beispiel zu sehen.
rm -r Directory01
Im Screenshot unten sehen Sie dieses Directory01 wurde entfernt.
Sie können die Klammererweiterung mit dem rm
verwenden Befehl auch. Bereitstellung des Bereichs 2 bis 7 innerhalb des rm
Der Befehl weist den Befehl remove an, alle Verzeichnisse mit dem Namen Verzeichnis02 zu löschen über Verzeichnis07 . Wie bei Bestätigung durch ls
angezeigt Befehl.
rm -r Directory{02..07}
Um zu verhindern, dass versehentlich die falschen Dateien oder Ordner entfernt werden, verwenden Sie den
i
um für jede Datei aufzufordern. Machen Sie die Option mit demI
weniger belastend Option, die nur bei drei oder mehr Dateien auffordert.
Kopieren von Verzeichnissen und Dateien in Linux
Kopieren Sie Dateien unter Linux mit dem cp
Befehl. Das kann nicht nur cp
Befehle Verzeichnisse und Dateien in Linux kopieren, aber auch Dateiattribute und symbolische Links erstellen.
Um das Kopieren einer Datei aus den vorherigen Beispielen zu demonstrieren, kopieren Sie den ATABlog
Datei in die Dokumente/ Verzeichnis mit dem cp
Befehl. Fügen Sie v
hinzu Option, um weitere Informationen über den genauen Kopiervorgang anzuzeigen.
cp -v ATABlog Documents/
Kopieren Sie nun den Ordner MyAwesomeLinuxDir , zu den Dokumenten Verzeichnis. Hier wie beim rm
Achten Sie darauf, den r
hinzuzufügen oder rekursive Option zum Kopieren des Verzeichnisses, wie im folgenden Beispiel zu sehen.
cp -r MyAwesomeLinuxDir/ Documents/
Verzeichnisse und Dateien verschieben
Im vorherigen Abschnitt haben Sie Dateien und Ordner mit dem cp
kopiert Befehl. bewegen Verzeichnisse und Dateien unter Linux verwenden Sie den mv
Befehl. Verwenden Sie zum Verschieben von Verzeichnissen unter Linux den mv
Befehl. Die mv
Befehl ist ähnlich dem des cp
Befehl, den Sie in den vorherigen Beispielen kennengelernt haben.
mv [options] [source] [destination]
Der mv
Befehl ist wie das Ausschneiden und Einfügen in Windows, mit dem Vorteil, Dateien gleichzeitig umbenennen zu können. Die nächsten Abschnitte zeigen Ihnen, wie Sie mv
verwenden für beide Szenarien.
Verwenden Sie
-i
Option zur Eingabeaufforderung vor jedem Zug oder-f
Option zum zwangsweisen Verschieben von Elementen ohne Aufforderung.
Verschieben Sie zur Demonstration die Datei Documents/ATABlog auf den Desktop Verzeichnis mit dem mv
Befehl. Verschieben Sie den Ordner Documents/MyAwesomeLinuxDir auf den Desktop auch, wie unten gezeigt.
mv Documents/ATABlog Desktop/
mv Documents/MyAwesomeLinuxDir Desktop/
Ihre Befehle sollten wie im Beispiel unten aussehen. Denken Sie daran, dass Sie die Datei und das Verzeichnis (Quelle) in ein anderes Verzeichnis (Ziel) verschieben.
Verwenden Sie den ls
Befehl, um zu sehen, dass sich beide jetzt auf dem Desktop befinden Verzeichnis.
Umbenennen von Verzeichnissen und Dateien
Obwohl es keinen Umbenennungsbefehl gibt, ist der mv
Befehl spielt die gleiche Rolle. Anstatt nur ein Ziel an mv
zu übergeben Befehl die resultierende Datei oder den Ordner ohne nachgestellten Schrägstrich zum Verschieben und Umbenennen an.
Verschieben Sie die Datei und den Ordner zurück in Ihr Home-Verzeichnis, während Sie die Datei in ATABlog_Renamed umbenennen . Machen Sie dasselbe mit MyAwesomeLinuxDir , und benennen Sie das Verzeichnis in MyAwesomeLinuxDir_Renamed um im Home-Verzeichnis, wie unten gezeigt.
mv Desktop/ATABlog ~/ATABlog_Renamed
mv Desktop/MyAwesomeLinuxDir ~/MyAwesomeLinuxDir_Renamed
Nächste Schritte
In diesem Artikel haben Sie viele der gängigen Linux-Verzeichnisbefehle kennengelernt, wie z. B. das Durchlaufen eines Linux-Dateisystems sowie das Erstellen, Verschieben und Löschen von Dateien.