DEV Community

Cover image for Mastering Bash: Essential Commands for Everyday Use
Oliver Bennet for GraphPe

Posted on • Edited on

3

Mastering Bash: Essential Commands for Everyday Use

Bash, the Bourne Again Shell, is a powerful tool for interacting with your Linux system. Whether you're a beginner or an experienced user, mastering essential Bash commands can significantly boost your productivity. In this article, we’ll cover some of the most useful and frequently used Bash commands, with examples to help you get started.

1. Navigating File System with cd, pwd, and ls

cd(Change Directory)
The cdcommand is used to navigate through the file system. You can move between directories easily with this command:

cd /path/to/directory
Enter fullscreen mode Exit fullscreen mode

To go back to the previous directory:

cd -
Enter fullscreen mode Exit fullscreen mode

pwd(Print Working Directory)
If you ever get lost in the terminal and want to know where you are, use pwd:

pwd
Enter fullscreen mode Exit fullscreen mode

It prints the full path of your current directory.

ls(List Directory Contents)
Want to see what files and directories are inside the current directory? Use ls:

ls
Enter fullscreen mode Exit fullscreen mode

To display more details, such as file permissions, size, and modification date, use the -l flag:

ls -l
Enter fullscreen mode Exit fullscreen mode

2. Managing Files with cp, mv, and rm

cp(Copy Files or Directories)
The cpcommand is used to copy files or directories from one location to another:

cp file1.txt /path/to/destination/
Enter fullscreen mode Exit fullscreen mode

To copy a directory and its contents, use the -r (recursive) option:

cp -r /path/to/source/ /path/to/destination/
Enter fullscreen mode Exit fullscreen mode

mv(Move or Rename Files)
The mv command can either move files to a new location or rename them:

mv oldfile.txt newfile.txt  # Renames file
mv file.txt /new/location/  # Moves file to new directory
Enter fullscreen mode Exit fullscreen mode

rm(Remove Files or Directories)
To delete files, use the rmcommand:

rm file.txt
Enter fullscreen mode Exit fullscreen mode

For directories and their contents, use the -r option:

rm -r /path/to/directory/
Enter fullscreen mode Exit fullscreen mode

Be careful when using rm, as deleted files are not moved to a trash bin.

3. Viewing and Editing Files with cat, less, and nano

cat(Concatenate and Display Files)
The cat command displays the content of a file directly in the terminal:

cat file.txt
Enter fullscreen mode Exit fullscreen mode

To concatenate multiple files and display them, list all files:

cat file1.txt file2.txt
Enter fullscreen mode Exit fullscreen mode

less(View File Content One Page at a Time)
The less command lets you view large files page by page, making navigation easier:

less largefile.txt
Enter fullscreen mode Exit fullscreen mode

You can scroll through the file using arrow keys and press q to quit.

nano (Simple Text Editor)
For quick file editing, nanois a lightweight and user-friendly command-line text editor:

nano file.txt
Enter fullscreen mode Exit fullscreen mode

Once you're done editing, press Ctrl + X to exit, Y to save changes, and Enter to confirm.

4. Searching with grepand find

grep(Search Within Files)
The grepcommand searches for a specific pattern within files. For example, to search for the word "error" in a log file:

grep "error" logfile.txt
Enter fullscreen mode Exit fullscreen mode

To ignore case sensitivity, add the -i option:

grep -i "error" logfile.txt
Enter fullscreen mode Exit fullscreen mode

find(Search for Files or Directories)
To locate files or directories on your system, use the findcommand. For example, to search for a file named document.txt:

find / -name "document.txt"
Enter fullscreen mode Exit fullscreen mode

The findcommand is powerful and can be combined with other options to search by date, size, or file type.

5. Viewing System Information with df, du, and top

df (Disk Free Space)
The df command displays the amount of available disk space on file systems:

df -h
Enter fullscreen mode Exit fullscreen mode

The -h option shows the output in a human-readable format (KB, MB, GB).

du (Disk Usage)
If you need to know how much space a directory is using, ducan help:

du -sh /path/to/directory/
Enter fullscreen mode Exit fullscreen mode

This command provides a summary of the directory’s size.

top(Monitor System Processes)
The topcommand gives you a real-time view of running processes and their resource usage:

top
Enter fullscreen mode Exit fullscreen mode

You can monitor CPU, memory usage, and even kill processes directly from this interface.

Output of  raw `top` endraw

Conclusion

These essential Bash commands are your gateway to mastering the Linux command line. By practicing these commands and incorporating them into your daily workflow, you’ll become more efficient and capable of handling system tasks with ease. Bash is vast and powerful, and this guide is just the start of your journey into command-line mastery.

🔗 Support my Work

▶️ Support by Subscribing my YouTube
▶️ Explore more open-source tutorials on my website
▶️ Follow me on X
Buy me a Coffee

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay