1. Basic File Operations
    1. ls
      1. List files in a directory. ls does more than that.
    2. exa
      1. exa is a modern replacement for ls.
        1. https://github.com/ogham/exa
    3. lsd
      1. The next gen file listing command. Backwards compatible with ls.
        1. https://github.com/Peltoche/lsd
    4. cp
      1. Copy a file.
    5. mv
      1. Rename (“move”) a file.
    6. rm
      1. Delete (“remove”) a file.
    7. rmdir
      1. utility for deleting empty directories
    8. ln
      1. Create links (alternative names) to a file.
    9. shred
      1. Completely erase a file when the file is deleted
    10. rename
      1. rename files or multiple fiies
  2. Directory Operations
    1. cd
      1. Change your current directory.
    2. zoxide
      1. zoxide is a smarter cd command
        1. https://github.com/ajeetdsouza/zoxide
    3. broot
      1. A new way to see and navigate directory trees
        1. https://github.com/Canop/broot
    4. tree
      1. a tiny, cross-platform command-line program used to recursively list or display the content of a directory in a tree-like format
    5. pwd
      1. Print the name of your current directory, i.e., “where you are now” in the filesystem.
    6. basename
      1. Print the final part of a file path.
    7. dirname
      1. Print a file path without its final part.
    8. mkdir
      1. Create (make) a directory.
    9. rmdir
      1. Delete (remove) an empty directory.
    10. rm -r
      1. Delete a nonempty directory and its contents.
  3. File Viewing
    1. cat
      1. print the content of a file onto the standard output stream
    2. tac
      1. print the content of a file in reverse onto the standard output stream
    3. bat
      1. A cat clone with syntax highlighting and Git integration.
        1. https://github.com/sharkdp/bat
    4. glow
      1. Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI
        1. https://github.com/charmbracelet/glow
    5. more
      1. View text files one page at a time.
    6. less
      1. View text files one page at a time.
    7. head
      1. View the first lines of a text file.
    8. tail
      1. View the last lines of a text file.
    9. nl
      1. View text files with their lines numbered.
    10. strings
      1. Display text that’s embedded in a binary file.
    11. od
      1. View data in octal (or other formats).
    12. xxd
      1. View data in hexadecimal.
    13. acroread
      1. View PDF files.
    14. gv
      1. View PostScript or PDF files.
    15. xdvi
      1. View TeX DVI files.
  4. File Creation and Text Editors
    1. touch
      1. used to create, change and modify timestamps of a file
    2. emacs
      1. Text editor from Free Software Foundation.
    3. vim
      1. Text editor, extension of Unix vi.
    4. nano
      1. an easy to use command line text editor for Unix and Linux operating systems.
    5. soffice
      1. Office suite for editing Microsoft Word, Excel, and PowerPoint documents.
    6. abiword
      1. Edit Microsoft Word documents.
    7. gnumeric
      1. Edit Excel spreadsheets.
    8. tee
      1. Copy a file and print it on standard output, simultaneously.
  5. File Properties
    1. stat
      1. Display attributes of files and directories.
    2. wc
      1. Count bytes, words, lines in a file or STDIN.
    3. file
      1. Identify (guess) the type of a file.
    4. touch
      1. Change timestamps of files and directories.
    5. chmod
      1. Change protection mode of files and directories.
    6. chgrp
      1. Change group ownership of files and directories.
    7. chown
      1. Change owner of files and directories.
    8. umask
      1. Set a default mode for new files and directories.
    9. chattr
      1. Change extended attributes of files and directories.
    10. lsattr
      1. List extended attributes of files and directories.
  6. Print Text
    1. echo
      1. Print simple text on standard output.
    2. printf
      1. Print formatted text on standard output.
    3. yes
      1. Print repeated text on standard output.
    4. seq
      1. Print a sequence of numbers on standard output.
    5. clear
      1. Clear the screen or window.
  7. Search File Location
    1. fd
      1. A simple, fast and user-friendly alternative to find.
    2. locate
      1. searches the file system for files and directories whose name matches a given pattern
    3. find
      1. searches for files and directories in a directory hierarchy based on a user given expression and can perform user-specified action on each matched file
    4. which
      1. Locate executables in your search path (command).
    5. fzf
      1. A general purpose command-line fuzzy finder.
        1. https://github.com/junegunn/fzf
    6. whereis
      1. Locate executables, documentation, and source files.
    7. type
      1. Locate executables in your search path (bash built-in).
  8. Miscellaneous
    1. help
      1. the simplest way to get information regarding a built-in shell command.
    2. man
      1. used to display the user manual of any command that we can run on the terminal.
    3. tldr
      1. A community effort to simplify man pages with practical examples.
        1. https://github.com/tldr-pages/tldr
    4. cheat
      1. Create and view interactive cheatsheets on the command-line.
        1. https://github.com/cheat/cheat
    5. r
      1. used to execute the previous command.
    6. history
      1. a very useful command to show you all of the last commands that have been recently used.
    7. mcfly
      1. Fly through your shell history. Great Scott!
        1. https://github.com/cantino/mcfly
    8. xargs
      1. used in a UNIX shell to convert input from standard input into arguments to a command.
  9. Web Browsing
    1. firefox
      1. Full-featured web browser.
    2. curl
      1. cURL, which stands for client URL, is a command line tool that developers use to transfer data to and from a server.
    3. wget
      1. Download web pages and files.
    4. curlie
      1. Curlie is a frontend to curl that adds the ease of use of httpie, without compromising on features and performance.
        1. https://github.com/rs/curlie
    5. httpie
      1. A modern, user-friendly command-line HTTP client for the API era.
        1. https://github.com/httpie/httpie
    6. xh
      1. A friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance.
        1. https://github.com/ducaale/xh
    7. lynx
      1. Text-only web browser.
  10. File Text Manipulation
    1. grep
      1. Find lines in a file that match a regular expression.
    2. ripgrep
      1. An extremely fast alternative to grep that respects your gitignore
        1. https://github.com/BurntSushi/ripgrep
    3. ack
      1. ack is a grep-like source code search tool.
    4. ag
      1. A code searching tool similar to ack, but faster.
        1. https://github.com/ggreer/the_silver_searcher
    5. sed
      1. stream editor used for text substitution , find & replace but it can also perform other text manipulations like insertion, deletion, search etc.
    6. sd
      1. An intuitive find & replace CLI (sed alternative).
        1. https://github.com/chmln/sd
    7. jq
      1. sed for JSON data.
        1. https://github.com/stedolan/jq
    8. awk/gawk
      1. AWK command in Unix is used for pattern processing and scanning.
    9. cut
      1. Extract columns from a file.
    10. choose
      1. A human-friendly and fast alternative to cut and (sometimes) awk
        1. https://github.com/theryangeary/choose
    11. paste
      1. Append columns.
    12. tr
      1. Translate characters into other characters.
    13. sort
      1. Sort lines of text by various criteria.
    14. uniq
      1. Locate identical lines in a file.
  11. File Compression and Packaging
    1. tar
      1. Package multiple files into a single file.
    2. gzip
      1. Compress files with GNU Zip.
    3. gunzip
      1. Uncompress GNU Zip files.
    4. bzip2
      1. Compress files in BZip format.
    5. bunzip2
      1. Uncompress BZip files.
    6. bzcat
      1. Compress/uncompress BZip files via standard input/output.
    7. compress
      1. Compress files with traditional Unix compression.
    8. uncompress
      1. Uncompress files with traditional Unix compression.
    9. zcat
      1. Compress/uncompress file via standard input/output (gzip or compress).
    10. zip
      1. Compress files in Windows Zip format.
    11. unzip
      1. Uncompress Windows Zip files.
    12. metamail
      1. Extract MIME data to files.
  12. File Comparison
    1. diff
      1. Line-by-line comparison of two files or directories.
    2. comm
      1. Line-by-line comparison of two sorted files.
    3. cmp
      1. Byte-by-byte comparison of two files.
    4. md5sum
      1. Compute a checksum of the given files (MD5).
  13. Printing
    1. lpr
      1. Print a file.
    2. lpq
      1. View the print queue.
    3. lprm
      1. Remove a print job from the queue.
  14. Spell Checking
    1. look
      1. Look up the spelling of a word quickly.
    2. aspell
      1. Interactive spelling checker.
    3. spell
      1. Batch spelling checker.
  15. Disks and Filesystems
    1. df
      1. get a full summary of available and used disk space usage of the file system on the Linux system.
    2. fdisk
      1. check the partitions on a disk
    3. duf
      1. A better df alternative, used to show disk usage
    4. du
      1. Measure disk usage of files and directories.
    5. dust
      1. A more intuitive version of du written in rust.
    6. mount
      1. Make a disk partition accessible.
    7. umount
      1. Unmount a disk partition (make it inaccessible).
    8. fsck
      1. Check a disk partition for errors.
    9. sync
      1. Flush all disk caches to disk.
    10. sfdisk
      1. Sfdisk is another utility with a purpose similar to fdisk, but with more features. It can display the size of each partition in MB.
    11. inxi
      1. a very useful command line program that can display information about various hardware components present on the system.
    12. lsblk
      1. Lists out all the storage blocks, which includes disk partitions and optical drives.
    13. hwinfo
      1. a general purpose hardware information tool and can be used to print out the disk and partition list.
    14. quota
      1. Display disk usage and limits
  16. Backups and Remote Storage
    1. dump
      1. Write a disk partition to a backup medium.
    2. restore
      1. Restore the results of a dump.
    3. cdrecord
      1. Burn a CD, DVD, or Blu-ray disc.
    4. rsync
      1. Mirror a set of files onto another device or host.
    5. mt
      1. Control a tape drive.
  17. Viewing Processes
    1. ps
      1. List process.
    2. procs
      1. A modern replacement for ps written in Rust.
        1. https://github.com/dalance/procsic
    3. pgrep
      1. searches for processes currently running on the system, based on a complete or partial process name, or other specified attributes.pic 1
    4. uptime
      1. View the system load.
    5. w
      1. List active processes for all users.
    6. top
      1. Monitor resource-intensive processes interactively.
    7. htop
      1. a cross-platform interactive process viewer
    8. gtop
      1. System monitoring dashboard for terminal.
        1. https://github.com/aksakalli/gtop
    9. hyperfine
      1. A command-line benchmarking tool.
        1. https://github.com/sharkdp/hyperfine
    10. glances
      1. Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.
        1. https://github.com/nicolargo/glances
    11. btop
      1. Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
        1. https://github.com/aristocratos/btop
    12. bottom
      1. Yet another cross-platform graphical process/system monitor.
        1. https://github.com/ClementTsang/bottom
    13. iotop
      1. used to display and monitor the disk IO usage details and even gets a table of existing IO utilization by the process.
    14. powertop
      1. used to diagnose issues with power consumption and power management.
    15. gnome-system-monitor
      1. Monitor system load and processes graphically.
    16. xload
      1. Simple, graphical monitor of system load.
    17. free
      1. Display free memory.
    18. pidof
      1. Command, which looks up and prints the PID of a process by its name
    19. nmon
      1. displays and records local system information. The command can run either in interactive or recording mode.
  18. Controlling Processes
    1. kill
      1. Terminate a process (or send it a signal).
    2. killall
      1. a utility command used for killing any running process on the system based on a given name.
    3. nohup
      1. nohup (No Hang Up) is a command in Linux systems that runs the process even after logging out from the shell/terminal.
    4. nice
      1. Invoke a program at a particular priority.
    5. renice
      1. Change a process’s priority as it runs.
    6. cpulimit
  19. Scheduling Jobs
    1. sleep
      1. Wait a set number of seconds, doing nothing.
    2. watch
      1. Run a program at set intervals.
    3. at
      1. Schedule a job for a single, future time.
    4. crontab
      1. Schedule jobs for many future times.
  20. Logins, Logouts, and Shutdowns
    1. shutdown
      1. Halts or reboots a Linux system
    2. halt
      1. is used to instruct the hardware to stop all the CPU functions. Basically, it reboots or stops the system.
  21. Users and Their Environment
    1. logname
      1. Print your login name.
    2. whoami
      1. Print your current, effective username.
    3. id
      1. Print the user ID and group membership of a user.
    4. who
      1. List logged-in users, long output.
    5. users
      1. List logged-in users, short output.
    6. finger
      1. Print information about users.
    7. last
      1. Determine when someone last logged in.
    8. printenv
      1. Print your environment.
  22. User Account Management
    1. useradd
      1. Create an account.
    2. userdel
      1. Delete an account.
    3. usermod
      1. Modify an account.
    4. passwd
      1. Change a password.
    5. chfn
      1. Change a user’s personal information.
    6. chsh
      1. Change a user’s shell.
  23. Group Management
    1. groups
      1. Print the group membership of a user.
    2. groupadd
      1. Create a group.
    3. groupdel
      1. Delete a group.
    4. groupmod
      1. Modify a group.
  24. Host Information
    1. uname
      1. Print basic system information.
    2. hostname
      1. Print the system’s hostname.
    3. dnsdomainname
      1. Same as hostname -d.
    4. domainname
      1. Same as hostname -y.
    5. nisdomainname
      1. Same as hostname -y.
    6. ypdomainname
      1. Same as hostname -y.
    7. ip
      1. Set and display network interface information.
    8. ifconfig
      1. Older command to set and display network interface information.
  25. Host Location
    1. host
      1. Look up hostnames, IP addresses, and DNS info.
    2. whois
      1. Look up the registrants of Internet domains.
    3. ping
      1. Check if a remote host is reachable.
    4. traceroute
      1. View the network path to a remote host.
  26. Shell Job Control
    1. jobs
      1. List your jobs.
    2. &
      1. Run a job in the background.
    3. ^Z
      1. Suspend the current (foreground) job.
    4. suspend
      1. Suspend a shell.
    5. fg
      1. Unsuspend a job: bring it into the foreground.
    6. bg
      1. Make a suspended job run in the background.
  27. Network Connections
    1. ssh
      1. Securely log into a remote host, or run commands on it.
    2. telnet
      1. Log into a remote host (insecure!).
    3. scp
      1. Securely copy files to/from a remote host (batch).
    4. sftp
      1. Securely copy files to/from a remote host (interactive).
    5. ftp
      1. Copy files to/from a remote host (interactive, insecure!).
  28. @xtremepentest
    1. buymecoffee
      1. https://www.buymeacoffee.com/0xtraw
    2. website
      1. https://bio.link/xtremepentest
    3. twitter
      1. https://twitter.com/xtremepentest
    4. github
      1. https://github.com/0xtraw
  29. Linux Listing Commands
    1. lsattr
      1. List file attributes on a Linux second extended file system
    2. lsb_release
      1. prints certain LSB (Linux Standard Base) and Distribution information.
    3. lsblk
      1. List block devices
    4. ls
      1. List information about file(s)
    5. lsof
      1. List open files
    6. lspci
      1. List all PCI devices
    7. lsmem
      1. shows the memory block size, the device size, and the amount of memory in online and offline state.
  30. Email
    1. thunderbird
      1. Graphical mail client.
    2. evolution
      1. Graphical mail client.
    3. mutt
      1. Text-based mail client.
    4. mail
      1. Minimal text-based mail client.
    5. mailq
      1. View the outgoing mail queue on your system.
  31. Usenet News
    1. slrn
      1. Usenet newsreader
  32. Instant Messaging
    1. gaim
      1. Instant messaging and IRC client.
    2. talk
      1. Linux/Unix chat program.
    3. write
      1. Send messages to a terminal.
    4. mesg
      1. Prohibit talk and write.
    5. tty
      1. Print your terminal device name.
  33. Math and Calculations
    1. xcalc
      1. Display a graphical calculator.
    2. expr
      1. Evaluate simple math on the command line.
    3. dc
      1. Text-based calculator.
    4. bc
      1. Arbitrary precision calculator language
  34. Dates and Times
    1. xclock
      1. Display a graphical clock.
    2. cal
      1. Print a calendar.
    3. date
      1. Print or set the date and time.
    4. ntpdate
      1. Set the system time using a remote timeserver.
  35. Graphics and Screensavers
    1. eog
      1. Display graphics files.
    2. geeqie
      1. Display graphics files and slideshows.
    3. ksnapshot
      1. Take a screenshot (screen capture).
    4. gimp
      1. Edit graphics files.
    5. dia
      1. Draw structured diagrams.
    6. gnuplot
      1. Create graphs and plots.
    7. xscreensaver
      1. Run a screensaver.
  36. Audio
    1. amarok, rhythmbox, xmms
      1. Audio file players (MP3, WAV, OGG).
    2. grip
      1. CD player, ripper, and MP3 encoder.
    3. cdparanoia
      1. Rip audio from CDs to WAV files.
    4. lame
      1. Convert from WAV to MP3.
    5. id3tag
      1. Edit ID3 tags.
    6. audacity
      1. Edit audio files.
    7. k3b
      1. CD burner with graphical interface.
  37. Video
    1. mplayer
      1. Video file playback.
    2. gxine
      1. Simple DVD player.
    3. kino
      1. Video editor.
    4. HandBrake
      1. Video ripper.
  38. Network
    1. traceroute
      1. View the network path to a remote host.
    2. ss
      1. ss (socket statistics) tool is a CLI command used to show network statistics.
    3. ifconfig
      1. Older command to set and display network interface information.
    4. netstat
      1. prints network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
    5. who
      1. List logged-in users, long output.
    6. tcpdump
      1. a command-line utility that you can use to capture and inspect network traffic going to and from your system.
    7. ping
      1. Check if a remote host is reachable.
    8. gping
      1. Ping, but with a graph.
        1. https://github.com/orf/gping
    9. ifdown
      1. disables a network interface, placing it in a state where it cannot transmit or receive data.
    10. ifup
      1. brings the network interface up, allowing it to transmit and receive data.
    11. ifquery
      1. displays information about a network interface's configuration.
    12. nslookup
      1. Nslookup (stands for “Name Server Lookup”) is a useful command for getting information from the DNS server.
    13. dig
      1. allows you to query information about various DNS records, including host addresses, mail exchanges, and name servers.
    14. dog
      1. A user-friendly command-line DNS client. dig on steroids
        1. https://github.com/ogham/dog
    15. mtr
      1. mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool
  39. Transfer files between remote and local systems
    1. scp
      1. allows you to securely copy files and directories between two locations over SSH.
    2. rsync
      1. a fast and versatile command-line utility for synchronizing files and directories between two locations over a remote shell, or from/to a remote Rsync daemon.
    3. sftp
      1. a secure file protocol that is used to access, manage, and transfer files over an encrypted SSH transport.
    4. sshfs
      1. allows us to mount a remote directory locally
  40. Modern Alternatives
    1. This commands might not come pre-installed on your system, so you may need to install them first. You can can find the installation instructions from the link provide