Linux Seminar

LinuxSeminar  li { list-style: none; margin: 0; } p { margin: 0; } span.foldopened { color: white; font-size: xx-small; border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0; VISIBILITY: visible; cursor:pointer; }

span.foldclosed { color: #666666; font-size: xx-small; border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0; VISIBILITY: hidden; cursor:pointer; }

span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none; border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0; cursor:pointer; }

span.l { color: red; font-weight: bold; }

a.mapnode:link {text-decoration: none; color: black; } a.mapnode:visited {text-decoration: none; color: black; } a.mapnode:active {text-decoration: none; color: black; } a.mapnode:hover {text-decoration: none; color: black; background: #eeeee0; }

 // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and // Mozilla 0.9.6.

if (document.layers) { //Netscape 4 specific code pre = 'document.'; post = ''; } if (document.getElementById) { //Netscape 6 specific code pre = 'document.getElementById("';     post = '").style'; } if (document.all) { //IE4+ specific code pre = 'document.all.'; post = '.style'; }

function layer_exists(layer) { try { eval(pre + layer + post); return true; } catch (error) { return false; }}

function show_layer(layer) { eval(pre + layer + post).position = 'relative'; eval(pre + layer + post).visibility = 'visible'; }

function hide_layer(layer) { eval(pre + layer + post).visibility = 'hidden'; eval(pre + layer + post).position = 'absolute'; }

function hide_folder(folder) { hide_folding_layer(folder) show_layer('show'+folder);

scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla) }

function show_folder(folder) { // Precondition: all subfolders are folded

show_layer('hide'+folder); hide_layer('show'+folder); show_layer('fold'+folder);

scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)

var i;   for (i=1; layer_exists('fold'+folder+'_'+i); ++i) { show_layer('show'+folder+'_'+i); } } function show_folder_completely(folder) { // Precondition: all subfolders are folded

show_layer('hide'+folder); hide_layer('show'+folder); show_layer('fold'+folder);

scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)

var i;   for (i=1; layer_exists('fold'+folder+'_'+i); ++i) { show_folder_completely(folder+'_'+i); } }

function hide_folding_layer(folder) { var i;  for (i=1; layer_exists('fold'+folder+'_'+i); ++i) { hide_folding_layer(folder+'_'+i); }

hide_layer('hide'+folder); hide_layer('show'+folder); hide_layer('fold'+folder);

scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla) }

function fold_document { var i;  var folder = '1'; for (i=1; layer_exists('fold'+folder+'_'+i); ++i) { hide_folder(folder+'_'+i); } }

function unfold_document { var i;  var folder = '1'; for (i=1; layer_exists('fold'+folder+'_'+i); ++i) { show_folder_completely(folder+'_'+i); } }

All + All -

LinuxSeminar + - 1. Die Boot-CD booten der vorbereiteten live cd

 kurze erkl&auml;rung was gebootet wird

</li>

</ul> </li> <span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute">+ <span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')">-

<span style="font-family: Monospaced, sans-serif; ">2. Der Prompt <ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;">pwd <ul>was ist unser "print working directory"

</li>

</ul> </li> whoami <ul>als wer sind wir angemeldet

</li>

</ul> </li> id

</li>

</ul> </li> <span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+ <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">- <span style="font-family: Monospaced, sans-serif; ">3. Erste Befehle <ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;">ls <ul>ls -al

</li> ls -ali

</li> ls -al --sort=time

</li> ls -alr --sort=size

</li>

ls -alSr

</li> ls -alitr

</li>

</ul> </li>

</ul> </li> <span id="show1_4" class="foldclosed" onClick="show_folder('1_4')" style="POSITION: absolute">+ <span id="hide1_4" class="foldopened" onClick="hide_folder('1_4')">- <span style="font-family: Monospaced, sans-serif; ">4. Verwenden der Hilfe <ul id="fold1_4" style="POSITION: relative; VISIBILITY: visible;">HILFE!!!

<ul><li>am beispiel ls <ul><li>--help

</li> <li>ls --help

</li> <li>man ls

</li>

</ul> </li> <li>man pages <ul><li>was sind man pages

</li> <li><span id="show1_4_1" class="foldclosed" onClick="show_folder('1_4_1')" style="POSITION: absolute">+ <span id="hide1_4_1" class="foldopened" onClick="hide_folder('1_4_1')">-

die sektionen <ul id="fold1_4_1" style="POSITION: relative; VISIBILITY: visible;"><li> Section 0 - EverythingSection 1 - CommandsSection 2 - System CallsSection 3 - Library CallsSection 4 - Special Files Section 5 - File Formats and ConversionsSection 6 - Games for LinuxSection 7 - Macro Packages and ConventionsSection 8 - System Management CommandsSection 9 - Kernel Routines </li> </ul> </li> <li><span id="show1_4_2" class="foldclosed" onClick="show_folder('1_4_2')" style="POSITION: absolute">+ <span id="hide1_4_2" class="foldopened" onClick="hide_folder('1_4_2')">- manpages drucken <ul id="fold1_4_2" style="POSITION: relative; VISIBILITY: visible;"><li> man -t manpage | ps2pdf - manpage.pdf- es muss ghostscript istalliert sein- den Parameter "-" nicht vergessen </li> </ul> </li>

