In diesem mehrteiligem Howto möchte ich diese grundlegenden Befehle einmal beschreiben und fange der Einfachheit halber alphabetisch mit dem Befehl cat an.
cat
cat ist ein Programm zur Ausgabe von Inhalten von Dateien.
Wichtig zur Benutzung:
Dateien können wie folgt ausgegeben werden:
cat <Dateiname>
Beispiel:
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
...
Um Dateien besser analysieren zu können gibt es noch weitere Möglichkeiten sich zusätzliche Inhalte der Datei anzeigen zu lassen. Um nicht auf alle Parameter einzugehen gibt es einen umfassenden Parameter, welcher einen Großteil zusammenfasst. Dieser lautet, wie häufig unter Linux "-A".
Der Vorteil hierbei ist, dass wir sehen können ob eine Datei einen korrekten Inhalt hat. Sinnvoll ist dies, wenn z.B. Dateien von einem Windows System kopiert wurden und diese eine inkompatible Formatierung haben, welche aber über vi oder dem normalen cat Befehl nicht sichtbar ist. Häufig liegt die Fehlerursache an einem anderen nicht sichtbaren Zeilenende.
Über diesen Parameter kann man überprüfen ob die Datei im richtigen Format gespeichert ist.
# cat -A /etc/hosts
127.0.0.1^Ilocalhost.localdomain^Ilocalhost$
::1^Idesktop^Ilocalhost6.localdomain6^Ilocalhost6$
127.0.1.1^Idesktop$
$
#
Zum Vergleich gibt cat ohne den Parameter folgendes aus:
# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 desktop localhost6.localdomain6 localhost6
127.0.1.1 desktop
#
Nice to Know
Bei einigen Systemen bin ich auf Probleme gestoßen, welche erst nach intensiver Suche auf ein falsches Datei-Format hinwiesen. Eine normale Ausgabe von cat zeigt die fehlerhaften Steuerzeichen in einer Datei nicht an.Sollte z.B. eine Datei unter Windows erstellt oder editiert worden sein, kann es bei einigen Programmen zu Problemen wegen des falschen Zeilenumbruchs kommen. Dieser verrät sich durch ein Zusätzliches ^M vor dem Zeilenende.
127.0.0.1^Ilocalhost.localdomain^Ilocalhost^M$
$
::1^I^Idesktop^Ilocalhost6.localdomain6^Ilocalhost6$
^M$
127.0.1.1^Idesktop^M$
^M$
$
$
Sollte die Datei wie oben gezeigt aussehen gibt es zwei Möglichkeiten. Entweder die Datei wird neu unter Linux erstellt oder, nicht ganz so schlimm, ein Programm zum Ändern des Formats wird genutzt. Hierbei hat mir recode immer gute Dienste erwiesen.
cat chgrp chmod chown cp date dd df dmesg echo false
hostname kill ln login ls mkdir mknod more mount mv ps
pwd rm rmdir sed sh stty su sync true umount uname
Weitere Informationen zum Thema grundlegende Systembefehle:
http://goo.gl/HxZ1N
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenWenn man kein "recode" auf dem System zur Verfügung hat, tut es auch der gute, alte "sed". Mit "sed -e 's/^M$//' alt.txt > neu.txt", wobei das ^M durch Strg V + Strg M erzeugt wird.
Löschen