User Tools

Site Tools


os_cp:intro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
os_cp:intro [2024/02/20 13:29]
jkonczak
os_cp:intro [2025/03/06 13:54] (current)
jkonczak [Listing directory contents]
Line 22: Line 22:
 POSIX - a standard (published by IEEE and The Open Group) for operating system interface and environment,​ predominantly built to unify Unix-like systems POSIX - a standard (published by IEEE and The Open Group) for operating system interface and environment,​ predominantly built to unify Unix-like systems
  
-<​html>​<small></​html>+<​small>​
  
-GNU/Linux+Linux, ​GNU/Linux, Linux distribution…
   * [[https://​www.gnu.org/​gnu/​gnu.html|GNU]] is a collection of free software that altogether forms an operating system supplied with a broad choice of user applications [[https://​www.gnu.org/​manual/​blurbs.html]]   * [[https://​www.gnu.org/​gnu/​gnu.html|GNU]] is a collection of free software that altogether forms an operating system supplied with a broad choice of user applications [[https://​www.gnu.org/​manual/​blurbs.html]]
   * the kernel of GNU, [[https://​www.gnu.org/​software/​hurd/​|Hurd]],​ has never been fit enough for the task   * the kernel of GNU, [[https://​www.gnu.org/​software/​hurd/​|Hurd]],​ has never been fit enough for the task
   * therefore GNU software is usually run on top of Linux kernel ​   * therefore GNU software is usually run on top of Linux kernel ​
-  * most Linux distributions,​ apart form GNU software, has also a multitude of other software (not necessarely ​free or open source)+  * most Linux distributions,​ apart form GNU software, has also a multitude of other software (not necessarily ​free or open source) 
 +  * some Linux distributions base on free and/or open source software that is neither GNU software nor uses GNU licenses
  
-<​html>​</small></​html>+</​small>​
  
 ==== Shell and vital utilities ==== ==== Shell and vital utilities ====
Line 59: Line 60:
   * Apple operating systems (e.g. MacOS) ship with modified BSD tools [[https://​opensource.apple.com/​releases/​|[1]]] [[https://​github.com/​apple-oss-distributions/​file_cmds|[2]]] [[https://​github.com/​apple-oss-distributions/​text_cmds|[3]]]   * Apple operating systems (e.g. MacOS) ship with modified BSD tools [[https://​opensource.apple.com/​releases/​|[1]]] [[https://​github.com/​apple-oss-distributions/​file_cmds|[2]]] [[https://​github.com/​apple-oss-distributions/​text_cmds|[3]]]
   * Embedded / resource restrained systems often use [[https://​www.busybox.net/​downloads/​BusyBox.html|BusyBox]]   * Embedded / resource restrained systems often use [[https://​www.busybox.net/​downloads/​BusyBox.html|BusyBox]]
-  * Android uses [[https://​www.landley.net/​toybox/​|toybox]] [[https://cs.android.com/​android/platform/superproject/​main/​+/​main:​external/toybox/​toys/​posix/​|[4]]]+  * Android uses [[https://​www.landley.net/​toybox/​|toybox]] [[https://​cs.android.com/​android/​platform/​superproject/​main/​+/​main:​external/​toybox/​toys/​posix/​|[4]]]
   * For more, see [[https://​wiki.archlinux.org/​title/​core_utilities]]   * For more, see [[https://​wiki.archlinux.org/​title/​core_utilities]]
 <​html></​small></​html>​ <​html></​small></​html>​
  
-POSIX standarizes both the [[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​utilities/​V3_chap02.html|shell]] +POSIX standarizes both the [[https://​pubs.opengroup.org/​onlinepubs/​9799919799/​utilities/​V3_chap02.html|shell]] 
-and its vital [[https://​pubs.opengroup.org/​onlinepubs/​9699919799/​utilities/​contents.html|utilities]].+and its vital [[https://​pubs.opengroup.org/​onlinepubs/​9799919799/​utilities/​contents.html|utilities]].
  
 ==== Accessing the shell ==== ==== Accessing the shell ====
Line 78: Line 79:
   * terminals bundled with some Linux desktop environment:​ [[https://​docs.xfce.org/​apps/​terminal/​start|xfce4-terminal]],​ [[https://​en.wikipedia.org/​wiki/​GNOME_Terminal|GNOME Terminal]], [[https://​konsole.kde.org/​|konsole]]   * terminals bundled with some Linux desktop environment:​ [[https://​docs.xfce.org/​apps/​terminal/​start|xfce4-terminal]],​ [[https://​en.wikipedia.org/​wiki/​GNOME_Terminal|GNOME Terminal]], [[https://​konsole.kde.org/​|konsole]]
   * default MacOS [[https://​en.wikipedia.org/​wiki/​Terminal_(macOS)|Terminal]]   * default MacOS [[https://​en.wikipedia.org/​wiki/​Terminal_(macOS)|Terminal]]
-  * drop-down terminals: [[https://​apps.kde.org/​yakuake/​|yakuake]] / [[http://​guake-project.org/​|guake]](([[https://​web.archive.org/​​web/​​20230709030453/​​http://​​guake-project.org/​​|Project homepage archived by archive.org]],​​ [[https://​​github.com/​Guake/​​guake/​|github]])) / [[https://​github.com/​lanoxx/​tilda|tilda]]+  * drop-down terminals: [[https://​apps.kde.org/​yakuake/​|yakuake]] / [[https://​guake.github.io/|guake]] / [[https://​github.com/​lanoxx/​tilda|tilda]]
  
 <​html></​small></​html>​ <​html></​small></​html>​
Line 110: Line 111:
 It is vital for security to confirm the authenticity of the server – the client It is vital for security to confirm the authenticity of the server – the client
 must verify that it does not contact a rogue server that can learn the password must verify that it does not contact a rogue server that can learn the password
-([[https://docs.ssh-mitm.at/​user_guide/authentication.html#​id2|ready-to-go tool]])+([[https://​docs.ssh-mitm.at/​user_guide/​authentication.html#​id2|ready-to-go tool]])
 and/or hijacks the session. and/or hijacks the session.
 \\ \\
Line 120: Line 121:
 Hence, upon the first connection to a new server the SSH client program requests Hence, upon the first connection to a new server the SSH client program requests
 the  user to verify the authenticity of the public key and stores the key (in the  user to verify the authenticity of the public key and stores the key (in
-OpenSSH in ''​~/.ssh/known_hosts''​) to verify it automatically upon subsequent+OpenSSH in ''​~/​.ssh/​known_hosts''​) to verify it automatically upon subsequent
 connections. connections.
  
Line 127: Line 128:
 ~~Exercise.#​~~ Run a terminal emulator. Execute command ''​date''​ and ''​echo $SHELL''​ within. ​ ~~Exercise.#​~~ Run a terminal emulator. Execute command ''​date''​ and ''​echo $SHELL''​ within. ​
  
-~~Exercise.#​~~ Execute command ''​sleep 1h''​​ and interrupt it by pressing //Ctrl + c//.+~~Exercise.#​~~ Execute command ''​sleep 1h''​ and interrupt it by pressing //Ctrl + c//.
  
 ~~Exercise.#​~~ Switch to second virtual console and log in. Execute ''​pwgen''​. Return to graphical console. ​ ~~Exercise.#​~~ Switch to second virtual console and log in. Execute ''​pwgen''​. Return to graphical console. ​
Line 230: Line 231:
 The command **''​ls [//​dir//​]''​** lists file in directory ''​dir''​. When run with no arguments, it lists the current working directory. The command **''​ls [//​dir//​]''​** lists file in directory ''​dir''​. When run with no arguments, it lists the current working directory.
 \\ \\
-By default ''​ls''​ does not list hidden files. The **''​-a''​** ​and ''​--all'' ​switch changes this behaviour.+By default ''​ls''​ does not list hidden files. The **''​-a''​** switch changes this behaviour.
 \\ \\
-Switch **''​-l''​** ​/ ''​--list'' ​prints list of files with details such as file owner, size, modification date, etc.+Switch **''​-l''​** prints list of files with details such as file owner, size, modification date, etc.
  
 ~~Exercise.#​~~ List files in ''/​usr/​share/​zoneinfo/''​ and ''​../​../​../​../​../​bin''​. ​ ~~Exercise.#​~~ List files in ''/​usr/​share/​zoneinfo/''​ and ''​../​../​../​../​../​bin''​. ​
Line 283: Line 284:
 \\ \\
 For instance, //lines beginning with a word followed by an equals sign// might For instance, //lines beginning with a word followed by an equals sign// might
-be written as a regular expression ''​^\w+=''​.+be written as a regular expression ''​^\w+=''​.
  
 There are countless syntaxes and implementations of such patterns/​expressions. There are countless syntaxes and implementations of such patterns/​expressions.
  
 In the shell, [[https://​en.wikipedia.org/​wiki/​Wildcard_character|wildcards]] In the shell, [[https://​en.wikipedia.org/​wiki/​Wildcard_character|wildcards]]
-and [[https://en.wikipedia.org/​wiki/Regular_expression|regular expressions]]+and [[https://​en.wikipedia.org/​wiki/​Regular_expression|regular expressions]]
 are commonplace. are commonplace.
  
Line 295: Line 296:
 \\ \\
 The shell uses syntax summarized e.g., in The shell uses syntax summarized e.g., in
-''​[[https://man7.org/linux/man-pages/man7/glob.7.html|man 7 glob]]''​ and  +''​[[https://​man7.org/​linux/​man-pages/​man7/​glob.7.html|man 7 glob]]''​ and  
-''​[[https://man7.org/linux/man-pages/man7/regex.7.html|man 7 regex]]''​+''​[[https://​man7.org/​linux/​man-pages/​man7/​regex.7.html|man 7 regex]]''​
  
 </​small>​ </​small>​
os_cp/intro.1708432177.txt.gz · Last modified: 2024/02/20 13:29 by jkonczak