Linux Tips & Tricks
Inhalt: (Verbergen)
Start X auf einem Remote-Server
Shell öffnen...
X :3
-> X-Server auf CTRL-ALT-F8export DISPLAY=:3
xterm
-> auf Session (F8) wechseln- (auf neuer X-Session)
ssh -X user@<serveradresse>
- kde starten
...siehe auch XTerminals mit dem Displaymanager bedienen!
Erzwingen von core dumps bei Programmabbrüchen
Core dumps bzw. files werden vom Kernel erzeugt und im jeweiligen Programmverzeichnis hinterlegt.
Die Grösse und ob überhaupt core dumps geschrieben werden sollen, wird in der Datei /etc/profiles
festgelegt mit dem Shell-Kommando ulimit [<parameter>]...
.
z.B. bedeutet
ulimit -c 20000
dass core dumps bis zu einer Größe von 20 MByte geschrieben werden.
ulimit -Sc 0
(⇒ Maximale Größe (soft limit), die core dumps annehmen dürfen = 0)
dass das Schreiben von core files (dumps) unterdrückt wird.
Kopieren ganzer Verzeichnisse (Konsole)
-
cp -Rpd verzeichnis/
- Kopiert das
verzeichnis
komplett, d.h. inkl. aller Unterordner und Dateien (-R
recursive) und Symlinks (-d
no dereference) sowie unter Beibehaltung der Dateiattribute (-p
preserve) -
cp -a verzeichnis/
- wie
-Rpd
(-a
archive)!
Startup-Skripte
Login Shell | Non-Login Shell |
---|---|
/etc/profile | |
/etc/profile.d | /etc/profile.d |
~/.bash_profile | |
~/.bashrc | ~/.bashrc |
/etc/bashrc | /etc/bashrc |
Umleitungen
stdin | /dev/tty (z.B. Tastatur) | !0 |
---|---|---|
Umleitung | < | |
stdout | /dev/tty (z.B. Bildschirm) | !1 |
Umleitung | > | |
stderr | /dev/tty (z.B. Bildschirm) | !2 |
Umleitung | !2> | |
Verknüpfung von stderr mit stdout | 2>&1 nach der stdout - Umleitungsdef. oder | |
1>& <Zieldatei> oder | ||
&> <Zieldatei> |
Verkettung
cmd1 || cmd2 | cmd2 wird ausgeführt, sobald cmd1 fehlerhaft (Returncode ≠ 0) beendet wurde. |
---|---|
cmd1 && cmd2 | cmd2 wird ausgeführt, sobald cmd1 fehlerfrei (Returncode = 0) beendet wurde. |
Shellvariablen bearbeiten
set | Anzeige der Shell- und Umgebungs-Variablen mit deren Werten - Einstellungen: /etc/bashrc |
---|---|
set -o | Anzeige aller globalen Shell-Optionen mit on/off Status. |
set -o noclobber | Globale Option "noclobber" einschalten und so die Benutzung der Ausgabeumleitung (> ) einschränken → kein Überschreiben existierender Dateien. |
set +o noclobber | Globale Option "noclobber" ausschalten. |
env | Anzeige der Umgebungs-Variablen und deren Werte - Einstellungen: /etc/profile |
-
fc
- Befehls-"History" editieren und beim Beenden Befehl(e) im Buffer (in der Shell) ausführen lassen
-
stat <dateiname>
- Dateistatus (Letzter Zugriff - wer/wann, Letzte Änderung, Inode etc.) von
<dateiname>
ausgeben
Shared Libraries
Aktualisieren von ld.so.cache
: # ldconfig
ldconfig
creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/lib and /usr/lib). The cache is used by the run-time linker, ld.so or ld-linux.so. ldconfig checks the header and file names of the libraries it encounters when determining which versions should have their links updated.- /etc/ld.so.conf enthält eine doppelpunkt-, leerzeichen-, tab-, zeilenumbruch- oder kommaseparierte Liste von Verzeichnissen, in denen nach libraries gesucht wird.
- /etc/ld.so.cache enthält eine geordnete Liste von libraries, die in den in /etc/ld.so.conf spezifzierten Verzeichnissen gefunden wurden.
- /lib/ld.so: Run-time linker/loader
- LD_LIBRARY_PATH: Umgebungsvariable, die Pfade für hinzufügende libraries enthalten kann.
Runlevel
(Beispiel; es gibt Unterschiede zwischen den Linux-Distros!)
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this! )
(Runlevel 3 is called full multi user and Runlevel 5 is called X Window System.)
Suchprogramme
-
$ which [-a] <filename> [...]
- Sucht den Befehl
<filename>
. - Liefert die Pfadnamen der Dateien, die in der aktuellen Umgebung ausgeführt werden würden, wenn
<filename> [...]
als Kommando in einer streng POSIX-konformen Shell eingegeben werden würde. $ which
durchsucht hierzu den Befehlspfad ($PATH
) nach ausführbaren Dateien, deren Namen<filename>
entspricht. Shell-interne Kommandos werden dabei nicht gefunden!
-
$ whereis [ -bmsu ] [ -BMS <directory>[...] -f ] <filename> [...]
- Sucht die binären, Source- (Quell-) und Manual-Seiten-Dateien ("man pages") zu einem Befehl.
<filename>
wird zunächst von führenden Pfadangaben und Extensions, z.B. .c oder .h, befreit. Präfixe wie s. (erzeugt von CVS) werden ebenfalls berücksichtigt.- Sucht in diversen "Standard"-Verzeichnissen nach Binär-, Quellcode-Dateien und Man-Pages deren Namen den Suchbegriff
<filename>
enthalten.
-
$ locate d <path> | --database=<path>] [-e | -E | --[nonexisting] [-i | --ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] |-b | --basename] [-l N | --limit=N] [-S | --statistics] [-r | --regex ] [-P | -H | --nofollow] [-L | --follow] [--version] [-A | --all] [-p | --print] [--help] <pattern>[...]
:
- Nutzt die Datenbank /var/cache/locate/locatedb (Debian), dadurch extrem schnell!
- Allerdings muß die Datenbank mit
updatedb
regelmäßig (z.B. mitcron
) aktualisiert werden.
-
$ apropos [-dhV] [-e|-r|-w] [-m <System>[,[...]]] [-M <Pfad>] <Schlüsselwort> [...]
- Sucht in der/den Manualkurzbeschreibung/en nach
<Schlüsselwort>
in der Indexdatenbank mandb, oder - falls nicht vorhanden - in der whatis-Datenbank. - Das Ergebnis von
$ apropos <Schlüsselwort>
entspricht der Ausgabe von$ man -k <Schlüsselwort>
.
-
$ whatis [-dhV] [-r|-w] [-m <System>[,[...]]] [-M <Pfad>] <Schlüsselwort> [...]
- Durchsucht die Indexdatenbank (mandb) oder - falls nicht vorhanden - in der whatis-Datenbank nach Kurzbeschreibungen von
<Schlüsselwort>
.