1. tmux – Terminal Multiplexer
tmux is an essential tool for developers managing multiple terminal sessions. It allows you to divide your terminal window into panes, handle numerous sessions, and detach and reattach sessions without disrupting your work. This is particularly beneficial for remote development or server-based tasks lacking a graphical user interface.
Key Features:
- Splits terminal into multiple panes (horizontal and vertical).
- Detaches and reattaches sessions to preserve work across interruptions.
- Customizable keybindings for rapid navigation.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install tmux
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install tmux
# On Gentoo Linux
sudo emerge -a sys-apps/tmux
# On Alpine Linux
sudo apk add tmux
# On Arch Linux
sudo pacman -S tmux
# On OpenSUSE
sudo zypper install tmux
# On FreeBSD
sudo pkg install tmux
Usage:
Start a new session: tmux new -s session_name
Split panes: Ctrl+b %
(vertical), Ctrl+b "
(horizontal)
Detach session: Ctrl+b d
2. htop – Interactive Process Viewer
htop enhances the traditional top
command by providing an interactive and visually rich interface for monitoring and managing system resources. It helps ensure your system operates smoothly by allowing efficient resource oversight.
Key Features:
- Color-coded display for improved readability.
- Scrollable process list with tree view.
- Direct process killing or renicing from the interface.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install htop
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install htop
# On Gentoo Linux
sudo emerge -a sys-apps/htop
# On Alpine Linux
sudo apk add htop
# On Arch Linux
sudo pacman -S htop
# On OpenSUSE
sudo zypper install htop
# On FreeBSD
sudo pkg install htop
Usage:
Launch htop: htop
Navigate: Arrow keys
Kill process: F9
3. fzf – Fuzzy Finder
fzf is a powerful fuzzy finder that streamlines searching through files, commands, and directories. It integrates seamlessly with CLI tools and offers real-time filtering capabilities.
Key Features:
- Fuzzy matching for quick and flexible searches.
- Works with command history and file paths.
- Integrates with vim, bash, and zsh.
- Highly customizable and scriptable.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install fzf
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install fzf
# On Gentoo Linux
sudo emerge -a sys-apps/fzf
# On Alpine Linux
sudo apk add fzf
# On Arch Linux
sudo pacman -S fzf
# On OpenSUSE
sudo zypper install fzf
# On FreeBSD
sudo pkg install fzf
Usage:
Start searching: fzf
Filter file lists: ls | fzf
4. bat – Enhanced Cat Command
bat is a modern replacement for cat
, enhancing file reading with syntax highlighting, line numbers, and Git integration, making code and text files easier to review.
Key Features:
- Syntax highlighting for over 200 languages.
- Line numbers and Git diff support.
- Paging for large files.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install bat
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install bat
# On Gentoo Linux
sudo emerge -a sys-apps/bat
# On Alpine Linux
sudo apk add bat
# On Arch Linux
sudo pacman -S bat
# On OpenSUSE
sudo zypper install bat
# On FreeBSD
sudo pkg install bat
Usage:
Display file with syntax highlighting: bat filename.txt
(or batcat filename.txt
if bat
is unavailable)
5. eza – Modern Alternative to ls
eza is a contemporary alternative to ls
, providing enhanced features and performance. It presents file information in a more readable format with icon support and Git integration.
Key Features:
- Color-coded output for improved clarity.
- Displays file metadata (permissions, size, modification time).
- Tree view for directory hierarchies.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install eza
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install eza
# On Gentoo Linux
sudo emerge -a sys-apps/eza
# On Alpine Linux
sudo apk add eza
# On Arch Linux
sudo pacman -S eza
# On OpenSUSE
sudo zypper install eza
# On FreeBSD
sudo pkg install eza
Usage:
Detailed listing: eza -l
Directory tree: eza --tree
6. ripgrep (rg) – Fast File Search
ripgrep (rg) is an exceptionally fast search tool that combines the efficiency of grep
with modern functionalities like respecting .gitignore
files.
Key Features:
- Recursive directory searching.
- Ignores
.gitignore
specified files and directories. - Supports regex and Unicode.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install ripgrep
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install ripgrep
# On Gentoo Linux
sudo emerge -a sys-apps/ripgrep
# On Alpine Linux
sudo apk add ripgrep
# On Arch Linux
sudo pacman -S ripgrep
# On OpenSUSE
sudo zypper install ripgrep
# On FreeBSD
sudo pkg install ripgrep
Usage:
Search for term: rg "search_term"
7. Zsh – Z Shell
Zsh is a highly customizable shell offering significant improvements over Bash, including superior autocompletion, theming, and plugin capabilities.
Key Features:
- Advanced tab completion.
- Plugin ecosystem via frameworks like Oh My Zsh.
- Customizable themes for prompt personalization.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install zsh
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install zsh
# On Gentoo Linux
sudo emerge -a sys-apps/zsh
# On Alpine Linux
sudo apk add zsh
# On Arch Linux
sudo pacman -S zsh
# On OpenSUSE
sudo zypper install zsh
# On FreeBSD
sudo pkg install zsh
Usage:
Change default shell to Zsh: chsh -s $(which zsh)
8. Git – Version Control System
Git is the leading version control system, essential for tracking changes, facilitating collaboration, and managing code repositories in modern software development.
Key Features:
- Branching and merging for parallel development workflows.
- Distributed version control system.
- Integration with platforms like GitHub and GitLab.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install git
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install git
# On Gentoo Linux
sudo emerge -a sys-apps/git
# On Alpine Linux
sudo apk add git
# On Arch Linux
sudo pacman -S git
# On OpenSUSE
sudo zypper install git
# On FreeBSD
sudo pkg install git
Usage:
Initialize repository: git init
Add files: git add .
Commit changes: git commit -m "message"
Push to remote: git push
9. cURL – Data Transfer Tool
cURL is a versatile command-line tool for transferring data across various protocols like HTTP, HTTPS, and FTP. It is widely used for API testing, file downloading, and network debugging.
Key Features:
- Supports a wide range of protocols.
- Capable of sending HTTP requests with custom headers and data.
- Supports GET and POST requests.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install curl
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install curl
# On Gentoo Linux
sudo emerge -a sys-apps/curl
# On Alpine Linux
sudo apk add curl
# On Arch Linux
sudo pacman -S curl
# On OpenSUSE
sudo zypper install curl
# On FreeBSD
sudo pkg install curl
Usage:
Fetch webpage: curl http://example.com
Send POST request: curl -X POST -d "param=value" http://example.com
10. tldr – Simplified Man Pages
tldr simplifies the often complex man pages by offering concise, community-sourced examples of command usage.
Key Features:
- Easy-to-understand, practical examples.
- Offline availability after initial setup.
- Extensive coverage of commands.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install tldr
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install tldr
# On Gentoo Linux
sudo emerge -a sys-apps/tldr
# On Alpine Linux
sudo apk add tldr
# On Arch Linux
sudo pacman -S tldr
# On OpenSUSE
sudo zypper install tldr
# On FreeBSD
sudo pkg install tldr
Usage:
Get command examples: tldr command_name
(e.g., tldr tar
)
11. jq – JSON Processor
jq is a lightweight and flexible command-line JSON processor, enabling parsing, filtering, and manipulation of JSON data directly in the terminal, ideal for API interactions and data analysis.
Key Features:
- Extracts and transforms JSON data.
- Supports complex queries and data transformations.
- Easily integrates into shell scripts.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install jq
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install jq
# On Gentoo Linux
sudo emerge -a sys-apps/jq
# On Alpine Linux
sudo apk add jq
# On Arch Linux
sudo pacman -S jq
# On OpenSUSE
sudo zypper install jq
# On FreeBSD
sudo pkg install jq
Usage:
Process JSON data: jq '.
data.json
12. ncdu – Disk Usage Analyzer
ncdu is an interactive disk usage analyzer that helps identify large files and directories consuming excessive storage. Its navigable interface simplifies filesystem exploration and cleanup.
Key Features:
- Interactive, navigable directory interface.
- File sorting by size for quick identification of large files.
- Lightweight and faster than graphical alternatives.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install ncdu
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install ncdu
# On Gentoo Linux
sudo emerge -a sys-apps/ncdu
# On Alpine Linux
sudo apk add ncdu
# On Arch Linux
sudo pacman -S ncdu
# On OpenSUSE
sudo zypper install ncdu
# On FreeBSD
sudo pkg install ncdu
Usage:
Analyze disk usage: ncdu /path/to/directory
Navigate: Arrow keys
Delete files: d
Refresh view: r
Quit: q
13. asciinema – Terminal Session Recorder
asciinema allows developers to record terminal sessions and share them as replayable ASCII videos. This is particularly useful for creating tutorials, documenting workflows, and team collaboration.
Key Features:
- Records terminal input and output without sensitive data capture.
- Shareable links for documentation and collaboration.
- Playback with pause, rewind, and copy functionalities.
Installation:
# On Debian, Ubuntu and Mint
sudo apt install asciinema
# On RHEL/CentOS/Fedora and Rocky/AlmaLinux
sudo dnf install asciinema
# On Gentoo Linux
sudo emerge -a sys-apps/asciinema
# On Alpine Linux
sudo apk add asciinema
# On Arch Linux
sudo pacman -S asciinema
# On OpenSUSE
sudo zypper install asciinema
# On FreeBSD
sudo pkg install asciinema
Usage:
Start recording: asciinema rec
Stop recording: Ctrl+D
Record to file: asciinema rec demo.cast
Playback local recording: asciinema play demo.cast
Conclusion
Each of these command-line tools addresses specific development needs, contributing to enhanced efficiency. From terminal management with tmux to rapid file searching with ripgrep, integrating these tools into your workflow can significantly streamline tasks, minimize obstacles, and allow a greater focus on coding and problem-solving. Essential tools like Zsh, Git, and cURL are fundamental for modern development, supporting version control and API testing. Specialized utilities such as ncdu and asciinema offer functionalities for disk analysis and session recording, ensuring developers are well-equipped for diverse tasks.
0 comments:
Post a Comment