Top 50 Useful Linux Terminal Commands

#  Command Description
1. lsList files and directories in the current directory.
2. cdChange the current working directory.
3. pwdPrint the full path of the current working directory.
4. mkdirCreate a new directory.
5. rmRemove files or directories.
6. cpCopy files or directories to another location.
7. mvMove or rename files and directories.
8. touchCreate an empty file or update a file's timestamp.
9. catDisplay the contents of a file.
10. lessView file contents one page at a time.
11. headShow the first lines of a file (default: 10).
12. tailShow the last lines of a file (default: 10).
13. grepSearch for a pattern inside files or output.
14. findSearch for files and directories by name or attribute.
15. chmodChange file or directory permissions.
16. chownChange the owner or group of a file or directory.
17. sudoRun a command with superuser (root) privileges.
18. apt / apt-getInstall, update, or remove packages (Debian/Ubuntu).
19. dnf / yumInstall, update, or remove packages (Fedora/RHEL).
20. manDisplay the manual page for a command.
21. echoPrint text or variable values to the terminal.
22. nanoOpen a simple terminal text editor.
23. vimOpen a powerful modal terminal text editor.
24. topDisplay live system processes and resource usage.
25. htopInteractive, colour-coded process viewer (enhanced top).
26. psShow a snapshot of currently running processes.
27. killTerminate a process by its PID.
28. dfShow disk space usage for filesystems.
29. duShow disk usage of files and directories.
30. freeDisplay available and used memory (RAM and swap).
31. unamePrint system information such as kernel version.
32. whoamiPrint the name of the currently logged-in user.
33. hostnameShow or set the system's hostname.
34. pingTest network connectivity to a host.
35. curlTransfer data from or to a URL.
36. wgetDownload files from the internet.
37. sshConnect securely to a remote machine.
38. scpSecurely copy files between hosts over SSH.
39. rsyncEfficiently sync files and directories locally or remotely.
40. tarArchive and compress or extract files (.tar, .tar.gz).
41. zip / unzipCompress or extract .zip archives.
42. historyShow previously entered terminal commands.
43. aliasCreate a shortcut for a longer command.
44. envDisplay or set environment variables.
45. exportMake a variable available to child processes.
46. cron / crontabSchedule commands to run automatically at set times.
47. systemctlManage system services (start, stop, enable, status).
48. journalctlView system logs managed by systemd.
49. wcCount lines, words, or characters in a file.
50. awkProcess and extract data from text using pattern matching.