Ich möchte eine Logoutmeldung anzeigen:
echo "und Tschüss" >> ~/.bash_logout
letztes Argv aus der Bash holen:
<ALT>+.
einen Befehl alle 5 sekunden ausführen:
watch -n5 ls
Mailwatching:
watch -n 60 from
Verzeichnisänderungen:
watch -d ls -l
Ausgabe der Konsole1 anzeigen lassen, dass ist interessant, wenn andere Benutzer auf dem rechner angemeldet sind:
cat /dev/vcs1#oder /dev/vcsa1
Befehl make mit niedriger Priorität ausführen:
nice -n 10 make
Befehl date 50 mal aufrufen:
for i in `seq 1 50`; do echo $i;date;done
Zahlen von 1 bis 50 ausgeben:
seq 1 50
Zahlen von 1 bis 2 in 0,1-Schritten ausgeben:
seq 1 0.1 2
ton ausgeben:
beep oder printf "\a"
Hexzahlen ausgeben:
printf %x"\n" 4711
Eingaben überwachen:
script -q
Pruefen ob eine Datei existiert und lesbar ist:
test -r "/etc/datei.conf"
Pruefen ob Datei a.log neuer ist als Datei b.log:
test a.log -nt b.log
oder
test a.log -nt b.log && echo "a ist neuer" || echo "b ist neuer"
oder
[ datei1 -nt datei2 ] ; echo $?
zwei Bedingungen(schreibbar + Datei) auf eine Datei testen:
[[ ( -f "datei" ) && ( -w "datei" ) ]] && echo "datei ist von mir schreibbar"
Konvertiere eine Dezimalwert in einen Hexwert:
printf '%x\n' 255
Konvertiere einen Hexwert in einen Dezimalwert:
printf '%d\n' 0xff
Alle txt-Dateien in asc umbenennen:
for i in *.txt; do mv "$i" "${i/.txt}".asc;done
Alle txt-Dateien mittels sed in asc umbenennen:
ls *txt|sed 's/\(.*\)\.txt/mv \1.txt \1.asc/'|sh
Letzten Befehl aus der History löschen:
history -d $((HISTCMD-1))
Historydateien nicht erstellen:
Erst alle /home/benutzer/.bash_history Dateien löschen.
Dann neue Historydateien verhindern:
echo "unset HISTFILE" >> /etc/profile
Deutsches Tastaturlayout laden:
loadkeys de-latin1
oder:
loadkeys de-latin1-nodeadkeys
oder nur in X:
setxkbmap -model pc104 -layout de
oder dauerhaft in debian festlegen:
dpkg-reconfigure console-data
Dateien eines Verzeichnisse in Kleinschrift umwandeln (Vorsicht bei sonst gleichen Namen:datei1,Datei1;da wird eine gelöscht):
ls | awk '{print "mv "$0" "tolower($0)}' | sh
alle Dateien zwischen 512 und 578 ausgeben:
ls datei{512..578}.mpg
die Länge eines (z.B. $PATH) Strings ausgeben:
echo ${#PATH}
eigene IP-Adresse in eine Variable „IP“ einlesen:
IP=`ifconfig | grep Bcast|cut -d : -f2 | cut -d " " -f1` echo $IP
Eine Textdatei auslesen und was mit den einzelnen Zeilen machen:
for i in `cat datei.txt` ; do echo $i; done
systemweites automatisches Ausloggen nach 60 Minuten konfigurieren:
Einen Eintrag in der /etc/profile vornehmen:
export TMOUT=3600
diesen Timeout für einen einzelnen Benutzer deaktivieren:
Einen Eintrag in der ~/.profile vornehmen:
export TMOUT=0
Programmverzeichnis ermitteln:
(schneller als prgdir=$(dirname $0)
)
echo ${0%/*}
Programm- oder Scriptname ermitteln
(schneller als prgname=$(basename $0)
)
echo ${0##*/}
Funktionstasten mit Befehlen belegen:
<Bild hoch>-Taste mit cd ..
belegen:
bind '"\e[5~":"cd .."'
<Alt>+<h>-Taste mit history
belegen:
bind '"\eh":"history"'
<F1>-Taste mit exit
belegen:
bind '"\e[[A":"exit"'
Hintergrundfarbe des terminals ändern:
echo -e "\E[44m" clear
nur Unterverzeichnisse in /home
anzeigen:
ls -d /home/*/
finde alle Dateien die seit gestern geändert wurden:
find . -mtime -1
finde alle Textdateien und lösche sie nach einzelne Rückfrage
find $HOME/. -name *.txt -ok rm {} \;
erzeuge Pseudozufallszahlen
shuf -i 100000-999999 -n 1 od -An -N2 -i /dev/urandom
führe schnell mal alle 60 Sekunden ein skript aus
while true; do myscript.sh && sleep 60; done