Projects STRLCPY Cipherops Files
🤬
5986e0be
ROOT /
essential-linux-commands.md
215 lines | UTF-8 | 9 KB

Essential Linux Commands

Here is a list of essential Linux commands for various operations:

File Operations:

  • ls: Lists all files and directories in the present working directory.
  • ls -R: Lists files in sub-directories as well.
  • ls -a: Shows hidden files.
  • ls -al: Lists files and directories with detailed information.
  • cd directoryname: Changes the directory.
  • cd ..: Moves one level up.
  • pwd: Displays the present working directory.
  • cat > filename: Creates a new file.
  • cat filename: Displays the file content.
  • cat file1 file2 > file3: Joins two files and stores the output in a new file.
  • touch filename: Creates or modifies a file.
  • rm filename: Deletes a file.
  • cp source destination: Copies files from the source path to the destination path.
  • mv source destination: Moves files from the source path to the destination path.
  • find / -name filename: Finds a file or a directory by its name starting from root.
  • file filename: Determines the file type.
  • less filename: Views the file content page by page.
  • head filename: Views the first ten lines of a file.
  • tail filename: Views the last ten lines of a file.
  • lsof: Shows which files are opened by which process.
  • du -h --max-depth=1: Shows the size of each directory.

Directory Operations:

  • mkdir directoryname: Creates a new directory in the present working directory.
  • rmdir directoryname: Deletes a directory.
  • cp -r source destination: Copies directories recursively.
  • mv olddir newdir: Renames directories.
  • find / -type d -name directoryname: Finds a directory starting from root.

Process Operations:

  • ps: Displays currently active processes.
  • top: Displays all running processes.
  • kill pid: Kills the process with the given PID.
  • pkill name: Kills the process with the given name.
  • bg: Resumes suspended jobs without bringing them to the foreground.
  • fg: Brings the most recent job to the foreground.
  • fg n: Brings job n to the foreground.
  • renice +n [pid]: Changes the priority of a running process.

File Permissions:

  • chmod octal filename: Change the permissions of a file.
  • chown ownername filename: Change file owner.
  • chgrp groupname filename: Change group owner.

Networking:

  • ping host: Ping a host and output results.
  • whois domain: Get whois information for a domain.
  • dig domain: Get DNS information for a domain.
  • netstat -pnltu: Display various network related information.
  • ifconfig: Displays IP addresses of all network interfaces.
  • ssh user@host: Remote login into the host as a user.
  • scp: Transfers files between hosts over SSH.
  • wget url: Download files from the web.
  • curl url: Sends a request to a URL and returns the response.
  • traceroute domain: Prints the route that a packet takes to reach the domain.
  • mtr domain: Combines the functionality of traceroute and ping.
  • ss: Investigates sockets.
  • nmap: Network exploration tool and security scanner.

Archives and Compression:

  • tar cf file.tar files: Create a tar archive containing files.
  • tar xf file.tar: Extract files from a tar archive.
  • gzip file: Compresses a file.
  • gzip -d file.gz: Decompresses a file.
  • zip -r file.zip files: Create a zip archive.
  • unzip file.zip: Extract the contents of a zip file.

Text Processing:

  • grep pattern files: Search for a pattern in files.
  • grep -r pattern dir: Search recursively for a pattern in a directory.
  • echo 'text': Prints text.
  • sed 's/string1/string2/g' filename: Replaces string1 with string2 in a file.
  • diff file1 file2: Compares two files and shows the differences.
  • wc filename: Count lines, words, and characters in a file.
  • awk: A versatile programming language for working on files.
  • sed -i 's/string1/string2/g' filename: Replace string1 with string2 in a file.
  • cut -d':' -f1 /etc/passwd: Cut out the first field of each line in /etc/passwd.

Disk Usage:

  • df: Shows disk usage.
  • du: Shows directory space usage.
  • free: Show memory and swap usage.
  • whereis app: Show possible locations of an app.

System Info:

  • date: Show the current date and time.
  • cal: Show this month's calendar.
  • uptime: Show current uptime.
  • w: Display who is online.
  • whoami: Who you are logged in as.
  • uname -a: Show kernel information.
  • df -h: Disk usage in a human-readable format.
  • du -sh: Disk usage of the current directory in a human-readable format.
  • free -m: Show free and used memory in MB.

