The Linux command line is a powerful tool that can be used to do anything from managing files to configuring your system. However, as technology evolves, so do the tools at our disposal. In this tutorial, we will explore 18 modern alternatives to some of the most popular Linux commands, highlighting their advantages and example use cases. These alternatives often offer improved performance, enhanced features, and simplified syntax.
Table of Contents
Modern Alternatives to Popular Linux Commands
Please be aware that these alternatives do not fully replace the widely-used traditional Linux commands. Instead, they serve as substitutions that offer comparable functionalities. Also some of the utilities given below are written in modern programming language (E.g. Rust).
Now let us discuss about 17 modern replacements for the legacy Linux commands.
1. Bat: Alternative to cat Command
Bat is a modern replacement for the traditional cat command. It offers syntax highlighting, line numbers, and Git integration for code review.
Install Bat in Linux:
$ sudo apt install bat # For Ubuntu/Debian $ sudo dnf install bat # For Fedora
Bat Usage:
bat filename
Example:
To display the contents of a file with syntax highlighting:
$ bat testscript.sh
We already have published a detailed guide on bat command usage. Please check the following link to learn how to use bat command in Linux.
Linux Bat Command – A Cat Clone With Syntax Highlighting And Git Integration
Project Link: bat GitHub Repository
2. exa: Alternative to ls Command
exa is a modern replacement for the traditional ls command. It provides improved formatting, color-coded output, and additional metadata.
Install exa in Linux:
$ sudo apt install exa # For Ubuntu/Debian$ sudo dnf install exa # For Fedora
exa Usage:
$ exa -l
Project Link: exa GitHub Repository
3. autojump: Alternative to cd Command
autojump allows you to quickly navigate to frequently visited directories using partial names. autojump works by maintaining a database of the directories you use the most from the command line.
Install autojump in Linux:
$ sudo apt install autojump # For Ubuntu/Debian$ sudo dnf install autojump # For Fedora
To use autojump, you need to configure you shell to source /usr/share/autojump/autojump.sh on startup.
If you use Bash, add the following line to your ~/.bashrc (for non-login interactive shells) and your ~/.bash_profile (for login shells):
. /usr/share/autojump/autojump.sh
If you use Zsh, add the following line to your ~/.zshrc (for all interactive shells):
. /usr/share/autojump/autojump.sh
autojump Usage:
Please note that directories must be visited first before they can be jumped to.
j <partial_directory_name>
Example:
To quickly jump into the directory named pyapps, run:
$ j pya
Project Link: Autojump GitHub Repository
4. zoxide: Alternative to cd Command
zoxide is a command line directory navigation tool that remembers your frequently used directories. It allows you to quickly "jump" to these directories using minimal keystrokes. It's compatible with all major shells.
Install zoxide in Linux:
The recommended way to install zoxide is by using the following one-liner script:
$ curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
zoxide is also available in the default repositories of many popular Linux distributions, so you can install it using your distribution's default package manager.
$ sudo apt install zoxide # For Ubuntu/Debian $ sudo dnf install zoxide # For Fedora
To start using zoxide, you'll need to integrate it into your shell's configuration.
For the Bash shell, edit ~/.bashrc file and add the following line to the end:
eval "$(zoxide init bash)"
For Fish shell, edit ~/.config/fish/config.fish file and add the following line at the end:
zoxide init fish | source
For Zsh, add this to the end of ~/.zshrc file:
eval "$(zoxide init zsh)"
zoxide Usage:
z <partial_directory_name>
Example:
To quickly navigate to a frequently visited directory (E.g.pyapps), run:
$ z py
Project Link: zoxide GitHub Repository
Similar Read:
- How To Use Pushd, Popd And Dirs Commands For Faster CLI Navigation
- How To Navigate Directories Faster In Linux
- How To Automatically Switch To A Directory Without Using Cd Command In Linux
- How To cd and ls in one command
5. HTTPie: Alternative to curl and wget Commands
HTTPie is a user-friendly command-line tool for making HTTP requests. It offers syntax highlighting, JSON support, and a more intuitive interface compared to curl.
Install HTTPie in Linux:
$ sudo apt install httpie # For Ubuntu/Debian $ sudo dnf install httpie # For Fedora
HTTPie Usage:
http GET http://example.com
Example:
$ https httpie.io/hello
6. ripgrep: Alternative to grep Command
ripgrep is a fast and user-friendly search tool that recursively searches your current directory for a specified pattern. ripgrep is similar to other popular search tools such as The Silver Searcher, ack and grep.
Install rigrep in Linux:
$ sudo apt install ripgrep # For Ubuntu/Debian$ sudo dnf install ripgrep # For Fedora
ripgrep Usage:
rg <search_pattern>
Example:
To search for pattern (E.g. "start") in a given file (E.g. job_log.txt) using ripgrep, run:
$ rg start job_log.txt
Project Link: ripgrep GitHub Repository
Similar Read: The Grep Command Tutorial With Examples For Beginners
7. sd: Alternative to sed Command
sd is a modern version of sed that focuses on simplicity and ease of use. It allows for easy find-and-replace operations.
Install sd in Linux:
Make sure you have installed Rust on your system and use the cargo package manager to install sd like below:
$ cargo install sd
sd Usage:
sd 'pattern_to_replace' 'replacement' filename
- 'pattern_to_replace': The text you want to replace.
- 'replacement': The text you want to replace the pattern with.
- filename: The name of the file you want to perform the replacement on.
Example:
Here's a practical example of how you can use the sd command for find-and-replace operations on a text file:
Let's say you have a text file named example.txt with the following content:
Hello, this is an example text file. It contains some sample text that we'll use for sd command demonstration.
You want to replace all occurrences of the word "example" with "illustrative". Here's how you can achieve this using the sd command:
$ sd 'example' 'illustrative' example.txt
In this example, the sd command searches for the pattern "example" and replaces it with "illustrative" in the example.txt file.
After running this command, the contents of example.txt will be modified to:
Hello, this is an illustrative text file. It contains some sample text that we'll use for demonstration.
Project Link: sd GitHub Repository
8. jq: Alternative to awk Command
jq is a command-line JSON processor that allows you to extract and manipulate data from JSON files.
Install jq in Linux:
$ sudo apt install jq # For Ubuntu/Debian$ sudo dnf install jq # For Fedora
jq Usage:
The syntax of the jq command is as follows:
jq 'filter_expression' filename
- 'filter_expression': The filter expression that specifies the data you want to extract or manipulate from the JSON.
- filename: The name of the JSON file you want to process.
Example:
Here's a practical example of how you can use the jq command to manipulate JSON data:
Let's say you have a JSON file named data.json with the following content:
{ "name": "Senthil Kumar", "age": 40, "email": "senthil@kumar.com", "address": { "street": "123 Main St", "city": "Namakkal", "country": "India" }, "hobbies": ["reading", "traveling", "coding", "writing"] }
You want to extract the value of the "email" field from this JSON data. Here's how you can achieve this using the jq command:
$ jq '.email' data.json
After running this command, you'll get the following output:
"senthil@kumar.com"
In this example, the .email argument passed to the jq command tells it to extract the value of the "email" field from the JSON data.
You can use jq to perform various operations on JSON data, such as filtering, mapping, aggregation, and more. It's a powerful tool for working with JSON in the command line.
Project Linux: jq GitHub Repository
Similar Read: How To Parse And Pretty Print JSON With Linux Commandline Tools
9. htop: Alternative to top Command
htop provides an interactive and dynamic view of system processes. It offers a more intuitive interface and additional features compared to top.
Install htop in Linux:
$ sudo apt install htop # For Ubuntu/Debian $ sudo dnf install htop # For Fedora
htop Usage:
$ htop
Project Link: Htop GitHub Repository
There are also some other good alternatives to the 'top' command utilities. Refer the following guide for more details.
- Some Alternatives To ‘top’ Command line Utility You Might Want To Know
10. neofetch: Alternative to uname Command
neofetch displays system information in a visually appealing way. It's customizable and supports various display options.
Install neofetch in Linux:
$ sudo apt install neofetch # For Ubuntu/Debian$ sudo dnf install neofetch # For Fedora
neofetch Usage:
$ neofetch
Project Link: neofetch GitHub Repository
11. ncdu: Alternative to du Command
ncdu provides a detailed view of disk usage with a user-friendly interface. It allows you to navigate and analyze disk usage efficiently.
Install ncdu in Linux:
$ sudo apt install ncdu # For Ubuntu/Debian$ sudo dnf install ncdu # For Fedora
ncdu Usage:
$ ncdu
For more detailed usage, check our ncdu article linked below.
How To Check Disk Space Usage In Linux Using Ncdu
Project Link: ncdu Website
12. dust: Alternative to du Command
dust is a modern tool for analyzing disk space usage. It provides a clearer and more informative visual representation of disk usage.
Install dust in Linux:
$ cargo install du-dust # Using Rust's package manager
dust Usage:
dust
Example:
To analyze disk space usage in the current directory:
$ dust
Project Link: dust GitHub Repository
Fortunately. there are also many other good alternatives to du command available as well. Please go through the following link and pick any one that interests you.
Good Alternatives To du Command To Check Disk Usage In Linux
13. duf: Alternative to df Command
duf (Disk Usage/Free Utility) provides a more user-friendly and visually appealing way to view disk usage compared to the traditional df command. It presents disk usage information in a more intuitive manner.
Install duf in Linux:
$ sudo apt install duf # For Ubuntu/Debian $ sudo dnf install duf # For Fedora
duf Usage:
duf
Example:
To display disk usage information:
$ duf
For mode details about duf command usage, please check the following link.
- How To View Disk Usage With Duf On Linux And Unix
Project Link: duf GitHub Repository
Related Read: Understanding df And du Commands In Linux
14. dysk: Alternative to df Command
dysk is a command-line tool for displaying information about mounted disks and filesystems in Linux. It is more informative than the df command, and it provides a variety of features for filtering, sorting, and exporting the output.
Install dysk in Linux:
Since dysk is written in Rust, we can install dysk using Cargo package manager. Make sure you've installed Rust on your Linux system and then run the following command to install dysk:
$ cargo install --locked dysk
dysk Usage:
To use dysk, simply run the following command in a terminal:
$ dysk
This will list all of the disks that are currently mounted on your system, along with their size, used space, free space, and utilization percentage.
You can also use dysk to list all filesystems, regardless of whether they are associated with a disk:
$ dysk -a
For more detailed usage on dysk, visit the following link.
How To Get Linux Filesystems Information Using Dysk Utility
Project Link: dysk GitHub Repository
15. fd: Alternative to find Command
fd is a faster and user-friendly alternative to the traditional find command. It is designed to be more intuitive and efficient when searching for files and directories.
Install fd in Linux:
$ sudo apt install fd-find # For Ubuntu/Debian $ sudo dnf install fd-find # For Fedora
Note: The binary name for Debian is fdfind, so it's recommended to create a symbolic link to fd.
$ ln -s $(which fdfind) ~/.local/bin/fd
fd Usage:
fd pattern
Example:
To find all text files in the current directory and its subdirectories:
$ fd -e txt
For more details on fd command usage, refer the following link.
Fd: The Find Command Alternative For Mastering File Search In Linux
Project Link: fd GitHub Repository
16. fossil: Alternative to git Command
Fossil is a distributed version control system that includes an integrated bug tracker and wiki. It's designed to be self-contained and easy to set up.
Install Fossil in Linux:
$ sudo apt install fossil # For Ubuntu/Debian$ sudo dnf install fossil # For Fedora
fossil Usage:
fossil new repository_name
Example:
Here's an example of how you can use the Fossil version control system to create a new repository, add files, and commit changes.
This example demonstrates the basic steps of creating a repository, adding files, committing changes, and viewing the commit history.
Initialize a New Repository:
$ fossil new my_project.fossil
This command creates a new repository named my_project.fossil.
Add Files:
Assuming you have some files in a directory named my_project_files, you can add them to the repository:
$ fossil open my_project.fossil $ fossil add my_project_files/*
The fossil open command opens the repository, and fossil add adds all files from the my_project_files directory to the repository.
Commit Changes:
After adding the files, you need to commit the changes:
$ fossil commit -m "Initial commit"
This command commits the changes with a commit message "Initial commit."
View Commit History:
You can view the commit history using:
$ fossil timeline
This will display a timeline of commits made to the repository.
Project Link: Fossil Website
17. tldr: Alternative to man Command
tldr provides simplified and community-driven man pages that are easy to understand. It's great for quick reference and understanding commands.
Install tldr in Linux:
tldr can be installed using npm.So, you need NodeJSinstalled on your machine for this to work.
To install NodeJS in Linux, refer the following guide.
- How To Install Node.js On Linux
After installing npm, run the following command to install tldr.
$ npm install -g tldr
tldr Usage:
tldr <command-name>
Example:
To get a concise explanation of the tar command:
$ tldr tar
Project Link: tldr GitHub Repository
There are also a few good alternatives to man command available as well. Check the following guide to learn about other alternatives.
Good Alternatives To Man Pages Every Linux User Needs To Know
Related Read:
- How To Use Man Pages Efficiently In Linux
18. poetry: Alternative to pip [Bonus]
While not a traditional Linux command, I recently discovered this tool and thought it might be of interest to some of you.
poetry simplifies Python package management by providing dependency resolution and packaging in one tool.
Install poetry in Linux:
The officially recommended way to install poetry in Linux is by using this script:
$ curl -sSL https://install.python-poetry.org | python3 -
If Pip is already installed, you can install poetry using Pip like below.
$ pip install poetry
poetry Usage:
poetry add package_name
Example:
$ poetry add yt-dlp
Legacy Linux Commands and their Equivalent Modern Linux Commands
The following table shows the legacy Linux commands and their modern alternatives.
Command | Alternative | Description |
---|---|---|
cat | Bat | Improved cat with syntax highlighting and more. |
ls | exa | Modern replacement for ls with enhanced formatting. |
cd | autojump | Quickly navigate to the frequently used directories. |
cd | zoxide | Efficient directory navigation remembering frequently used. |
curl / wget | HTTPie | User-friendly tool for making HTTP requests. |
grep | ripgrep | Fast search tool with recursive pattern matching. |
sed | sd | Streamlined find-and-replace with simplified syntax. |
awk | jq | JSON processor for extracting and manipulating data. |
top | htop | Interactive process viewer with advanced features. |
uname | neofetch | System information display with visual appeal. |
du | ncdu | Disk usage tool with navigable interface. |
du | dust | A modern tool for analyzing disk space usage. |
df | duf | Disk usage tool with user-friendly visuals. |
df | dysk | A better Alternative to df -H Command. |
find | fd | A faster and user-friendly alternative to the find command. |
git | fossil | Distributed version control system with integrated tools. |
man | tldr | Simplified and community-driven command reference. |
pip | poetry | Python package manager and dependency resolver. |
Conclusion
In this tutorial, we've explored a wide range of modern alternatives to popular Linux commands. I encourage you to try out some of these modern alternatives. You may be surprised at how much they can improve your command-line experience.
I will keep updating this guide with any new alternatives to conventional Linux commands that I encounter in future. Make sure to bookmark this link and revisit periodically.
Related Read:
- Linux Command Line Tricks For Efficient And Faster Workflow
- 15 Essential Linux Commands Every Beginner Should Know
以上是最佳的現(xiàn)代Linux命令針對初學(xué)者和專家的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

LXD被描述為下一代容器和虛擬機管理器,它為在容器內(nèi)部或虛擬機中運行的Linux系統(tǒng)提供了沉浸式的。 它為有支持的Linux分布數(shù)量提供圖像

Firefox瀏覽器是大多數(shù)現(xiàn)代Linux分布(例如Ubuntu,Mint和Fedora)的默認瀏覽器。最初,它的性能可能令人印象深刻,但是隨著時間的流逝,您可能會注意到瀏覽器的快速和響應(yīng)不佳

遇到DNS問題時首先要檢查/etc/resolv.conf文件,查看是否配置了正確的nameserver;其次可手動添加如8.8.8.8等公共DNS進行測試;接著使用nslookup和dig命令驗證DNS解析是否正常,若未安裝這些工具可先安裝dnsutils或bind-utils包;再檢查systemd-resolved服務(wù)狀態(tài)及其配置文件/etc/systemd/resolved.conf,并根據(jù)需要設(shè)置DNS和FallbackDNS后重啟服務(wù);最后排查網(wǎng)絡(luò)接口狀態(tài)與防火墻規(guī)則,確認53端口未

發(fā)現(xiàn)服務(wù)器運行緩慢或內(nèi)存占用過高時,應(yīng)先排查原因再操作。首先要查看系統(tǒng)資源使用情況,用top、htop、free-h、iostat、ss-antp等命令檢查CPU、內(nèi)存、磁盤I/O和網(wǎng)絡(luò)連接;其次分析具體進程問題,通過ps、jstack、strace等工具追蹤高占用進程的行為;接著檢查日志和監(jiān)控數(shù)據(jù),查看OOM記錄、異常請求、慢查詢等線索;最后根據(jù)常見原因如內(nèi)存泄漏、連接池耗盡、緩存失效風(fēng)暴、定時任務(wù)沖突進行針對性處理,優(yōu)化代碼邏輯,設(shè)置超時重試機制,加限流熔斷,并定期壓測評估資源。

作為系統(tǒng)管理員,您可能會發(fā)現(xiàn)自己(今天或?qū)恚┰赪indows和Linux并存的環(huán)境中工作。 有些大公司更喜歡(或必須)在Windows Box上運行其一些生產(chǎn)服務(wù)已不是什么秘密

坦率地說,我不記得上一次使用CD/DVD驅(qū)動器的PC。這要歸功于不斷發(fā)展的科技行業(yè),該行業(yè)已被USB驅(qū)動器和其他較小且緊湊的存儲媒體所取代,這些磁盤可提供更多存儲

在Linux系統(tǒng)中,1.使用ipa或hostname-I命令可查看私有IP;2.使用curlifconfig.me或curlipinfo.io/ip可獲取公網(wǎng)IP;3.桌面版可通過系統(tǒng)設(shè)置查看私有IP,瀏覽器訪問特定網(wǎng)站查看公網(wǎng)IP;4.可將常用命令設(shè)為別名以便快速調(diào)用。這些方法簡單實用,適合不同場景下的IP查看需求。

Node.js建立在Chrome的V8引擎上,是一種開源的,由事件驅(qū)動的JavaScript運行時環(huán)境,用于構(gòu)建可擴展應(yīng)用程序和后端API。 Nodejs因其非阻滯I/O模型而聞名輕巧有效,并且
