<commit_before># Bash

> Bash is a Unix shell and command language written by <NAME> for the GNU Project as a free software replacement for the Bourne shell. Released in 1989, it has been distributed widely as the shell for the GNU operating system and as a default shell on Linux and OS X.

## Search

**Getting Help** On the command line, help is always at hand: you can either type `<command>` or `<command> --help` to receive detailed documentation about the command in question. 

```
$ history --help
```

Search Commands             | Description
----------------------------|----------------------------------------------------------------------------------
`$ find <dir> -name <file>` | Find files named `<file>` inside `<dir>` (use wildcards `*` to search for part exmpl: `file.*`)
`$ grep <text> <file>`      | Output all occurrences of <text> inside <file> (add `-i` for case-insensitivity)
`$ grep -rl <text> <dir>`   | Search for all files containing `<text>` inside `<dir>`

**Combining Commands** If you plan to run a series of commands after another, it might be useful to combine them instead of waiting for each command to finish before typing the next one. To do so, simply separate the commands with a semicolon `;` on the same line.

Additionally, it is possible to execute a command only if its predecessor produces a certain result. Code placed after the `&&` operator will only be run if the previous command completes successfully, while the opposite `||` operator only continues if the previous command fails. The following command will create the folder “videos” only if the cd command fails (and the folder therefore doesn’t exist): `$ cd ~/videos || mkdir ~/videos`

## Directory<commit_msg>Add content<commit_after># Bash

> Bash is a Unix shell and command language written by <NAME> for the GNU Project as a free software replacement for the Bourne shell. Released in 1989, it has been distributed widely as the shell for the GNU operating system and as a default shell on Linux and OS X.

## Content

- [Search](https://github.com/valerysamovich/engineering/blob/master/docs/tutorials/bash.md#search)
- [Directory](https://github.com/valerysamovich/engineering/blob/master/docs/tutorials/bash.md#directory)
- [File](https://github.com/valerysamovich/engineering/blob/master/docs/tutorials/bash.md#file)
- [Process](https://github.com/valerysamovich/engineering/blob/master/docs/tutorials/bash.md#process)
- [Permissions](https://github.com/valerysamovich/engineering/blob/master/docs/tutorials/bash.md#permissions)

## Search

**Getting Help** On the command line, help is always at hand: you can either type `<command>` or `<command> --help` to receive detailed documentation about the command in question. 

```
$ history --help
```

Search Commands             | Description
----------------------------|----------------------------------------------------------------------------------
`$ find <dir> -name <file>` | Find files named `<file>` inside `<dir>` (use wildcards `*` to search for part exmpl: `file.*`)
`$ grep <text> <file>`      | Output all occurrences of <text> inside <file> (add `-i` for case-insensitivity)
`$ grep -rl <text> <dir>`   | Search for all files containing `<text>` inside `<dir>`

**Combining Commands** If you plan to run a series of commands after another, it might be useful to combine them instead of waiting for each command to finish before typing the next one. To do so, simply separate the commands with a semicolon `;` on the same line.

Additionally, it is possible to execute a command only if its predecessor produces a certain result. Code placed after the `&&` operator will only be run if the previous command completes successfully, while the opposite `||` operator only continues if the previous command fails. The following command will create the folder “videos” only if the cd command fails (and the folder therefore doesn’t exist): `$ cd ~/videos || mkdir ~/videos`

## Directory
{'fraction_non_alphanumeric': 0.1502394756743131, 'fraction_numerical': 0.00201663725737333, 'mean_word_length': 3.341356673960613, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 35, 'https://': 5, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5287375', 'n_tokens_mistral': 1081, 'n_tokens_neox': 995, 'n_words': 494}