Programming in Shell 1
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-PS1 | KZ | 5 | 2P+2C | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- 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/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor program Informatics, unspecified branch, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Security and Information Technology, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Computer Science, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Computer Engineering, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Information Systems and Management, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Web and Software Engineering, spec. Web Engineering, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, 2015-2020 (compulsory course in the program)
- Bachelor branch Knowledge Engineering, in Czech, 2018-2020 (compulsory course in the program)