wget http://wttr.in/Prague -O - | tee /tmp/wheather
quick recap - redirection
presentation cut
Practice teamwork!
create script documented_list.sh
at the beginning prepare dummy data
on the dummy data illustrate behaviour of ls options: -d, -i, -R, -r, -a, -A, -t
create script test_inode.sh
create file /tmp/YOUR_LOGIN/a using two commands and pipe
create symlink to the file in your home directory
list inode numbers of the target and symlink file
create file /tmp/YOUR_LOGIN/b
move it to your home directory but list the inode number before and after
create file /tmp/YOUR_LOGIN/c
copy the file to home and list inode again
create file /tmp/YOUR_LOGIN/d
create hardlink in the home directory
write a comment describing the output
create file and directory with permissions 000, 600, 700, 644, 755 what is the behaviour?
what is the corresponding rwxs representations?
create script forgery_YOURLOGIN.sh
Wait for explaining chown or read the man page
Ask your colleague to log to the same computer in the lab
change the owner of the forgery script to user user specified on the first argument
use your colleague name
write your colleague also a message that he will be accused of writing malicious scripts
what was the problem?
create a directory responses_YY-MM-DD-HH-MM/raw_responses for time stamping, make sure that the command has exit status 0.
Homework
create backup script backup.sh
the script takes two arguments: a file or a directory and a target directory
target directory may not exists, but it can
file or directory from first argument is copied to the target directory
change the permissions of the files in the target, so it is readable to everyone
not recursively, just the files directly in the target directory
change the permissions of the target directory and its subdirectories so everyone is able to browse it but not rename it, write to it, delete files from it
not recursively, just the direct subdirectories of the target directory
write the target directory size (in KB/MB/GB) in to stderr
demonstrate the usage of the script by backing up all dotfiles (files starting with dot) in your home directory to target directory ~/settings_YY-MM-DD
hints:
YY-MM-DD is a template for date format. For date March 11th 2016 it should look like 16-03-11. Have a look at the date command.
For repeated usage you have to “unlock” the target directory for writing again
For-loop may be useful for using the script multiple times