Những mẹo làm việc với Terminal trong Linux
Giới thiệu
Khi làm việc với Terminal, chắc chắn trải nghiệm hoàn toàn khác so với khi sử dụng giao diện cửa sổ (windows). Không có thao tác kéo thả, không có con trỏ chuột để chọn file hay thư mục, mà thay vào đó, bạn chỉ có dòng lệnh trên màn hình đen.
Tuy nhiên, chính sự đơn giản này lại mang đến sức mạnh và tốc độ vượt trội khi thao tác với hệ thống. Việc sử dụng Terminal giúp tiết kiệm thời gian và xử lý tác vụ phức tạp một cách hiệu quả.
Bài viết này sẽ chia sẻ những kinh nghiệm thực tế, giúp bạn làm việc với Terminal dễ dàng và hiệu quả hơn.
Phím tắt
Khi làm việc với Terminal nói riêng hay windows nói chung thì việc sử dụng phím tắt giúp chúng ta tăng tốc độ làm việc lên đáng kể. Các phím tắt dưới đây là bộ lệnh nổi bật thường được biết đến tại màn hình Terminal.
Ctrl + Z (pause/suspends)
Phím tắt này dùng để tạm ngưng câu lệnh mà bạn đang thực thi (chứ không dừng hẳn).
Đặc biệt, phím tắt này cực kỳ hữu dụng khi dùng chung với lệnh bg (background).
Ngoài ra, phím tắt này cũng hoạt động tốt với những lệnh như mysqldump, mysqlcheck,…
Ctrl + L (clear màn hình)
Xóa nội dung hiển thị trên Terminal bằng cách đẩy màn hình lên trên. Tuy giống như lệnh clear, nhưng có một số ưu điểm hơn như:
- Nhanh hơn: vì không cần phải gõ lệnh clear rồi nhấn Enter.
- Không xóa history: nếu lệnh clear sẽ có tác động đến lịch sử hiển thị, thì phím tắt này vẫn giữ nguyên lịch sử thao tác.
- Không ảnh hưởng đến câu lệnh đang gõ: đối với các câu lệnh chưa kịp enter để thực thi, thì phím tắt này không làm mất nội dung câu lệnh.
- Hoạt động trong nhiều môi trường CLI: phím tắt tương thích với nhiều môi trường CLI.
!! + enter
Tổ hợp !! + Enter là một lệnh đặc biệt trong Linux, giúp chạy lại câu lệnh vừa mới thực thi.
Đây là một mẹo dùng khi câu lệnh trước đó bạn “lỡ” quên thêm sudo.
Thông thường, khi gặp tình huống trên thì chúng ta sẽ dùng phím mũi tên lên, đưa con trỏ ra đầu dòng rồi thêm sudo – khá mất thời gian.
Nhưng với phím tắt này chúng ta chỉ cần gõ “sudo !!” là xong.
Ngoài ra, bạn cũng có thể tham khảo thêm những phím tắt khác ở mục bên dưới:
Phím tắt | Mô tả |
Ctrl + A | Di chuyển con trỏ về đầu dòng. |
Ctrl + E | Di chuyển con trỏ về cuối dòng. |
Alt + F | Di chuyển con trỏ tiến tới một từ. |
Alt + B | Di chuyển con trỏ lùi về một từ. |
Ctrl + F | Di chuyển con trỏ tiến tới một ký tự (dành cho bàn phím không có phím mũi tên 😀). |
Ctrl + B | Di chuyển con trỏ lùi về một ký tự (dành cho bàn phím không có phím mũi tên 😀). |
Ctrl + U | Cắt toàn bộ dòng trước con trỏ. |
Ctrl + K | Cắt toàn bộ dòng sau con trỏ. |
Ctrl + W | Cắt một từ phía trước con trỏ. |
Ctrl + Y | Dán (paste) lại nội dung đã xóa. |
Ctrl + R | Tìm những command đã được thực thi. |
Những câu lệnh hữu ích
Đã làm việc với Linux Terminal thì chắc chắn phải sử dụng rất nhiều câu lệnh. Việc nắm vững các lệnh quan trọng sẽ giúp bạn thao tác nhanh hơn và làm việc hiệu quả hơn.
Tiếp theo đây chúng ta sẽ cùng đi qua một vài lệnh hữu ích và thường được sử dụng.
Lệnh grep
grep [option...] [patterns] [file...]
Lệnh grep là một trong những lệnh rất phổ biến, nó được sử dụng để kiếm chuỗi trong nội dung của file hoặc từ đầu ra của một lệnh khác (stdout).
Dưới đây là một số ví dụ khi sử dụng lệnh grep:
Tìm nội dung trong file
grep 'about-us' /var/log/nginx/access.log
Lệnh trên sẽ tìm trong file access.log những dòng có chứa chuỗi ‘about-us’.
Sử dụng wildcard(*, ?) để tìm nội dung trong nhiều file
grep 'about-us' /var/log/nginx/access-*.log
Lệnh trên sẽ tìm những dòng có chứa chuỗi ‘about-us’ trong tất cả các file có tên bắt đầu bằng ‘access-‘ và có phần mở rộng .log trong thư mục /var/log/nginx/.
Tìm nội dung trong STDOUT
ps -aux | grep php
Ngoài chức năng là tìm kiếm nội dung trong file thì grep còn có thể lọc nội dung của STDOUT tức là output ra màn hình, như ví dụ trên thì chúng ta đang muốn hiển thị những process PHP đang chạy.
Hiển thị số dòng
grep -n 'about-us' /var/log/nginx/access.log
Option -n sẽ hiển thị số dòng mà từ khoá phù hợp. Option này rất hữu ích khi chúng ta muốn tìm tới dòng để chỉnh sửa.
Đếm tổng số kết quả
grep -c 'google' /var/log/nginx/access.log
Thay vì output toàn bộ những dòng phù hợp với từ khoá thì opion -c sẽ đếm tổng số kết quả phù hợp. Trong ví dụ trên thì ta đang đếm tổng số lượng truy cập đến từ Google.
Lệnh tee
Trong quá trình làm việc với Terminal, không ít lần chúng ta muốn vừa chạy lệnh vừa output màn hình để biết tiến trình diễn ra đến đâu. Đồng thời, lưu những output vào file để tra cứu sau này.
Vừa output vừa lưu file
Lệnh tee là một lệnh rất hay, giúp chúng ta vừa lưu output của câu lệnh trước đó vào file, vừa hiển thị trên màn hình để theo dõi tiến trình.
find . -name '*.xml' | tee ./files.txt
Lưu thành nhiều files
Ngoài việc vừa output ra màn hình vừa lưu file thì lệnh tee còn có thể lưu thành nhiều file khác nhau. Giả sử bạn muốn lưu một file chính và một file backup, thay vì phải dùng thêm lệnh cp, thì bây giờ bạn chỉ cần dùng một lệnh thôi.
find . -name '*.xml' | tee ./main.txt ./backup.txt
Pipe (|)
Pipe thực ra không phải là lệnh mà là dạng chuyển hướng, tức sẽ chuyển output của lệnh này thành input của lệnh khác hay thuật ngữ chuyên ngành là chuyển STDOUT của lệnh trước thành STDIN của lệnh sau.
ps -aux | grep php
Như ví dụ trên, lệnh ps -aux sẽ lấy những process đang chạy, lúc này thay vì output ra màn hình thì pipe sẽ chuyển output (STDOUT) thành input (STDIN) cho lệnh grep để lọc những process nào là php.
Các lợi ích của pipe :
- Giúp đơn giản hóa thao tác xử lý dữ liệu (thay vì thực thi hai câu lệnh rời).
- Giảm tài nguyên hệ thống (thay vì phải lưu thành nhiều file thì dùng trực tiếp STDIN).
- Tiết kiệm thời gian.
Tổng kết
Làm chủ Terminal trong Linux là một kỹ năng quan trọng mà bất kỳ developer nào cũng nên thành thạo. Việc sử dụng thành thạo dòng lệnh không chỉ giúp tăng tốc độ làm việc, tăng độ chính xác, tiết kiệm thời gian mà còn mở ra nhiều khả năng tùy chỉnh và tự động hóa quy trình. Thông qua bài viết này, hy vọng bạn sẽ có thêm kinh nghiệm và mẹo hữu ích để làm việc với Terminal một cách hiệu quả hơn.
![]() | Vũ Khắc Nguyễn Developer |