# Linux Command Cheat Sheet

## Basic Linux commands

| Command | Description |  |
| --- | --- | --- |
| `ls` | Lists all files and directories in the present working directory |  |
| `ls -R` | Lists files in sub-directories as well |  |
| `ls -a` | Lists hidden files as well |  |
| `ls -al` | Lists files and directories with detailed information like permissions,size, owner, etc. |  |
| `cd or cd ~` | Navigate to HOME directory |  |
| `cd ..` | Move one level up |  |
| `cd` | To change to a particular directory |  |
| `cd /` | Move to the root directory |  |
| `cat > filename` | Creates a new file |  |
| `cat filename` | Displays the file content |  |
| `cat file1 file2 > file3` | Joins two files (file1, file2) and stores the output in a new file (file3) |  |
| `mv file "new file path"` | Moves the files to the new location |  |
| `mv filename new_file_name` | Renames the file to a new filename |  |
| `sudo` | Allows regular users to run programs with the security privileges of the superuser or root |  |
| `rm filename` | Deletes a file |  |
| `man` | Gives help information on a command |  |
| `history` | Gives a list of all past commands typed in the current terminal session |  |
| `clear` | Clears the terminal |  |
| `mkdir directoryname` | Creates a new directory in the present working directory or a at the specified path |  |
| `rmdir` | Deletes a directory |  |
| `mv` | Renames a directory |  |
| `apt-get   ` | Command used to install and update packages |  |

## 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 |  |

## 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 |  |

## 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 |  |
| `quit` | Logout |  |

## Process command

| Command | Description |  |
| --- | --- | --- |
| `top` | Details on all Active Processes |  |
| `ps` | Give the status of processes running for a user |  |
| `ps PID` | Gives the status of a particular process |  |
| `pidof` | Gives the Process ID (PID) of a process |  |
| `kill PID` | Kills a process |  |
| `nice` | Starts a process with a given priority |  |
| `df` | Gives free hard disk space on your system |  |
| `free` | Gives free RAM on your system |  |
