Bash is a popular shell scripting language used in Unix-based operating systems like Linux and macOS. It is widely used by developers, system administrators, and power users for automating tasks and managing systems. Bash offers many powerful features and shortcuts that can make your life easier and improve your productivity.
In this article, we will discuss 10 Bash tricks every developer should know.
1. Use Command Substitution
Command substitution allows you to execute a command and use its output as a variable or argument in another command. To use command substitution, enclose the command in parentheses preceded by a dollar sign. For example, to store the output of the date command in a variable, you can use the following command:
1 2 | now=$(date) echo "The current date and time is: $now" |
2. Use Brace Expansion
Brace expansion is a powerful feature that allows you to generate lists of words or commands. To use brace expansion, enclose a comma-separated list of words or commands in curly braces. For example, to create a list of files with different extensions, you can use the following command:
1 | touch file.{txt,doc,pdf} |
This will create three files: file.txt, file.doc, and file.pdf.
1 | mkdir /var/www/{one,two,three} |
3. Use Aliases
Aliases are shortcuts for commands or command sequences. They can save you time and typing by allowing you to use a shorter or more intuitive command. To create an alias, use the alias command followed by the name of the alias and the command or command sequence you want to alias. For example, to create an alias for the ls command that includes the -la options, you can use the following command:
1 | alias ll='ls -la' |
Now you can use the ll command instead of ls -la.
4. Use Tab Completion
Tab completion is a feature that allows you to complete a command or filename by pressing the tab key. This can save you time and reduce typing errors. To use tab completion, type the first few letters of the command or filename and then press the tab key. Bash will try to complete the command or filename based on the letters you have typed.
5. Use History Expansion
History expansion allows you to reuse commands from your command history. To use history expansion, type an exclamation mark followed by the number of the command you want to reuse. For example, to rerun the last command, you can use the following command:
1 | !! |
To rerun the command two commands ago, you can use the following command:
1 | !-2 |
6. Use Command Options and Flags
Many Bash commands have options and flags that can modify their behavior. To see the options and flags for a command, use the man command followed by the name of the command. For example, to see the options and flags for the ls command, you can use the following command:
1 | man ls |
7. Use Shell Scripts
Shell scripts are files containing Bash commands that can be executed as a single command. They can automate tasks and make complex tasks more manageable. To create a shell script, create a text file with the .sh extension and include Bash commands in the file. For example, to create a script that lists the files in the current directory and their sizes, you can use the following commands:
1 2 | touch list_files.sh nano list_files.sh |
Then, include the following commands in the file:
1 2 | #!/bin/bash ls -l |
Save the file and make it executable with the following command:
1 | chmod +x list_files.sh |
Now you can execute the script with the following command:
1 | ./list_files.sh |
8. Use Job Control
Job control allows you to manage and control multiple jobs or processes in the Bash shell. It allows you to start a process in the foreground or background, pause or resume a process, and manage multiple processes at once. To start a process in the background, use the & symbol after the command. For example:
1 | sleep 10 & |
This will start the sleep command in the background, allowing you to continue working in the terminal while the command runs.
To list the background jobs, use the jobs command:
1 | jobs |
You can also pause or resume a process with the Ctrl + Z
and bg commands:
1 2 | Ctrl+Z # pause a process bg %1 # resume the first background job |
9. Use the Watch Command
The watch command allows you to execute a command periodically and display the output in real-time. This is useful for monitoring system resources or processes. To use the watch command, simply specify the command you want to execute and the interval in seconds:
1 | watch -n 1 ps aux |
This will display the output of the ps aux command every second.
10. Use Conditional Statements
Conditional statements allow you to execute commands based on a condition or a set of conditions. This is useful for automating tasks that require decision-making. Bash supports various conditional statements, including if, case, and test. For example, to check if a file exists before executing a command, you can use the following conditional statement:
1 2 3 4 5 6 | if [ -e file.txt ] then echo "File found" else echo "File not found" fi |
Conclusion
In conclusion, knowing these Bash tricks can make you more efficient and productive as a developer. They can help you automate tasks, process text data, and interact with various systems and services. By using these commands, you can save time and reduce the risk of errors in your workflow. While these are just a few of the many commands available in Bash, mastering them can give you a solid foundation for using the command-line interface effectively. So, take some time to practice and experiment with these tricks, and see how they can improve your workflow and productivity.