50% found this document useful (2 votes)
11K views

# - Essential Linux Commands (+100) - 1687474741669

The document lists essential Linux commands organized into categories such as file operations, directory operations, process operations, file permissions, networking, archives and compression, text processing, disk usage, system info, package installations, version control, environment variables, job scheduling, shell scripting, system monitoring, search and find, and compression/archives. It provides a detailed overview of the most common Linux commands and their functions.

Uploaded by

che
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
50% found this document useful (2 votes)
11K views

# - Essential Linux Commands (+100) - 1687474741669

The document lists essential Linux commands organized into categories such as file operations, directory operations, process operations, file permissions, networking, archives and compression, text processing, disk usage, system info, package installations, version control, environment variables, job scheduling, shell scripting, system monitoring, search and find, and compression/archives. It provides a detailed overview of the most common Linux commands and their functions.

Uploaded by

che
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

#_ Essential Linux Commands [+100 ]

1. File Operations:

● ls: Lists all les and directories in the present working


directory
● ls -R: Lists les in sub-directories as well
● ls -a: Shows hidden les
● ls -al: Lists les and directories with detailed information like
permissions, size, owner, etc.
● cd directoryname: Changes the directory
● cd ..: Moves one level up
● pwd: Displays the present working directory
● cat > filename: Creates a new le
● cat filename: Displays the le content
● cat file1 file2 > file3: Joins two les (le1 and le2) and stores
the output in a new le (le3)
● touch filename: Creates or modies a le
● rm filename: Deletes a le
● cp source destination: Copies les from the source path to the
destination path
● mv source destination: Moves les from the source path to the
destination path
● find / -name filename: Finds a le or a directory by its name
starting from root
● file filename: Determines the le type
● less filename: Views the le content page by page
● head filename: Views the rst ten lines of a le
● tail filename: Views the last ten lines of a le
● lsof: Shows which les are opened by which process.
● du -h --max-depth=1: Shows the size of each directory. Use
--max-depth=1 to limit the output to the current directory and its
immediate children.
● fdisk: Disk partition manipulation command.

By: Waleed Mousa


2. 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

3. Process Operations:

● ps: Displays your currently active processes


● top: Displays all running processes
● kill pid: Kills the process with given pid
● pkill name: Kills the process with the given name
● bg: Resumes suspended jobs without bringing them to foreground
● fg: Brings the most recent job to foreground
● fg n: Brings job n to the foreground
● renice +n [pid]: Change the priority of a running process.
● &>filename: Redirects both the stdout and the stderr to the le
lename.
● 1>filename: Redirect the stdout to le lename.
● 2>filename: Redirect stderr to le lename.

4. File Permissions:

● chmod octal filename: Change the permissions of le to octal,


which can be between 0 (no permissions) to 7 (full permissions)
● chown ownername filename: Change le owner
● chgrp groupname filename: Change group owner

By: Waleed Mousa


5. Networking:

● ping host: Ping a host and outputs results


● whois domain: Get whois information for domain
● dig domain: Get DNS information for domain
● netstat -pnltu: Display various network related information such
as network connections, routing tables, interface statistics etc.
● ifconfig: Displays IP addresses of all network interfaces
● ssh user@host: Remote login into the host as user
● scp: Transfers les between hosts over ssh
● wget url: Download les 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: mtr combines the functionality of the traceroute and
ping programs in a single network diagnostic tool.
● ss: Another utility to investigate sockets. It's a more modern
alternative to netstat.
● nmap: Network exploration tool and security scanner.

6. Archives and Compression:

● tar cf file.tar files: Create a tar named le.tar containing les


● tar xf file.tar: Extract the les from le.tar
● gzip file: Compresses le and renames it to le.gz
● gzip -d file.gz: Decompresses le.gz back to le
● zip -r file.zip files: Create a zip archive named le.zip
● unzip file.zip: Extract the contents of a zip le

7. Text Processing:

● grep pattern files: Search for pattern in les


● grep -r pattern dir: Search recursively for pattern in dir

By: Waleed Mousa


● command | grep pattern: Pipe the output of command to grep for
searching
● echo 'text': Prints text
● sed 's/string1/string2/g' filename: Replaces string1 with string2
in lename
● diff file1 file2: Compares two les and shows the differences
● wc filename: Count lines, words, and characters in a le
● awk: A versatile programming language for working on les.
● sed -i 's/string1/string2/g' filename: Replace string1 with string2
in lename. The -i option edits the le in-place.
● cut -d':' -f1 /etc/passwd: Cut out the rst eld of each line in
/etc/passwd, using colon as a eld delimiter.

8. Disk Usage:

● df: Shows disk usage


● du: Shows directory space usage
● free: Show memory and swap usage
● whereis app: Show possible locations of app

9. 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 human readable format
● du -sh: Disk usage of current directory in human readable format
● free -m: Show free and used memory in MB

By: Waleed Mousa


10. 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 pkgname
● sudo apt-get remove pkgname: Removes pkgname

11. 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 background

12. 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 le 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 le from version control
● git rebase: Reapply commits on top of another base tip.

By: Waleed Mousa


● git revert: Create a new commit that undoes all of the changes
made in a particular commit, then apply it to the current branch.
● git cherry-pick commitID: Apply the changes introduced by some
existing commits.

13. Environment Variables:

● env: Display all environment variables


● echo $VARIABLE: 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 specied options.
● echo $PATH: Print the PATH environment variable.
● export PATH=$PATH:/new/path: Add /new/path to the PATH.

14. 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 le
● @reboot command: Schedule a job to run at startup

15. 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 le.
● pip install -r requirements.txt: Install packages from a
requirements le.

By: Waleed Mousa


16. 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() {...}: Dene a function.

17. System Monitoring and Performance:

● iostat: Reports Central Processing Unit (CPU) statistics and


input/output statistics for devices, partitions, and network
lesystems.
● vmstat: Reports information about processes, memory, paging, block
IO, traps, disks, and CPU activity.
● htop: An interactive process viewer for Unix systems. It's a more
user-friendly alternative to top.

10. Search and Find:

● locate filename: Find a le by its name. The database updated by


updatedb command.
● whereis programname: Locate the binary, source, and manual page
les for a command.
● which commandname: Shows the full path of (shell) commands.

11. 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.
By: Waleed Mousa
12. Disk Usage:

● dd if=/dev/zero of=/tmp/output.img bs=8k count=256k: Create a le


of a certain size for testing disk speed.
● hdparm -Tt /dev/sda: Measure the read speed of your hard drive.

13. 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.

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

By: Waleed Mousa

You might also like