Essential Bash Commands for Administrators

Key bash commands used by administrators.
February 22, 2025 by
Essential Bash Commands for Administrators
Hamed Mohammadi
| No comments yet

Bash is more than just a command-line interpreter—it’s the backbone of Linux administration. Whether you’re navigating directories, managing processes, or parsing log files, mastering essential Bash commands is key to efficient system administration. In this post, we’ll explore the must-know Bash commands, complete with examples and practical tips, to help you streamline daily tasks and troubleshoot issues more effectively.

1. Navigating the Filesystem

Efficient navigation is the first step toward effective administration.

  • pwd
    Print Working Directory
    Displays your current directory.

    $ pwd
    /home/admin
    
  • cd
    Change Directory
    Quickly move between directories.

    $ cd /var/log
    
  • ls
    Lists directory contents. Use options like -l for detailed output or -a to show hidden files.

    $ ls -la
    

2. Managing Files and Directories

Creating, copying, moving, and deleting files are everyday tasks.

  • touch
    Creates an empty file or updates a file’s timestamp.

    $ touch newfile.txt
    
  • cp
    Copies files or directories.

    $ cp source.txt /backup/source.txt
    
  • mv
    Moves or renames files and directories.

    $ mv oldname.txt newname.txt
    
  • rm
    Removes files or directories. Use with caution!

    $ rm unwanted.txt
    $ rm -r old_directory/
    
  • mkdir and rmdir
    Create and remove directories.

    $ mkdir projects
    $ rmdir old_empty_directory
    

3. Viewing and Editing Files

Quickly viewing or modifying file content is crucial for troubleshooting and configuration.

  • cat
    Displays the contents of a file.

    $ cat /etc/passwd
    
  • less and more
    Paginate file contents for easy reading.

    $ less /var/log/syslog
    
  • head and tail
    View the beginning or end of a file.

    $ head -n 10 /var/log/syslog
    $ tail -n 20 /var/log/syslog
    
  • Text Editors:
    Tools like nano, vim, or emacs let you edit files directly from the terminal.

    $ vim /etc/ssh/sshd_config
    

4. Searching and Processing Text

Administrators often need to search for patterns or process log files.

  • grep
    Searches for text within files.

    $ grep "error" /var/log/syslog
    
  • find
    Locates files based on name, size, modification date, etc.

    $ find /home -name "*.log"
    
  • awk and sed
    Powerful tools for text processing and transforming data.

    $ awk '{print $1, $3}' /etc/passwd
    $ sed 's/old/new/g' file.txt > updated_file.txt
    
  • cut and sort
    Useful for parsing and organizing data.

    $ cut -d: -f1 /etc/passwd | sort
    

5. Process and System Management

Keeping track of running processes and system resources is essential.

  • ps
    Displays information about active processes.

    $ ps aux | grep apache2
    
  • top and htop
    Real-time process monitoring tools that show CPU and memory usage.

    $ top
    
  • kill, pkill, and killall
    Terminate processes by ID, name, or pattern.

    $ kill 12345
    $ pkill -f process_name
    
  • df and du
    Monitor disk space usage.

    $ df -h       # Disk space usage of mounted filesystems
    $ du -sh /var/log   # Disk usage of a specific directory
    

6. Networking Commands

Networking is a critical aspect of system administration.

  • ping
    Tests network connectivity.

    $ ping google.com
    
  • netstat or ss
    Displays network connections and listening ports.

    $ netstat -tulpn
    $ ss -tulpn
    
  • curl and wget
    Fetches content from the web or downloads files.

    $ curl -I https://example.com
    $ wget https://example.com/file.zip
    

7. Command History and Customization

Making the shell work for you is key to productivity.

  • history
    Displays a list of previously executed commands.

    $ history
    
  • alias
    Create shortcuts for long or frequently used commands.

    $ alias ll='ls -la'
    
  • Environment Variables:
    Customize your shell environment with variables like PATH.

    $ echo $PATH
    $ export PATH=$PATH:/new/directory
    

Conclusion

Mastering essential Bash commands is a fundamental skill for any Linux administrator. From navigating the filesystem and managing files to processing text and monitoring system resources, these commands form the backbone of daily system management. By incorporating these tools into your workflow, you can increase efficiency, reduce errors, and maintain a secure and well-organized system.

Keep practicing these commands and consider scripting repetitive tasks to further boost your productivity.

Essential Bash Commands for Administrators
Hamed Mohammadi February 22, 2025
Share this post
Tags
Archive

Please visit our blog at:

https://zehabsd.com/blog

A platform for Flash Stories:

https://readflashy.com

A platform for Persian Literature Lovers:

https://sarayesokhan.com

Sign in to leave a comment