Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:befehle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:befehle [2011/09/20 06:24]
stefan_hofmann [Befehle für Dateien]
admin_grundlagen:befehle [2024/01/09 09:35] (aktuell)
ingo_wichmann [Befehle für Dateien]
Zeile 1: Zeile 1:
 ====== Befehle für Verzeichnisse ====== ====== Befehle für Verzeichnisse ======
 |mkdir ''​Verzeichnis'' ​                   | ''​Verzeichnis''​ **anlegen** | |mkdir ''​Verzeichnis'' ​                   | ''​Verzeichnis''​ **anlegen** |
-|mkdir -p ''​Verzeichnis/​Unterverzeichnis'' ​ | ''​Unterverzeichnis'' ​incl. ''​Verzeichnis''​ **anlegen** |+|mkdir -p ''​Verzeichnis/​Unterverzeichnis'' ​ | ''​Unterverzeichnis'' ​inkl. ''​Verzeichnis''​ **anlegen** |
 |cd                 | ins Heimatverzeichnis **wechseln** | |cd                 | ins Heimatverzeichnis **wechseln** |
 |cd ''​Verzeichnis''​ | in ''​Verzeichnis''​ **wechseln** | |cd ''​Verzeichnis''​ | in ''​Verzeichnis''​ **wechseln** |
Zeile 7: Zeile 7:
 |cd /               | ins oberste Verzeichnis **wechseln** | |cd /               | ins oberste Verzeichnis **wechseln** |
 |cd ..              | ein Verzeichnis nach oben **wechseln** | |cd ..              | ein Verzeichnis nach oben **wechseln** |
