====== Linux-Grundlagen ====== Grundlagen und Wissenswertes zu Linux ([[archive:Unix-Umzug_2011|ehemals Unix]]). ===== Dot-Dateien ===== Der Name einer //Dot-Datei// beginnt mit einem Punkt '.', daher diese Bezeichnung. Unter Unix/Linux entsprechen //Dot-Dateien// den versteckten Dateien unter Windows und bilden in der Regel im Home-Verzeichnis das //Profil// eines Benutzers. ==== C-Shell ==== Die //C-Shell// (''%%tcsh%%'') kennt folgende //Dot-Dateien//, die zu verschiedenen Zeitpunkten abgearbeitet werden. ^ beim Einloggen: ^ jede weitere Shell: ^ beim Ausloggen: ^ | * ''%%/etc/csh.cshrc%%'' * ''%%/etc/csh.login%%'' * ''%%~/.cshrc%%'' * ''%%~/.login%%'' | * ''%%/etc/csh.cshrc%%'' * ''%%~/.cshrc%%'' | * ''%%/etc/csh/logout%%'' * ''%%~/.logout%%'' | ==== Bourne-Shell ==== Die //Bourne (again) Shell// (''%%bash%%'') verwendet folgende //Dot-Dateien//. ^ beim Einloggen: ^ jede weitere Shell: ^ beim Ausloggen: ^ | * ''%%/etc/profile%%'' * ''%%~/.bash_profile%%'' * ''%%~/.bash_login%%'' * ''%%~/.profile%%'' | * ''%%/etc/bash.bashrc%%'' * ''%%~/.bashrc%%'' | * ''%%/etc/bash.bash_logout%%'' * ''%%~/.bash_logout%%'' | **Anmerkung:** Damit eine ''%%bashrc%%''-Datei auch beim Einloggen verarbeitet wird, muss diese explizit von einer ''%%profile%%''-Datei eingebunden werden. ===== Dateirechte ===== ==== Mögliche Rechte ==== Die Dateirechte (File Permissions) legen fest, wer was mit einer Datei machen kann. Die drei grundlegenden Rechte sind: r  read w  write x  execute Die ''%%r%%'', ''%%w%%'' und ''%%x%%'' Rechte können unabhängig voneinander für u  user/owner g  group o  others vergeben werden. ==== Rechte anzeigen ==== Mit dem ''%%ls -l%%'' Kommando werden Dateien mit ihren Rechten angezeigt, z.B: -rw-r--r--   1 proske   student      397 Feb 16 12:25 datei -rw-r--r--   1 proske   student     1423 Feb 20 11:25 nocheine -rwxr-xr--   1 proske   student     1275 Feb 16 12:25 skript drwxr-xr-x   3 proske   student      512 Feb 20 11:18 verzeichnis Uns interessiert nun die erste Spalte. Der allererste Buchstabe zeigt an, ob es sich um ein Directory (d) handelt oder nicht (-). Nun kommen drei dreier Gruppen, für den ''%%user%%'', die ''%%group%%'' und für ''%%others%%''. Die Reihenfolge der Flags ist immer gleich: ''%%rwx%%'', ist eins dieser Flags nicht gesetzt, so steht an seiner Stelle ein Strich: ''%%-%%'' Im obigen Beispiel kann ''%%datei%%'' von allen gelesen, aber nur vom Besitzer geschrieben werden. Das ''%%skript%%'' ist vom Besitzer ''%%proske%%'' und der Gruppe ''%%student%%'' ausführbar, nicht aber von anderen Benutzern und Gruppen. Auch für Verzeichnisse gibt es das ''%%execute%%'' Recht, das bedeutet, dass man mit dem Verzeichnis im Pfad arbeiten kann. Beispielsweise um in das Verzeichnis wechseln oder auf eine Datei mit bekanntem Namen zuzugreifen. Ohne das ''%%read%%'' Recht ist aber eine Auflistung des Verzeichnisinhalts nicht möglich. ==== Rechte ändern ==== Zum Ändern der Zugriffsrechte gibt es den Befehl ''%%chmod%%''. Die Syntax ist simpel: % chmod  === Symbolische Angabe === Zum Beispiel: % chmod +x skript setzt das ''%%execute%%'' Recht bei der Datei ''%%skript%%'', und zwar für Alle, den Eigentümer, die Gruppe und den Rest. % chmod o-x skript entzieht den ''%%others%%'' das ''%%execute%%'' Recht. Man kann auch alle möglichen Rechte auf einmal ändern, z.B.: % chmod ug+wx,o+x skript === Oktale Angabe === Eine andere Art die Rechte anzugeben ist die //oktale// Form. Dabei bildet man die logische Summe aus den Bit-Werten der Rechte. 0400,0200,0100  read, write bzw. execute permission für den owner 0040,0020,0010  read, write bzw. execute permission für die group 0004,0002,0001  read, write bzw. execute permission für die others % chmod ug+rwx,o+rx skript  →  % chmod 0775 skript ==== umask ==== Wichtig ist diese //oktale// Notation für die sogenannte ''%%umask%%'' - ein Wert der festlegt, welche Rechte einer neuen Datei **entzogen** werden sollen. So legt ein ''%%umask%%''-Wert von ''%%022%%'' fest, dass niemand das ''%%write%%'' Recht haben soll, außer dem Besitzer. 0777 - 0022 = 0755  →  -rwxr-xr-x Vorgegeben wird der ''%%umask%%''-Wert beim Einloggen in einer der o.g. //Dot-Dateien//. ===== Man-Pages ===== Unter Unix/Linux kann durch das Konsolen-Kommando % man  zu fast jedem auf dem System verfügbaren Befehl die zugehörige //Manual Page// aufgerufen werden, welche den Befehl und die verfügbaren Parameter und Optionen erklärt. Diese //Man-Pages// sind auch online verfügbar, z.B.: * [[http://www.tldp.org/manpages/man.html|Linux Man-Pages]] bei TLDP.org * Oracle (ehemals Sun) [[http://www.oracle.com/technetwork/documentation/solaris-10-192992.html#hic|Solaris Man-Pages]] * [[http://docs.hp.com/hpux/os/man_pages.html|HP-UNIX Man-Pages]] * [[http://techpubs.sgi.com/library/tpl/cgi-bin/init.cgi|IRIX Man-Pages]] * [[http://www.gsp.com/support/man/|FreeBDS Man-Pages]] * [[http://www.openbsd.org/cgi-bin/man.cgi|OpenBSD Man-Pages]] * [[http://man.netbsd.org/|NetBSD Man-Pages]] ===== Siehe auch ===== * [[public:FAQ_Linux|FAQ Linux]] * [[archive:Unix-Umzug_2011|Unix-Umzug 2011]] (Umstellung auf Debian-Linux) * {{wiki:UnixReferenz.pdf|UNIX-Grundlagen-Referenz}} von Stefan Zimmermann ===== Weblinks ===== * [[http://de.wikipedia.org/wiki/Linux|Wikipedia: Linux]] * [[http://de.wikipedia.org/wiki/Unix|Wikipedia: Unix]] * [[http://de.linwiki.org/|LinWiki]] * [[http://www.feyrer.de/|Homepage von Hubert Feyrer]] * [[http://de.wikipedia.org/wiki/Oktalsystem|Wikipedia: Oktalsystem]]