</ul> </li>

<li>info <ul><li>&auml;lteres programm

</li> <li>info pages uns man pages meist die selben

</li>

</ul> </li>

</ul> </li> <li>whatis <ul><li>whatis ls <ul><li>whatis lsls (1)              - list directory contents

</li>

</ul> </li>

</ul> </li> <li>type <ul><li>wo ist das binary von ls <ul><li><span id="show1_4_3" class="foldclosed" onClick="show_folder('1_4_3')" style="POSITION: absolute">+ <span id="hide1_4_3" class="foldopened" onClick="hide_folder('1_4_3')">- type ls <ul id="fold1_4_3" style="POSITION: relative; VISIBILITY: visible;"><li>ls is aliased to `ls --color=auto'

</li>

</ul> </li>

<li>ekl&auml;rung von alias kommt sp&auml;ter

</li>

</ul> </li>

</ul> </li> <li>file <ul><li>type mkdir

</li> <li>whatis file <ul><li>liest die erste zeile der manpagedes gew&uuml;nschten befehls

</li>

<li><span id="show1_4_4" class="foldclosed" onClick="show_folder('1_4_4')" style="POSITION: absolute">+ <span id="hide1_4_4" class="foldopened" onClick="hide_folder('1_4_4')">- file (1)            - determine file type <ul id="fold1_4_4" style="POSITION: relative; VISIBILITY: visible;"><li> file /bin/mkdir /bin/mkdir: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), for GNU/Linux 2.2.0, stripped </li> </ul> </li>

</ul> </li>

</ul> </li>

</ul> </li> <li><span id="show1_5" class="foldclosed" onClick="show_folder('1_5')" style="POSITION: absolute">+ <span id="hide1_5" class="foldopened" onClick="hide_folder('1_5')">- <span style="font-family: Monospaced, sans-serif; ">5. Verzeichniss und Dateimanagement <ul id="fold1_5" style="POSITION: relative; VISIBILITY: visible;"><li>hoch und runter im verzeichnissbaum <ul><li>cd

</li> <li>cd -

</li> <li>cd /

</li> <li>cd ~

</li>

<li>cd ..

</li> <li>.. <ul><li>gibts nicht &uuml;berall

</li>

</ul> </li>

</ul> </li> <li>verzeichniss erstellen <ul><li>mkdir

</li> <li>mkdir -p <ul><li>erstellt auch unterverzeichnissesollten diese nicht vorhanden sein

</li>

</ul> </li>

</ul> </li> <li>dateien und verzeichnisse l&ouml;schen <ul><li>rmdir <ul><li>nur bei lehren verzeichnissen

</li>

</ul> </li> <li>rm

</li>

<li>rm -Rf <ul><li>l&ouml;schen auf der root demonstrieren

</li>

</ul> </li>

</ul> </li> <li>inhalt von dateien anzeigen <ul><li>cat

</li> <li>less/more <ul><li>alter dos befehl more

</li> <li>less - springen in datei shift+g ,gg

</li> <li>suchen im less / ?

</li> <li>less *.txt :n :Nmeherer Dateien hintereinander

</li>

</ul> </li>

</ul> </li> <li>dateien suchen <ul><li>find <ul><li> find. -name *xyz* find. -type f -exec file &#8217;{}&#8217; \;      Runs &#8216;file&#8217; on every file in or below the current directory. Notice that the braces are enclosed in single quote marks to protect       them  from interpretation as shell script punctuation. The semicolon is similarly protected by the use of a backslash, though &#8217;;&#8217;      could have been used in that case also.

</li> </ul> </li> <li>locate <ul><li>locate erfordert die findutils

</li> <li>besteht aus zwei befehlenupdatedblocate

</li>

</ul> </li>

</ul> </li> <li>in dateien suchen <ul><li>grep -ir lalelu /usr

</li>

</ul> </li> <li>dateien erstellen <ul><li>touch

</li>

</ul> </li> <li>dateien kopieren <ul><li>cp

</li> <li>cp -R

</li> <li>cp -Rp

</li>

</ul> </li> <li>dateien umbenennen/verschieben <ul><li>mv

</li>

</ul> </li> <li>pipes und umleitungen <ul><li> | das pipe zeichen zb. bei ps &gt; stdout in file &gt;&gt; stdout in file append Type 0 (standard input), Type 1 (standard output), and Type 2 (standard error) du -sc &gt;&gt; filesystem.txt 2&gt;duerrors.txt

Sometimes programs have already been told to direct standard error to someplace other than the display. But you might wish to see just what the errors are, so you want to redirect standard error back to the display where you can see how a program is proceeding. To do this, you would type: $ programname 2&gt;&amp;1 xargs <ul><li>ls | xargs file

</li>

</ul></li> </ul> </li>

</ul> </li> <li><span id="show1_6" class="foldclosed" onClick="show_folder('1_6')" style="POSITION: absolute">+ <span id="hide1_6" class="foldopened" onClick="hide_folder('1_6')">-

6. Berechtigungen <ul id="fold1_6" style="POSITION: relative; VISIBILITY: visible;"><li>file berechtigungen

</li> <li>chown - ownership &auml;ndern

</li> <li>chmod - rechte &auml;ndern

</li> <li>chmod u+s suid bit setzen

</li> <li>magick-pattern #!/bin/bash

</li>

</ul> </li> <li><span id="show1_7" class="foldclosed" onClick="show_folder('1_7')" style="POSITION: absolute">+ <span id="hide1_7" class="foldopened" onClick="hide_folder('1_7')">-

<span style="font-family: Monospaced, sans-serif; ">7. VIM <ul id="fold1_7" style="POSITION: relative; VISIBILITY: visible;"><li>DER editor

</li> <li>auf jedem system vorhandenzumindest vi

</li> <li>grunds&auml;tzliche bedienung <ul><li>insert

</li> <li>execute <ul><li>:q :wq :q! :w!

</li>

</ul> </li>

</ul> </li> <li>syntax higlight

</li> <li>:set ic

</li> <li>y5y

</li> <li>p5p

</li> <li>d5d

</li> <li>weitere hilfe <ul><li>version 6.5

</li> <li><a href="http://tnerual.eriogerg.free.fr/vimqrc-ge.html" target="_blank"> ~ http://tnerual.eriogerg.free.fr/vimqrc-ge.html

</a>

</li> <li><a href="http://www.vim.org" target="_blank"> ~ http://www.vim.org </a>

</li>

</ul> </li> <li>beispiel mit sortierung <ul><li>zuerst mit dem visuellen modus ausw&auml;hlen

</li> <li>!sort

</li>

</ul> </li> <li>mehrere fenster <ul><li>^Wn <ul><li>neuses leeres Fenster

</li>

</ul> </li> <li>datei laden :e filename

</li> <li>^Wj ^Wk <ul><li>n&auml;chstes vorheriges fenster

</li>

</ul> </li>

</ul> </li> <li>vim7 tabs <ul><li>neuer tab mit :tabnew

</li> <li>switch mit :tabn oder C+PageUp C+PageDown

</li>

</ul> </li> <li>vim aufruf mit meherern dateien <ul><li>druchgehen mit :n :N

</li>

</ul> </li> <li>Completion <ul><li>durchsucht bereits geschriebenes

</li> <li>mit auswahlfeld

</li> <li>C+p

</li>

</ul> </li>

</ul> </li> <li><span id="show1_8" class="foldclosed" onClick="show_folder('1_8')" style="POSITION: absolute">+ <span id="hide1_8" class="foldopened" onClick="hide_folder('1_8')">-

<span style="font-family: Monospaced, sans-serif; ">8. LSB Verzeichnissbaum <ul id="fold1_8" style="POSITION: relative; VISIBILITY: visible;"><li> erw&auml;hnung der LSB an homepage erkl&auml;ren! DirectoryDescriptionbinEssential command binariesbootStatic files of the boot loaderdevDevice filesetcHost-specific system configurationlibEssential shared libraries and kernel modulesmediaMount point for removeable mediamntMount point for mounting a filesystem temporarilyoptAdd-on application software packagessbinEssential system binariessrvData for services provided by this systemtmpTemporary filesusrSecondary hierarchyvarVariable dataEach directory listed above is specified in detail in separate subsections below. /usr and /var each have a complete section in this document due to the complexity of those directories.Specific OptionsThe following directories, or symbolic links to directories, must be in /, if the corresponding subsystem is installed:DirectoryDescriptionhomeUser home directories (optional)lib&lt;qual&gt;Alternate format essential shared libraries (optional)rootHome directory for the root user (optional)Each directory listed above is specified in detail in separate subsections below. /proc und /sys <ul><li>proc filesystem unsicher

</li> <li>noch nicht alles in sys portiert

</li>

</ul> zus&auml;tlich werden auch die /bin befehle exakt benennt

warum hat root ein eigenes verzeichniss? </li> </ul> </li> <li><span id="show1_9" class="foldclosed" onClick="show_folder('1_9')" style="POSITION: absolute">+ <span id="hide1_9" class="foldopened" onClick="hide_folder('1_9')">- <span style="font-family: Monospaced, sans-serif; ">9. Linux from Scratch <ul id="fold1_9" style="POSITION: relative; VISIBILITY: visible;"><li>devices <ul><li> devfs - alludev - neu arbeiten udev <ul><li><span id="show1_9_1" class="foldclosed" onClick="show_folder('1_9_1')" style="POSITION: absolute">+ <span id="hide1_9_1" class="foldopened" onClick="hide_folder('1_9_1')">-

finden von sys schnittstelle <ul id="fold1_9_1" style="POSITION: relative; VISIBILITY: visible;"><li>udevinfo -q path -n /dev/sda

</li> <li>udevinfo -a -p `udevinfo -q path -n /dev/sda`

</li>

</ul> </li> <li><span id="show1_9_2" class="foldclosed" onClick="show_folder('1_9_2')" style="POSITION: absolute">+ <span id="hide1_9_2" class="foldopened" onClick="hide_folder('1_9_2')">- beispiel eth0 karte &auml;ndern <ul id="fold1_9_2" style="POSITION: relative; VISIBILITY: visible;"><li>befehl: udevinfo -a -p /sys/class/net/eth0/

</li> <li>output: looking at class device '/sys/class/net/eth0':   SYSFS{address}="00:52:8b:d5:04:48"

</li> <li>rule: KERNEL="eth*", SYSFS{address}="00:52:8b:d5:04:48", NAME="lan"

</li>

</ul> </li>

</ul> wie funktioniert die nummerierung <ul><li>hda (ide)

</li> <li>sda (scsi usb)

</li> <li>cciss (hp raidcontroller)

</li>

</ul> ethernet interfaces haben keine device datei unter /dev !!!!diese werden &uuml;ber die konfigdatei /etc/iftab konfiguriertoder eben neu mit udev

welche devices gibt es /dev/zero <ul><li>man zero

</li>

</ul> /dev/null <ul><li>valhalla

</li>

</ul> /dev/random <ul><li>l&auml;sst sich erst auslesen wenn genug daten vorhanden

</li>

</ul> /dev/loop </li> </ul>

</li> <li>partitionierung <ul><li>trennung von partition table und formatierung am datentr&auml;ger

</li> <li>fdisk <ul><li>urvater der partitionierung

</li> <li>fdisk -l &gt; partition table sichern

</li>

</ul> </li> <li>cfdisk <ul><li>komfortabel

</li> <li>nicht immer vorhanden

</li>

</ul> </li> <li>editieren von partitionen

</li>

</ul> </li> <li>formatierung <ul><li>welche dateisysteme gibt es <ul><li>ext2

</li> <li>ext3

</li>

<li>reiserfs

</li> <li>xfs

</li> <li>jfs

</li> <li>zfs

</li> <li>squashfs/unionfs

</li>

</ul> </li> <li>was sind inodes <ul><li>wie ist der aufbau?

</li> <li>erkl&auml;rung hard / softlinks

</li> <li><span id="show1_9_3" class="foldclosed" onClick="show_folder('1_9_3')" style="POSITION: absolute">+ <span id="hide1_9_3" class="foldopened" onClick="hide_folder('1_9_3')">- erstellen von hard - softlinks <ul id="fold1_9_3" style="POSITION: relative; VISIBILITY: visible;"><li>ln-s, ln

</li>

</ul> </li>

</ul> </li>

</ul> </li>

<li>der bootloader <ul><li>warum gibt es was

</li> <li>bedeutung in der heutigen zeit

</li> <li>grub <ul><li>wo liegt die konfiguration

</li> <li>wie wird konfiguriert

</li>

</ul> </li> <li>lilo <ul><li>nachteile

</li> <li>konfiguration

</li>

</ul> </li>

</ul> </li> <li>der init prozess <ul><li>der init prozess ist der vater aller prozesseer hat die prozessnummer 1

</li> <li>telinit - init

</li> <li>inittab <ul><li>default runlevel

</li> <li>serielle konsole

</li>

</ul> </li> <li>start stop scripte

</li> <li>aufbau der scripte

</li> <li>init zewck

</li> <li><a href="http://en.wikipedia.org/wiki/Init" target="_blank"> ~ http://en.wikipedia.org/wiki/Init </a>

</li> <li>shutdown -h now(zeit)

</li> <li>shutdown -r now(zeit)

</li> <li>shutdown -a

</li>

</ul> </li> <li>konfiguration von diensten <ul><li>erw&auml;hnung des xinit.d

</li> <li>/etc <ul><li>bedeutung

</li>

</ul> </li> <li>/etc/init.d/skel

</li>

</ul> </li>

</ul> </li> <li><span id="show1_10" class="foldclosed" onClick="show_folder('1_10')" style="POSITION: absolute">+ <span id="hide1_10" class="foldopened" onClick="hide_folder('1_10')">- <span style="font-family: Monospaced, sans-serif; ">10. Prozessmanagement <ul id="fold1_10" style="POSITION: relative; VISIBILITY: visible;"><li><span style="font-family: Monospaced, sans-serif; ">ps -ef <ul><li>liefert alle prozesse, auch wenn sie nicht mir geh&ouml;ren

</li> <li>auswertung immer mit grepalso ps -ef | grep xy

</li>

</ul> </li> <li>pstree <ul><li> pstree -a zeigt alle prozesse als baum anhier sieht man auch die abh&auml;ngigkeit des gestarteten programmes zur bash &#9474;   &#9500;&#9472;konsole  &#9474;   &#9474;   &#9500;&#9472;bash  &#9474;   &#9474;   &#9474;   &#9492;&#9472;su  &#9474;   &#9474;   &#9474;       &#9492;&#9472;bash  &#9474;   &#9474;   &#9500;&#9472;bash  &#9474;   &#9474;   &#9474;   &#9492;&#9472;watch -n2 df -h pstree zeigt auch sch&ouml;n den init - als erster prozess

pstree -an zum ausgeben der liste sortiert nach pids </li> </ul> </li> <li><span style="font-family: Monospaced, sans-serif; ">kill <ul><li> <span style="font-family: Monospaced, sans-serif; ">kill bedeutet nicht nur killsondern signale an laufende prozesse schicken <span style="font-family: Monospaced, sans-serif; ">h&auml;ufig verwendet werden kill und kill -9 <ul><li>kill ohne parameter sendetSIGTERM - 15

</li> <li>kill -9 ist SIGKILL

</li>

</ul> man kann nur prozesse killen die man selbst gestartet hatauser man ist root

versucht man einen prozess mit kill zu beendenso wird dem prozess mitgeteilt sich sauber zu beenden.also unter umst&auml;nden pid files zu l&ouml;schen usw.bei kill -9 l&auml;uft man "mit dem messer" durch das system.sprich der prozess wird vom kernel hart gekillt daemons verarbeiten oft das signal HUP oder SIGHUPdas bedeutet, dass der prozess sich nicht beendet sondern konfigurationsfiles neu einliestdie meisten daemons welche beim init script eine "reload" funktion haben, verwenden kill HUPauf die prozess id. beispiel "openvpn" <span style="font-family: Monospaced, sans-serif; ">kill signale laut man signal <ul><li> <span style="font-family: Monospaced, sans-serif; ">      Signal     Value     Action   Comment       -       SIGHUP        1       Term    Hangup detected on controlling terminal                                     or death of controlling process       SIGINT        2       Term    Interrupt from keyboard       SIGQUIT       3       Core    Quit from keyboard       SIGILL        4       Core    Illegal Instruction       SIGABRT       6       Core    Abort signal from abort(3)       SIGFPE        8       Core    Floating point exception       SIGKILL       9       Term    Kill signal       SIGSEGV      11       Core    Invalid memory reference       SIGPIPE      13       Term    Broken pipe: write to pipe with no readers       SIGALRM      14       Term    Timer signal from alarm(2)       SIGTERM      15       Term    Termination signal       SIGUSR1   30,10,16    Term    User-defined signal 1       SIGUSR2   31,12,17    Term    User-defined signal 2       SIGCHLD   20,17,18    Ign     Child stopped or terminated       SIGCONT   19,18,25            Continue if stopped       SIGSTOP   17,19,23    Stop    Stop process       SIGTSTP   18,20,24    Stop    Stop typed at tty       SIGTTIN   21,21,26    Stop    tty input for background process       SIGTTOU   22,22,27    Stop    tty output for background process

</li> </ul> kill verarbeitet nur PIDSkillall verarbeitet NAMEN nicht alle prozesse h&ouml;ren auf alle signale <ul><li>kill -9 1 oder kill -9 initfunktioniert nicht

</li> <li>es gibt dann meistens andere wege mit denprozessen zu kommunizieren telinit init 0 6 3 usw.

</li>

</ul></li> </ul> </li> <li>nice <ul><li>Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable)

</li> <li>nice startet prozesse mit einem gew&uuml;nschten nice wert

</li> <li>negative werte k&ouml;nnen nur von root gesetzt werden

</li>

</ul> </li> <li>renice <ul><li>&auml;ndert die scheduler priorit&auml;t eines laufenden prozesses

</li> <li>nur root kann prozesse mit negativen werten renicen

</li>

</ul> </li> <li>lsof

<ul><li>lsof /home/notbuu top level list open files

</li> <li>lsof +D /home/notbuu recursive directory

</li> <li>lsof | grep *fsdfsd*

</li> <li>lsof -i 4 -alle ipv4 connections anzeigen

</li> <li>anzahl max-files cat /proc/sys/fs/file-max

</li>

</ul> </li> <li>fuser

</li> <li><span style="font-family: Monospaced, sans-serif; ">background foregroundbash speziefischgibt es aber auch unter anderen shells - andere befehle

<ul><li><span style="font-family: Monospaced, sans-serif; ">prozesse starten, stoppen und in den hintergrund legenstrg+z - bglaufende jobs anzeigenjobs

</li> <li>prozess im backgroud startet man mit &amp; zum schluss

</li>

</ul> </li> <li>prozesse so starten, dass sie nicht bei abmeldung beendet werden <ul><li> wenn auf der konsole prozesse gestartet werden,so sind die prozesse immer childs der bash - siehe das cat beispiel auch wenn prozesse im hintergrund gestartet werden sind sie tot sobald die bash beendet wird sicheres starten nur mit "nohup" m&ouml;glich </li>

</ul> </li>

</ul> </li> <li><span id="show1_11" class="foldclosed" onClick="show_folder('1_11')" style="POSITION: absolute">+ <span id="hide1_11" class="foldopened" onClick="hide_folder('1_11')">- 11. Mounten <ul id="fold1_11" style="POSITION: relative; VISIBILITY: visible;"><li>mount <ul><li> mount a file system mount mountet nur filesystem welchea. dem kernel bekannt sindb. als utility implementiert sind(squashfs) man mount <ul><li> die jeweiligen filesystem parameterunterscheiden sich sehr stark beispiel smbfs (-o username=,password=)usw. teilweise auch zwischen versionen </li> </ul> alles ist mountbar inkl. iso filessolange es ein modul daf&uuml;r gibt

mount was wohin <ul><li>es reicht auch was, wenn das wohin in der fstab steht

</li>

</ul> /etc/fstab vorstellen dd <ul><li>n&uuml;tzlicher befehl zum erzeugen von dateienbestimmter gr&ouml;&szlig;e

</li> <li>dd if=/dev/zero of=lalelu count=1 bs=1M

</li>

</ul> loop mounting <ul><li>100 mb gro&szlig;e datei erstellen

</li>

<li>mkfs.reiserfs -f datei

</li> <li>mount -o loop datei /mnt/

</li> <li>wird auch f&uuml;r crypto filesysteme verwendetzb. von truecrypt

</li>

</ul></li> </ul> </li> <li>umount

</li>

</ul> </li> <li><span id="show1_12" class="foldclosed" onClick="show_folder('1_12')" style="POSITION: absolute">+ <span id="hide1_12" class="foldopened" onClick="hide_folder('1_12')">-

12. Netzwerk und SSH <ul id="fold1_12" style="POSITION: relative; VISIBILITY: visible;"><li>netzwerkkonfiguration <ul><li>ifconfig

</li> <li>/etc/sysconfig/interfaces

</li> <li>/etc/resolv.conf - dns und suchliste

</li> <li>hosts wird immer zuerst verwendet

</li> <li>hostname

</li>

</ul> </li> <li>ssh <ul><li>ssh ist der ersatz f&uuml;r telnet

</li> <li>verschl&uuml;sselt public/private key

</li> <li>das passwort kann beim scripten nicht &uuml;bergeben werdenzertifikate austauschen - ....

</li> <li>ssh und ssh -Xssh username@host

</li> <li>scp <ul><li>beispiel scp user@host:/....

</li>

</ul> </li> <li>sftp wird in der configuration angegebensshd_config anschauen

</li>

<li>gute windows clients:putty am kompatibelstensshshell kann auch sftpsftp/ftp usw. clientfilezilla

</li>

</ul> </li>

</ul> </li> <li><span id="show1_13" class="foldclosed" onClick="show_folder('1_13')" style="POSITION: absolute">+ <span id="hide1_13" class="foldopened" onClick="hide_folder('1_13')">- 13. Mail Transport Agent <ul id="fold1_13" style="POSITION: relative; VISIBILITY: visible;"><li>mail transport agent

</li> <li>gab es schon immer, da email als "default" f&uuml;r kernel meldungendefiniert wurde

</li> <li>fr&uuml;her sendmail, jetzt postfix seltener exim

</li> <li>alle mailsysteme haben ihre st&auml;rken oder schw&auml;chen

</li> <li>kommandline mail-mail <ul><li>mail

</li> <li>mail root

</li> <li>mail bediehnung erkl&auml;ren

</li>

</ul> </li> <li>mutt <ul><li>mutt ist besser um viele mails zu verwalten

</li> <li>besser l&ouml;schfunktion

</li> <li>bediehnung erkl&auml;ren

</li>

</ul> </li>

</ul> </li>

<li><span id="show1_14" class="foldclosed" onClick="show_folder('1_14')" style="POSITION: absolute">+ <span id="hide1_14" class="foldopened" onClick="hide_folder('1_14')">- 15. X Server <ul id="fold1_14" style="POSITION: relative; VISIBILITY: visible;"><li>verkehrtes server konzeptserver l&auml;uft auf clientclient auf server

</li> <li>schwierig zu konfigurieren

</li> <li>ssh -X - display variable setzen

</li> <li>export/unset $DISPLAY

</li> <li>beispiele mit X only und TWM bringen

</li> <li>xpenguins

</li> <li>auf server kein X server notwendig

</li> <li>grml-x -nostart -mode '1024x768' -f /usr/bin/xterm

</li> <li>14. Allgemeine Befehle <ul><li>Commands <ul><li>dmesg

</li> <li>/var/log/messages

</li> <li><span id="show1_14_1" class="foldclosed" onClick="show_folder('1_14_1')" style="POSITION: absolute">+ <span id="hide1_14_1" class="foldopened" onClick="hide_folder('1_14_1')">- logrotate.d <ul id="fold1_14_1" style="POSITION: relative; VISIBILITY: visible;"><li>der logrotated rotiert logfiles

</li> <li>wird per konfigfiles gesteuert

</li> <li>beispiel zeigen

</li>

</ul> </li> <li><span id="show1_14_2" class="foldclosed" onClick="show_folder('1_14_2')" style="POSITION: absolute">+ <span id="hide1_14_2" class="foldopened" onClick="hide_folder('1_14_2')">- tar <ul id="fold1_14_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_14_2_1" class="foldclosed" onClick="show_folder('1_14_2_1')" style="POSITION: absolute">+ <span id="hide1_14_2_1" class="foldopened" onClick="hide_folder('1_14_2_1')">-

tape archiver <ul id="fold1_14_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>tar erstellt nur archivediese sind NICHT kompremiert.

</li> <li>nur mit schalter wird gzip oder bz2 eingef&uuml;hrt

</li> <li>deshalbt auch meistens tar.gz oder tar.bz2

</li> <li>bz2 komprimiert besser, aber auch langsamer

</li>

</ul> </li> <li><span id="show1_14_2_2" class="foldclosed" onClick="show_folder('1_14_2_2')" style="POSITION: absolute">+ <span id="hide1_14_2_2" class="foldopened" onClick="hide_folder('1_14_2_2')">-

entpackenen <ul id="fold1_14_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>tar -zxvf gzip extract verbose filemode

</li> <li>tar -jxvf bz2 extract verbose filemode

</li>

</ul> </li> <li><span id="show1_14_2_3" class="foldclosed" onClick="show_folder('1_14_2_3')" style="POSITION: absolute">+ <span id="hide1_14_2_3" class="foldopened" onClick="hide_folder('1_14_2_3')">- packen <ul id="fold1_14_2_3" style="POSITION: relative; VISIBILITY: visible;"><li>tar -zcvf gzip compress verbose file destination source

</li> <li>tar -jcvf bz2 compress verrbose file destination source

</li>

</ul> </li> <li>das ganze kann man auch in zwei schritten erledigensiehe gunzip / gzip

</li>

</ul> </li> <li><span id="show1_14_3" class="foldclosed" onClick="show_folder('1_14_3')" style="POSITION: absolute">+ <span id="hide1_14_3" class="foldopened" onClick="hide_folder('1_14_3')">- gzip/gunzip <ul id="fold1_14_3" style="POSITION: relative; VISIBILITY: visible;"><li>das wichtigere ist gunzip

</li>

</ul>

</li> <li><span id="show1_14_4" class="foldclosed" onClick="show_folder('1_14_4')" style="POSITION: absolute">+ <span id="hide1_14_4" class="foldopened" onClick="hide_folder('1_14_4')">- split <ul id="fold1_14_4" style="POSITION: relative; VISIBILITY: visible;"><li>splittet dadeiten

</li> <li>zb: tar archive

</li> <li>split -b 100m source destination

</li>

</ul> </li> <li><span id="show1_14_5" class="foldclosed" onClick="show_folder('1_14_5')" style="POSITION: absolute">+ <span id="hide1_14_5" class="foldopened" onClick="hide_folder('1_14_5')">-

md5sum <ul id="fold1_14_5" style="POSITION: relative; VISIBILITY: visible;"><li>programm zum erzeugen vonmd5hashes - kurze erkl&auml;rung geben

</li>

</ul> </li> <li><span id="show1_14_6" class="foldclosed" onClick="show_folder('1_14_6')" style="POSITION: absolute">+ <span id="hide1_14_6" class="foldopened" onClick="hide_folder('1_14_6')">- watch <ul id="fold1_14_6" style="POSITION: relative; VISIBILITY: visible;"><li>&uuml;berwachung von befehlen

</li> <li>zb.: beim cp befehl

</li> <li>watch -n2 cp .....

</li>

</ul> </li> <li><span id="show1_14_7" class="foldclosed" onClick="show_folder('1_14_7')" style="POSITION: absolute">+ <span id="hide1_14_7" class="foldopened" onClick="hide_folder('1_14_7')">- tail <ul id="fold1_14_7" style="POSITION: relative; VISIBILITY: visible;"><li>tail -n 10 datei - liest die letzten 10 zeilen der datei

</li> <li>tail -n 10 -f datei - zeigt die letzten10 zeilen der datei an und liest laufend weiter

</li> <li>wird auch f&uuml;r installer usw. verwendetsiehe java.bin

</li>

</ul> </li> <li>time

</li> <li><span id="show1_14_8" class="foldclosed" onClick="show_folder('1_14_8')" style="POSITION: absolute">+ <span id="hide1_14_8" class="foldopened" onClick="hide_folder('1_14_8')">- date <ul id="fold1_14_8" style="POSITION: relative; VISIBILITY: visible;"><li>aktuelle uhrzeite anzeigen

</li> <li>ntpdate -q - uhrzeit von ntpserver anzeigen oder laden

</li>

</ul> </li> <li><span id="show1_14_9" class="foldclosed" onClick="show_folder('1_14_9')" style="POSITION: absolute">+ <span id="hide1_14_9" class="foldopened" onClick="hide_folder('1_14_9')">-

df/du <ul id="fold1_14_9" style="POSITION: relative; VISIBILITY: visible;"><li>diskfree -h

</li> <li>du -hs.

</li> <li>du -h *

</li>

</ul> </li> <li><span id="show1_14_10" class="foldclosed" onClick="show_folder('1_14_10')" style="POSITION: absolute">+ <span id="hide1_14_10" class="foldopened" onClick="hide_folder('1_14_10')">- dmesg <ul id="fold1_14_10" style="POSITION: relative; VISIBILITY: visible;"><li>Utility to print or control the kernel message buffer

</li>

<li>in dmesg sieht man alle kernel messagesbeispiel anzeige sda stick usw

</li>

</ul> </li> <li>echo

</li> <li>export

</li> <li><span id="show1_14_11" class="foldclosed" onClick="show_folder('1_14_11')" style="POSITION: absolute">+ <span id="hide1_14_11" class="foldopened" onClick="hide_folder('1_14_11')">- hostname <ul id="fold1_14_11" style="POSITION: relative; VISIBILITY: visible;"><li>hostname -f

</li>

</ul> </li> <li><span id="show1_14_12" class="foldclosed" onClick="show_folder('1_14_12')" style="POSITION: absolute">+ <span id="hide1_14_12" class="foldopened" onClick="hide_folder('1_14_12')">- uname <ul id="fold1_14_12" style="POSITION: relative; VISIBILITY: visible;"><li>Utility to print system information

</li> <li>uname -a

</li>

</ul> </li> <li>uptime

</li> <li><span id="show1_14_13" class="foldclosed" onClick="show_folder('1_14_13')" style="POSITION: absolute">+ <span id="hide1_14_13" class="foldopened" onClick="hide_folder('1_14_13')">-

www auf der konsole <ul id="fold1_14_13" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_14_13_1" class="foldclosed" onClick="show_folder('1_14_13_1')" style="POSITION: absolute">+ <span id="hide1_14_13_1" class="foldopened" onClick="hide_folder('1_14_13_1')">- lynx <ul id="fold1_14_13_1" style="POSITION: relative; VISIBILITY: visible;"><li>nur erkl&auml;ren, keine frames

</li> <li>gut f&uuml;rs scripten geeignet

</li>

</ul> </li> <li><span id="show1_14_13_2" class="foldclosed" onClick="show_folder('1_14_13_2')" style="POSITION: absolute">+ <span id="hide1_14_13_2" class="foldopened" onClick="hide_folder('1_14_13_2')">-

links <ul id="fold1_14_13_2" style="POSITION: relative; VISIBILITY: visible;"><li>mit frame unterst&uuml;tzung

</li> <li>auch mit farbe

</li> <li>sehr g&auml;nging

</li>

</ul> </li> <li><span id="show1_14_13_3" class="foldclosed" onClick="show_folder('1_14_13_3')" style="POSITION: absolute">+ <span id="hide1_14_13_3" class="foldopened" onClick="hide_folder('1_14_13_3')">- w3m

<ul id="fold1_14_13_3" style="POSITION: relative; VISIBILITY: visible;"><li>kann auch bilder im framebuffer

</li>

</ul> </li> <li>ncftp

</li> <li>lftp

</li>

</ul> </li>

</ul> </li>

</ul>

</li>

</ul> </li> <li><span id="show1_15" class="foldclosed" onClick="show_folder('1_15')" style="POSITION: absolute">+ <span id="hide1_15" class="foldopened" onClick="hide_folder('1_15')">- 16. B&uuml;cherliste <ul id="fold1_15" style="POSITION: relative; VISIBILITY: visible;"><li>der "kofler" <ul><li> <a href="http://www.amazon.de/Linux-Installation-Konfiguration-Anwendung-Jubil%e4umsausgabe/dp/3827324467/sr=8-3/qid=1157742094/ref=sr_1_3/302-5883801-0687244?ie=UTF8&s=gateway" target="_blank"> ~ http://www.amazon.de/Linux-Installation-Konfiguration-Anwendung-Jubil%e4umsausgabe/dp/3827324467/sr=8-3/qid=1157742094/ref=sr_1_3/302-5883801-0687244?ie=UTF8&amp;s=gateway </a> </li> </ul>

</li> <li>nutshell <ul><li> <a href="http://www.amazon.de/Linux-Nutshell-Desktop-Quick-Reference/dp/0596009305/sr=1-1/qid=1157742211/ref=sr_1_1/302-5883801-0687244?ie=UTF8&s=books-intl-de" target="_blank"> ~ http://www.amazon.de/Linux-Nutshell-Desktop-Quick-Reference/dp/0596009305/sr=1-1/qid=1157742211/ref=sr_1_1/302-5883801-0687244?ie=UTF8&amp;s=books-intl-de </a> </li> </ul> </li>

</ul> </li>

</ul><SCRIPT type="text/javascript"> fold_document; </SCRIPT>