-|ls      | Verzeichnisinhalt **anzeigen** | +|ls      | Verzeichnisinhalt **anzeigen** ​(nur Namen)| 
-|ls -a   ​| ​Verzeichnis ​inkl. versteckte Dateien (.Dateien) **anzeigen** | +|ls -i   | Verzeichnisinhalt inkl. [[wpde>​Inode|Inodenummer]] ​
-|ls -l   | Verzeichnis inkl. Rechte, Größe und Zeit **anzeigen** |+|ls -a   ​| ​Verzeichnisinhalt ​inkl. versteckte Dateien (.Dateien)(( 
 +Kommentar dazu von [[wpde>​Rob Pike]] am 03.08.2012  
 + 
 +Long ago, as the design of the Unix file system was being worked out, the entries . and .. appeared, to make navigation easier. I'm not sure but I believe .. went in during the Version 2 rewrite, when the file system became hierarchical (it had a very different structure early on).  When one typed ls, however, these files appeared, so either Ken or Dennis added a simple test to the program. It was in assembler then, but the code in question was equivalent to something like this: 
 +<code c> 
 +   if (name[0] == '​.'​) continue; 
 +</​code>​ 
 +This statement was a little shorter than what it should have been, which is 
 +<code c> 
 +   if (strcmp(name,​ "​."​) == 0 || strcmp(name,​ "​.."​) == 0) continue; 
 +</​code>​ 
 +but hey, it was easy. 
 + 
 +Two things resulted. 
 + 
 +First, a bad precedent was set. A lot of other lazy programmers introduced bugs by making the same simplification. Actual files beginning with periods are often skipped when they should be counted. 
 + 
 +Second, and much worse, the idea of a "​hidden"​ or "​dot"​ file was created. As a consequence,​ more lazy programmers started dropping files into everyone'​s home directory. I don't have all that much stuff installed on the machine I'm using to type this, but my home directory has about a hundred dot files and I don't even know what most of them are or whether they'​re still needed. Every file name evaluation that goes through my home directory is slowed down by this accumulated sludge. 
 + 
 +I'm pretty sure the concept of a hidden file was an unintended consequence. It was certainly a mistake. 
 + 
 +How many bugs and wasted CPU cycles and instances of human frustration (not to mention bad design) have resulted from that one small shortcut about  40 years ago? 
 + 
 +Keep that in mind next time you want to cut a corner in your code. 
 + 
 +(For those who object that dot files serve a purpose, I don't dispute that but counter that it's the files that serve the purpose, not the convention for their names. They could just as easily be in $HOME/cfg or $HOME/lib, which is what we did in Plan 9, which had no dot files. Lessons can be learned.) 
 +---- 
 +Quelle: https://​plus.google.com/​+RobPikeTheHuman/​posts/​R58WgWwN9jp)) **anzeigen** | 
 +|ls -l   | Verzeichnisinhalt inkl. Rechte, Größe und Zeit **anzeigen** | 
 +|ls -ld  ​| Verzeichnis ​selbst ​inkl. Rechte, Größe und Zeit **anzeigen** |
 |ls -lrt | Verzeichnis inkl. Rechte, Größe und Zeit **anzeigen**,​ sortiert nach zuletzt geänderten Dateien| |ls -lrt | Verzeichnis inkl. Rechte, Größe und Zeit **anzeigen**,​ sortiert nach zuletzt geänderten Dateien|
-|cp ''​Quelle Ziel'' ​     | ''​Quelle''​ in Verzeichnis ''​Ziel''​ oder in Datei ''​Ziel''​ **kopieren** | +|cp ''​Quelle''​ ''​Ziel'' ​     | Datei ''​Quelle''​ in Verzeichnis ''​Ziel''​ oder in Datei ''​Ziel''​ **kopieren** | 
-|cp -a ''​Quelle Ziel'' ​  | Verzeichnis ''​Quelle'' ​incl. Inhalt ins Verzeichnis ''​Ziel''​ **kopieren**,​ Rechte und Symlinks beibehalten | +|cp ''​Quelle1''​ ''​Quelle2''​ ... ''​Zielverzeichnis'' ​    | Dateien ''​QuelleN''​ in Verzeichnis ​''​Ziel''​ **kopieren** | 
-|cp -a ''​Quelle/​. Ziel''​ | Verzeichnisinhalt von ''​Quelle''​ ins Verzeichnis ''​Ziel''​ **kopieren**,​ Rechte und Symlinks beibehalten | +|cp -a ''​Quelle''​ ''​Ziel'' ​  | Verzeichnis ''​Quelle'' ​inkl. Inhalt ins Verzeichnis ''​Ziel''​ **kopieren**,​ Rechte und Symlinks beibehalten | 
-|mv ''​Quelle Ziel''​ | ''​Quelle''​ in ''​Ziel''​ umbenennen oder nach Verzeichnis ''​Ziel''​ verschieben | +|cp -a ''​Quelle/​.''​ ''​Ziel''​ | Verzeichnisinhalt von ''​Quelle''​ ins Verzeichnis ''​Ziel''​ **kopieren**,​ Rechte und Symlinks beibehalten | 
-|rmdir ''​Verzeichnis''​|''​Verzeichnis''​ löschen| +|mv ''​Quelle''​ ''​Ziel''​ | ''​Quelle''​ in ''​Ziel''​ umbenennen oder nach Verzeichnis ''​Ziel''​ verschieben | 
-|rm -r ''​Verzeichnis''​|''​Verzeichnis'' ​incl. Inhalt löschen|+|rmdir ''​Verzeichnis''​|leeres ​''​Verzeichnis''​ löschen| 
 +|rm -r ''​Verzeichnis''​|''​Verzeichnis'' ​inkl. Inhalt löschen| 
  
 ====== Befehle für Dateien ====== ====== Befehle für Dateien ======
Zeile 22: Zeile 53:
 |''>​ Datei'' ​    | ''​Datei''​ anlegen, bestehende Datei leeren ​ | |''>​ Datei'' ​    | ''​Datei''​ anlegen, bestehende Datei leeren ​ |
 |ls -l ''​Datei''​ | ''​Datei''​ inkl. Rechte, Größe und Zeit **anzeigen** | |ls -l ''​Datei''​ | ''​Datei''​ inkl. Rechte, Größe und Zeit **anzeigen** |
-|cp ''​Quelle Ziel'' ​     | ''​Quelle''​ in Verzeichnis ''​Ziel''​ oder in Datei ''​Ziel ''​ **kopieren** | +|cp ''​Quelle''​ ''​Ziel'' ​     | ''​Quelle''​ in Verzeichnis ''​Ziel''​ oder in Datei ''​Ziel''​ **kopieren** | 
-|mv ''​Quelle Ziel''​ | ''​Quelle''​ in ''​Ziel ''​ **umbenennen** oder nach Verzeichnis ''​Ziel ''​ **verschieben** | +|mv ''​Quelle''​ ''​Ziel''​ | ''​Quelle''​ in ''​Ziel''​ **umbenennen** oder nach Verzeichnis ''​Ziel''​ **verschieben** | 
-|rm ''​Datei''​ | ''​Datei ''​ **löschen** | +|rm ''​Datei''​ | ''​Datei''​ **löschen** | 
-|cat ''​Datei''​ | Inhalt von ''​Datei ''​ **ausgeben** | +|cat ''​Datei''​ | Inhalt von ''​Datei''​ **ausgeben**, geht auch mit mehreren Dateien
-|less ''​Datei''​ | Inhalt von ''​Datei ''​ **betrachten**,​ beenden mit q | +|[[less]] ''​Datei''​ | Inhalt von ''​Datei''​ **betrachten**, kann blättern suchen usw. Hilfe mit h, beenden mit q | 
-|vi ''​Datei''​ | Inhalt von ''​Datei ''​ **bearbeiten** |+|vi ''​Datei''​ | Inhalt von ''​Datei''​ **bearbeiten** ​(dazu gibt es ein [[vim|eigenes Kapitel]]) ​|
 |pwd    | Aktuelles Arbeitsverzeichnis| |pwd    | Aktuelles Arbeitsverzeichnis|
  
  
-====== Vergleichen von Dateiinhalten / Verzeichnisinhalten ====== 
-Vergleichen von Dateien / Verzeichnissen zeilenweise\\ 
-<​code>​diff Datei1 Datei2</​code>​ 
-Vergleichen von sortierten Dateien zeilenweise\\ 
-<​code>​comm Datei1 Datei2</​code>​ 
-Vergleichen von 3 Dateien / Verzeichnissen\\ 
-<​code>​diff3 Datei1 Datei2 Datei3</​code>​ 
-Bytesweises Vergleichen von Dateien\\ 
-<​code>​cmp Datei1 Datei2</​code>​ 
-Vergleich anstellen und das Ergebnis in neue Datei stellen\\ 
-<​code>​sdiff [ -l ] [ -s ] [ -o output ] [ -w n ] Datei1 Datei2</​code>​ 
  
-====== Befehle für aktuellen Benutzer / Benutzerwechsel ====== 
  
-|id     | zeigt momentan angemeldeten Benutzer an| 
-|su     | wechselt in den Super-User ( root) ( eingeschränkt empfehlenswert,​ besser siehe nächste Zeile)| 
-|su - <​user>​ | wechselt in den übergebenen Benutzer <​user>​| 
  
-====== Weitere Befehle ====== 
-|which ​ | wo kommt der Befehl her?| 
-|type   ​| ​  mit Anzeige alias etc.| 
  
  
admin_grundlagen/befehle.1316499868.txt.gz · Zuletzt geändert: 2011/09/20 06:24 von stefan_hofmann