This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
os_cp:intro [2025/03/05 22:36] jkonczak [Shell and vital utilities] |
os_cp:intro [2025/03/06 13:54] (current) jkonczak [Listing directory contents] |
||
---|---|---|---|
Line 60: | 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> | ||
Line 79: | 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 111: | 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 121: | 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 128: | 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 231: | 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 284: | 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 296: | 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> |