10 công cụ dòng lệnh thay thế các câu lệnh phổ biến

Nội dung

Là một web developer, mình sử dụng Linux mỗi ngày. Trong bài viết này mình sẽ chia sẻ một số ứng dụng CLI giúp tăng năng suất làm việc. Một số công cụ là lựa chọn thay thế tốt hơn cho các lệnh Linux hiện có, một số khác cung cấp các tính năng hoàn toàn mới. Mình tin rằng các bạn sẽ thích chúng.

Hệ điều hành mình sử dụng để chạy các lệnh bên dưới là Ubuntu 16.04

grep => ack, ag

ack và ag là hai công cụ được giới thiệu là tốt hơn, mạnh mẽ hơn grep. Với ack hoặc ag, bạn không phải nhập bất kỳ option nào được yêu cầu như grep để tìm kiếm trong một thư mục nhất định. Ngoài ra kết quả tìm kiếm bao gồm số dòng và đầy màu sắc, giúp dễ đọc hơn. Chúng ta có thể cài đặt bằng các lệnh sau:

# Install ack
$ sudo apt install ack-grep

# Install ag
$ sudo apt install silversearcher-ag

Chi tiết cách sử dụng ack và ag các bạn có thể tham khảo bài viết này

fzf: Trình tìm kiếm Fuzzy

fzf là một trình tìm kiếm file mạnh mẽ có thể tìm thấy các file, tiến trình, biến môi trường nhanh chóng. So với việc autocomplete mặc định, fzf có thể hiển thị tên file dưới dạng danh sách và lọc danh sách đó khi bạn gõ lệnh, điều này dễ dàng hơn nhiều so với nhấn Tab nhiều lần và cố gắng tìm tên file trên màn hình chằng chịt chữ. Nó không phải là một package của ubuntu vì vậy chúng ta phải cài đặt nó từ source:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Sau khi cài đặt, bạn có thể sử dụng ** <TAB> để autocomplete với fzf gần như mọi nơi:

