BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Kalender für die Kommandozeile

Passend zu Ostern dieser Befehl der Woche:

cal, ncal -- displays a calendar and the date of easter

cal(1) und ncal(1) befinden sich bereits im FreeBSD Basissystem. Auf OpenBSD ist nur cal(1) verfügbar. Wird cal ohne Optionen aufgerufen, so wird der aktuelle Kalendermonat angezeigt. ncal verwendet eine alternative Darstellung.

# cal
April 2006
So Mo Di Mi Do Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

# ncal
April 2006
Mo 3 10 17 24
Di 4 11 18 25
Mi 5 12 19 26
Do 6 13 20 27
Fr 7 14 21 28
Sa 1 8 15 22 29
So 2 9 16 23 30

Für ncal lassen sich zusätzlich mit der -w Option die Wochennummer anzeigen.

Mit der -m Option lässt sich ein bestimmter Monat anschauen. Möchte man sich zum Beispiel den Oktober anschauen, so verwendet man cal wie folgt:

# cal -m 10

Mit der -y Option lässt sich ein bestimmtes Jahr anschauen. Die -e Option von ncal(1) zeigt das Datum von Ostern des aktuellen Jahres an:

# ncal -e
16 April 2006

Kombiniert man die -y und die -e Option, so zeigt ncal das Datum von Ostern des gewählten Jahres an.

Alle weiteren Optionen von cal und ncal findet man in der Manpage cal(1).

Comments (1)  Permalink

Schöne Ostern wünscht Euch chruetertee.ch

Frohe Ostertage wünsch ich Euch.

Frohe Ostern

Herzlichen Dank an Nina für das geniale Oster-Bild!

 Permalink

WebDAV Client für die Kommandozeile

Möchte man auf Daten zugreifen, die per WebDAV freigegeben sind, so kann man dies auch auf der Kommandozeile mit cadaver machen. Auf FreeBSD befindet sich cadaver unter www/cadaver, auf OpenBSD befindet es sich unter net/cadaver. Auf FreeBSD installiert man cadaver wie folgt:

# cd /usr/ports/www/cadaver && make install clean

Danach kann man sich mit der WebDAV-Ressource verbinden und gegebenenfalls Authentifizieren:

