Skip to main content

Command Palette

Search for a command to run...

Intro: Linux Commands

Essential Linux commands to know for everyone in tech

Published
โ€ข4 min readโ€ขView as Markdown
Intro: Linux Commands
A

Web Developer (MERN) | AWS | Open Source ๐ŸŒ | ๐Ÿ”Ž DevOps | PC Building | Previously ๐Ÿง‘โ€๐Ÿ”ง, Now ๐Ÿง‘โ€๐Ÿ’ป| Learning in Public | ๐Ÿธ

What are Linux commands and why do we need them?

Linux commands are a fundamental aspect of working with Linux, providing users with control, efficiency, and the ability to customize their computing experience.

Linux commands are instructions or directives given to the Linux operating system through the command-line interface (CLI). They allow users to interact with the system, perform various tasks, and manage files, processes, and configurations. Each command has its syntax and options that define its behavior.

Linux commands are essential because they:

  1. Provide flexibility and power, allowing users to perform complex tasks and customize the system.

  2. Enable efficient system administration, including server management, network configuration, and user account control.

  3. Facilitate scripting and automation, saving time and effort by automating repetitive tasks.

  4. Enable remote access and administration of Linux systems using secure protocols like SSH.

  5. Aid in troubleshooting and diagnostics by providing powerful tools for monitoring and problem identification.

  6. Support efficient file and data management, including file manipulation, searching, and advanced text processing.

  7. Foster learning and skill development, helping users gain proficiency in Linux and command-line environments.

Here are some useful Linux commands and their common uses:

COPY

 ls: Lists files and directories in the current directory.
   Example: ls -l

 cd: Changes the current directory.
   Example: cd Documents

 pwd: Prints the current working directory.

 mkdir: Creates a new directory.
   Example: mkdir new_directory

 rm: Removes files and directories.
   Example: rm file.txt
            rm -r directory

 cp: Copies files and directories.
   Example: cp file.txt new_file.txt

 mv: Moves or renames files and directories.
   Example: mv file.txt new_directory/
            mv file.txt renamed_file.txt

 cat: Displays the contents of a file.
   Example: cat file.txt

 grep: Searches for a specific pattern in files.
   Example: grep "keyword" file.txt

 chmod: Changes file permissions.
    Example: chmod +x script.sh

 chown: Changes the owner of a file or directory.
    Example: chown user:group file.txt

 ssh: Connects to a remote server using SSH.
    Example: ssh user@hostname

 wget: Downloads files from the web.
    Example: wget http://example.com/file.txt

 top: Displays real-time system resource usage and running processes.

 history: Shows the command history of the current session.

 find: Searches for files and directories based on specified criteria.
    Example: find /path/to/directory -name "*.txt"

 tar: Archives files and directories into a compressed file.
    Example: tar -czvf archive.tar.gz directory

 zip/unzip: Compresses files into a ZIP archive or extracts files from a ZIP archive.
    Example: zip archive.zip file1.txt file2.txt
             unzip archive.zip

 df: Displays information about disk space usage.
    Example: df -h

 du: Shows the disk usage of files and directories.
    Example: du -sh directory

 ping: Tests network connectivity to a specific host.
    Example: ping google.com

 ifconfig/ip: Shows network interface information.
    Example: ifconfig
             ip addr show

 ssh-keygen: Generates SSH key pairs for secure authentication.
    Example: ssh-keygen -t rsa

 useradd: Creates a new user account.
    Example: useradd username

 passwd: Changes the password for a user account.
   Example: passwd username

 cron: Schedules tasks to run at specific intervals using cron jobs.
    Example: crontab -e

 scp: Copies files between local and remote systems using SSH.
    Example: scp file.txt user@remote:/path/to/destination

 man: Displays the manual page of a command.
    Example: man ls

Here are some advanced Linux commands along with their usage examples:

COPY

# find: Search for text files in the current directory and its subdirectories
find . -type f -name "*.txt"

# grep: Find lines containing a specific word in a file
grep "keyword" file.txt

# awk: Print the first column of a CSV file
awk -F"," '{print $1}' file.csv

# sed: Replace a word in a file with another word
sed 's/foo/bar/g' file.txt

# xargs: Remove all text files in a directory
find /path/to/files -type f -name "*.txt" | xargs rm

# tee: Print output to the terminal and write it to a file
echo "Hello, World!" | tee output.txt

# cut: Extract specific fields from a tab-delimited file
cut -f2 file.txt

# sort: Sort lines in a file in alphabetical order
sort file.txt

# uniq: Remove duplicate lines from a sorted file
uniq file.txt

# diff: Compare two text files
diff file1.txt file2.txt

# tar: Create a gzip-compressed archive of a directory
tar -czvf archive.tar.gz directory

# curl: Download a file from a URL
curl -O http://example.com/file.txt

# screen: Start a new screen session
screen -S session_name

# nc: Check if a port is open on a remote host
nc -zv host.com 80

# dd: Create a 10MB binary file filled with zeroes
dd if=/dev/zero of=output.bin bs=1M count=10

Conclusion

Linux commands are crucial for interacting with the Linux operating system, managing files and processes, automating tasks, troubleshooting, and administering systems. They provide a versatile and powerful way to control and customize the Linux environment, making them an essential tool for Linux users and administrators.

These are just a few examples of Linux commands. There are many more commands available, each with its own set of options and use cases.

Experimenting with them and referring to their respective manual pages (man <command>) will provide more detailed information on their usage and available options.


Thank You for reading