Dieser Beitrag erklärt, wie man mit Dateien und Verzeichnissen arbeitet. Dazu gehören Aufgaben wie das Auffinden Ihrer Position in der Verzeichnisstruktur, das Anzeigen von Dateiinhalten, das Kopieren und Verschieben von Dateien und Verzeichnissen, das Erstellen und Entfernen von Dateien und Verzeichnissen und das Suchen nach Dateien und Verzeichnissen.
Anzeigen von Verzeichnissen
Ein Verzeichnis ist eine Liste von Verweisen auf Objekte, die Dateien, Unterverzeichnisse und symbolische Links enthalten können. Jede Referenz besteht aus zwei Komponenten:
- Ein Name :Der Name des Objekts wird verwendet, um das Objekt zu identifizieren und darauf zuzugreifen.
- Eine Zahl :Die Zahl gibt den Inode an, in dem Informationen über das Objekt gespeichert werden.
Sie können verschiedene Befehle verwenden, um das aktuelle Verzeichnis anzuzeigen, den Inhalt eines Verzeichnisses anzuzeigen und Verzeichnisse zu wechseln.
Was ist ein Inode?
Ein Inode ist eine Liste von Informationen, die sich auf ein bestimmtes Objekt beziehen, wie z. B. eine Datei, ein Verzeichnis oder ein symbolischer Link. Die vom Inode gehaltenen Informationen umfassen die Art des Objekts, über das der Inode Informationen, Berechtigungen, Eigentumsinformationen und die Orte enthält, an denen Daten gespeichert werden.
Ermitteln des aktuellen Verzeichnisses
Der Befehl pwd identifiziert den vollständigen oder absoluten Pfadnamen des aktuellen Arbeitsverzeichnisses.
$ pwd /home/user
Den Inhalt des Verzeichnisses anzeigen
Der Befehl ls zeigt den Inhalt eines Verzeichnisses an. Die Syntax für den Befehl ls lautet:
$ ls [-options] [filename]
Nachfolgend finden Sie einige Beispiele für die Verwendung des Befehls ls zum Auflisten des Verzeichnisinhalts.
1. Um die Dateien und Verzeichnisse im aktuellen Verzeichnis (/export/home/student) aufzulisten, geben Sie den Befehl ls ohne Argumente ein.
$ ls file1 file2 file3
2. Um den Inhalt eines bestimmten Verzeichnisses innerhalb des aktuellen Arbeitsverzeichnisses anzuzeigen, geben Sie den Befehl ls gefolgt vom Verzeichnisnamen ein.
$ ls dir1 textfile1 textfile2 textfile3
3. Um den Inhalt eines Verzeichnisses anzuzeigen, das sich nicht im aktuellen Arbeitsverzeichnis befindet, geben Sie den Befehl ls mit dem vollständigen Pfad zu diesem Verzeichnis ein.
$ ls /var/tmp/test test1 test2 test3
Den Inhalt des Verzeichnisses mit Optionen anzeigen
Der Befehl ls -l zeigt eine lange Liste mit Dateiinformationen an.
Das Folgende ist eine kurze Erklärung der Teile der langen Liste, die in der Abbildung oben angezeigt wird:
- Das erste Zeichen ist der Dateityp. Es kann eine Datei(-) oder ein Verzeichnis(d) oder ein symbolischer Link(l) usw. sein
- Die zweiten neun Stellen geben die Dateiberechtigungen an:r bedeutet lesbar, w bedeutet beschreibbar, x bedeutet ausführbar und – bedeutet verweigert.
- Der dritte Abschnitt (eine Zahl) ist die Anzahl der Links.
- Der vierte Abschnitt ist der Eigentümer (Benutzer).
- Der fünfte Abschnitt ist die Gruppe (Benutzer).
- Der sechste Abschnitt ist die Dateigröße.
- Der siebte Abschnitt ist das Datum.
- Der achte Abschnitt ist der Dateiname.
Einige Dateien werden nicht angezeigt, wenn Sie den Befehl ls verwenden. Versteckte Dateien enthalten oft Informationen, die Ihre Arbeitsumgebung anpassen. Der Befehl „ls -la“ listet alle Dateien in einem Verzeichnis auf, einschließlich versteckter Dateien.
$ ls -la total 1296 dr-xr-x---. 8 root root 4096 May 12 15:25 . drwxr-xr-x. 23 root root 4096 May 12 15:25 .. -rw-r--r-- 1 root root 139 Apr 14 13:01 a -rw-r--r-- 1 root root 3564 May 12 12:53 .bash_history -rw-r--r-- 1 root root 18 Mar 12 21:32 .bash_logout -rw-r--r-- 1 root root 176 Mar 12 21:32 .bash_profile -rw-r--r-- 1 root root 176 Mar 12 21:32 .bashrcHinweis :Ein einzelner Punkt (.) steht für das aktuelle Arbeitsverzeichnis. Der doppelte Punkt (..) stellt das übergeordnete Verzeichnis dar, das das aktuelle Arbeitsverzeichnis enthält.
Der Befehl ls -ld zeigt detaillierte Informationen über ein Verzeichnis an, ohne seinen Inhalt anzuzeigen.
$ ls -ld directory name
Um beispielsweise detaillierte Verzeichnisinformationen für das Verzeichnis dir1 zu erhalten, geben Sie den Befehl ls -ld ein.
$ ls -ld dir1 drwxr-xr-x 2 root root 4096 May 12 15:32 dir1
Um beispielsweise eine rekursive Liste des Inhalts des Verzeichnisses dir1 anzuzeigen, geben Sie den Befehl ls -R dir1 ein.
$ ls -R dir1 dir1: file1 file2 file3 testdir dir1/testdir: textfile1 textfile2 textfile3Grundlagen der Linux-Befehlszeile – Ausführen von Befehlen über die Befehlszeile
Dateitypen anzeigen
Die Kenntnis des Dateityps kann Ihnen bei der Entscheidung helfen, welchen Befehl oder welches Programm Sie zum Lesen der Datei verwenden möchten. Der Befehl ls -F oder der Befehl file zeigt die Dateitypen an. Zum Beispiel:
$ ls -F dir1/ dir2/ dir3/ file1 file2 file3
Die folgende Tabelle zeigt die Symbole oder Indikatoren, die bei der Ausgabe des Befehls „ls –F“ verwendet werden.
Indikator | Dateityp |
---|---|
* | Ausführbar |
/ | Verzeichnis |
#FEHLER! | Sockel |
@ | Symbolischer Link |
| | First-In-First-Out (FIFO) |
Der Dateibefehl hilft auch bei der Bestimmung bestimmter Dateitypen. Die Syntax für den Dateibefehl lautet:
$ file filename
Um beispielsweise den Dateityp der Datei „test“ anzuzeigen, geben Sie den file-Befehl ein und geben Sie den Namen der Datei an.
$ file test test: ASCII text
Die Ausgabe des file-Befehls ist eine der folgenden:
- Text :Textdateien enthalten ASCII-Text (American Standard Code for Information Interchange), englischen Text, Befehlstext und ausführbare Shell-Skripte.
- Daten :Datendateien werden von Programmen erstellt. Der Dateibefehl gibt den Typ der Datendatei an, z. B. ein FrameMaker-Dokument, wenn der Typ bekannt ist. Der Dateibefehl gibt an, dass die Datei eine Datendatei ist, wenn der Typ unbekannt ist.
- Ausführbar oder binär :Ausführbare Dateien umfassen ausführbare 32-Bit-Codedateien und ELF-Codedateien (Extensible Linking Format) sowie andere dynamisch verknüpfte ausführbare Dateien. Ausführbare Dateien sind Befehle oder Programme.
Verzeichnisse wechseln
Beim Arbeiten innerhalb der Verzeichnishierarchie haben Sie immer ein aktuelles Arbeitsverzeichnis. Wenn Sie sich zum ersten Mal beim System anmelden, wird das aktuelle Verzeichnis auf Ihr Home-Verzeichnis eingestellt. Sie können Ihr aktuelles Arbeitsverzeichnis jederzeit mit dem Befehl cd ändern. Um beispielsweise das Verzeichnis vom Studentenverzeichnis in das Verzeichnis dir1 zu ändern, verwenden Sie den cd-Befehl:
$ pwd /home/user $ cd dir1 $ pwd /home/user/dir1 $
Wenn Sie den cd-Befehl ohne Optionen oder Argumente verwenden, wechselt das aktuelle Arbeitsverzeichnis in Ihr Home-Verzeichnis. In der Befehlszeile können Sie Abkürzungen für Pfadnamen verwenden, um einfach zu Verzeichnissen zu navigieren oder auf diese zu verweisen. Die Tabelle beschreibt die Abkürzungen der Pfadnamen.
Symbol | Pfadname |
---|---|
. | Aktuelles oder Arbeitsverzeichnis |
.. | Elternverzeichnis, das Verzeichnis direkt über dem aktuellen Arbeitsverzeichnis |
Um beispielsweise in das übergeordnete Verzeichnis für dir1 zu wechseln, geben Sie den Befehl cd .. ein.
$ pwd /home/user/dir1 $ cd ..
Bestätigen Sie das aktuelle Arbeitsverzeichnis mit dem Befehl pwd.
$ pwd /home/userHinweis :Sie können mehrere Ebenen der Verzeichnishierarchie nach oben verschieben, indem Sie den Befehl cd .. gefolgt von einem Schrägstrich (/) verwenden. Zum Beispiel „cd ../../..“
Relativer und absoluter Pfadname
Sie können entweder einen relativen oder einen absoluten Pfadnamen verwenden, um sich in der Verzeichnishierarchie zu bewegen. Ein relativer Pfadname listet die Verzeichnisse im Pfad relativ zum aktuellen Arbeitsverzeichnis auf. Ein absoluter Pfadname listet alle Verzeichnisse im Pfad auf, beginnend mit dem Stammverzeichnis (/).
Um beispielsweise Verzeichnisse mit einem relativen Pfadnamen zu wechseln, geben Sie den Befehl cd mit dem Pfadnamen ein, der vom aktuellen Arbeitsverzeichnis student.
ausgeht$ cd $ cd dir1 $ pwd /home/user/dir1
$ cd ../dir2 $ pwd /home/user/dir2
$ cd $ cd dir1/coffee $ pwd /home/user/dir1/coffee
Um beispielsweise Verzeichnisse mit einem absoluten Pfadnamen zu wechseln, geben Sie den Befehl cd mit dem vollständigen Pfadnamen aus dem Stammverzeichnis (/) ein.
$ cd $ cd /home/user/dir1/coffee $ pwd /home/user/dir1/coffee
Home-Verzeichnis
Das Home-Verzeichnis eines normalen Benutzers ist der Ort, an dem sich der Benutzer nach der Anmeldung befindet. Der Benutzer kann Dateien im Home-Verzeichnis erstellen und speichern. Häufig ist der Name des Home-Verzeichnisses eines Benutzers derselbe wie der Anmeldename des Benutzers. Wenn Ihr Benutzer-Anmeldename beispielsweise john ist, wäre Ihr Home-Verzeichnis /home/john.
Zurück zu Ihrem Home-Verzeichnis
Sie können mit einer der beiden folgenden Methoden zu Ihrem Home-Verzeichnis zurückkehren:
1. Verwenden Sie den cd-Befehl ohne Argumente.
$ cd $ pwd /home/user
2. Verwenden Sie den cd-Befehl mit dem absoluten Pfadnamen zu Ihrem Home-Verzeichnis.
$ cd /home/user
Sie können auch zum Home-Verzeichnis eines Benutzers navigieren, indem Sie den Befehl cd mit einer Tilde (~) vor dem Benutzernamen verwenden. Die Tilde (~) Zeichen ist eine Abkürzung, die dem absoluten Pfadnamen des Benutzers entspricht.
$ cd ~user $ pwd /home/user
Hinweis :Das Tilde-Zeichen (~) ist eine Shell-Einrichtung und nicht in allen Shells verfügbar.
Sie können auch das Tilde-Zeichen (~) verwenden, um Ihr Home-Verzeichnis in einem relativen Pfad darzustellen. Die Tilde (~) im folgenden Beispiel steht für das Home-Verzeichnis des Schülers.
$ cd ~/dir1/coffee
Sie können auch das Tilde-Zeichen (~) verwenden, um zum Home-Verzeichnis eines anderen Benutzers zu navigieren.
$ cd ~user2 $ pwd /home/user2 $ cd $ pwd /home/user1