[Linux] Screen

Hello there, this a 5 Minute Tutorial to screen.
What Screen is?
Well screen is an old unix / linux terminal programm with which you can create multiple virtual "screens".
You can switch between these screens and also can disconnect from them.
Especially useful: If you start an daemon within screen and disconnect from it,
you can reconnect anytime and see what its doing.
Or you can setup a screen session, detach and close your SSH.
If you reconnect, it will still be running.
Oh, and it will be also there and running if your connection drops.

My little list of important Screen Commands:

screen // Create a Screen
screen -ls // List active Screen sessions
screen -r // Resume Screen, if multiple, enter Screen Number from ls after r

CTRL A C - create new tab
CTRL A P - previous
CTRL A N - next
CTRL A D - detach from Screen

To close and exit a screen, just type exit within the screen session.
To start an script in the same folder "daemon like": screen -A -m -d -S SCREENSESSIONNAME ./SCRIPTNAME.sh

Easy, ain't it?

sed and awk Commandlist

sed -e :a -e 's/<[^>]*>//g;/</n;//ba'
(Entfernt Html)´

sed -e s/Stop.*$//
(Löscht Alles Nach Stop)

sed q
(Ausgabe Erste Zeile)

sed 's/[ \t]*$//'
Lösche Unsichtbare Zeichen (Leerzeichen, Tabulatoren) Vom Ende Aller Zeilen

sed 's/^[ \t]*//;s/[ \t]*$//'
Lösche Unsichtbare Zeichen Sowohl Am Anfang Als Auch Am Ende Jeder Zeile

sed '1d'
(Lösche Erste Zeile)

sed '$d'
(Lösche Letzte Zeile)

head -n -5
(löscht 5 letzten Zeilen)

sed 'n;n;s/\n/ /g'
(Fügt Drei Zeilen Die Untereinander Stehen Zusammen, Mit Leerzeichen)

sed '/pics[/]pix.gif/s/^/notRepl:
(fügt notRepl direkt an Anfang der Zeile hinzu wenn pic/pix.gif enthalten ist in der Zeile)

sed s/^.*http/http/
How Do You Delete The Text At The Beginning Of Every Line Until A Certain Word Using Sed?

sed -n '/Word1/,/Word2/p' File
(Gebe Alles Zwischen Word1 Und Word2 Aus)

grep -c Word File
(Zählt Wie Oft Das Wort Vorkommt)

tr -d '\015\032'
(Entfernt \n \t)

sed -e "/^ *$/d"
(Löscht Leerzeilen Aus Datei)

sed -e "s/[']&nbsp;//g"
(entfernt Ä&bnsp; am anfang)

sed 's/&nbsp;//g'
(entfernt &bnsp; am anfang)

echo -n
(ohne \n)

#! /bin/sh
test=2
test2='loginName='$test'&pass=
echo $test2
(Variable)

./wkw.sh loginname passwort
-d 'loginName='$1'&pass='$2'&x=0&y=0&logIn=1'
(Übergabe)

#! /bin/sh
if test -f tmp_sg_test > 0
then
echo "yes"
else
echo "no"
fi
(Existiert Datei?)

sed -e 's/[\]//'
(lösche \ am Ende)

sort
(sortiert)

uniq
(wenn sortiert alle zeilen untereinander löscht es doppelte zeilen)

grep
(-A anzahl zeilen nach match, -B anzahl zeilen bevor match)

sed -e 's/<\/a><\/li><li>/test/g'
(</a></li><li>)

var1=$(echo $1 | sed s/@/%40/g)
(wandelt $1 email in unicode um in $var1)

| sed s/ä/ä/g | sed s/ö/ö/g | sed s/ü/ü/g
(ä und ö und ü ändern)

#! /bin/sh
while [ "$1" ]; do
echo "$1"
shift
done
( parameterübergabe ans skript: ein parameter nach dem nächsten abarbeiten)

date '+%y/%m/%d %H:%M:%S'
(Ausgabe Jahr, Monat, Tag, Stunde, Minute, Sekunde)

test.sh
#! /bin/sh
. config.var
name=animexx
echo $tmp$name
tmp=$tmp$name
echo $tmp
echo $client

config.var
tmp=./tmp/tmp_
client='"Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)"'
( config file mit zentralen parametern aus config.var )

VARIABLE=`date +"%y%m%d"`
Die ` sind Backticks, also Umschalt+Taste neben Backspace auf einer deutschen Tastatur.
Einfacher zu lesen und zu schreiben ist die $() Variante: VARIABLE=$(date +"%y%m%d")

while read line
do
echo $line
done < mydatafile
(read file line by line and DO echo them)

sed -e 's/.\{7\}$//'
( letzten 7 zeichen loeschen )