Wo bin ich?
# pwd
/home/tux
pwd gibt das momentane Verzeichnis wieder.
# tty
/dev/tty3
tty gibt die momentan verwendete Konsole wieder.
# w
USER TTY FROM LOGIN@ IDLE JCPU....
udo tty1 - 01:55 7.00s 0.03s....
root pts/2 :0.0 01:15 12:44m 0.02s....
w zeigt an wer sich an welcher Konsole angemeldet hat.
tty sind Konsolen und pts sind x-term Fenster.
Eine einfachere Variante liefert
# who
Möchte man sehen, wer sich zuletzt angemeldet hat, hilft die
Log-Datei der Anmeldungen, welche mit
# last
aufgerufen wird. Eine Überwachung der Konsolen in Echtzeit
liefert
# whowatch
Standardausgabe (stdout) umleiten
# ls -al > inhalt
Leitet die Anzeige des Verzeichnisses in die Datei inhalt um. Falls
die Datei noch nicht existiert, wird sie angelegt. Sollte bereits
eine Datei namens inhalt existieren, wird sie überschrieben.
Gibt man den vorhergehenden Befehl fehlerhaft ein, wird die Datei
trotzdem angelegt, ist aber leer.
# ls -al >> inhalt
fügt die Ausgabe von ls an das Ende der Datei inhalt hinzu,
ohne diese zu überschreiben.
Standardeingabe (stdin) umleiten
# wc -l < /etc/passwd
24
Der Inhalt der Datei passwd wird an wc (word count) geleitet, welches
die Anzahl der Worte zählt und auf dem Bildschirm ausgibt.
# cat <<EOF > Datei.txt
> Erste Zeile
> Zweite Zeile
> EOF
# ls
Datei.txt
# more Datei.txt
Erste Zeile
Zweite Zeile
legt eine Datei namens Datei.txt an und schreibt alles, was man
in der Kommando-Zeile mit dem vorangestellten > schreibt,
zeilenweise in die Datei, bis EOF die Eingabe wieder beendet.
Standardfehlerkanal (stderr) umleiten
# find / -name datei 2> /dev/null
leitet sämtliche Fehler von find (z.B. Datei not found) in
die Geräte-Datei /dev/null. /dev/null ist eine Gerätedatei,
die alle in sie geschriebenen Daten verwirft. Die Angabe des Kanals
ist bei stdin (0<) und stdout (1>)
optional, bei stderr (2>) jedoch zwingend.
# find / -name datei > ergebnis 2> /dev/null
schreibt das Ergebnis von find in die Datei ergebnis und die Fehler
in die Gerätedatei /dev/null.
# find / -name datei > ergebnis 2>&1
schreibt das Ergebnis von find inklusive der Fehler in die Datei
ergebnis.
2>&1 bedeutet soviel wie "stderr(2) dahin leiten
wo stdout(1) ist".
Nachrichten an andere Konsolen-Benutzer schicken
# write Benutzer
schreibt eine Nachricht an einen Benutzer der an einer anderen Konsole
angemeldet ist.
Beispiel (angemeldet als root):
# write udo
Hallo, wie gehts?
Das Ende der Nachricht wird mit STRG-D eingeleitet.
Auf dem Terminal von udo erscheint:
Message from root@Fedora-LINUX on tty1 at 01:49...
Hallo, wie gehts?
EOF
Jede Zeile wird nach der Eingabe und drücken von Enter sofort
übertragen.
Zu Beachten ist allerdings, ob der Nachrichtenempfänger seine Konsole für Benachrichtigungen aktiviert hat. Aktivieren kann man mittels
# mesg y
siehe hierzu auch man mesg.
Nachrichten per ssh und kdialog verschicken
Um jemandem eine kurze Mitteilung zukommen zu lassen, die er auch nicht überlesen kann, da sie in einem kleinem Fenster mit Sound aufpoppt, hilft eine Kombination aus ssh und kdialog:
# ssh udo@internet-deb 'kdialog --display :0 --msgbox "Nachricht"'
Zu beachten ist dabei, daß man sich als der User am Rechner anmeldet, unter dem der X-Server läuft.
Natürlich kann man die Nachricht auch umbrechen, falls sie zu lang wird. Dazu fügt man an der entsprechenden Stelle einfach ein Newline-Zeichen \n ein.
Eine etwas unkonventionellere Methode ist folgende: Man erstellt ein HTML-Dokument mit der Nachricht, kopiert dieses mittels scp auf den Rechner (siehe dazu ssh/scp) und loggt sich via ssh als User auf den Rechner ein. Mit folgendem Befehl kann man das HTML-Dokument im Browser öffnen:
# kstart --display :0 iceweasel Nachricht.php
Mails auf der Konsole im lokalen Netzwerk verschicken
# mail -s 'Betreff'
benutzer@hostname
verschickt mails von der Konsole an Benutzer im lokalen Netzwerk.
Beispiel:
# mail -s 'Das Neueste' udo@Fedora-LINUX
Hey, weißt Du schon das Neueste?
.
Cc:
#
verschickt eine Mail mit dem Betreff "Das Neueste" an
den Benutzer udo auf dem Computer Fedora-LINUX. Die Mail landet
normalerweise unter
/var/spool/mail/benutzername.
Zum beenden der Texteingabe muß man am Anfang der Zeile einen
Punkt eingeben. Es folgt noch eine Frage nach einer Kopie, dann
kommt wieder der Eingabe-Prompt. Ansehen kann man sich die Mails
auf der Konsole mit mutt:
# mutt = startet den Mailagent mutt, sofern installiert.
Alle nötigen Tasten zur Bedienung werden im oberen Feld angezeigt.
Eine Hilfe gibt es mit ?, ein Handbuch mit F2. Um
Mails zu verfassen verwendet mutt standardmäßig den Editor
vi, daher sollte der Umgang mit vi vertraut sein. mutt zeigt
die Mails von /var/spool/mail/Benutzer an und
verwaltet sie, genauer gesagt, bestehen sämtliche Mails aus
einer einzigen Textdatei, die den Namen des Benutzers trägt.
mutt kann diese Textdatei in die einzelnen Mails aufsplitten und
sie korrekt anzeigen.
Schnellkursus vi
vi ist ein sehr schwer zu bedienender Editor unter Linux, aber leider eben der Standard-Editor. Es gibt verschiedene Bearbeitungsmodi:
Kommando-Modus = Alle Tastatureingaben stellen
Kommandos dar.
Eingabe-Modus = Alle Tastatureingaben werden als Text
behandelt.
Hier nur die wichtigsten Befehle zum ändern einer Konfigurations-Datei.
Aufruf mit:
# vi File
Man befindet sich im Kommando-Modus. Am unteren Bildschirmrand werden
Daten zum File angezeigt. Umschalten mit der Taste "i"
(insert) in den Eingabe-Modus. Am unteren Rand wird -- INSERT
-- angezeigt. Jetzt kann man den Text verändern.
Mit ESC verläßt man den Eingabe-Modus und befindet
sich wieder im Kommando-Modus (-- INSERT -- verschwindet).
Mit der Eingabe von ":w" (write) speichert man
die Datei (Anzeige unten:
"File" .... written). Die Doppelpunkte vor Befehlen beachten!
Die Datei unter einem anderem Namen speichern: ":w andererName"
Zum beenden ":q" (quit) eingeben. Will man es kürzer
haben, kann man auch ":wq" auf einmal eingeben.
Nochmal auf die Schnelle, die einzelnen Bearbeitungsschritte::
# vi Datei
Taste i drücken, vi wechselt in den Eingabe-Modus,
Text eingeben.
Taste ESC drücken, Eingabe Modus verlassen.
:w eingeben, Datei wird gespeichert.
:q eingeben, vi wird beendet.
Mehrere Dateien auf einmal umbenennen - rename
Der Befehl mv
funktioniert nur mit einzelnen Dateien.
Ein Aufruf wie
# mv *.txt *.bak
funktioniert nicht!
Dafür gibt es rename:
Syntax = rename perlexpression Dateien
Vorab zwei Beispiele:
# rename "s/$/.txt/" *
Fügt bei allen Dateien im Verzeichnis die Endung .txt hinzu.
# rename "s/.txt$//" *
Entfernt bei allen Dateien die Endung .txt, soweit vorhanden!
Paßt das Muster nicht auf den Suchstring, also findet rename
eine Datei ohne Endung .txt, macht es gar nichts!
Nähere Erläuterungen
zum Aufbau von rename:
rename = der eigentliche Befehl
perlexpressions
Der Aufbau von perlexpressions sieht folgendermaßen aus:
Schalter/Suchstring/NeuerString/Optionen
s = Der Schalter s steht für suchen und ersetzen. rename
sucht nach der Zeichenkette, die nach dem ersten Slash angegeben
wird und ersetzt diese durch die Zeichenkette nach dem zweiten Slash.
^ = ^ im Suchstring besagt, daß die Zeichenkette nur
am Anfang des Suchstrings vorkommt und muß daher vor der Zeichenkette stehen,
z.B. ^datei
$ = $ im Suchstring besagt, daß die Zeichenkette nur
am Ende des Suchstrings vorkommt und muß daher nach der Zeichenkette
stehen, z.B. txt$
. = ein Punkt steht für ein beliebiges Zeichen.
* = der Stern steht für eine beliebig häufige Wiederholung
des vorhergehenden Zeichens oder auch kein Zeichen! Somit steht
.* = für eine beliebige Anzahl von Zeichen oder auch
kein Zeichen.
Die Optionen am Schluß kann man auch weglassen.
Hinweis: perlexpressions verwenden reguläre Ausdrücke,
entgegen der Dateiangabe, die Wildcards benutzt!
Dateiangabe =
kann explizit sein, z.B. datei.txt oder als wildcard, z.B.
*.txt oder auch nur * für alle Dateien.
Weitere Beispiele zu rename:
# ls
haus1.txt haus2.txt
# rename "s/haus/testdatei/" haus*
Sucht nach Dateien mit "haus" im Dateinamen und ersetzt
die Zeichenkette durch "testdatei".
# ls
testdatei1.txt testdatei2.txt
# rename "s/test//" test*
Ersetzt die Zeichenkette "test" durch gar nichts (//).
# ls
datei1.txt datei2.txt
# rename "s/DATEI/druck/i" datei*
Ersetzt das kleingeschriebene "datei" durch "druck",
obwohl im Suchstring groß angegeben (option i am Ende
steht für ignoriere Groß- und Kleinschreibung)
Noch mehr Beispiele:
# rename "s/ *//g" *.mp3
Entfernt sämtliche Leerzeichen in den Dateinamen der mp3-Files.
(die Option g steht für gobal, also sämtliche Leerzeichen
im Dateinamen). Man beachte die Kombi aus Leerzeichen und Stern
( *).
Im Gegensatz zu einem einzelnen Leerzeichen:
# rename "s/ //" *.mp3
Großgeschriebenes in Kleinbuchstaben verwandeln (Schalter
y):
# rename "y/A-Z/a-z/" *
Teilweise kann auch umnummeriert werden:
# rename "y/1-3/4-6/" *
Verwandelt alle Zahlen 1 in 4, alle Zahlen 2 in 5 und 3 in 6.
Durchnummerierte Dateien mit führenden Nullen auffüllen:
Hat man Dateien die ohne führende Nullen nummeriert sind, z.B.
1. Datei 1.mp3
2. Datei 2.mp3
3. Datei 3.mp3
so kann man mittels
# rename 's/^([1-9]\.)/0$1/' *.mp3
die Dateien mit führenden Nullen versehen:
01. Datei 1.mp3
02. Datei 2.mp3
03. Datei 3.mp3
Zum Schluß noch was kompliziertes:
# rename 's/^\w/\U$&/g' *
Das letzte Beispiel sieht ein wenig komplex aus, ist aber leicht
erklärt: es wir nach dem Wort (\w) am Anfang (^)
der Zeile (/s) gesucht, dann aber nur der erste Buchstabe
($&) gross geschrieben (\U).
Manipulation von Zeichen in Dateien mit cat, cut, sed und tr
Mittels der Befehle cat,
cut, sed und tr ist es ein leichtes auch ohne
einen Editor Zeichen in Dokumenten zu bearbeiten. sed öffnet eine Datei zeilenweise und bedient
sich dafür wie rename der perlexpressions.
Zwei Beispiele:
Die ersten drei Zeichen jeweils am Zeilenanfang eines Dokuments
löschen:
# cat Datei.txt | sed "s/^...//" > neue_Datei.txt
Die letzten drei Zeichen löschen:
# cat Datei.txt | sed "s/...$//" > neue_Datei.txt
Erläuterung:
cat
öffnet die Datei und übergibt sie an sed, welches
mit den Perl-Expressions die Zeichen manipuliert.
Dabei steht ^ für den Zeilenanfang und $ für
das Zeilenende. Anschließend wird die Ausgabe in die neue
Datei geleitet (>, siehe Umleitung von Stdout).
sed
Man kann aber mit sed nicht nur zeilenweise nach Zeichenmustern suchen, sondern auch ganze Zeilen bearbeiten:
# sed "6,9p" Datei.txt
Die Option p bedeutet "print", also wird nicht
nur die gesamte Datei ausgegeben, sondern die Zeilen 6 bis
9 zusätzlich, also gedoppelt! Möchte man nur die Zeilen
6 bis 9 ausgeben, hilft die Option -n:
# sed -n "6,9p" Datei.txt
verwirft alles und gibt lediglich die mit p angegebenen Zeilen 6 bis 9 aus.
# sed "6,9d" Datei.txt
Die Option d (delete) löscht die Zeilen 6 bis 9 aus
dem Textstrom. Es geht auch
# sed '11,$d' Datei.txt
löscht ab der Zeile 11 alles bis zum Ende (das $-Zeichen
steht für das Ende). Allerdings muß man hier einfache
Anführungsstriche verwenden, denn bei doppelten Anführungsstrichen
wird das $ Zeichen als Ende-Zeichen nicht erkannt (siehe Unterschied
einfacher-doppelter Anführungszeichen). Man kann auch mehrere
Anweisungen für eine Mehrfacheditierung hintereinander setzen.
Dann braucht man allerdings die Option -e. Sie kennzeichnet
alle Anweisungen:
# sed -e '1,5d' -e '10,$d'
löscht die Zeilen 1 bis 5 und ab Zeile 10 bis zum Ende,
also werden lediglich die Zeilen 6 bis 9 ausgegeben. Sozusagen der
umgekehrte Weg von "sed -n '6,9p' "
Es geht noch mehr:
# sed 'a\ '
Option a (append) fügt nach jeder Zeile das angegebene
Zeichenmuster ein. Wenn -wie hier- ein Leerzeichen angegeben wurde,
natürlich nur eine leere Zeile.
# sed 'a\\n'
fügt durch den Zeilenvorschub \n noch eine Leerzeile
ein, also 2 Leerzeilen nach jeder Zeile.
# sed 'a\Zusatztext'
fügt nach jeder Zeile den angegebenen Zusatztext ein.
# sed '3a\ '
fügt nur nach der dritten Zeile eine Leerzeile ein. Ein Bereich
geht auch:
# sed '3,5a\ '
fügt von Zeile 3-5 jeweils eine Leerzeile ein. Statt a
kann auch i verwendet werden. Einziger Unterschied: i
fügt VOR den Zeilen die neue Zeile ein und a
DANACH.
Und noch mehr mit c
(change, ersetzt Zeichen):
# sed '2c\Ausgetauscht'
tauscht die 2. Zeile gegen die angegebenen Zeichen aus. Auch das
geht:
# sed '/zeichen/c\austausch'
sucht nach den angegebenen Zeichen im Textstrom und tauscht die
gesamte Zeile gegen die neu angegebenen Zeichen aus.
Natürlich ist es auch möglich sämtliche hier vorgestellten
Möglichkeiten von sed zu kombinieren, z.B.
# sed '2,5s/ä/ae/g'
sucht nur von Zeile 2 bis 5 nach sämtlichen ä Zeichen
und ersetzt sie durch ae. Das g am Schluß steht
für global und bedeutet eben alle. Ohne g würde
nur das allererste ä pro Zeile behandelt und Nachfolgende nicht
beachtet.
# sed '/ausdruck/d'
sucht nach ausdruck und löscht die komplette Zeile (delete).
Ein Beispiel um nach beliebigen Zahlenwerten zu suchen und diese zu manipulieren: Unsere Beispielzahlen sehen so aus -> 10 15 32 60 und wir möchten selbige in Anführungsstriche einfassen.
# sed 's/\([0-9]\{1,2\}\)/"\1"/g'
Der Befehl im Detail:
[0-9] = Zahlenwerte von 0-9.
{1,2} = mit 1 oder 2 Stellen.
\1 = sed kennt sogenannte "Platzhalter", die sich auf einen Ausdruck in runden Klammern beziehen, daher fassen wir unseren Zahlenausdruck in runde Klammern ein. Dabei müssen die runden und geschweiften Klammern mittels des Backslash escaped werden. Der Platzhalter \1 steht für unseren Zahlenwert und wird durch die Anführungsstriche eingefaßt. Folgendes Beispiel fügt nach jedem Zahlenwert ein Komma ein:
# sed 's/\([0-9]\)/\1,/'
sed und einfache Anführungsstriche
Wie wir gesehen haben, werden Anweisungsblöcke von sed entweder in einfache oder doppelte Anführungszeichen eingefaßt. Was aber, wenn man genau solche ersetzen oder einfügen will? Eine Maskierung mittels des Backslash funktioniert unter der bash leider nicht, auch nicht, wenn man den Backslash dreimal verwendet um den Backslash selbst zu maskieren, da der einfache Anführungsstrich in der bash eine Sonderbedeutung hat. Dazu ein Beispiel:
Wir haben eine Textdatei in der Namen stehen, die in doppelte Anführungszeichen eingeschlossen sind. Jetzt wollen wir die doppelten Anführungszeichen durch Einfache ersetzen. Der Befehl dafür lautet:
# sed 's/"/'"'"'/g' Textdatei.txt
Falls eine Schrift im Browser gewählt wurde, bei der nicht erkennbar ist, was einfache und doppelte Anführungsstriche bei dem Befehl sind, hier etwas ausführlicher:
# sed 's/<doppelt>/<einfach><doppelt><einfach><doppelt><einfach>/g'
Das Prinzip ist im ersten Moment verwirrend, aber dennoch simpel. Da wir unseren Anweisungsblock in einfache Anführungsstriche eingefaßt haben, kann man die zu ersetzenden Doppelstriche in der Suche ohne Probleme angeben. Für die Ersetzung durch die Einfachstriche sieht das Konstrukt so aus: wir unterbrechen mit einem einfachen Anführungsstrich unseren Anweisungsblock, maskieren unseren Ersetzungs-Einfachstrich in dem wir ihn in doppelte Anführungsstriche einfassen und führen durch einen weiteren Einfachstrich den Anweisungsblock fort. Noch ein weiteres Beispiel zu dem Thema:
# sed 's/img_..\.jpg/&\" onClick=\"return jsbefehl('"'"'&\?var=wert'"'"')/g'
sucht in einem HTML-Dokument nach einem Bilderlink und ergänzt ihn um eine Javascript-Anweisung die eine URL mit PHP-Variablen übergibt. Sieht der Link, z.B. so aus:
<a href="img_01.jpg">
sieht er nach der Bearbeitung durch sed so aus:
<a href="img_01.jpg" onClick="return jsbefehl('img_01.jpg?var=wert')">
Ein einzelner Punkt steht für ein einzelnes, beliebiges Zeichen. Der Backslash vor dem Punkt vor jpg maskiert den Punkt und so wird er auch nur als ein Punkt behandelt, also paßt der Suchbegriff auf Dateien mit zwei Zahlenwerten, z.B. img_01.jpg, img_02.jpg, img_03.jpg, usw. Dabei dient das &-Zeichen als Kopierzeichen für den Suchbegriff und fügt den gefundenen Bildnamen in die Ausgabe wieder ein. Da die Argumente des Javascript-Befehls in einfache Anführungsstriche eingefaßt sind, müssen sie mit unserem Konstrukt einfach-doppelt-einfach-doppelt-einfach eingefügt werden.
Abschließend ein Hinweis zu sed: sed gibt es in unterschiedlichen Programmversionen (z.B. sed15, sed16, ssed, GNU sed) die sich in der Funktionalität stellenweise mehr oder weniger stark unterscheiden, z.B. kann folgende Zeile um das Zeilenendezeichen (\n Newline-Zeichen) zu löschen
# sed 's/\n//g'
in manchen Versionen funktionieren, in anderen Versionen muß man eventuell den Backslash maskieren, also
# sed 's/\\n//g'
In wieder anderen Versionen muß das Newline-Zeichen so aussehen:
# sed 's/^M//g'
was auf der Konsole durch drücken von STRG-V und STRG-M erreicht wird.
In GNU sed kommt das \n-Zeichen erst gar nicht in den Eingabe-Puffer, daher funktionieren die obigen Beispiele nicht. GNU sed liest die Zeile ein, entfernt das Newline-Zeichen und schreibt die Zeile in den Eingabe-Puffer. Nach der Bearbeitung mit s (suchen und ersetzen) wird an die Ausgabe wieder ein Newline-Zeichen angefügt, so bleibt es immer erhalten. Jedoch funktioniert für GNU sed folgende Methode:
# sed ':a;N;$!ba;s/\n//g'
Die Zeichenfolge :a;N;$!ba; bedeutet dabei vereinfacht ausgedrückt folgendes: Setze eine Markierung (:a), schreibe die folgende Eingabezeile in den Arbeitsspeicher inkl. Newline (N), springe zu der Marke und fahre mit dem Programm fort (b), schreibe den Text in die Standardausgabe bevor die nächste Zeile gelesen wird (a). Nur um das Newline-Zeichen zu löschen etwas umständlich, daher meine Empfehlung: tr
# tr -d '\n'
oder
# tr '\n' ' '
Im ersten Fall wird das Newline-Zeichen einfach gelöscht, im zweiten durch ein Leerzeichen ersetzt.
cut
Mit cut kann man im Gegensatz
zu sed nicht zeilenweise arbeiten, sondern Spaltenweise. Es arbeitet
sich sozusagen vertikal durch den Text, also von links nach rechts.
Ein Beispiel:
# cut -c 1-3,5 Datei.txt
schneidet aus dem vorhandenem Text die ersten drei Zeichen (Option
-c = character, also Zeichen) und zusätzlich das fünfte
Zeichen aus. Möchte man Spaltenweise arbeiten hilft die Option
-f für "einzelne Felder". Dabei wird mittels
des Tabulator-Zeichens getrennt. Möchte man ein anderes Zeichen,
muß man es mit -d für "delimiter (Begrenzer)"
angeben, z.B.:
# cut -d" " -f2,4 Datei.txt
gibt als Trennzeichen das Leerzeichen an und gibt lediglich die
Spalten 2 und 4 wieder. Ein Beispiel: Steht in einer Datei folgendes:
---------------------------------------
Name Straße PLZ Ort Land
---------------------------------------
werden lediglich die hier fettgedruckten Spalten wiedergegeben.
Mit diesem Befehl zum Beispiel bekommen sie eine Liste aller Benutzer
mit bürgerlichem Namen:
# cut -d: -f1,5 /etc/passwd
root:root
bin:bin
.....
Damit ist cut sehr gut geeignet um z.B. Dateinamen von mp3s in die
Bestandteile <Artist>-<Titel> zu zerlegen (siehe Multimedia/mp3s kodieren). Ein Beispiel:
# ls
01-Anna Loos-My Truth.wav
# ls | cut -d- -f2
Anna Loos
Zeichen löschen mit tr
tr (translate)
kann aus einem Textstrom Zeichen löschen oder durch andere
Zeichen ersetzen.
# cat Datei.txt | tr -d "äöü"
cat öffnet wieder die Datei und übergibt sie an
tr, welches mit der Option -d (delete) sämtliche
Umlaute aus der Datei entfernt.
bc - Taschenrechner auf der Kommandozeile
Möchte man simple Rechenaufgaben auf der Kommandozeile erledigen, hilft das Programm bc. Mit einem simplen Aufruf
# bc
startet man das Programm. Eine Eingabe wie 4+2 gefolgt von ENTER bringt eine schlichte 6 in der folgenden Zeile zum Vorschein. Mit quit beendet man das Programm. Es ist auch möglich Textdateien als Eingabe zu nutzen. Zum Beispiel bringt folgender Inhalt der Datei "rechnung.txt"
mit dem anschließende Aufruf
# bc rechnung.txt
die Zahl 31 auf der Konsole aus.
Enthält die Datei eine Liste von Zahlen und möchte man diese addieren, kann man mittels sed (siehe vorherigen Punkt) an das Ende jeder Zeile ein Plus-Zeichen und einen Backslash anhängen. Der Backslash maskiert das Return-Zeichen und so werden die Zeilen wie eine einzige behandelt. Also gibt der Inhalt der Datei
ebenfalls 31 aus.
Noch ein Hinweis: bc arbeitet im Standardmode mit Ganzzahlen, also ohne Nachkommastellen. Möchte man die Genauigkeit auf 20 Stellen hinter dem Komma erhöhen, hilft die Option -l, welche eine Mathematik-Library lädt und so die Genauigkeit erhöht.
# bc -l
Möchte man nicht immer gleich das Programm abstarten, sondern nur eine kleine Rechenaufgabe lösen ohne quit einzugeben, kann man auch folgende Pipe verwenden:
# echo "24+7" | bc -l
Formatkonvertierung von Textdateien Linux <> Windows
Da Linux eine andere
Formatierung verwendet als Windows wird das Zeilenende in Textdateien
nicht richtig dargestellt. Dafür gibt es das simple, einfache
Programm tofrodos, welches in der Lage ist, Dokumente von
UNIX nach DOS oder auch umgekehrt zu konvertieren. Nach Installation
des Pakets stehen folgende Befehle zur Verfügung:
# unix2dos Datei
Konvertiert die Datei von Linux nach DOS. Es geht auch
# todos Datei
# dos2unix Datei
Konvertiert von DOS nach Linux. Ebenfalls geht
# fromdos Datei
Deutsche Tastatur auf einer der Konsolen F1-F6
Auf Debian live Systemen ist standardmäßig die US-Tastatur Belegung aktiv. Um auf eine deutsche Tastatur zu switchen benötigt man das Paket console-data:
# apt-get install console-data
Anschließend kann man ganz einfach durch Eingabe des Befehls
# loadkeys de
die Tastatur auf Deutsch ändern.
|