TipiWiki2

[ LinuxWerkstatt.2006-11-24-11-24 ]

edit | Recent Changes | Find Page | All Pages | Front Page |

vi, vim, gvim

Vi, Kurzform für "Visual Interface" ist so gut wie immer und überall verfügbar.
(Info: Google bietet für vi 625 Mio Suchergebnisse, emacs kann dagegen nur 36 Mio Ergebnisse aufweisen)
Ein gutes Tutorial findet man hier: http://www.linuxfibel.de/vi.htm, der deutsche Wikipedia Artikel hier: http://de.wikipedia.org/wiki/Vim
Erweiterungen und Kurzanleitung: http://lug.mfh-iserlohn.de/vim
Vi-Lovers-Seite: http://thomer.com/vi/vi.html
Download (auch Win32) http://www.vim.org/ (hier das Buch zu Vim)
suchen - "/"
Zeile löschen - "dd"
einfügen - p (Shift+Einfügen) (s. http://www.vim.org/tips/tip.php?tip_id=386)
Kopieren - Anfang "v" (visual mode), Ende "y"(yank) - dabei auf die Statuszeile achten, da die Cursorbehandlung von derjenigen unter Windows abweicht.
:syntax on - klar, oder?
eine "aufgebohrte" Version: cream.sourceforge.net
% auf einer Klammer: auf die entsprechende schliessende oder öffnenden Klammer springen
* auf einem Wort: nach weiterem Vorkommen des Worts suchen (super Funktion!)

Ähnlich wie Emacs, automatisches Einrücken (s.auch http://vimdoc.sourceforge.net/htmldoc/indent.html):

set expandtab
set tabstop=2
set shiftwidth=2
set cinkeys=0{,0},:,0#,!,!^F

XEmacs oder Emacs

Vorteil: übersichtliches Öffnen mehrerer Dateien, die getrennt in *.cpp und *.h gruppiert werden.
Strg+X+F öffnen
Strg+X+S speichern


Konsole

Uebersicht commands: http://www.ss64.com/bash/

bc - programmierbarer Taschenrechner
dmesg - kernel ring buffer examinieren
find <Verzeichnis> <Suchausdrücke, z.B. -name> <Aktion>

find -name calibration*
grep [-i] -R <Suchmuster> <Dateien>, -i Groß-/Kleinschr. ignorieren. falls man -R bzw. -r nutzt, sollte man als <Dateien> * wählen, damit Unterverzeichnisse durchsucht werden
grep -iR port_num src/*.c
ldd - anzeigen von Abhängigkeiten
lp - Druckjob aufgeben, z.B.
lp -d <druckername> <Datei>
lpq - laufende Druckaufträge bzw. Status der verfügbaren Drucker anschauen, kann jedoch sein, dass nicht alle verfügbaren Drucker angezeigt werden. In dem Fall:
lprm - Druckjob loeschen, z.B. (evtl. per sudo freigegeben)
sudo lprm <druckjob-nr>
mutt - EMail lesen / verschicken
tail - z.B. tail /var/log/messages
tar -cvf <archivname>.tar.gz <datei(en)/verzeichnis> : Dateien "zusammenkleben" und mit gzip komprimieren (durch Angabe der Dateiendung!)
oder auch tar -x[v]zf (Reihenfolge!) "v" (verbose) zeigt den Fortschritt des Enpackens an.
which programmnanme, zeigt den Ort eines Programms auf der Festplatte an.
top - Prozessliste zeigen, dann 'u' für user, 'r' für renice
nice - Prozess mit "nice"-Wert starten (ändern: 'renice' bzw. v i s u e l l im laufenden 'top' mit der Taste 'r')

für kleine Aufgaben (Dateikonvertierung) kann man ein bash-Skript schreiben.
konvertieren von ppm in tiff Dateien:

for i in `ls ./*.ppm`; do convert $i $i.tiff; done;
<STRG+Z> Konsolenprompt holen, laufender Prozess (p1) wird gestoppt. bg Prozess in den Background schieben (p1 kann weiterrechnen) fg Prozess (p1) wieder in den Vordergrund holen, Konsole gesperrt.

display ein Bild anzeigen
animate eine Reihe von Bildern (animiert) anzeigen


Konfigurationsdateien

~/.bashrc - aehnlich der aus DOS Zeiten bekannten autoexec.bat allgemein
~/.alias - speichert z.B. auch Erweiterungen fuer Kommandos, wie

alias cp='cp -i'


KDE

Bildschirmphoto mit ksnapshot (ggf. über die Konsole öffnen)


USB Stick mounten

macht zwar der Hotplugger von Suse, aber anscheinend (9.3) nur leidlich gut. Bei mir erschien beim Anlegen von Dateien die Fehlermeldung "...read-only...".
Also lieber in der /etc/fstab nachschauen (oder noch besser: dmesg), ob ein mount-Punkt eingerichtet ist und dann per mount /media/<usb_stick> den Stick einhängen.

Mouse und Touchpad

xorg.conf editieren, Anleitung bei http://www.hentges.net/misc/howtos/samsung_p30.shtml, danach {XServer?} neu starten

cvs

(1) Verzeichnis aufräumen
(2) cvs import -m "driver for ueye-camera" libueye original initial-release
(3) mv libueye{,.old} (Kopie anlegen)
(4) cvs co libueye (auschecken, um cvs-Dateien zu erhalten)
(s.a. http://kj.uue.org/papers/cvs-handout/, http://www.linuxkp.org/de/content.php?&content/server/cvs2.html&print)
Inzwischen gibt es den designierten Nachfolger subversion.

cvs update -j 1.2 -j 1.1 kameraform.pas
s.a. http://www.lspace.org/develop/cvsystem/rollback.html (noch nicht ausprobiert)

Hardware testen

hwinfo
hwinfo --network

Kernel

Version abfragen mit uname -sr oder -a

Module

modprobe
lsmod
insmod

Plattenplatz

Mal wieder eine mail vom Sysadmin, dass der Plattenplatz überschritten ist:
du -h zeigt den Platz in MB an.

Dateioperationen

ssh user@rechner - auf dem Rehner einloggen
scp datei user@rechner:/verz/eichnis - Datei auf den Rechner in das Verzeichnis .. kopieren
wie kann man den Rechnernamen ermitteln?

Netzwerk

ifconfig - Netzwerkkarten anzeigen
rcnetwork restart - nach anschliessen des Netzwerkkabels

gcc

Umgebungsvariablen (f. gcc bzw. g++)

LDFLAGS=-L/home/willi/.../lib
CPPFLAGS=-I/home/willi/.../include
PREFIX=/home/

LD_LIBRARY_PATH=...

gcc conftest_32.c -lbfd

Linux Dreisatz

./configure (evtl. --prefix=/home/user/local)
make
make install
ggf. wieder deinstallieren mit
make clean (Source-Verzeichnis)
make distclean

valgrind

http://valgrind.org/docs/manual/QuickStart.html

gdb

Symbolischer Debugger, Tutorial: http://www.dirac.org/linux/gdb/
kommerzieller Debugger, z.B. Totalview

SCons

Alternative zu make, Python-Syntax, allerdings Reihenfolge d. Befehle irrelevant

Scons legt für jeden Test ein kleines C(++)-Programm an, das Header, Library und/oder Funktion testet.
Bei einem Fehler kann man sich die Ausgabe von SCons im Detail anschauen:

vi config.log

VNC


Kurz und Gut

Zwischen Command-Konsolen wechseln mit Shift + Pfeiltasten
Zwischen Sessions mit Strg+Alt + F7,F8,... wechseln
Hilfe mit 'man'

Suse 9.3 per FTP installieren

(wichtig: vorher im Yast prüfen, ob der proxy richtig eingestellt ist)
server: ftp.gwdg.de
verzeichnis: pub/linux/suse/ftp.suse.com/suse/i386/9.3/
[ http://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/9.3/ ]


Peter's Linux notes
http://www.dirac.org/linux/
Shlomi Fish's Linux Dev. Notes
http://vipe.technion.ac.il/~shlomif/lecture/W2L/Technion/


Linux + Qt

http://www.cs.ust.hk/~wangj/comp151/lab02/index.html
http://hackndev.com/node/137