# Linux CMDs

1. **ls** - The most frequently used command in Linux to list directories
    
2. **pwd** - Print working directory command in Linux
    
3. **cd** - Linux command to navigate through directories
    
4. **mkdir** - Command used to create directories in Linux
    
5. **mv** - Move or rename files in Linux
    
6. **cp** - Similar usage as mv but for copying files in Linux
    
7. **rm** - Delete files or directories
    
8. **touch** - Create blank/empty files
    
9. **ln** - Create symbolic links (shortcuts) to other files
    
10. **cat** - Display file contents on the terminal
    
11. **clear** - Clear the terminal display
    
12. **echo** - Print any text that follows the command
    
13. **less** - Linux command to display paged outputs in the terminal
    
14. **man** - Access manual pages for all Linux commands
    
15. **uname** - Linux command to get basic information about the OS
    
16. **whoami** - Get the active username
    
17. **tar** - Command to extract and compress files in Linux
    
18. **grep** - Search for a string within an output
    
19. **head** - Return the specified number of lines from the top
    
20. **tail** - Return the specified number of lines from the bottom
    
21. **diff** - Find the difference between two files
    
22. **cmp** - Allows you to check if two files are identical
    
23. **comm** - Combines the functionality of diff and cmp
    
24. **sort** - Linux command to sort the content of a file while outputting
    
25. **export** - Export environment variables in Linux
    
26. **zip** - Zip files in Linux
    
27. **unzip** - Unzip files in Linux
    
28. **ssh** - Secure Shell command in Linux
    
29. **service** - Linux command to start and stop services
    
30. **ps** - Display active processes
    
31. **kill and killall** - Kill active processes by process ID or name
    
32. **df** - Display disk filesystem information
    
33. **mount** - Mount file systems in Linux
    
34. **chmod** - Command to change file permissions
    
35. **chown** - Command for granting ownership of files or folders
    
36. **ifconfig** - Display network interfaces and IP addresses
    
37. **traceroute** - Trace all the network hops to reach the destination
    
38. **wget** - Direct download files from the internet
    
39. **ufw** - Firewall command
    
40. **iptables** - Base firewall for all other firewall utilities to interface with
    
41. **yum, rpm** - Package managers depending on the distro
    
42. **sudo** - Command to escalate privileges in Linux
    
43. **cal** - View a command-line calendar
    
44. **alias -** Create custom shortcuts for your regularly used commands
    
45. **dd** - Majorly used for creating bootable USB sticks
    
46. **whereis** - Locate the binary, source, and manual pages for a command
    
47. **whatis** - Find what a command is used for
    
48. **top** - View active processes live with their system usage
    
49. **useradd and usermod** - Add new user or change existing users data
    
50. **passwd** - Create or update passwords for existing users
    

### System/OS-related commands:

To know the OS type: `$ uname -o`

To check the kernel version: `$ uname -r`

To get the OS name, release, version: `$ cat /etc/os-release`

To list the system hardware: `$ lshw`

To get the CPU details: `$ lscpu`

To check system memory: `$ free -h`

To check the virtual memory stats: `$ vmstat -S m`

To list the mounted disk drives: `$ df -fh`

To mount the volume:  
(Check if the volume is detected)  
`lsblk`  
(create the directory first to mount volume)  
`$ mkdir -p <Directory Path>   $ sudo mount <Src Path>`

Find the file (search for a file): `$ find -name -print -iname <filename> -print`

File the text string from a given directory: `$ grep -riln <Search Text> <directory path>`

Search the text string in a directory and print the filename containing that string:  
`$ find -type f -print -exec grep <Search Patter> {}\;`

### User admin Commands

To create a new group: `$ sudo groupadd <group name>`

Modify existing user, add a user to the group: `$ sudo usermod -aG <group name> <User name>`

Change the group name: `$ sudo groupmod –n <new group name> <old group name>`

### Search Editor/Text manipulation commands

`locate   cut   uniq   sort   tee   sed`

\--

### Network related commands

nmap, check open ports on the server: `nmap <IP>`

find the IP from fqdn and vice versa: `nslookup <IP/FQDN>`

lsof, list open files by processes  
a) list open files by a specific user  
`lsof -u <Username>`  
b) find processes running on specific port  
`$ lsof -i TCP:9090`

netcat, debug and investigate network  
a) start a dummy listening server on port 8080  
`$ netcat -l 8080`  
b) send data over some port to server  
`$ netcat <remote server ip> <port>`  
  
print all listening ports: `$ netstat -plunt`

get the public ip of the machine: `$ curl` [`ifconfig.co`](http://ifconfig.co)

show current routing table: `$ route -n`

get hostname: `$ sudo hostname`
