> For the complete documentation index, see [llms.txt](https://hq-1.gitbook.io/essential-python-for-genome-science/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hq-1.gitbook.io/essential-python-for-genome-science/introduction-level-information/about-the-system.md).

# About the UNIX system

## UNIX system knowledge

* I/O (Input/Output, IMPORTANT): what is stdin, stdout, stderr. What does "`|`" (pipe) do.&#x20;
* Job control (IMPORTANT): `top`, `kill`, `jobs`, `bg`, `fg`, use "&" to put job in bg, `nohup`
* What is process, what is thread?
* What is [local variable](https://www.tutorialspoint.com/unix/unix-using-variables.htm), especially, what is the (most useful) `PATH` variable and [how to change the PATH variable in \~/.bashrc](https://opensource.com/article/17/6/set-path-linux).&#x20;
* Basic navigation: `pwd`, `cd`, `ls` (`ls -l`, `ls -hl`, `ls -hal`, understand output of `ls -l`)
* Read files: `cat`, `less`, `file`(tell you whether a file is binary or is compressed), `head`, `tail`, `grep`, `sort`
* Manipulate files:`cp`, `mv`, `rm`, `mkdir`, `ln -s`
* Working with commands: `type`, `which`, `help`, `man`
* Permissions: `chmod`

{% hint style="info" %}
For quick introduction, I really recommend [**this short book**](http://linuxcommand.org/lc3_lts0010.php). The "[Learning the Shell](http://linuxcommand.org/lc3_learning_the_shell.php)" chapter is about all the must-know of using UNIX systems (Linux, Mac OS), fairly enough for a beginning. The above list is actually based on this chapter.
{% endhint %}
