Programming in Shell 1

The course is not on the list Without time-table
Code Completion Credits Range Language
BI-PS1 KZ 5 2P+2C Czech
Garant předmětu:
Department of Computer Systems

Students become knowledgeable users of common Unix-like operating systems. 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 to process various text data.


Elementary GUI interaction. The ability to learn new ways of thinking.

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 essential knowledge about operating systems and their fundamental concepts, and become advanced users in using the standard system tools. Successful students will be ready to study operating system internal structures, OS administration, and also advancen shell programming and programming in other scripting languages.

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.

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-06-16
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet3135306.html