Bash Befehle PDF
Document Details
Uploaded by Deleted User
Tags
Summary
Dieses Dokument enthält eine Liste von ls-Befehlen, Jokerzeichen, Eckige Klammern, Verzeichnisinhalten, Umgebungsvariablen und anderen Befehlen. Es erklärt verschiedene Befehle und Funktionen für die Dateiverarbeitung in Bash.
Full Transcript
**ls** **-a, -l** - ls / - gibt alle Inhalte im "/" Verzeichnis aus - ls /bin - gibt alle Inhalte im "/bin" Verzeichnis aus - ls -a / - gibt alle Inhalte inklusive versteckten Dateien (mit. beginnend z.B. ".beispiel") im "/" Verzeichnis aus - ls -l / -...
**ls** **-a, -l** - ls / - gibt alle Inhalte im "/" Verzeichnis aus - ls /bin - gibt alle Inhalte im "/bin" Verzeichnis aus - ls -a / - gibt alle Inhalte inklusive versteckten Dateien (mit. beginnend z.B. ".beispiel") im "/" Verzeichnis aus - ls -l / - gibt alle Inhalte mit Zusatzinformationen (Rechte, Größe,...) im "/" Verzeichnis aus **Joker Zeichen** - ls /v\* - gibt alle Inhalte im Verzeichnis "/" aus, die mit v beginnen und mit beliebig vielen (1, 2, 3,...), beliebig unterschiedlichen Zeichen (a, b, c,...) aus **Eckige Klammern** - ls /etc/ap\[mt\] - gibt alle Inhalte im Verzeichnis "/etc" aus, die mit "ap" beginnen und an der 3. Stelle ein "m" oder "t" besitzen - ls /etc/ap\[m-t\] - gibt alle Inhalte im Verzeichnis "/etc" aus, die mit "ap" beginnen und an der 3. Stelle ein Zeichen von "m" bis "t" (m, n, o, p, q, r, s, t) besitzen **Verzeichnisinhalt** - ls -la / \> \~/rootverzeichnis.txt - erstellt falls noch nicht vorhanden die Datei "rootverzeichnis.txt" im Home Verzeichnis ("\~/" = Home Verzeichnis) und schreibt den Inhalt der durch "ls -la" ausgegeben werden sollte hinein. **Umgebungsvariablen** - echo \$HOME - gibt das Home-Verzeichnis des momentanen Benutzers aus - echo \$HOSTNAME - gibt den Name des Hosts (Rechnername) aus - echo \$PATH - gibt die Suchpfade für ausführbare Programme aus - echo \$PWD - gibt das aktuelle Arbeitsverzeichnis aus (einfacher mit nur "pwd" in der Shell) **Touch** - touch dateiname - wenn die Datei noch nicht existiert wird sie erstellt, sonst wird der Zeitstempel aktualisiert (Bearbeitet am, geöffnet am) **Cp** - cp \~/rootverzeichnis.txt \~/kopie - kopiert den Inhalt von "rootverzeichnis.txt" in die Datei "kopie" (kann nur Datein kopieren, bei Verzeichnissen Fehler) - cp -r \~/rootverzeichnis.txt \~/kopie - kopiert rekursiv (kopiert auch Verzeichnisse falls angegeben und nicht nur Datein) - kopiert auch den Inhalt von Dateien - cp -v\~/rootverzeichnis.txt \~/kopie - zeigt Detail über den Kopiervorgang (hier wären diese "\~/rootverzeichnis.txt \> \~/kopie", bedeutet Inhalte von der ersten Datei werden in die zweite geschrieben) - cp -u \~/rootverzeichnis.txt \~/kopie - kopiert nur wenn die Quelle neuer als das Ziel ist, heißt "kopie" existiert nicht oder existiert bereits ist aber älter als "rootverzeichnis.txt" **Grep** - grep init \~/kopie - durchsucht die Datei "kopie" nach Zeilen mit dem Begriff "init" (nur für Dateien) - ls -l / \| grep init - durchsucht die Ausgabe von "ls -l /" (siehe ls) nach Zeilen mit dem Begriff "init" **Mv** - mv \~/kopie /etc - verschiebt die Datei "kopie" vom Home Verzeichnis ins "/etc" Verzeichnis (bei diesem Beispiel ist sudo nötig da "/etc" geschützt ist) - mv \~/kopie \~/backup - hier wird die Datei "kopie" auf "backup" umbenannt, weil sie nicht in ein anderes Verzeichnis verschoben wird **Rm** - rm \~/backup - entfernt die Datei "backup" (nur Datein) - rm -r verzeichnisname - entfernt das gewünschte Verzeichnis **Verzeichnisse** - mkdir \~/backup - erstellt ein Verzeichnis mit dem Namen "backup" - cp \~/rootverzeichnis.txt \~/backup - kopiert die Datei "rootverzeichnis.txt" in das Verzeichnis "backup" - ls \~/backup - gibt die Inhalte des Verzeichnis "backup" aus - rmdir \~/backup - soll das Verzeichnis "backup" entfernen (geht nicht weil das Verzeichnis nicht leer ist \[theoretisch vorher "rm \~/backup/rootverzeichnis.txt" dann möglich 😵💫\]) **Find** - find / -name bash - durchsucht das Verzeichnis "/" nach Elementen mit dem Namen "bash" (einfachere Variante ist "which bash") - find / -name bash -exec ls -l {} /; - gibt alle Fundstellen aus (hier wird für jedes gefundene Element mit dem Namen "bash" alles zwischen "-exec" und "/;" ausgeführt, hier also "ls -l {}", "{}" wird durch den von "find" gefundenen Pfad ersetzt) **Cat** - cat dateiname - gibt den Inhalt der Datei aus - cat dateiname \| less - gibt den Inhalt der Datei seitenweise aus