linux:bash
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| linux:bash [2026/05/15 11:29] – [FILESYSTEM] v1ctor | linux:bash [2026/05/15 13:30] (current) – [REDIRECTS vs PIPES] v1ctor | ||
|---|---|---|---|
| Line 60: | Line 60: | ||
| </ | </ | ||
| + | To make env variable permanent, you need to store it in a file. Which file - depends on the Shell type: | ||
| + | Type of Shells: | ||
| + | |||
| + | ^ Shell Type ^ When it starts ^ Example ^ Reads file ^ | ||
| + | | Login Shell | You authenticate (SSH, TTY login, su -, bash -l) | SSH into a server | ~/.profile | | ||
| + | | Interactive non-login | You open a new terminal in an existing session | New tab in your terminal | ||
| + | |||
| + | * **~/ | ||
| + | * export PATH=..., export EDITOR=vim | ||
| + | * **~/ | ||
| + | * aliases, shell functions, prompt | ||
| + | |||
| + | |||
| + | ==== REDIRECTS vs PIPES ==== | ||
| + | |||
| + | The core difference: redirects connect a stream to a file (a redirect always has a file on one side). Pipes connect one process to another process. | ||
| + | |||
| + | |||
| + | Pipes: process → process: | ||
| + | <code bash> | ||
| + | cmd1 | cmd2 # Takes cmd1's stdout and feeds it directly into cmd2's stdin. No file involved | ||
| + | ls | grep " | ||
| + | </ | ||
| + | ==== STANDARD INPUT and OUTPUT ==== | ||
| + | |||
| + | Unix programs have 1 input and 2 outputs. | ||
| + | |||
| + | When you run a command from a terminal, they all go to/from the terminal by default, e.g.: | ||
| + | <code bash> | ||
| + | $ cat | ||
| + | hello # Stdin is connected to the terminal, you can type there. | ||
| + | hello # Stdout - cat prints it right away after you pressed enter. | ||
| + | </ | ||
| + | |||
| + | |||
| + | ** < redirects Stdin** | ||
| + | <code bash> | ||
| + | cat < foo.txt | ||
| + | bar | ||
| + | </ | ||
linux/bash.1778844565.txt.gz · Last modified: by v1ctor
