# Bash

### General

* `pwd` - shows the current directory path
* `ls` - lists the files in the current path
* `touch <filename.extension>` - creates a new file in the current path
* `cd <path>` - checkout to the path

#### Terminal command - Navigate

* `ctrl` + `a` - to move the cursor to the beginning of the line
* `ctrl` + `e` - to move the cursor to the end of the line

#### Terminal command - Delete

* `ctrl` + `w` - to delete the last word
* `ctrl` + `u` - to delete all the way back to the start of the line
* `ctrl` + `k` - to delete to the end of the line

#### Permission

* `sudo chgrp -R admin /usr/local` - set write permission for admin for certain dir
* `sudo chown -R $(whoami) /usr/local` - makes `/usr/local` writeable for the user

#### Port

Find port usage

```sh
 ps -ef | grep puma
```

Kill all processes running on a port

```sh
lsof -ti:9000 | xargs kill 
```

where 9000 is the port number here

#### Advanced

* `ctrl` + `r` - Search through the command history (after pressing, type to search, press ctrl-r repeatedly to cycle through more matches, press Enter to execute the found command, or hit the right arrow to put the result in the current line to allow editing)

**Open VSCode from the terminal**

<figure><img src="https://539920826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fm3nW2F92mAD8Dhob6fZ4%2Fuploads%2FMozl6iJ2JzuU1X2yTydt%2Fimage.png?alt=media&#x26;token=55c9b973-2497-4c39-930b-83765c44cb73" alt=""><figcaption></figcaption></figure>

```sh
code .
```
