πŸ’» Common Useful Linux Commands 🐧

Truong Phung - Oct 15 - - Dev Community

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! πŸ˜ƒ

. . . . . . . . . . . . . . . . . . . . . . . . . . .