Programming in Shell 1
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-PS1 | KZ | 5 | 2P+2C | Czech |
- Lecturer:
- Zdeněk Muzikář (guarantor), Jan Trdlička
- Tutor:
- Dana Čermáková, Zdeněk Muzikář (guarantor), Lukáš Bařinka, Jiří Borský, Viktor Černý, Otto Hollmann, Jakub Jančička, Jiří Kašpar, Michal Šoch, Jan Trdlička, Yelena Trofimova, Jakub Žitný
- Supervisor:
- Department of Computer Systems
- Synopsis:
-
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.
- Requirements:
-
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.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-PS1/
- Time-table for winter semester 2019/2020:
-
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 Fri Thu Fri - Time-table for summer semester 2019/2020:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Information Technology - Version for those who Enrolled in 2014 (in Czech) (compulsory course in the program)
- Information Systems and Management - Version for those who Enrolled in 2014 (in Czech) (compulsory course in the program)
- Bc. Programme Informatics, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bc. Branch Security and Information Technology, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bc. Branch Computer Science, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bc. Branch Computer Engineering, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bachelor Branch Information Systems and Management, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bachelor Branch Knowledge Engineering, in Czech, Version 2015, 2016 and 2017 (compulsory course in the program)
- Bachelor Branch WSI, Specialization Software Engineering, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bachelor Branch, Specialization Web Engineering, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bachelor Branch WSI, Specialization Computer Grafics, in Czech, Version 2015 to 2019 (compulsory course in the program)
- Bachelor Branch Knowledge Engineering, in Czech, Version 2018 to 2019 (compulsory course in the program)