$ cd /usual/path/to/work/on/projectx
$ screen -R projectx
$ tail -f my.log
ctrl-a c
$ less config.sh
gimme a new window
Hm... what's in config.sh?
Gimme a new window!
Slide 3
Slide 3 text
gimme a new window
gimme a new window
gimme a new window
gimme a new window
gimme a new window
$ tail -f /some/log
ctrl-a c
$ less /some/file
ctrl-a c
$ man some_doc
ctrl-a c
gimme another window
ctrl-a is the command key
c stands for create window
Slide 4
Slide 4 text
ctrl-a n
ctrl-a p
ctrl-a w
Next window
Previous window
Window list
next prev window
C-a p C-a n
C-a p C-a n
Slide 5
Slide 5 text
detach/reattach
I want to get out!
I want to go back!
Terminal crashed!
My sessions?
# detach
ctrl-a d
# reattach
$ screen -R label
# detach and reattach
$ screen -R label -D
$ screen -ls
Slide 6
Slide 6 text
ctrl-a ?
Slide 7
Slide 7 text
search history with ctrl-r
...I want that for loop I
used a while ago...
ctrl-r and type "for"
ctrl-r again...
ctrl-r again...
$ history | grep for
362 for i in *; do mv "$i" "
-t us-ascii//translit)" -v; don
364 for i in *; do mv "$i" "
us-ascii//translit)" -v; done
(reverse-i-search)
`for': history |grep
for
(reverse-i-search)`for': for i in *; do
mv "$i" "$(echo $i | iconv -f utf-8 -t
us-ascii//translit)" -v; done
(reverse-i-search)`for': for i in *; do
mv "$i" "$(echo $i | iconv -f iso8859-1
-t us-ascii//translit)" -v; done
Slide 8
Slide 8 text
ctrl-w
ctrl-k
ctrl-y
ctrl-c
Delete last word
Delete until line end
Paste deleted stuff
Cancel entire line
editing quickly
Slide 9
Slide 9 text
ctrl-a
ctrl-e
Jump to line start
Jump to line end
moving quickly
ctrl-a a inside screen
Slide 10
Slide 10 text
man bash
Search for: "READLINE"
"Commands for Moving"
"Commands for Changing Text"
Slide 11
Slide 11 text
/error
n
N
g
G
Search for "error"
Next match
Previous match
Jump to first line
Jump to last line
moving quickly in less
Slide 12
Slide 12 text
m a
' a
-i
:n
Mark line in register "a", "b"
Jump to register "a", "b"
Toggle case sensitive search
Go to next file
moving quickly in less
m b
' b
Slide 13
Slide 13 text
h
Slide 14
Slide 14 text
mail it to me
# mail me the relevant stuff
$ grep stuff /var/log/messages | mailx -s
"stuff from logs" [email protected]
# mail me the whole file
$ uuencode /var/log/messages messages.
txt | mailx -s "system logs on $HOST"
[email protected]
Slide 15
Slide 15 text
# after the loooong task, mail me
$ rsync --progress /disk1/iso/*
/disk2/iso/; ls -lha /disk2/iso/ |
mailx -s "copy isos done"
[email protected]
mail me when finished
Slide 16
Slide 16 text
# infinite loop until file appears and then mail me
$ while :; do date; test -f file.txt &&
break; sleep 300; done; ls -lh file.
txt | mailx -s "file appeared"
[email protected]
mail me when file appears
Slide 17
Slide 17 text
# infinite loop until matching line appears and then mail me
$ while :; do date; grep pattern
/path/to/log && break; sleep 300;
done; { date; grep -B50 -A50
pattern /path/to/log; } | mailx -s
"log snippet" [email protected]
mail me when log matches
Slide 18
Slide 18 text
$ openssl des3 < secret.bin > secret.bin.des3
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:
$ openssl des3 -d < secret.bin.des3 > decrypted.bin
enter des-ede3-cbc decryption password:
$ cmp secret.bin decrypted.bin
$
# empty output means the two files are identical
encrypt and decrypt simply