# cadaver http[s]://<hostname>[:<port>]/<pfad>
Authentication required for Ressource on server `WebDAV Server':
Username: <Benutzername>
Password: <Passwort>

Danach steht ein Prompt zur Verfügung:

dav:/<pfad>/>

Hier stehen einem verschiedene Kommandos zur Auswahl, die man auch von verschiedenen Kommandozeilen ftp/sftp Clients her kennt:

dav:/<pfad>/> help
Available commands:
ls cd pwd put get mget mput
edit less mkcol cat delete rmcol copy
move lock unlock discover steal showlocks version
checkin checkout uncheckout history label propnames chexec
propget propdel propset search set open close
echo quit unset lcd lls lpwd logout
help describe about
Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye

Hier die wichtigsten Kommandos:

pwd Zeigt den Pfad auf dem WebDAV Server an

lpwd Zeigt den lokalen Pfad an

Mit cd und lcd werden die Verzeichnisse auf dem Server und auf dem lokalen Rechner gewechselt.

ls Listet den Inhalt des aktuellen Verzeichnisses auf dem WebDAV Server auf

lls Listet den Inhalt des aktuellen Verzeichnisses auf dem lokalen Rechner auf

get <Datei> Läd die Datei vom aktuellen Verzeichnis auf dem Server ins lokale Verzeichnis auf dem Rechner

put <Datei> Läd die Datei vom lokalen Verzeichnis auf dem Rechner ins aktuelle Verzeichnis auf dem WebDAV Server

Mit mget und mput können mehrere Dateien auf einmal hinauf- oder heruntergeladen werden.

Mit close wird die aktuelle Verbindung getrennt und mit quit wird cadaver beendet.

Alle Kommandos können in der Manpage cadaver(1) nachgelesen werden.

 Permalink

DEL-Taste in der tcsh benutzen

Möcht man in der tcsh die DEL-Taste benutzen können, um Zeichen zu löschen, so kann man folgenden Abschnitt der /etc/csh.cshrc anfügen.

# DEL:
bindkey ^[[3~ delete-char

Gefunden bei bsdforen.de

Related Entries:
Wort in der tcsh löschen
Programm mit which finden
Liste der besuchten Verzeichnisse merken
foreach-Schleife in der tcsh
tcsh bei Inaktivität beenden
Comments (1)  Permalink

Quellcode mit csup anstatt CVSup aktualisieren

Seit kurzem gibt es eine unter der BSD-Lizenz stehende Alternative zu CVSup mit der man zum Beispiel den Portbaum oder den System-Quellcode aktualisiernen kann: csup

Da csup in C geschrieben ist und deshalb keine zusätzlichen Abhängigkeiten in den Ports hat, gleich CVSup und das zum Bauen von CVSup benötigte ezm3 deinstallieren und csup installieren:

# pkg_deinstall -d -v cvsup-without-gui-16.1h_2
# pkg_deinstall -d -v ezm3-1.2
# cd /usr/ports/net/csup/ && make install clean

Die Sup-Dateien von CVSup können auch mit csup verwendet werden. Das Aktualisieren ist ähnlich wie bei CVSup:

# csup -L 2 <Pfad zur Sup-Datei>

Mehr Informationen und alle Optionen von csup findet man in der Manpage csup(1).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Abkürzungen im vi benutzen

Im vi(1) lassen sich Abkürzungen (abbreviations) definieren. So kann man für oft gebrauchte Wörter, Satzteile oder Sätze Abkürzungen definieren, welche dann automatisch vom vi umgewandelt werden. Abkürzungen werden mittels des ex-Befehls ab festgelegt. Dazu muss man sich zuerst im Kommandomodus befinden (dies erreicht man, indem man die Esc-Taste drückt) und danach mit dem Doppelpunkt in den ex Modus wechseln und die Abkürzung eingeben:

ab <Abkürzung> <Satz oder Wort, das die Abkürzung ersetzt>

Um eine Abkürzung zu nutzen, wird im Textmodus die Abkürzung geschrieben, wenn man dann nach der Abkürzung die Leer-oder Entertaste drückt, wird die Abkürzung durch das vorher definierte Wort oder den Satz ersetzt.

Im folgenden Beispiel wird eine Abkürzung definiert die mfg durch Mit freundlichen Grüssen ersetzt:

ab mfg Mit freundlichen Grüssen

Danach muss im vi nur noch mfg geschrieben werden, wenn man danach noch die Leertaste oder Enter drückt, wird dies ersetzt.

Oft gebrauchte Abkürzungen lassen sich auch in der .exrc oder in der /etc/vi.exrc dauerhaft speichern.

Related Entries:
Treppeneffekt beim Einfügen von Text im vi verhindern
Rechtschreibprüfung im vi
vi Fenster teilen
vi Makros benutzen
vi Kurzreferenz
 Permalink

Hostnamen einer Jail ändern

Muss der Hostname einer Jail geändert werden, so schlägt dies normalerweise mit folgender Fehlermeldung fehl:

jail# hostname <hostname>.<domain>.<tld>
hostname: sethostname: Operation not permitted

Dies liegt daran, dass im Hostsystem die security.jail.set_hostname_allowed Systemvariable standardmässig auf 0 ist:

host# sysctl -a | grep set_hostname
security.jail.set_hostname_allowed: 0

Möchte man nun den Hostnamen einer Jail ändern, muss zuerst im Hostsystem die Systemvariable geändert werden:

host# sysctl security.jail.set_hostname_allowed=1
security.jail.set_hostname_allowed: 0 -> 1

Danach den Hostnamen in der Jail mit hostname(1) ändern:

jail# hostname <hostname>.<domain>.<tld>

Danach die Systemvariable im Hostsystem wieder zurücksetzen:

host# sysctl security.jail.set_hostname_allowed=0
security.jail.set_hostname_allowed: 1 -> 0
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (2)  Permalink

Zeit synchronisieren mit ntpd

Um die lokale Zeit mit einem NTP-Server abzugleichen, kann ntpd(8) verwendent werden. Der ntpd kann auf FreeBSD einfach über die /etc/rc.conf gestartet werden.

ntpd_enable="YES"
ntpd_sync_on_start="YES"

ntpd_sync_on_start bewirkt, dass die Zeit schon während des Aufstartens des Rechners das erste Mal abgeglichen wird. Die Konfiguration des ntpd wird in der /etc/ntp.conf festgelegt. Darin muss mindestens der NTP-Server bekanntgegeben werden. Dies kann zum Beispiel so aussehen:

server ntp.ethz.ch

Eine Übersicht über alle weiteren Konfigurationsmöglichkeiten in der /etc/ntp.conf findet man in der dazugehörigen Manpage ntp.conf(5). Alle Optionen des ntpd findet man in ntpd(8). Die Optionen können dem ntpd während des Startens mit folgendem Eintrag in der /etc/rc.conf übergeben werden:

ntpd_flags="<Optionen>"

Auf OpenBSD kann der ntpd durch folgenden Eintrag in der /etc/rc.conf.local gestartet werden:

ntpd_flags=""

Die Konfigurationsdatei für den ntpd befindet sich unter /etc/ntpd.conf. Standardmässig werden zufällig zwei Server aus einem Serverpool ausgesucht. Alle Konfigurationsmöglichkeiten findet man in der ntpd.conf(5). Die Optionen des ntpd können in der ntpd(8) nachgelesen werden und ggf. mit dem ntpd_flags Eintrag in der rc.conf.local übergeben werden.

Related Entries:
Dateien unter Free- und OpenBSD mit Flags schützen
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
 Permalink

vi Makros benutzen

Im vi(1) lassen sich oft gebrauchte vi-Kommandofolgen zu einem Makro zusammenfassen. Makros werden mittels des ex-Befehles map oder map! definiert. Werden Makros mit map erstellt, so kann das Makro aus dem Kommandomodus aufgerufen werden, map! Makros werden aus dem Textmodus aufgerufen. Um die ex-Befehle map/map! ausführen zu können, muss man sich zuerst im Kommandomodus befinden, dies erreicht man indem man im vi die Esc-Taste drückt. Danach kann mittels des Doppelpunktes in den ex-Modus umgeschaltet werden und das Makro definiert werden:

map[!] <Taste> <Kommandofolge>

Um ein Makro zu definieren, welches im Kommandomodus durch die q-Taste aufgerufen wird und an der aktuellen Cursorposition \subsection{ einfügt, danach ans Ende der Zeile springt und dort ein } einfügt, kann folgender Befehl gebraucht werden:

map q i\subsection{^[$a}

Die Kommandofolge wird dabei so eingegeben, wie wenn man das Kommando direkt im vi benutzt:

i Wechselt in den Textmodus
\subsection{ Fügt an der aktuellen Cursorposition \subsection{ ein
^[ Esc-Taste, um in den Kommandomodus zu wechseln. Muss als Ctrl + v Esc eingegeben werden
$ Springt ans Zeilenende
a Wechselt in den Textmodus, das nächste Zeichen wird nach der aktuellen Cursorposition eingefügt
} Fügt eine schliessende, geschweifte Klammer ein

Wie in diesem Beispiel gesehen wurde, müssen Steuerzeichen wie Esc, Return, Backspace mit Ctrl + v in den Makros maskiert werden.

Makros können auch auf die Funktionstasten F1 - F12 gelegt werden. Diese Tasten werden durch eine Raute # und die jeweilige Nummer symbolisiert. Folgendes Makro wird aus dem Kommandomodus mit F1 aufgerufen, fügt eine neue Zeile ein, fügt auf dieser \begin{lstlisting} ein und setzt den Cursor im Textmodus auf eine neue Zeile:

map #1 o\begin{lstlisting}^M
o Fügt eine neue Zeile nach der aktuellen Cursorposition ein und wechselt danach in den Textmodus
\begin{lstlisting} Dieser Text wird auf der neuen Zeile eingefügt
^M Return-Taste. Ein Zeilenumbruch wird vorgenommen. Wird als Ctrl + v Return eingegeben

Dieses Makro kann nur aus dem Kommandomodus aufgerufen werden. Es kann jedoch für die gleiche Taste noch ein anderes Makro definiert werden, das aber aus dem Textmodus aufgerufen wird. So kann zum Beispiel jetzt noch ein Makro auf die F1 Taste gelegt werden, dass im Textmodus aufgerufen wird, welches in den Kommandomodus wechselt und dort F1 aufruft:

map! #1 ^[^[OP
^[ Esc-Taste um in den Kommandomodus zu wechseln. Wird als Ctrl + v Esc eingegeben
^[OP F1-Taste um das Kommandomodus-Makro auf F1 auszuführen. Wird als Ctrl + v F1 eingegeben

So lassen sich natürlich interessante Sachen wie folgende zwei Makros machen:

map #1 i^[OP
map! #1 ^[^[OP

Das erste Makro wechselt durch das Drücken der F1-Taste in den Textmodus und wählt die F1-Taste, welche wiederum durch das zweite Makro in den Kommandomodus wechselt und dort die F1-Taste auswählt... Drückt man nun die F1 Taste, lässt sich dieses Spielchen dann nur noch durch ein kill -9 <vi-PID> beenden.

Eine Kurzreferenz von vi Kommandos findet man hier: http://www.chruetertee.ch/blog/archive/2005/11/26/vi-kurzreferenz.html

Anstatt Makros jedes mal wieder neu einzugeben, lassen sich diese auch in der .exrc dauerhaft speichern. Einfach die Makrozeile in die .exrc des Benutzers einfügen oder in der /etc/vi.exrc definieren, dann stehen die Makros allen Benutzern zur Verfügung.

Related Entries:
Treppeneffekt beim Einfügen von Text im vi verhindern
Rechtschreibprüfung im vi
vi Fenster teilen
Abkürzungen im vi benutzen
vi Kurzreferenz
 Permalink

Konsolenauflösung auf FreeBSD ändern

Unter FreeBSD lässt sich die Auflösung der Konsole mit vidcontrol(1) anpassen. Seit FreeBSD 6.0 lassen sich nun auch Auflösungen höher als 800x600 einstellen. Dazu müssen folgende Optionen im Kernel vorhanden sein:

options VESA
options VGA_WIDTH90
options SC_PIXEL_MODE

Danach lassen sich die unterstützten Modi anzeigen:

# vidcontrol -i mode

Möchte man nun eine Auflösung von 1280 x 1024 auf der Konsole haben, muss der passende Modus gefunden werden:

# vidcontrol -i mode | grep 1280x1024
263 (0x107) 0x0000000f G 1280x1024x8 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
281 (0x119) 0x0000000f G 1280x1024x15 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
282 (0x11a) 0x0000000f G 1280x1024x16 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
283 (0x11b) 0x0000000f G 1280x1024x24 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
292 (0x124) 0x0000000f G 1280x1024x32 1 8x16 0xa0000 64k 64k 0xe0000000 65472k

Danach kann der gewünschte Modus eingestellt werden:

# vidcontrol MODE_<Modusnummer>

Um zum Beispiel auf einem IBM T40p oder T42 eine Auflösung von 1280 x 1024 x 24 einzustellen, wäre dies:

# vidcontrol MODE_283

Die Auflösung kann auch beim Starten automatisch eingestellt werden, indem man folgende Zeile in der /etc/rc.conf einträgt:

allscreens_flags="MODE_283"

Danke an Alain, der das Ganze unter FreeBSD 6.0 auf einem T40p ausprobiert hat.

Gefunden im BSDForen.de - Wiki, ursprünglich geschrieben von Sandro und veröffentlicht unter folgenden Lizenzbestimmungen.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (2)  Permalink
Prev Next61-70/91