DEV Community

Cover image for πŸ’» Common Useful Linux Commands 🐧
Truong Phung
Truong Phung

Posted on • Edited on

πŸ’» Common Useful Linux Commands 🐧

Common Linux Commands and Descriptions

Linux FileSystem Structure

/ β”œβ”€β”€ bin/ # Essential user binaries (e.g., ls, cat), accessible by all users. β”œβ”€β”€ boot/ # Files needed to boot the system, like the kernel and bootloader configs. β”œβ”€β”€ dev/ # Device files representing hardware (e.g., /dev/sda for hard drives). β”œβ”€β”€ etc/ # System-wide configuration files (e.g., fstab, hosts). β”‚ β”œβ”€β”€ init.d/ # Service scripts (start, stop, restart) β”‚ β”œβ”€β”€ nginx/ # Configuration for the nginx web server β”‚ └── ssh/ # SSH configuration files β”œβ”€β”€ home/ # User home directories for personal data. β”‚ └── user/ # Directory for user 'user', β”œβ”€β”€ lib/ # Shared libraries essential for the system and kernel modules. β”œβ”€β”€ media/ # Mount points for removable media, external devices like USBs or DVDs. β”œβ”€β”€ mnt/ # Temporary mount directory β”œβ”€β”€ opt/ # Optional software packages or third-party apps. β”œβ”€β”€ proc/ # Process and kernel information β”œβ”€β”€ root/ # Home directory for root user β”œβ”€β”€ sbin/ # System binaries for administrative tasks (e.g., reboot, iptables). β”œβ”€β”€ tmp/ # Temporary files, often cleared on reboot. β”œβ”€β”€ usr/ # User programs and libraries, typically for installed packages. β”‚ β”œβ”€β”€ bin/ # User commands β”‚ β”œβ”€β”€ lib/ # User libraries β”‚ └── share/ # Shared files └── var/ # Variable files (logs, databases, etc.) β”œβ”€β”€ log/ # Log files β”œβ”€β”€ cache/ # Application cache data └── tmp/ # Temporary files created by applications 
Enter fullscreen mode Exit fullscreen mode

File and Directory Operations

  • ls – Lists the contents of a directory.

    ls ls -l # Long listing format ls -a # List all files, including hidden ones 
  • cd – Changes the current directory.

    cd /path/to/directory cd .. # Go up one directory cd ~ # Go to the home directory 
  • mkdir – Creates a new directory.

    mkdir new_directory 
  • rmdir – Removes an empty directory.

    rmdir directory_name 
  • cp – Copies files or directories.

    cp source_file destination cp -r source_directory destination_directory # Copy directories recursively 
  • mv – Moves or renames files and directories.

    mv old_name new_name mv file_name /path/to/destination/ 
  • rm – Removes files or directories.

    rm file_name rm -r directory_name # Remove directories recursively 
  • touch – Creates an empty file or updates the timestamp of an existing file.

    touch file_name 

File Viewing & Manipulation

  • cat – Displays the contents of a file.

    cat file_name 
  • less – Allows you to view file contents page by page.

    less file_name 
  • head – Shows the first 10 lines of a file (default).

    head file_name head -n 5 file_name # Show the first 5 lines 
  • tail – Shows the last 10 lines of a file (default).

    tail file_name tail -n 5 file_name # Show the last 5 lines 
  • grep – Searches for patterns within files.

    grep 'search_term' file_name grep -r 'search_term' /path/to/directory # Search recursively in directories 

Permissions & Ownership

  • chmod – Changes file permissions.

    chmod 755 file_name # Gives read, write, execute permissions to the owner and read, execute to others chmod +x script.sh # Make file executable 
  • chown – Changes the file owner and group.

    chown user:group file_name 
  • umask – Sets default file creation permissions.

    umask 022 # Sets default permissions to 755 for directories and 644 for files 

Process Management

  • ps – Displays the currently running processes.

    ps ps aux # Show all processes 
  • top – Displays real-time system processes and resource usage.

    top 
  • kill – Terminates a process by its PID.

    kill process_id kill -9 process_id # Forcefully kill a process 
  • htop – Interactive process viewer (requires installation).

    htop 

System Information

  • df – Shows disk space usage.

    df -h # Human-readable format 
  • du – Shows disk usage for files and directories.

    du -h /path/to/directory 
  • free – Displays memory usage.

    free -h # Human-readable format 
  • uname – Shows system information.

    uname -a # Display all system info 
  • uptime – Shows how long the system has been running.

    uptime 
  • whoami – Displays the current logged-in user.

    whoami 
  • hostname – Displays or sets the system's hostname.

    hostname 
  • lscpu – Displays CPU architecture information.

    lscpu 

Network Commands

  • ping – Tests connectivity to a host.

    ping google.com 
  • ifconfig – Displays network interface information (may require net-tools installation on some systems).

    ifconfig 
  • ip – Configures network interfaces and routing.

    ip addr show # Show IP addresses of network interfaces ip route show # Show routing table 
  • curl – Fetches data from a URL.

    curl https://example.com 
  • wget – Downloads files from the web.

    wget https://example.com/file.zip 

Package Management

  • apt-get (for Debian/Ubuntu-based distributions) – Installs, updates, or removes software packages.

    sudo apt-get update # Update package list sudo apt-get install package # Install a package sudo apt-get remove package # Remove a package 
  • yum (for RedHat/CentOS-based distributions) – Installs, updates, or removes software packages.

    sudo yum update # Update package list sudo yum install package # Install a package sudo yum remove package # Remove a package 

File Compression

  • tar – Archives or extracts files.

    tar -czvf archive_name.tar.gz /path/to/directory # Create a compressed archive tar -xzvf archive_name.tar.gz # Extract a compressed archive 
  • zip – Compresses files into a zip archive.

    zip archive_name.zip file1 file2 
  • unzip – Extracts a zip archive.

    unzip archive_name.zip 

Miscellaneous

  • echo – Prints a message or variables to the terminal.

    echo "Hello, World!" 
  • date – Displays or sets the system date and time.

    date 
  • alias – Creates an alias for a command.

    alias ll='ls -la' # Create a shortcut for 'ls -la' 
  • history – Shows the command history.

    history 
  • clear – Clears the terminal screen.

    clear 

These are just a few of the many powerful commands in Linux, but they cover most of the common operations you'll perform daily.

If you found this helpful, let me know by leaving a πŸ‘ or a comment!, or if you think this post could help someone, feel free to share it! Thank you very much! πŸ˜ƒ

Top comments (0)