Package Installations:

  • sudo apt-get update: Updates package lists for upgrades.
  • sudo apt-get upgrade: Upgrades all upgradable packages.
  • sudo apt-get install pkgname: Install a package.
  • sudo apt-get remove pkgname: Removes a package.

Others (mostly used in scripts):

  • command1 ; command2: Run command1 and then command2.
  • command1 && command2: Run command2 if command1 is successful.
  • command1 || command2: Run command2 if command1 is not successful.
  • command &: Run command in the background.

Version Control (Git commands):

  • git init: Initialize a local Git repository.
  • git clone url: Create a local copy of a remote repository.
  • git add filename: Add a file to the staging area.
  • git commit -m "Commit message": Commit changes with a message.
  • git status: Check the status of the working directory.
  • git pull: Pull latest changes from the remote repository.
  • git push: Push changes to the remote repository.
  • git branch: List all local branches.
  • git branch branchname: Create a new branch.
  • git checkout branchname: Switch to a branch.
  • git merge branchname: Merge a branch into the active branch.
  • git stash: Stash changes in a dirty working directory.
  • git stash apply: Apply changes from a stash.
  • git log: View commit history.
  • git reset: Reset your HEAD pointer to a previous commit.
  • git rm filename: Remove a file from version control.
  • git rebase: Reapply commits on top of another base tip.
  • git revert: Create a new commit that undoes all the changes made in a particular commit.
  • git cherry-pick commitID: Apply the changes introduced by some existing commits.

Environment Variables:

  • env: Display all environment variables.
  • `echo $V

ARIABLE`: Display the value of an environment variable.

  • export VARIABLE=value: Set the value of an environment variable.
  • alias new_command='old_command options': Create a new command that executes the old command with the specified options.
  • echo $PATH: Print the PATH environment variable.
  • export PATH=$PATH:/new/path: Add /new/path to the PATH.

Job Scheduling (Cron Jobs):

  • crontab -l: List all your cron jobs.
  • crontab -e: Edit your cron jobs.
  • crontab -r: Remove all your cron jobs.
  • crontab -v: Display the last time you edited your cron jobs.
  • crontab file: Install a cron job from a file.
  • @reboot command: Schedule a job to run at startup.

Package Installations (using pip, a Python package installer):

  • pip install packagename: Install a Python package.
  • pip uninstall packagename: Uninstall a Python package.
  • pip freeze > requirements.txt: Freeze the installed packages into a requirements file.
  • pip install -r requirements.txt: Install packages from a requirements file.

Shell Scripting:

  • #!/bin/bash: Shebang line to specify the script interpreter.
  • $0, $1, ..., $9, ${10}, ${11}: Script arguments.
  • if [condition]; then ... fi: if statement in Bash scripts.
  • for i in {1..10}; do ... done: for loop in Bash scripts.
  • while [condition]; do ... done: while loop in Bash scripts.
  • function name() {...}: Define a function.

System Monitoring and Performance:

  • iostat: Reports CPU statistics and input/output statistics for devices, partitions, and network filesystems.
  • vmstat: Reports information about processes, memory, paging, block IO, traps, disks, and CPU activity.
  • htop: An interactive process viewer for Unix systems.

Search and Find:

  • locate filename: Find a file by its name.
  • whereis programname: Locate the binary, source, and manual page files for a command.
  • which commandname: Shows the full path of shell commands.

Compression / Archives:

  • tar -cvf archive.tar dirname/: Create a tar archive.
  • tar -xvf archive.tar: Extract a tar archive.
  • tar -jcvf archive.tar.bz2 dirname/: Create a compressed bz2 archive.
  • tar -jxvf archive.tar.bz2: Extract a bz2 archive.

Disk Usage:

  • dd if=/dev/zero of=/tmp/output.img bs=8k count=256k: Create a file of a certain size for testing disk speed.
  • hdparm -Tt /dev/sda: Measure the read speed of your hard drive.

Others:

  • yes > /dev/null &: Use this command to push a system to its limit.
  • :(){ :|:& };::: A fork bomb – handle with care. Do not run this command on a production system.

{% embed url="https://www.commandlinefu.com/commands/browse" %}

Remember, you can always use the man command (e.g., man ls) to get more information about each command.

Please wait...
Page is in error, reload to recover