# Day12: Linux, Git & GitHub Cheat-Sheet

## Basic File Permission commands

| Command | Description |  |
| --- | --- | --- |
| `ls -l` | to show file type and access permission |  |
| `r` | read permission |  |
| `w` | write permission |  |
| `x` | execute permission |  |
| `-=` | no permission |  |
| `Chown user` | For changing the ownership of a file/directory |  |
| `Chown user:group filename` | change the user as well as group for a file or directory |  |

## Environment Variables command

| Command | Description |  |
| --- | --- | --- |
| `echo $VARIABLE` | To display value of a variable |  |
| `env` | Displays all environment variables |  |
| `VARIABLE_NAME= variable_value` | Create a new variable |  |
| `Unset` | Remove a variable |  |
| `export Variable=value` | To set value of an environment variable |  |

## User management commands of linux

| Command | Description |  |
| --- | --- | --- |
| `sudo adduser username` | To add a new user |  |
| `sudo passwd -l 'username'` | To change the password of a user |  |
| `sudo userdel -r 'username'` | To remove a newly created user |  |
| `sudo usermod -a -G GROUPNAME USERNAME` | To add a user to a group |  |
| `sudo deluser USER GROUPNAME` | To remove a user from a group |  |
| `finger` | Shows information of all the users logged in |  |
| `finger username` | Gives information of a particular user |  |

## Networking command

| Command | Description |  |
| --- | --- | --- |
| `SSH username@ip-address or hostname` | login into a remote Linux machine using SSH |  |
| `Ping hostname="" or =""` | To ping and Analyzing network and host connections |  |
| `dir` | Display files in the current directory of a remote computer |  |
| `cd "dirname"` | change directory to “dirname” on a remote computer |  |
| `put file` | upload ‘file’ from local to remote computer |  |
| `get file` | Download ‘file’ from remote to local computer |  |
| `quit` | Logout |  |

Source: geeksforgeeks

## Git & GitHub commands
