introduction to linux - c4scdn.ch · introduction to linux scitas.epfl.ch september 10, 2018 ...
TRANSCRIPT
![Page 1: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/1.jpg)
Introduction to Linux
scitas.epfl.ch
September 10, 2018
http://go.epfl.ch/
intro-linux-ex
![Page 2: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/2.jpg)
What is Linux
Just for fun
1991 Linus Torvalds starts Linux “for fun”
“I’m doing a (free) operating system (justa hobby, won’t be big and professional likegnu) for 386(486) AT clones.”
What is a Linux distribution
Linux Kernel + softwares
Desktop distributions: windowing system (X11) + desktopmanager (GNOME, KDE), package manager, service manager
Common distributions: Debian, Ubuntu, Redhat, Arch, ...
1 / 1
![Page 3: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/3.jpg)
Where can you find Linux
Supercomputers Smartphones
Other numbers
Desktop: 3.37%
Servers (web): 37%
Servers (mainframe): 28%
Embedded: 29.44%
2 / 1
![Page 4: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/4.jpg)
Login
First step: get a shell
Shell: user interface to the operating system’s services
Start a shell on your local machine
Connect to a remote machine to get a shell
SSH: Secure SHell
Windows
Git Bash
Putty
Tunnelier
Unix like
Start a terminal
3 / 1
![Page 5: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/5.jpg)
Login: Windows
Putty Tunnelier
<hostname>
<username>
4 / 1
![Page 6: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/6.jpg)
Login: Mac OS
Terminal
ssh -l <username> <hostname>
5 / 1
![Page 7: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/7.jpg)
Some usefull commands
ls list files
cd change directorypwd path of the current directory
man get help on commandsapropos search for a command and print a brief description
echo print the arguments in the terminal
6 / 1
![Page 8: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/8.jpg)
Exercise 1: First commands
Questions:
Connect to the remote machine fidis.epfl.ch .
Check your current folder and your files.
Check the help of ls (Q to quit).
> pwd
> ls
> man ls
7 / 1
![Page 9: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/9.jpg)
Exercise 1: First commands
Questions:
Connect to the remote machine fidis.epfl.ch .
Check your current folder and your files.
Check the help of ls (Q to quit).
> pwd
> ls
> man ls
7 / 1
![Page 10: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/10.jpg)
Exercise 1: First commands
Questions:
Connect to the remote machine fidis.epfl.ch .
Check your current folder and your files.
Check the help of ls (Q to quit).
> pwd
> ls
> man ls
7 / 1
![Page 11: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/11.jpg)
File structure
“On UNIX everything is a file”
Directories files that are lists of other filesSpecial files files for input/output mechanisms
Links way to make files visible in different partsof the file system
Sockets, way to communicate between processesnamed pipes
8 / 1
![Page 12: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/12.jpg)
File structure
Standard directories
/etc System configurations files/boot Boot files, kernel and boot loader/home User accounts/usr Software, libraries, documentations, for user programs/var Variables files such as log files, mail queues, databases/opt Third-party and extra softwares
Virtual directories
/dev Peripheral hardware related files/proc Informations about processes/sys Informations about the kernel
9 / 1
![Page 13: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/13.jpg)
Tree view
/
etc/ usr/
bin/ lib/
home/
user1/
Download/ Desktop/
user2/
10 / 1
![Page 14: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/14.jpg)
Exercise 2: Directory structure
Questions:
Show directory structure under the root folder
Change directory to the root folder and list the content
> ls /
> cd /
> ls
11 / 1
![Page 15: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/15.jpg)
Exercise 2: Directory structure
Questions:
Show directory structure under the root folder
Change directory to the root folder and list the content
> ls /
> cd /
> ls
11 / 1
![Page 16: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/16.jpg)
Exercise 2: Directory structure
Questions:
Show directory structure under the root folder
Change directory to the root folder and list the content
> ls /
> cd /
> ls
11 / 1
![Page 17: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/17.jpg)
Relative/absolute path
/
etc/ usr/
bin/ lib/
home/
user1/
Download/ Desktop/ . ..
user2/
/home/user1/Desktop
./Desktop
12 / 1
![Page 18: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/18.jpg)
Relative/absolute path
/
etc/ usr/
bin/ lib/
home/
user1/
Download/ Desktop/ . ..
user2/
/home/user1/Desktop
./Desktop
12 / 1
![Page 19: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/19.jpg)
Relative/absolute path
/
etc/ usr/
bin/ lib/
home/
user1/
Download/ Desktop/ . ..
user2/
/home/user1/Desktop
./Desktop
12 / 1
![Page 20: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/20.jpg)
Relative/absolute path
/
etc/ usr/
bin/ lib/
home/
user1/
Download/ Desktop/ . ..
user2/
/home/user1/Desktop
./Desktop
12 / 1
![Page 21: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/21.jpg)
Exercise 3: Relative/absolute path
Questions:
Try the command ls -a
List the parent folder of your home
List the root folder with a relative path
To what correspond the folder ../././..
> ls ../
> ls ../../
> cd ../././..
> pwd
13 / 1
![Page 22: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/22.jpg)
Exercise 3: Relative/absolute path
Questions:
Try the command ls -a
List the parent folder of your home
List the root folder with a relative path
To what correspond the folder ../././..
> ls ../
> ls ../../
> cd ../././..
> pwd
13 / 1
![Page 23: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/23.jpg)
Exercise 3: Relative/absolute path
Questions:
Try the command ls -a
List the parent folder of your home
List the root folder with a relative path
To what correspond the folder ../././..
> ls ../
> ls ../../
> cd ../././..
> pwd
13 / 1
![Page 24: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/24.jpg)
Exercise 3: Relative/absolute path
Questions:
Try the command ls -a
List the parent folder of your home
List the root folder with a relative path
To what correspond the folder ../././..
> ls ../
> ls ../../
> cd ../././..
> pwd
13 / 1
![Page 25: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/25.jpg)
File creation/suppression commands
cp copy filesmv move/rename filesrm remove file caution no trash
mkdir create a folder
cat print the content of file, used to concatenate
touch update the date of a file, used to create empty files
tail/head print the end/beginning of a file
more/less print the content of a file “more or less the same”grep search a string in a file
find find a file
file the type of file based on content
14 / 1
![Page 26: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/26.jpg)
Exercise 4: File handling commands
Questions:
Test the different commands (do not forget you can check thehelp with man <command> )
Create a directory named exercise linux
Copy the file CodingStyle from /ssoft/playground/richartinto the exercise linux folder
Check the content of this file
Print the last 3 lines
Find the lines containing the world “coding” independently ofthe case
Rename the file as KernelCodingStyle
Copy the folder exercise linux to exo linux
Remove the folder exercise linux
15 / 1
![Page 27: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/27.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 28: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/28.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 29: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/29.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 30: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/30.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 31: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/31.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 32: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/32.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 33: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/33.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 34: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/34.jpg)
Answer to exercise 4
> mkdir exercise_linux
> cd exercise_linux
> cp /ssoft/playground/richart/CodingStyle .
> less CodingStyle
> tail -n3 CodingStyle
> grep -n --color -i coding CodingStyle
> mv CodingStyle KernelCodingStyle
> cd ..
> cp -r exercise_linux exo_linux
> rm -r exercise_linux
16 / 1
![Page 35: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/35.jpg)
File permissions
Possible permissions
Partial results of the command ls -l CodingStyle
- rw- r-- r-- richart scitas-ge CodingStyle
u User permissions
g Group permissions
o Other users permissions
rwx/--- explanations
- or 0 Permission not grantedr or 4 Read/List permissionw or 2 Write/Create permissionx or 1 Execute/Traverse permission
17 / 1
![Page 36: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/36.jpg)
Permission commands
chmod change permissionschgrp change main group
chown change ownershipnewgrp login with a new group as main group
id print user and group ids
chmod details
chmod [ugoa][+-=][rwxXst] files
chmod octal filesexample: u=rw,go=r equivalent to 644
18 / 1
![Page 37: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/37.jpg)
Exercise 5: Permissions
Questions:
Print your ids
Check the permissions of your home folders
Change the the default group of the fileKernelCodingStyle to hpc-cluster-users
Remove the list permission on exo linux
Try to list the exo linux folder of someone that ascompleted the previous step
19 / 1
![Page 38: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/38.jpg)
Answer to exercise 5
> id
> ls -l
> chgrp hpc-cluster-users exo_linux/KernelCodingStyle
> chmod go-r exo_linux
> ls -l /home/richart/exo_linux
> ls -l /home/richart/exo_linux/KernelCodingStyle
20 / 1
![Page 39: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/39.jpg)
Answer to exercise 5
> id
> ls -l
> chgrp hpc-cluster-users exo_linux/KernelCodingStyle
> chmod go-r exo_linux
> ls -l /home/richart/exo_linux
> ls -l /home/richart/exo_linux/KernelCodingStyle
20 / 1
![Page 40: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/40.jpg)
Answer to exercise 5
> id
> ls -l
> chgrp hpc-cluster-users exo_linux/KernelCodingStyle
> chmod go-r exo_linux
> ls -l /home/richart/exo_linux
> ls -l /home/richart/exo_linux/KernelCodingStyle
20 / 1
![Page 41: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/41.jpg)
Answer to exercise 5
> id
> ls -l
> chgrp hpc-cluster-users exo_linux/KernelCodingStyle
> chmod go-r exo_linux
> ls -l /home/richart/exo_linux
> ls -l /home/richart/exo_linux/KernelCodingStyle
20 / 1
![Page 42: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/42.jpg)
Answer to exercise 5
> id
> ls -l
> chgrp hpc-cluster-users exo_linux/KernelCodingStyle
> chmod go-r exo_linux
> ls -l /home/richart/exo_linux
> ls -l /home/richart/exo_linux/KernelCodingStyle
20 / 1
![Page 43: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/43.jpg)
Permissions: the special case of root
The root account
It’s a special account, to which regular permissions do notapply
Used to administer the system
Should only be used to install trusted software
Preferably via the sudo command
21 / 1
![Page 44: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/44.jpg)
More about Shell
Different shells: sh, bash, csh, tcsh, zsh, etc.
For EPFL account: https://cadiwww.epfl.ch/cgi-bin/accountprefs/
In general echo $SHELL
What is happening when you run a command
Expansions
Redirection
Execution
Key shortcuts
Tab auto-complete(up) go back in the command history
(down) go down in the command historyCtrl-r reverse search in the historyCtrl-d exit the shell
22 / 1
![Page 45: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/45.jpg)
Expansions
Accolade: {a{b,c},d} −→ ab ac d
Tilde: ~richart/ −→ /home/richart
Variables: export FOO=bar $FOO −→ bar
Command: $(command) −→ result of command
Split spaces: arg1 arg2 arg3 the quoted arguments are notsplit
Path: * matches any string
? matches any single character
[...] matches any character in the brackets
TIP: use echo <command> to test your expansions
23 / 1
![Page 46: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/46.jpg)
Exercise 6: Expansions
Questions:
Try the command touch file{0,1,2}{0,1,2,3,4,5}.logList your home folder with a tilde expression
Set a variable FOO to the content of your choice and print itscontent
Try the commands:
touch foo bar
touch "foo bar"export BROL=brol
touch "foo bar $BROL"
touch ’foo bar $BROL’
List all file of the form file<number>.log
List the files file<number>.log where <number> is anynumber with last digit 2,3 or 4
Remove the previous files using the results of the ls command24 / 1
![Page 47: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/47.jpg)
Answer to exercise 6
> ls ~/
> export FOO="the content of my choice"
> echo $FOO
The second command create a file name containing a space thatcan be escaped with \
> rm foo\ bar foo bar foo\ bar\ \$BROL foo\ bar\ brol
> ls file*.log
> ls file{2..4}.log
> rm $(ls file*.log)
25 / 1
![Page 48: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/48.jpg)
Answer to exercise 6
> ls ~/
> export FOO="the content of my choice"
> echo $FOO
The second command create a file name containing a space thatcan be escaped with \
> rm foo\ bar foo bar foo\ bar\ \$BROL foo\ bar\ brol
> ls file*.log
> ls file{2..4}.log
> rm $(ls file*.log)
25 / 1
![Page 49: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/49.jpg)
Answer to exercise 6
> ls ~/
> export FOO="the content of my choice"
> echo $FOO
The second command create a file name containing a space thatcan be escaped with \
> rm foo\ bar foo bar foo\ bar\ \$BROL foo\ bar\ brol
> ls file*.log
> ls file{2..4}.log
> rm $(ls file*.log)
25 / 1
![Page 50: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/50.jpg)
Answer to exercise 6
> ls ~/
> export FOO="the content of my choice"
> echo $FOO
The second command create a file name containing a space thatcan be escaped with \
> rm foo\ bar foo bar foo\ bar\ \$BROL foo\ bar\ brol
> ls file*.log
> ls file{2..4}.log
> rm $(ls file*.log)
25 / 1
![Page 51: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/51.jpg)
Answer to exercise 6
> ls ~/
> export FOO="the content of my choice"
> echo $FOO
The second command create a file name containing a space thatcan be escaped with \
> rm foo\ bar foo bar foo\ bar\ \$BROL foo\ bar\ brol
> ls file*.log
> ls file{2..4}.log
> rm $(ls file*.log)
25 / 1
![Page 52: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/52.jpg)
Answer to exercise 6
> ls ~/
> export FOO="the content of my choice"
> echo $FOO
The second command create a file name containing a space thatcan be escaped with \
> rm foo\ bar foo bar foo\ bar\ \$BROL foo\ bar\ brol
> ls file*.log
> ls file{2..4}.log
> rm $(ls file*.log)
25 / 1
![Page 53: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/53.jpg)
Redirection
process
processstdin (0)stdout (1)
stderr (2)
process > file.out
processstdin (0)stdout (1)
stderr (2)
file.out>
process 2> file.err
processstdin (0)stdout (1)
stderr (2) file.err2>
26 / 1
![Page 54: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/54.jpg)
Redirection
process1 | process2
process1stdin (0)
stdout (1)
stderr (2)
| process2stdin (0)
stdout (1)
stderr (2)
process > file.out 2>&1
processstdin (0)stdout (1)
stderr (2)
file.out> file.out2>&1
27 / 1
![Page 55: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/55.jpg)
Exercise 7: Redirection
Questions:
Redirect the content of the date command in the date.log
file
Count the number of words generated by the command datewith the help of the command wc
Redirect the error output for the command ls / tmp
> date > date.log
> date | wc -w
> ls / tmp 2> errors
28 / 1
![Page 56: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/56.jpg)
Exercise 7: Redirection
Questions:
Redirect the content of the date command in the date.log
file
Count the number of words generated by the command datewith the help of the command wc
Redirect the error output for the command ls / tmp
> date > date.log
> date | wc -w
> ls / tmp 2> errors
28 / 1
![Page 57: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/57.jpg)
Exercise 7: Redirection
Questions:
Redirect the content of the date command in the date.log
file
Count the number of words generated by the command datewith the help of the command wc
Redirect the error output for the command ls / tmp
> date > date.log
> date | wc -w
> ls / tmp 2> errors
28 / 1
![Page 58: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/58.jpg)
Exercise 7: Redirection
Questions:
Redirect the content of the date command in the date.log
file
Count the number of words generated by the command datewith the help of the command wc
Redirect the error output for the command ls / tmp
> date > date.log
> date | wc -w
> ls / tmp 2> errors
28 / 1
![Page 59: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/59.jpg)
Execution
Execution generate a new process
A process is identified by a pid
Can be run in foreground or background ( & )
Commands
ps list the running processesjobs list the jobs running in the current shell
kill kill processesbg resume jobs in backgroundfg resume jobs in foreground
Key shortcuts
Ctrl-c kill the current job in foregroundCtrl-z suspend the current job in foreground
29 / 1
![Page 60: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/60.jpg)
Exercise 8: Execution
Questions:
Run the command (sleep 30; echo Slept well)
Run the command (sleep 30; echo Slept well)&
Now you have 30 seconds to check the pid with ps
If you still have spare seconds kill the process before it printon screen
30 / 1
![Page 61: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/61.jpg)
Command line editors: nano vi emacs
nano
Ctrl-o to save file
Ctrl-x to quit
vi
command mode and edition mode
i to insert, esc to go back to command mode
:wq to save and quit
:q! to force quit
emacs
Ctrl-x Ctrl-s to save file
Ctrl-x Ctrl-c to quit
31 / 1
![Page 62: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/62.jpg)
Exercise 9: Execution
Questions:
Try this editors
nanovimemacs
32 / 1
![Page 63: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/63.jpg)
Shell scripts
What is it
It is a file containing a list of commands to execute in order
Can contain loops (for, while), conditions (if)
Often start with interpreter information #!/bin/bash
Example of bash script
~/.bashrc
cluster job script
33 / 1
![Page 64: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/64.jpg)
Exercise 10: Shell scripts
Questions:
Write a script that print Hello World, wait 2seconds andthen print the date
Make your script executable
Run it
hello.sh#!/bin/bash
echo Hello World
sleep 2
date
> chmod +x ./hello.sh
> ./hello.sh
34 / 1
![Page 65: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/65.jpg)
Exercise 10: Shell scripts
Questions:
Write a script that print Hello World, wait 2seconds andthen print the date
Make your script executable
Run it
hello.sh#!/bin/bash
echo Hello World
sleep 2
date
> chmod +x ./hello.sh
> ./hello.sh
34 / 1
![Page 66: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/66.jpg)
Exercise 10: Shell scripts
Questions:
Write a script that print Hello World, wait 2seconds andthen print the date
Make your script executable
Run it
hello.sh#!/bin/bash
echo Hello World
sleep 2
date
> chmod +x ./hello.sh
> ./hello.sh
34 / 1
![Page 67: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/67.jpg)
Exercise 10: Shell scripts
Questions:
Write a script that print Hello World, wait 2seconds andthen print the date
Make your script executable
Run it
hello.sh#!/bin/bash
echo Hello World
sleep 2
date
> chmod +x ./hello.sh
> ./hello.sh
34 / 1
![Page 68: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/68.jpg)
Transferring files: SFTP clients
Filezillahttps://filezilla-project.org
Cyberduckhttps://cyberduck.io/
35 / 1
![Page 69: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/69.jpg)
X11 Forwarding
Windows
Install XMing http://sourceforge.net/projects/xming/ or XWin32(distrilog)
Mac OS
Install XQuartz http://xquartz.macosforge.org/landing/, MacPort orHomebrewConnect with ssh -Y <username>@<hostname>
36 / 1
![Page 70: Introduction to Linux - c4scdn.ch · Introduction to Linux scitas.epfl.ch September 10, 2018 intro-linux-ex](https://reader034.vdocuments.mx/reader034/viewer/2022051107/60380cb576a05f7ed72086ab/html5/thumbnails/70.jpg)
Sources
Wikipedia: http://en.wikipedia.org/
History of LinuxUsage share of operating systemsMobile operating system
DistroWatch: http://distrowatch.com/
The Linux Documentation Project
37 / 1