10 lệnh Linux này cho tôi thấy cuộc sống tốt đẹp hơn nhiều khi không có Windows

Tác giả Starlink, T.Năm 09, 2025, 06:45:08 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cuộc sống tốt đẹp hơn khi sử dụng Windows và Linux đã sẵn sàng chứng minh điều đó.

Khi tôi lần đầu chuyển từ Windows sang Linux, tôi đã bị terminal làm cho sợ hãi. Màn hình đen với con trỏ nhấp nháy trông có vẻ lỗi thời so với GUI bóng bẩy của Windows. Tại sao mọi người lại chọn nhập lệnh khi bạn chỉ cần nhấp vào nút? Ôi, tôi đã sai lầm như thế nào.


Terminal không chỉ là một giao diện thay thế—mà còn là một siêu năng lực giúp cuộc sống của bạn dễ dàng hơn. Mặc dù ban đầu bạn cần phải học một cái gì đó mới, nhưng khi đã hiểu được những điều cơ bản, bạn có thể dễ dàng thực hiện nhiều tác vụ phức tạp chỉ bằng một vài lệnh.

Sau khi sử dụng Linux trong nhiều năm, tôi đã tìm thấy nhiều lệnh đã thay đổi hoàn toàn quy trình làm việc của mình và cho tôi thấy tại sao cuộc sống lại tốt hơn khi không có Windows. Đây không chỉ là các lệnh; chúng là những khả năng mà Windows hoàn toàn không có hoặc triển khai kém thông qua các giao diện vụng về và các giải pháp của bên thứ ba. Sau đây là một số trong số chúng!

1. grep – Tìm bất cứ thứ gì ngay lập tức

Không giống như tìm kiếm nội dung tệp của Windows, có thể chậm và giới hạn ở GUI, công cụ grep của Linux truyền phát kết quả đến thiết bị đầu cuối của bạn khi chúng được tìm thấy. Bạn có thể sử dụng grep để tìm kiếm đơn giản trong tệp, tìm kiếm đệ quy, khớp mẫu hoặc thậm chí chuyển đầu ra của nó sang các lệnh khác.

Bạn chỉ cần cung cấp cho nó một mẫu (như một từ hoặc cụm từ) và cho nó biết nơi cần tìm kiếm (một tệp, nhiều tệp hoặc thậm chí là đầu ra của lệnh khác), như thế này:

