From 8f1bbe31ecc0f7a28cb005b21e1a391d6aa97c85 Mon Sep 17 00:00:00 2001 From: Bert Van Vreckem Date: Wed, 4 Sep 2024 14:35:36 +0200 Subject: [PATCH] Add Introduction to Linux book, contents of Computer Systems at HOGENT --- books/introlinux/01_colophon.md | 14 +++++++ books/introlinux/02_abstract.md | 36 ++++++++++++++++++ books/introlinux/info.yml | 66 +++++++++++++++++++++++++++++++++ lib/publish.sh | 2 +- templates/site/index.md | 1 + 5 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 books/introlinux/01_colophon.md create mode 100644 books/introlinux/02_abstract.md create mode 100644 books/introlinux/info.yml diff --git a/books/introlinux/01_colophon.md b/books/introlinux/01_colophon.md new file mode 100644 index 0000000..395106b --- /dev/null +++ b/books/introlinux/01_colophon.md @@ -0,0 +1,14 @@ +\textcolor{white}{.} + +\vfill + +Feel free to contact the author(s): + +- Paul Cobbaut (Netsec BVBA): , +- Bert Van Vreckem (HOGENT): + +Copyright 2007-2024 Netsec BVBA, Paul Cobbaut + +This copy was generated on \today. + +Permission is granted to copy, distribute and/or modify this document under the terms of the **GNU Free Documentation License**, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled 'GNU Free Documentation License'. diff --git a/books/introlinux/02_abstract.md b/books/introlinux/02_abstract.md new file mode 100644 index 0000000..06c3388 --- /dev/null +++ b/books/introlinux/02_abstract.md @@ -0,0 +1,36 @@ +# Abstract {.unnumbered} + +This book covers the topics introduced in the course "Computer Systems" for the Bachelor of Applied Computer Science at the HOGENT, Belgium. The course consists partly of a basic introduction to the Linux operating system. This book is not the official handbook of that course, but is targeted at students who need a refresher on the topics covered. + +The content is based on the [Linux Training](https://linux-training.be) book series by Paul Cobbaut, with updates and additions written by the HOGENT Linux team. + +More information and free .pdf available at . + +## Conventions used + +The contributors to this work have taken great care that the examples with command line interactions are correct and work as expected. However, sometimes the output of a command may differ slightly from the examples in this book. This can be due to differences in the version of the software, the operating system, the environment in which the command is executed, or the specific state of the system at the time of execution. + +Some Linux distributions may have commands that behave differently than their counterparts in other distributions. This is especially true for the package management commands. + +Command line examples are shown in a monospaced font with a prompt that indicates the user and hostname in the form `user@hostname:current_directory$`. For example: + +```console +student@debian:~$ ls +root@linux:~# ls +``` + +We follow the following conventions: + +- Regular user vs root: + - A regular user prompt is shown as `$`, the user name is generally `student`. + - A root prompt (with elevated privileges) is shown as `#`. +- The linux distribution is indicated by the host name: + - If the command should work on any Linux distribution, the hostname is `linux`. + - If the command is specific to a certain distribution, the hostname is the name of that distribution, e.g. `debian`, `ubuntu`, `rhel`, etc. + - If you see `el` as the host name (short for Enterprise Linux), you can assume that it was tested on an [Alma Linux](https://almalinux.org) machine and that it should work on any Red Hat-based distribution. +- Commands that are run on a prompt that is not necessarily a Linux system (e.g. you're running Linux in a VM on a Windows host) are shown with a generic `>` prompt, e.g. `> winget install Git.Git`. + +## Reporting errors + +Did you find an error in this book, or is the output of a command considerably different from what is shown? Please report it by creating an issue on the [linux-training-hogent GitHub repository](https://github.com/HoGentTIN/linux-training-hogent/issues). + diff --git a/books/introlinux/info.yml b/books/introlinux/info.yml new file mode 100644 index 0000000..888ccc0 --- /dev/null +++ b/books/introlinux/info.yml @@ -0,0 +1,66 @@ +--- +title: "Linux Introduction" +authors: + - name: "Paul Cobbaut" + - name: "Bert Van Vreckem" +date: "\\today" + +frontmatter: + - 01_colophon.md + - 02_abstract.md + +content: + - title: "introduction to Linux" + chapters: + - linux_history + - linux_distributions + - licensing + - title: "command structure" + chapters: + - shell_arguments + - shell_history + - title: "variables" + chapters: + - shell_variables + - title: "the semicolon" + chapters: + - shell_control_operators + - title: "getting help" + chapters: + - man_pages + - title: "the file system" + chapters: + - file_system_tree + - title: "directory contents" + chapters: + - working_with_directories + - title: "globbing" + chapters: + - shell_globbing + - title: "file and directory management" + chapters: + - working_with_files + - basic_tools + - title: "links" + chapters: + - links + - title: "working with text" + chapters: + - working_with_file_contents + - ioredirection + - regular_expressions + - title: "user group management" + chapters: + - groups + - title: "user management" + chapters: + - users + - user_management + - user_passwords + - title: "file permissions" + chapters: + - file_permissions + + +backmatter: + - license diff --git a/lib/publish.sh b/lib/publish.sh index 620f8c5..8092388 100644 --- a/lib/publish.sh +++ b/lib/publish.sh @@ -17,7 +17,7 @@ script_dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) # shellcheck disable=SC2034 readonly script_name script_dir -readonly book_ids=( linuxfun linuxsrv linuxsys opslinux datalinux ) +readonly book_ids=( linuxfun linuxsrv linuxsys introlinux opslinux datalinux ) #---------- Load settings and utility functions -------------------------------- diff --git a/templates/site/index.md b/templates/site/index.md index 7056303..fb3835f 100644 --- a/templates/site/index.md +++ b/templates/site/index.md @@ -16,6 +16,7 @@ This site is a continuation of Paul Cobbaut's [Linux Training](https://linux-tra | Book | PDF | Read online | | :------------------------ | :------------------- | :------------------- | +| Introduction to Linux | [PDF](introlinux.pdf) | [mkdocs](introlinux/) | | Linux for Operations | [PDF](opslinux.pdf) | [mkdocs](opslinux/) | | Linux for Data Scientists | [PDF](datalinux.pdf) | [mkdocs](datalinux/) |