Siehe auch Ubuntu-Installation.
Ubuntu
siehe auch: bash-scripting.txt, suchen.txt ... always try: apropos foo ... !
hilfe (!!) ++++++++++++++++++++++++++++++++++++++ * apropos command (überblick) * help command (kurz, nur bash) * man command (ausführlich) +++++++++++++++++++++++++++++++++++++++++++++++++
alias * am besten für alle definieren in /etc/bash_aliases * alias: ohne parameter alle aktuellen aliase ausgegeben
archive ----------------------------------------------------------------------------------------------------------- tar -jxvf foo.tar.bz2: bz2-Archive entpacken tar czvf foo.tar.gz barverzeichnis tar -cvzf ~/Backups/$date.tar.gz ~/Backups/$date => schreibt absolute Pfade ins Archiv !! tar -cvzf ~/Backups/$date.tar.gz $date => schreibt relativen Pfad ins Archiv !!
bearbeiten ----------------------------------------------------------------------------------------------------------- * echo $foo | sed -e 's/bar/baaar/g': bar durch baaar ersetzen in Variable (expression) $foo * sed -i 's/foo/bar/g' dateiname: foo in gesamter datei (global) durch bar erstetzen // haut irgendwie bei OS X nicht murmel murmel .... -i = direkt im file (in place) * sort infile1 | uniq -c > outfile2 // sortieren und Duplikate löschen
backups ----------------------------------------------------------------------------------------------------------- * duplicity * sbackup
compilation ----------------------------------------------------------------------------------------------------------- * ./configure --foo * make * sudo make install
compiz ----------------------------------------------------------------------------------------------------------- sudo dpkg-reconfigure xserver-xorg # xorg.conf zurücksetzen (vorher sichern!)
einfügen in Section Device: Driver "nvidia" Option "TwinView" "on" Option "TwinViewOrientation" "LeftOf" # oder RightOf Option "MetaModes" "1680x1050,1680x1050;1280x1024,1280x1024;1024x768,1024x768;800x600,800x600" # immer paarweise
sudo apt-get install simple-ccsm compizconfig-settings-manager # Simple-CCSM damit Menü in 'Erscheinungsbild' vollständig, cc-s-m für erweiterte Einstellungen
Einstellungen > Erscheinungsbild > Visuelle Effekte > benutzerdefiniert auswählen
ccsm ~> konfigurieren ... via "Einstellungen" in Datei exportieren ...
crontab ----------------------------------------------------------------------------------------------------------- #M S T M W Befehl
datum und uhrzeit ----------------------------------------------------------------------------------------------------------- * when
date ----------------------------------------------------------------------------------------------------------- date=$(date +%Y%m%d_%H%M)
dateien und verzeichnisse ----------------------------------------------------------------------------------------------------------- * 1> foo: Standardkanal nach foo umleiten * 2> foo: Errorkanal nach foo umleiten * 2>&1: Errorkanal in den Standardkanal umleiten * cd -L: symbolischenm Link folgen * df -h / Platz anschauen ... * du -h foofile: Grösse von foofile anzeigen (klappt!) // disk usage * du -sk foo: prints size (in kilobytes) of file foo * sudo du -Sh / | grep ^[1-9][0-9][0-9][0-9\.]*M | sort -nr => alles über 100M ausgeben * echo "qf qsmdl jqsimdof j" >> foo: text an foo anhängen * file: Dateityp und andere Eigentschaften auslesen * mkdir -p: Parent-Verzeichnisse automatisch anlegen; kein Fehler wenn Verzeichnis schon existent * test: prüfen, ob oder mit welchen Eigenschaften Dateien vorhanden sind
dateirechte ----------------------------------------------------------------------------------------------------------- * chmod 2775: 2 (sticky bit) setzt rechte als default für zukünftige dateien im selben ordner * chmod u|g|o|a +|=|- r|w|x * umask 002: default-rechte für einen user auf 775 setzen (inverse of the permissions desired => "abzuziehende" rechte)
editoren ----------------------------------------------------------------------------------------------------------- mcedit ... strg + o zurück
find
-----------------------------------------------------------------------------------------------------------
find ./ -name *Success* -exec ls {} \; > ~/temp/templates.txt
find config/ -type f -exec sed -i 's/\t/ /g' {} \; # ersetzt alls Tabs in config
find ./ -name "*.sql" -mtime +14 -exec rm -f "{}" ";"
find ./ -type d -exec du -h "{}" ";" | egrep ....
grafikkarte ----------------------------------------------------------------------------------------------------------- * lspci: Grafikkarte anzeigen !!
gnome-do ----------------------------------------------------------------------------------------------------------- gconf-editor > apps > gnome-do > preferences > core-preferences
gpg
- ———————————————————————————————————-
- generieren: gpg –gen-key
- exportieren: gpg –export -a foo-key > foo-key
- gpg –export-secret-key -a foo-key > foo-private-key für Gruppen oder mehrere Computer * importieren: gpg –import foo-public-key gpg –import –allow-secret-key-import foo-private-key * auflisten: gpg –list-keys (⇒ IDs für's Verschlüsseln …) * signieren: gpg –sign-key foobar-key (muss dafür einen eigenen key geben!?) – erst signieren, dann Skripte ausführen!
- encrypt: gpg –encrypt –armor –recipient 0559BEA0 foo.tar.gz
- decrypt: gpg –decrypt –output foo.tar.gz foo.tar.gz.asc
- ändern: gpg –edit-key foo-key (passwd) viele weitere Optionen * löschen: gpg –delete-key | –delete-secret-key | –delete-secret-and-public-key * refresh: gpg –rebuild-keydb-caches grep ———————————————————————————————————– * In basic regular expressions the metacharacters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions \?, \+, \{, \|, \(, and \). * grep –color=always -i -r „sfConfig::get[(]'[a-zA-Z0-9_-]\+'[)]“ apps/foobar/ hardware ———————————————————————————————————– * lshw laufwerke ———————————————————————————————————– * sudo hdparm /dev/hdb: schauen, ob CD-Rom-Laufwerk richtig läuft installationen ———————————————————————————————————– * /opt * /home/bin ipod ———————————————————————————————————– * amarok / manuell (musik) * gtkpod-aac (videos) mail ———————————————————————————————————– * cat foo | mail xx@bar.de -s „betreff“ -a „Content-Type: text/plain; charset=UTF-8“ * sudo dpkg-reconfigure exim4-config http://www.exim-new-users.co.uk/content/view/100/39/
- mailq: noch nicht versandte Mails auflisten
- postfix installieren
- sudo dpkg-reconfigure postfix
- Smarthost einrichten! Die wenigsten Provider nehmen heutzutage noch Mail von Dial-Up-Accounts an … * grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr mounten ———————————————————————————————————– * /etc/fstab: feste http://wiki.ubuntuusers.de/fstab
- /media: wechsel
- gconf-editor: ggf. Schlüssel löschen unter System Storage Volumes …
netzwerke ----------------------------------------------------------------------------------------------------------- * dhclient [eth17]: IP zuweisen // sudo * dig: dns lookup * dmesg: Fehlermeldungen ausgeben! * ifconfig: IPs ausgeben ... * ifconfig -a: Verbindungen mit Problemen auch anzeigen * iwlist scan: Scannen * mii-tools: Netzwerkverbindungen anzeigen (eth0, eth1 ...) // sudo * nslookup foo.bar: IP eines Hosts anschauen // nutzt den Standard-DNS; Browser nutzen Gateway * vnstat -tr: Geschwindigkeit messen * vnstat -w: Statistik pro Woche * /etc/init.d/networking restart * wireshark ! http://www.mister-wong.de/user/fzap/network/
packer ----------------------------------------------------------------------------------------------------------- * zip -r foo bar: packt Verzeichnis foo in bar.zip
paketmanager ----------------------------------------------------------------------------------------------------------- * auf dem Server mit aptiude arbeiten! lässt einen nicht allein .) genauso wie apt-get zu steuern! * sudo aptitude - Paketmanager für die cli - nach installierten Paketen suchen // deinstallieren dann lieber mit apt-get * sudo apt-get build-dep revelation && sudo apt-get -b source revelation: abh. Pakete installieren (?) * synaptics: backporting aktivieren => neueste pakete für kommende versionen in aktueller version installieren .)
parameter ----------------------------------------------------------------------------------------------------------- * $# = Anzahl der Parameter
path ----------------------------------------------------------------------------------------------------------- * echo $PATH * => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games * PATH=/home/theil/bin:$PATH * /home/theil/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games * export PATH
prozesse ----------------------------------------------------------------------------------------------------------- * htop * ps ax * ps --user www-data
ram ----------------------------------------------------------------------------------------------------------- * memtest // RAM
regexp ----------------------------------------------------------------------------------------------------------- kregexpeditor visual-regexp
remote desktop ----------------------------------------------------------------------------------------------------------- rdesktop -u Administrator -d INAUDITO -k fr -f -g 1430x880 -a 24 server2003.inaudito.de
rsync ----------------------------------------------------------------------------------------------------------- rsync -e "ssh -l foobar -p 1984" -r foobar@foobar.com:/var/www/vhosts/foobar.com/subdomains/staging/httpdocs/foobar/web/uploads web/ -e ssh: per SSH verbinden -e ssh -l heinz -p 17: per SSH mit User Heinz und Port 17 verbinden -a: archive mode (permissions, symbolik links, attributes, ownerships beibehalten) -r: rekursiv -v: verbose (einfache Ausgabe, sonst out_format -t: modification times beibehalten -z: komprimiert übertragen
Screencasts ----------------------------------------------------------------------------------------------------------- gtk-recordmydesktop
scp ----------------------------------------------------------------------------------------------------------- scp benutzerx@server1:datei1 datei2 benutzery@server2: -- nimmt jeweils die Homeverzeichnisse scp -pr -P 1984 foobar@foobar.com:/var/www/vhosts/foobar.com/subdomains/staging/httpdocs/foobar/web/uploads web -- Verzeichnis in den lokalen Webordner kopieren, preserve, recursive, Port (besser: rsync -e ssh)
Shellfarben ----------------------------------------------------------------------------------------------------------- To make the prompt red when you're running as root add this to /root/.bashrc: PS1="\[\e[31m\]\h:\w#\[\e[m\] " To make the prompt green when running as a normal user add this to ~/.bashrc: PS1="\[\e[32m\]\u@\h:\w\$\[\e[m\] " See the shell man page and search the web for ANSI Escape codes for more info on the meaning of the escape sequences.
signale ---------------------------------------------------------------------------------------------------------- * strg+d: exit
ssh ----------------------------------------------------------------------------------------------------------- * /etc/ssh/ssh_config
SSH-Keys ------------------------------------------------------------------------------------------------------ Verzeichnisse * private: ~/.ssh/id_dsa * public: ~/.ssh/authorized_keys
Generieren ! ssh-keygen -t dsa (ohne Passphrase!)
Publizieren * ssh-copy-id -i ~/.ssh/id_dsa.pub SSH_USER@SERVER ! ssh-copy-id -i ~/.ssh/id_dsa.pub "-p 1984 jobhacker@foobar.com" // Anführungzeichen ermöglichen SSH-Optionen
SSH-Key-Caching ------------------------------------------------------------------------------------------------------ keychain zum Cachen von Passphrases http://www.debian-administration.org/articles/209
tastatur ------------------------------------------------------------------------------------------------------ * http://ubuntuforums.org/showthread.php?t=79560&page=1 !! // xbindkeys und xbindkeys-config oder gconf-editor * gnome-keybinding-properties: vorgestellte Tastaturkürzel für Ubuntu * xev: Tastaturcodes anzeigen
xmodmap -pke > ~/.Xmodmap // file anlegen gedit ~/.Xmodmap // keys bearbeiten xmodmap ~/.Xmodmap // einlesen
xev // keycode herausfinden
AltGr kann z. B. als Multi_key verwendet werden =>
Sondertasten als F13, F14, F15, ... belegen und dann komfortabel mappen
nicht erkannte Tasten: sudo -s cd /dev/input/by-id/ cat ... => wenn's anspricht: ID erkennen, in Xorg.conf eintragen (siehe uw evdev), per xev auslesen und via xmodmap ummappen z. B. auf F17 und dann regulär mit Funktionen belegen
Scrollrad bei Tastatur: uw udev => Seriennummer fest symlinken ....... => /dev/..... in Xorg ... und so ....
terminal ------------------------------------------------------------------------------------------------------ * stty all (BSD) oder stty -a (III, IV): Steuerungstasten ausgeben * gnome-terminal --geometry=163x47+100+75 --hide-menubar: Geometrie :)
user + sudo ----------------------------------------------------------------------------------------------------------- * addgroup foo * adduser foo admin: --home für Homeverzeichnis (Default: /etc/adduser.conf !! - Einstellungen auch inq /usr/local/sbin/adduser.local) // sudo muss eingerichtet sein damit Aufnahme in sudoers funktioniert * apropos group * apropos sudo * getent group: alle Gruppen auflisten * getent passwd: alle Benutzer des Systems auflisten (fragt alle Quellen ab, z. B. /etc/passwd, LDAP) * gpasswd -a user gruppe: Benutzer eine Gruppe hinzufügen // in anderen Systemen: chgrp, groupmod * id fo * man sudo_root * su chris: als anderer Nutzer einloggen * sudoedit: als anderer Nutzer ausführen * sudoers: Liste * passwd: eigenes Passwort ändern * sudo passwd foo: Passwort von foo ändern * useradd foo: lowlevel, besser: adduser * usermod [option] foo: einem User Gruppen zuordnen, Home ändern, Passwortgültigkeit, Login ändern, Default-Shell // user modify * visudo => /etc/sudoers * su -l foo: als User foo einloggen, und zwar mit Umgebung .) user einer gruppe hinzufügen * usermod --groups=psacln,psaserv jobhacker # überschreibt bisherige Gruppenzugehörigkeiten! * groupmod -A foo www // Suse
variablen
-----------------------------------------------------------------------------------------------------------
* Ausgaben von Befehl bar in Variable $foo einlesen: foo=$(bar)
size=$(du -sk /home/chris/log/test.log | awk '{print $1}')echo
date=$(date +%Y%m%d_%k%M)
BRANCH_DIR=$(pwd)
$(date +%Y%m%d_%k%M) => 20080402_1330
- Substrings:
echo ${BRANCH_DIR:6:5}
version ----------------------------------------------------------------------------------------------------------- lsb_release -a
zeichenkodierung ----------------------------------------------------------------------------------------------------------- Die Zeichenfolge "äöüß" entspricht UTF-8 kodiert der Bytefolge "c3 a4 c3 b6 c3 bc c3 9f", als ISO-8859-1 kodiert hingegen der Bytefolge "e4 f6 fc df". * recode -l: bekannte auflisten * recode u8..l1 < input_foo > output_bar * recode -l foo.txt: Format anzeigen * file --mime foo: anzeigen * kate