TITLE(« Tell me and I forget. Teach me and I remember. Involve me and I learn. – Benjamin Franklin », __file__, «Advanced Problems in the Linux Environment») OVERVIEW(« This practical training course covers basic and advanced Unix and Linux topics. It targets scientists, programmers and system administrators. Readers will find plenty of material and exercises of varying difficulty. Move the pointer to the icon at the top left corner to open the navigation menu. ») SECTION(«Table of Contents») TABLE_OF_CONTENTS() SECTION(«About») ifelse(PUBLIC(), «true», «dnl public version of the pages

These pages were originally written to provide the necessary background for using the IT infrastructure of the Max Planck Institute for Developmental Biology and the Friedrich Miescher Laboratory in Tübingen, Germany. Over time they morphed into a generic document that was made public in December 2019.

The title is of course a pun on the famous book "Advanced Programming in the Unix Environment" by W. Richard Stevens. While Stevens' book centers around C programming, we try to convey fundamental ideas without assuming substantial programming skills. An elementary knowledge of shell and C programming is certainly helpful, though. We also put an emphasis on Linux, which was still in its infancy when Stevens' book was published in 1992.

All pages are served as static html files with no active contents. They do not require javascript, work with any browser and do not track the user in any way. In particular, we don't use cookies, there is no "like" button, and we do not employ any web analysis service like google analytics. Also, there are no advertisements of any kind.

SUBSECTION(«Exercises and Homeworks»)

The exercises generally try to encourage the reader to think about a specific topic rather than solve meaningless problems mechanically. Many exercises suggest to examine further literature. Longer or more challenging exercises are labelled as homework. Solutions to homework exercises are only provided if at least one person hands in a draft of a solution. To do so, send plain text email to Andre Noll.

SUBSECTION(«Feedback»)

These pages get updated when errors are found, contents become obsolete, or improvements are suggested. Feedback via the above mailto link is appreciated. Besides solutions of homework exercises, suggestions for additional topics or improvements of existing contents are welcome. Please also point out unclear wording, grammar mistakes and typos.

SUBSECTION(«License»)

This work is published under the GNU Free Documentation License (GFDL). You may copy, redistribute, and modify these pages but all copies and derivatives are required to be available under the same license.

SUBSECTION(«See Also»)

Go back to the author's home page.

», « dnl internal version: different Introduction and Motivation

These pages aim to provide the necessary background for using the IT infrastructure of the MPI for developmental biology and the FML. They complement the User guide, but are meant to be a practical training course rather than just a text document. While the contents of the user guide are relevant to almost every member of the institute, the primary target audience of the Unix course is scientists with an emphasis on IT. In particular, computer scientists who intent to use the compute cluster will find plenty of material of varying difficulty to learn basic and advanced topics related to Unix and Linux.

We first cover the general concepts of the Unix operating system while later chapters focus on Linux specific topics and selected command line tools. The exercises aim to convey understanding by inviting the reader to read background information and to think about the topic at hand. This is in contrast to many other tutorials which provide quick solutions to frequently asked questions, targeting users who do not wish to spend the time necessary to gain insight. Longer or more challenging exercises are labelled as homework.

Feedback is appreciated. In fact, significant changes to these pages are always triggered by the users asking questions. On one hand, this makes sure that new material stays relevant to the target audience. On the other hand, it also helps to fine-tune the degree of difficulty and the detail of the solutions. As a general rule, solutions to existing exercises are only provided if at least one person hands in a proposal. To do so, send plain text email to Andre Noll.

SECTION(«Motivation») A quick glance at the table of contents reveals that the topics of this course center around command line utilities rather than software which comes with a Graphical User Interface (GUI). While GUIs serve a purpose, especially for graphical tasks (image manipulation, presentation writing, etc.), they are harmful for scientific analysis. The remainder of this section explains why, and tries to convince the reader that although Command Line Interfaces (CLIs) can be scary in the beginning, learning how to use them is worth the work. SUBSECTION(«Why GUIs are harmful») SUBSECTION(«Advantages of CLIs») »)