Mã nguồn [Chọn]
grep "important note" ~/Documents/*.txt

Với lệnh đơn giản này, tôi có thể tìm kiếm cụm từ "lưu ý quan trọng" trong mọi tệp văn bản trong thư mục Tài liệu. Kết quả sẽ xuất hiện tính bằng mili giây, hiển thị tên tệp và dòng chứa từ khóa tìm kiếm của tôi.

grep không chỉ dành cho các tệp—bạn cũng có thể đưa nó vào các lệnh khác để lọc đầu ra. Ví dụ, nếu bạn muốn liệt kê tất cả các quy trình Chrome, bạn có thể chạy:

Mã nguồn [Chọn]
ps aux | grep "chrome"
Với grep, bạn không cần phải mở từng tài liệu riêng lẻ hoặc sử dụng chức năng tìm kiếm chậm chạp dường như lập chỉ mục mọi thứ ngoại trừ những gì bạn thực sự đang tìm kiếm.

2. find – Định vị tập tin một cách chính xác

Đừng nhầm lẫn find với grep, lệnh này rất tuyệt để tìm văn bản trong các tệp. Trong khi bạn có thể kết hợp grep và ls để định vị một số tệp nhất định, lệnh find được thiết kế riêng để định vị các tệp và thư mục. Không giống như Windows Search, đôi khi bỏ sót các tệp ẩn hoặc tệp hệ thống, find cho phép bạn chỉ định chính xác những gì bạn muốn—theo tên, kích thước, ngày sửa đổi hoặc thậm chí là nội dung.

Hãy tìm tất cả các tệp nhật ký cũ hơn 30 ngày bằng lệnh sau:

Mã nguồn [Chọn]
find /var/log -name "*.log" -type f -mtime +30

Trên Windows, điều này sẽ yêu cầu sắp xếp theo ngày trong File Explorer và kiểm tra thủ công từng thư mục. Với find, đó là một lệnh duy nhất. Nhưng find không chỉ định vị tệp mà còn có thể thực thi lệnh trên tệp. Để xóa tất cả các tệp nhật ký cũ đó, hãy chạy lệnh này:

Mã nguồn [Chọn]
find /var/log -name "*.log" -type f -mtime +30 -delete
Mức độ kiểm soát chi tiết này đối với các hoạt động của hệ thống tệp không được tích hợp sẵn trong giao diện Windows chuẩn.

3. APT, YUM/DNF, Pacman – Cài đặt phần mềm dễ dàng

Để cài đặt bất kỳ phần mềm Windows nào, bạn thường cần tìm kiếm trực tuyến, tải xuống trình cài đặt, nhấp qua trình hướng dẫn, từ chối thanh công cụ đi kèm, đợi cài đặt, tạo lối tắt trên màn hình và cuối cùng là khởi chạy chương trình của bạn. Trên Linux, bạn có thể thực hiện tất cả những điều này bằng trình quản lý gói chỉ bằng một lệnh.

Các trình quản lý gói Linux như APT (Debian hoặc Ubuntu), DNF (Fedora) hoặc Pacman (Arch) làm cho quá trình này trở nên cực kỳ đơn giản. Ví dụ, để cài đặt GIMP (trình chỉnh sửa hình ảnh) trên hệ thống dựa trên Debian như Ubuntu, bạn chỉ cần chạy:

Mã nguồn [Chọn]
sudo apt install gimp
Chỉ cần một lệnh để cài đặt GIMP cùng với tất cả các phần phụ thuộc của nó—không cần trình hướng dẫn, không cần phần mềm không mong muốn, không cần khởi động lại. Không chỉ vậy, bạn cũng có thể cập nhật tất cả phần mềm đã cài đặt cùng một lúc bằng cách sử dụng lệnh này:

Mã nguồn [Chọn]
sudo apt update && sudo apt upgrade
Lệnh này sẽ kiểm tra các bản cập nhật cho mọi chương trình đã cài đặt và áp dụng chúng cùng một lúc.

4. Piping – Sức mạnh của sự kết hợp

Toán tử ống (|) cho phép bạn lấy đầu ra của một lệnh và đưa trực tiếp vào lệnh khác. Khái niệm đơn giản này mở ra sức mạnh to lớn bằng cách cho phép bạn kết hợp các tiện ích nhỏ, đơn mục đích vào các quy trình làm việc phức tạp.

Ví dụ, hãy nhớ lệnh ls -l để liệt kê các tệp kèm thông tin chi tiết.

Mã nguồn [Chọn]
ls-l

Nếu danh sách trên quá lớn hoặc bạn chỉ muốn trả về tổng số tệp thì sao? Bạn có thể thực hiện điều đó bằng cách sử dụng toán tử đường ống "|" với lệnh wc.

Mã nguồn [Chọn]
ls-l | wc-l

Điều này tính toán và in ra chỉ số dòng. Ngoài ra, bạn cũng có thể tìm thấy tất cả các quy trình đang chạy trên hệ thống của mình (ps aux) và sau đó lọc chỉ những quy trình liên quan đến máy chủ web của bạn (apache).

Mã nguồn [Chọn]
ps aux | grep apache
Khả năng liên kết các lệnh lại với nhau như các khối xây dựng này cực kỳ mạnh mẽ và tạo thành cơ sở cho nhiều tác vụ tự động hóa và viết kịch bản hiệu quả. Windows PowerShell đã áp dụng pipeline, nhưng nó không phổ biến hoặc tích hợp liền mạch như trong Linux, nơi triết lý này là nền tảng cho thiết kế hệ thống.

5. htop hoặc top – Giám sát quy trình thời gian thực

Windows Task Manager cung cấp cho bạn ảnh chụp nhanh về các tiến trình đang chạy, mức sử dụng CPU, mức sử dụng bộ nhớ, v.v. Nó có chức năng nhưng thường có cảm giác hơi tĩnh và việc có được thông tin chi tiết, theo thời gian thực về những gì hệ thống của bạn đang làm có thể là một thách thức.

Linux cung cấp các công cụ dòng lệnh để giám sát các quy trình—đáng chú ý nhất là top và phiên bản thân thiện hơn với người dùng, htop. Khi bạn chạy htop, bạn sẽ có được chế độ xem động, theo thời gian thực về hoạt động của hệ thống trực tiếp trong thiết bị đầu cuối của mình.


Bạn có thể xem mức sử dụng CPU và bộ nhớ của từng tiến trình, sắp xếp theo nhiều tiêu chí khác nhau (mức sử dụng CPU, mức sử dụng bộ nhớ, ID tiến trình), loại bỏ các tiến trình độc hại và thậm chí xem cấu trúc cây hiển thị mối quan hệ cha-con giữa các tiến trình.

6. Cron – Sao lưu tự động theo lịch trình

Thiết lập các tác vụ tự động trên Windows thường liên quan đến việc sử dụng Task Scheduler. Đây là một công cụ đồ họa có khả năng và được sử dụng rộng rãi nhưng đôi khi có thể cảm thấy kém hợp lý đối với tự động hóa nặng về tập lệnh hoặc nâng cao. Nếu bạn muốn chạy một lệnh hoặc tập lệnh cụ thể vào một thời điểm cụ thể hàng ngày hoặc hàng giờ, Linux cung cấp một cách tiếp cận khác với Cron.

Cron là trình lập lịch công việc theo thời gian trong các hệ thống Linux và Unix. Bằng cách chỉnh sửa tệp crontab, bạn có thể chỉ định các lệnh để chạy và thời điểm chạy chúng, sử dụng cú pháp năm trường đơn giản: phút, giờ, ngày trong tháng, tháng và ngày trong tuần.

Bạn có muốn chạy một tập lệnh sao lưu nằm tại "/home/user/backup.sh" vào mỗi đêm lúc 2:00 sáng không? Sau khi chạy lệnh này:

Mã nguồn [Chọn]
crontab -e
Thêm dòng sau vào crontab của bạn:

Mã nguồn [Chọn]
0 2 * * * /home/user/backup.sh
Đừng hiểu lầm tôi—mặc dù cả hai công cụ đều mạnh mẽ, nhưng không công cụ nào tốt hơn về mọi mặt. Tôi thích Cron vì nó nhẹ, dựa trên văn bản và tích hợp liền mạch với dòng lệnh và hệ thống kiểm soát phiên bản. Ngược lại, Windows Task Scheduler dựa trên cấu hình GUI/XML, có nhiều chi phí hơn và có thể gặp phải các điểm kỳ quặc liên quan đến phiên và quyền.

7. rename hoặc loops – Đổi tên hàng loạt

Việc đổi tên nhiều tệp trên Windows có thể rất nhàm chán và hạn chế—ngay cả với File Explorer hiện đại, bạn cũng chỉ có thể đổi tên theo trình tự đơn giản (chọn tệp, F2) hoặc phải dùng đến PowerShell hoặc các công cụ của bên thứ ba để thực hiện bất kỳ thao tác nâng cao nào.

Ngược lại, Linux cung cấp các tùy chọn dòng lệnh tích hợp mạnh mẽ cho phép bạn đổi tên hàng trăm tệp ngay lập tức bằng tiện ích đổi tên hoặc vòng lặp shell đơn giản.

Ví dụ, để thêm tiền tố vào tất cả các tệp JPG, hãy sử dụng vòng lặp này trong bash hoặc zsh:

Mã nguồn [Chọn]
for file in *.JPG; do mv "$file" "TripToItaly_$file"; done
Hoặc bạn có thể sử dụng lệnh đổi tên để thay đổi phần mở rộng của tất cả các tệp TXT thành MD bằng cách sử dụng lệnh đổi tên dựa trên Perl (cú pháp Debian/Ubuntu):

Mã nguồn [Chọn]
rename 's/\.txt$/\.md/' *.txt
Trên các bản phân phối có lệnh đổi tên util‑linux (phổ biến trên CentOS, Fedora, Arch), hãy sử dụng:

Mã nguồn [Chọn]
rename.txt.md *.txt
Các lệnh này chạy theo vòng lặp O(n) trên các tệp của bạn—không cần nhấp chuột, không cần phần mềm bổ sung, chỉ cần đổi tên nhanh chóng, linh hoạt, có thể mở rộng quy mô.

8. curl hoặc wget – Tải xuống dòng lệnh

Các lệnh curl và wget vô cùng hữu ích cho việc viết kịch bản, tự động tải xuống, lấy dữ liệu để xử lý và làm việc trên các máy chủ không có trình duyệt đồ họa. Nếu bạn cần tải xuống một tệp theo chương trình, như một phần của tập lệnh hoặc từ một máy chủ yêu cầu xác thực—hoặc thậm chí tải xuống hàng trăm tệp từ danh sách thì sao? Với wget và curl, bạn có thể kiểm soát chi tiết quá trình tải xuống—điều mà trình duyệt web không thể làm được.

Ví dụ, để tải xuống tệp từ một trang web cụ thể, hãy sử dụng lệnh sau:

Mã nguồn [Chọn]
wget https://example.com/path/to/file.zip
curl thậm chí còn linh hoạt hơn, hỗ trợ nhiều giao thức và tùy chọn hơn. Nó rất tuyệt vời để tương tác với API web, gửi dữ liệu và thực hiện chuyển giao phức tạp:

Mã nguồn [Chọn]
curl -O https://example.com/another/file.tar.gz
-O lưu tệp với tên gốc.

9. Alias – Tạo lối tắt của riêng bạn

Tất cả chúng ta đều có những nhiệm vụ phải thực hiện nhiều lần. Việc nhập đi nhập lại cùng một lệnh dài rất nhàm chán và dễ mắc lỗi đánh máy. Trên Windows, việc tạo các phím tắt dòng lệnh trên toàn hệ thống không hề đơn giản đối với người dùng trung bình.

Shell Linux (như Bash hoặc Zsh) cho phép bạn tạo các phím tắt tùy chỉnh được gọi là alias. Một alias là một lệnh ngắn, dễ nhớ mà shell thay thế bằng một lệnh dài hơn khi bạn nhập.

Ví dụ, thay vì phải nhập ls -lha mỗi lần, bạn có thể tạo:

Mã nguồn [Chọn]
alias ll='ls -lha'
Bây giờ, gõ ll sẽ chạy lệnh đầy đủ. Bạn có thể thêm bí danh vào tệp cấu hình shell (như.bashrc hoặc.zshrc) để chúng có sẵn mỗi khi bạn mở terminal.

Bạn có thể tạo bí danh cho bất kỳ mục đích nào—kết nối với máy chủ, chạy tập lệnh hoặc khởi chạy ứng dụng yêu thích của bạn. Ví dụ:

Mã nguồn [Chọn]
alias update="sudo apt update && sudo apt upgrade -y"
Thêm nội dung này vào tệp.bashrc và chạy lệnh cập nhật trong terminal để cập nhật toàn bộ phần mềm.

10. tmux – Nhiều màn hình

tmux là một công cụ đầu cuối cho phép bạn chia một cửa sổ thành nhiều ngăn. Bạn có thể chạy các lệnh khác nhau trong mỗi ngăn—chỉnh sửa mã, xem nhật ký hoặc chạy thử nghiệm—và mọi thứ vẫn tiếp tục chạy ngay cả khi bạn ngắt kết nối.

Bạn có thể cài đặt tmux bằng trình quản lý gói của mình, giống như trên các hệ thống dựa trên Debian, hãy sử dụng lệnh sau:

Mã nguồn [Chọn]
sudo apt install tmux

Windows cũng hỗ trợ tab và nhiều cửa sổ, nhưng bạn không thể tách phiên, đăng xuất rồi gắn lại sau. Tuy nhiên, nếu bạn chạy tmux bên trong WSL trên Windows, bạn sẽ có được khả năng tách và gắn lại giống như trên hệ thống Linux gốc.

Những lệnh này là những công cụ thiết yếu đã cải thiện đáng kể trải nghiệm Linux của tôi. Học ngay cả một vài lệnh trong số đó cũng là một nơi tuyệt vời để bắt đầu. Bạn cũng có thể xem qua những lệnh bị bỏ qua này có thể mở khóa sức mạnh và tính linh hoạt lớn hơn nữa.