vim **<TAB>    # select files from current dir and edit
vim ../**<TAB> # select files from parent dir and edit
kill -9 <TAB>  # auto complete process to kill
export **<TAB> # auto complete env var to export
<C-R>          # search command line history

Các bạn có thể xem thêm cách sử dụng ở đây

TheFuck: bộ sửa lỗi chính tả dòng lệnh

Bạn đã bao giờ bực bội khi gõ một dòng lệnh dài chỉ để tìm thấy có một lỗi typing trong lệnh hoặc chỉ đơn giản là thiếu sudoTheFuck có thể giúp bạn. Cài đặt nó bằng cách:

$ sudo apt install thefuck

Sau đó, bạn cần phải thêm dòng này vào file ~/.bashrc của bạn:

eval $(thefuck --alias)

Sau khi đăng nhập lại (hoặc là tải lại .bashrc bằng cách sử dụng lệnh source ~/.bashrc), bạn hãy thử làm như này:

$ apt install git
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
$ fuck
sudo apt install git [enter/↑/↓/ctrl+c]
Reading package lists... Done
Building dependency tree

top => htop

htop rất nổi tiếng và các nhiều bài viết về chúng rồi, nên ta sẽ không nói quá nhiều về nó.

$ sudo apt install htop
$ htop

traceroute => mtr

mtr là một công cụ tốt hơn cho xử lý sự cố mạng. Nó nhanh hơn và dễ sử dụng hơn traceroute có sẵn.

$ sudo apt install mtr

Để lần dấu đường đi trên mạng, chỉ cần gõ:

$ mtr 8.8.8.8

Lệnh này sẽ hiển thị một cửa sổ GUI để hiển thị quá trình và kết quả lần dấu đường đi. Nếu bạn thích đầu ra dưới dạng CLI, thêm option -t:

$ mtr -t 8.8.8.8

df => pydf

pydf có thể hiển thị dụng lượng disk đã được sử dụng màu sắc, dễ đọc.

$ sudo apt install pydf

mc: Quản lý File

mc (GNU Midnight Commander) là một trình quản lý file tuyệt vời cho CLI. Nó sử dụng chế độ xem hai cửa sổ để quản lý file và cũng hỗ trợ FTP và SFTP. Công cụ tuyệt vời khi bạn cần thực hiện nhiều thao tác file mà không cần truy cập vào GUI, ví dụ như là trên server. 

ftp => lftp

Mặc dù FTP ngày nay ít phổ biến hơn nhưng đôi khi chúng ta vẫn cần nó để truy cập một số tài nguyên cũ. lftp là một ứng dụng CLI FTP tuyệt vời. So với ftp, nó hỗ trợ lệnh mgetmput và lệnh mirror mạnh mẽ để tải xuống hoặc tải lên toàn bộ thư mục. Nó thậm chí còn hỗ trợ tải torrent bằng lệnh torrent

$ sudo apt install lftp

wget => aria2

aria2 là một công cụ tải xuống hỗ trợ HTTP / HTTPS, FTP, SFTP, BitTorrent và quan trọng nhất là tải xuống với nhiều kết nối. Nhờ tính năng tải xuống đa kết nối của nó, nó có thể tải xuống nhanh hơn wget. Nó cũng có thể tiếp tục tải xuống khi chưa hoàn thành. Ví dụ có trên trang chủ aria2

$ sudo apt install aria2
$ aria2c https://example.com/ubuntu.iso

nnn: Trình phân tích file

Một điều chúng ta thường làm khi tìm các file hoặc thư mục có dung lượng lớn là sử dụng lệnh du -sh * và xóa chúng. nnn có thể làm tốt hơn. Chỉ cần gõ nnn và nhấn chữ hoa S và bạn sẽ thấy kích thước cho tất cả các thư mục và file.

$ sudo apt install nnn

Theo: https://itnext.io/10-cli-tools-that-you-will-love-d214bc73d856

Anthony Nguyễn

Cây bút chính tại VietnamTutor

Bài viết cùng chuyên mục

Quy trình vibe coding 7 bước: từ ý tưởng đến prototype

Quy trình vibe coding hiệu quả bắt đầu từ giả thuyết kinh doanh, không phải prompt dài. Bài viết hướng dẫn 7 bước từ brief, dữ

Vibe coding cho doanh nghiệp: việc nào nên làm bằng AI?

Vibe coding cho doanh nghiệp hữu ích khi cần thử prototype, dashboard hoặc automation nhỏ. Bài viết giúp bạn phân loại use case theo mức rủi

AI viết code nhanh hơn review: kiểm soát thế nào?

Khi AI viết code nhanh hơn khả năng review của team, doanh nghiệp cần đổi cách kiểm soát chất lượng. Bài viết đưa ra framework thực

Git detached HEAD là gì? Cách thoát an toàn

Bài viết này giải thích detached HEAD trong Git, cách nhận biết trạng thái này và các bước thoát ra an toàn mà không mất code.

Rủi ro vibe coding: 9 lỗi khiến prototype khó vận hành

Bài viết này chỉ ra 9 rủi ro phổ biến khi vibe coding và cách kiểm soát để prototype không biến thành gánh nặng vận hành.

Vibe coding là gì? Cách thử ý tưởng phần mềm bằng AI

Vibe coding giúp chủ doanh nghiệp biến ý tưởng phần mềm thành prototype nhanh hơn bằng AI. Bài viết này chỉ ra khi nào nên thử,

GitHub Actions CI/CD: quy trình deploy website an toàn

Hướng dẫn xây pipeline GitHub Actions CI/CD cho website: build, test, cache dependency, đóng artifact, deploy staging/production và quản lý secret an toàn.

.gitignore không hoạt động: nguyên nhân và cách sửa

Bài viết giúp bạn kiểm tra vì sao .gitignore không hoạt động, sửa lỗi file đã tracked và dùng git check-ignore để debug pattern.

Git push bị rejected: cách sửa non-fast-forward

Bài viết giải thích vì sao git push bị rejected, cách đọc lỗi non-fast-forward và quy trình xử lý an toàn trước khi push lại.

Git reset revert restore: chọn lệnh đúng

Bài viết so sánh git reset, git revert và git restore theo mục đích sử dụng: sửa staging area, khôi phục file, undo commit chưa push

Git commit vào nhánh sai: cách chuyển an toàn

Bài viết hướng dẫn xử lý git commit vào nhánh sai theo từng tình huống: commit chưa push, đã push, nhiều commit liên tiếp hoặc branch

TypeScript cho website doanh nghiệp: API, form và lỗi

TypeScript cho website doanh nghiệp đáng dùng khi bạn cần kiểm soát API contract, form schema, CMS payload và cấu hình môi trường. Bài này giúp