Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2018/2019

Programming in Shell 1

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-PS1 KZ 5 2+2
Lecturer:
Jan Trdlička (guarantor)
Tutor:
Jan Trdlička (guarantor)
Supervisor:
Department of Computer Systems
Synopsis:

Students become advanced and knowledgeable users of common operating system Linux or other UNIX-based operating system. They understand the fundamental principles of the operating systems (file systems, processes and threads, access rights, memory management, network interfaces). They gain the knowledge of advanced users, with hands-on experience of the shell, basic commands, and filters.

Requirements:

Elementary GUI interaction.

Syllabus of lectures:

- Introduction. Fundamental concepts. History and architecture of UNIX.

- Command line-shell, command and arguments processing, program exit-code.

- Variables.

- Shell control constructions.

- File system.

- Text filters and other useful commands.

- Regular expressions and their usage.

- Process identity.

- Access rights.

- Searching for files.

- Arithmetics.

- Compression and archiving.

- Processes and threads, IPC.

Syllabus of tutorials:

1. Introduction. GUI. Basic shell usage.

2. Shell command line processing.

3. Shell variables. Text editors.

4. Exit-status, expressions, condition evaluation, loops.

5. Management of files and directories.

6. Standard process inputs and outputs. Elementary filters.

7. Regular expressions, grep and sed commands.

8. Text transformations, awk command.

9. User identity, access rights, find command.

10. Data backup and data compression.

11. Processes and jobs.

12. Arithmetics.

13. Practical test.

Study Objective:

Students gain basic knowledge about operating systems, fundamental concepts in this area, and hands-on experience with UNIX at the level of an advanced user.

Study materials:

1. Cameron Newham. Learning the bash Shell: Unix Shell Programming. Third Edition. O'Reilly, 2005. ISBN: 978-0596009656.

2. Jon Lasser. Think UNIX. Que, 2000. ISBN 078972376X.

3. Bruce Blinn. Portable Shell Programming: An Extensive Collection of Bourne Shell Examples. Prentice Hall, 1995. ISBN: 978-0134514949.

4. Arnold Robbins, Nelson H.F. Beebe. Classic Shell Scripting. O'Reilly, 2005. ISBN: 978-0596005955.

Note:
Further information:
https://courses.fit.cvut.cz/BIE-PS1/
Time-table for winter semester 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
roomTH:A-s135
Trdlička J.
12:45–14:15
(lecture parallel1)
Thákurova 7 (FSv-budova A)
As135
roomT9:350
Trdlička J.
14:30–16:00
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC ucebna
roomT9:350
Trdlička J.
16:15–17:45
(lecture parallel1
parallel nr.102)

Dejvice
NBFIT PC ucebna
roomTH:A-1142
Trdlička J.
18:00–19:30
(lecture parallel1
parallel nr.103)

Thákurova 7 (FSv-budova A)
Apple lab
Fri
Thu
Fri
Time-table for summer semester 2018/2019:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-03-25
For updated information see http://bilakniha.cvut.cz/en/predmet3161206.html