Kiến thức Hữu ích 😍

Lệnh less Linux: Hướng dẫn sử dụng hiệu quả, chi tiết và dễ hiểu


Khi làm việc trên hệ điều hành Linux, việc xem nội dung của các file là một trong những tác vụ cơ bản và thường xuyên nhất. Bạn có thể cần kiểm tra một file cấu hình, đọc một file log hệ thống, hoặc xem qua mã nguồn của một chương trình. Tuy nhiên, các công cụ truyền thống như cat hay vi đôi khi lại tỏ ra bất tiện, đặc biệt khi phải xử lý những file có dung lượng lớn. Lệnh cat sẽ hiển thị toàn bộ nội dung file ra màn hình, khiến bạn không thể xem lại những phần đã trôi qua. Trong khi đó, các trình soạn thảo như vi hay vim lại tốn thời gian để tải toàn bộ file vào bộ nhớ, gây chậm trễ không cần thiết. Đây chính là lúc lệnh less tỏa sáng, mang đến một giải pháp linh hoạt và hiệu quả. Lệnh less cho phép bạn xem file theo từng trang, cuộn lên xuống dễ dàng, tìm kiếm nhanh chóng và hoạt động gần như ngay lập tức mà không tốn nhiều tài nguyên hệ thống. Trong bài viết này, AZWEB sẽ cùng bạn tìm hiểu chi tiết về lệnh less, từ cách sử dụng cơ bản, các phím tắt tiện lợi, tính năng tìm kiếm mạnh mẽ, cho đến các tùy chọn nâng cao và mẹo vặt giúp bạn làm chủ công cụ hữu ích này.

Hình minh họa

Giới thiệu về lệnh less và chức năng chính

Lệnh less là gì?

Lệnh less là một tiện ích dòng lệnh trong các hệ điều hành tương tự Unix, được thiết kế để xem nội dung của các file văn bản một cách thuận tiện. Tên gọi “less” là một cách chơi chữ thú vị, ngụ ý rằng “less is more” (ít hơn lại là nhiều hơn) khi so sánh với người tiền nhiệm của nó là lệnh more. Trong khi more chỉ cho phép bạn cuộn xuống, less mang đến sự tự do hoàn toàn khi cho phép cuộn cả lên và xuống, tìm kiếm tiến và lùi, và nhiều tính năng mạnh mẽ khác mà không cần phải tải toàn bộ file vào bộ nhớ trước.

So với cat, lệnh less không hiển thị toàn bộ nội dung file ra terminal một cách ồ ạt. Thay vào đó, nó hiển thị nội dung theo từng trang vừa với kích thước màn hình của bạn, giúp việc đọc và phân tích thông tin trở nên dễ dàng và có tổ chức hơn rất nhiều, đặc biệt là với các file log khổng lồ hay các file cấu hình phức tạp. less thực sự là một trình xem file (pager) mạnh mẽ và hiệu quả.

Hình minh họa

Chức năng chính của lệnh less

Chức năng cốt lõi của less là cung cấp một giao diện xem file hiệu quả và thân thiện với người dùng. Nó cho phép bạn xem nội dung file theo từng trang, giúp bạn kiểm soát hoàn toàn quá trình đọc. Bạn có thể dễ dàng cuộn lên, cuộn xuống từng dòng hoặc từng trang một cách linh hoạt, điều mà lệnh more không thể làm được.

Không chỉ dừng lại ở việc di chuyển, less còn tích hợp khả năng tìm kiếm mạnh mẽ. Bạn có thể tìm kiếm một chuỗi ký tự bất kỳ theo cả chiều xuôi và chiều ngược trong file, giúp định vị thông tin cần thiết một cách nhanh chóng. Một ưu điểm vượt trội khác của less là hiệu suất. Vì không tải toàn bộ file vào RAM, less khởi động gần như ngay lập tức, ngay cả với các file có dung lượng hàng gigabyte. Điều này giúp tiết kiệm tài nguyên hệ thống quý giá và là công cụ không thể thiếu cho các quản trị viên hệ thống khi cần phân tích các file log lớn.

Cách sử dụng cơ bản lệnh less để xem nội dung file

Cú pháp lệnh cơ bản

Bắt đầu với less vô cùng đơn giản. Cú pháp cơ bản nhất để mở một file chỉ yêu cầu bạn gõ tên lệnh và theo sau là tên file bạn muốn xem. Thao tác này sẽ mở file trong giao diện của less, sẵn sàng để bạn tương tác.

Cú pháp: less tên_file

Ví dụ, để xem nội dung của file /var/log/syslog, bạn chỉ cần gõ lệnh: less /var/log/syslog

Ngay sau khi thực thi lệnh, nội dung của file sẽ được hiển thị trên màn hình terminal của bạn. Giao diện sẽ lấp đầy cửa sổ terminal và bạn sẽ thấy một dấu hai chấm (:) ở góc dưới cùng bên trái, cho biết less đang ở chế độ chờ lệnh từ bạn. Để thoát khỏi trình xem less và quay trở lại dòng lệnh, bạn chỉ cần nhấn phím q (viết tắt của quit). Thao tác này cực kỳ đơn giản và dễ nhớ.

Hình minh họa

Các thao tác di chuyển trang cơ bản

Một khi đã mở file bằng less, việc di chuyển bên trong nội dung là kỹ năng cơ bản bạn cần nắm vững. less cung cấp các phím tắt trực quan để bạn có thể đọc file một cách tự nhiên và hiệu quả. Các thao tác này giúp bạn điều hướng qua các file dài một cách dễ dàng.

Để cuộn xuống một trang đầy đủ, bạn có thể nhấn phím space (phím cách) hoặc phím PgDn (Page Down). Mỗi lần nhấn sẽ đưa bạn đến trang nội dung tiếp theo. Ngược lại, để cuộn lên một trang, bạn sử dụng phím b (viết tắt của back) hoặc phím PgUp (Page Up). Điều này cho phép bạn xem lại những phần nội dung đã đọc một cách linh hoạt.

Nếu bạn muốn di chuyển đến đầu hoặc cuối file ngay lập tức mà không cần cuộn nhiều lần, less cũng có phím tắt cho việc này. Nhấn phím g (go) sẽ đưa bạn đến dòng đầu tiên của file. Tương tự, nhấn phím G (viết hoa) sẽ nhảy ngay lập tức đến dòng cuối cùng. Nắm vững những phím tắt cơ bản này sẽ giúp bạn tiết kiệm rất nhiều thời gian khi làm việc.

Các phím tắt hỗ trợ di chuyển trong less

Phím tắt di chuyển cơ bản và nâng cao

Bên cạnh việc di chuyển theo từng trang, less còn cung cấp một loạt phím tắt để bạn có thể di chuyển với độ chính xác cao hơn. Việc này rất hữu ích khi bạn cần phân tích từng dòng code hoặc từng mục trong file log. Bạn có thể di chuyển xuống một dòng bằng cách nhấn phím j hoặc phím mũi tên xuống. Tương tự, để di chuyển lên một dòng, hãy nhấn phím k hoặc phím mũi tên lên.

Để tăng tốc độ di chuyển, bạn có thể nhảy qua một nửa trang màn hình. Nhấn phím d (down) để cuộn xuống nửa trang và phím u (up) để cuộn lên nửa trang. Điều này giúp bạn lướt qua nội dung nhanh hơn so với cuộn từng trang đầy đủ. Ngoài ra, một phím tắt cực kỳ hữu ích khác là phím =. Khi bạn nhấn phím này, less sẽ hiển thị thông tin chi tiết về vị trí hiện tại của bạn trong file, bao gồm tên file, số dòng hiện tại, tổng số dòng và tỷ lệ phần trăm đã xem. Đây là một cách tuyệt vời để biết bạn đang ở đâu trong một file lớn.

Hình minh họa

Phím tắt tiện ích khác

less còn nhiều phím tắt tiện ích khác giúp quá trình làm việc của bạn trở nên mượt mà hơn. Nếu bạn muốn quay lại vị trí xem trước đó, chỉ cần nhấn Ctrl+B hoặc ESC-v. Lệnh này hoạt động tương tự như nút “Back” trên trình duyệt web, rất tiện lợi khi bạn đang theo dõi các dòng log liên quan đến nhau.

Khi bạn cần mở nhiều file cùng một lúc, less cũng xử lý rất tốt. Bạn có thể gõ lệnh less file1 file2 file3. Sau khi mở, bạn có thể chuyển sang file tiếp theo trong danh sách bằng cách gõ :n (next). Để quay lại file trước đó, hãy gõ :p (previous). Lệnh :x sẽ đóng file hiện tại và chuyển sang file tiếp theo. Đây là một cách hiệu quả để so sánh hoặc xem xét một loạt các file liên quan mà không cần thoát ra và gõ lại lệnh.

Tìm kiếm và điều hướng nhanh bên trong less

Tìm kiếm từ khóa trong file

Một trong những tính năng mạnh mẽ nhất của less là khả năng tìm kiếm văn bản. Thay vì phải đọc thủ công từng dòng, bạn có thể nhanh chóng định vị thông tin mình cần. less hỗ trợ tìm kiếm theo hai chiều: xuôi (từ vị trí hiện tại đến cuối file) và ngược (từ vị trí hiện tại về đầu file).

Để bắt đầu tìm kiếm xuôi, bạn chỉ cần nhấn phím /. Con trỏ sẽ di chuyển xuống dòng cuối cùng của màn hình, sẵn sàng để bạn nhập từ khóa cần tìm. Sau khi nhập xong và nhấn Enter, less sẽ nhảy đến vị trí xuất hiện đầu tiên của từ khóa đó và tô sáng nó. Ví dụ, để tìm từ “error” trong file log, bạn nhấn /, gõ error, và nhấn Enter.

Ngược lại, để tìm kiếm ngược từ vị trí hiện tại về đầu file, bạn sử dụng phím ?. Tương tự, bạn nhập từ khóa và nhấn Enter. less sẽ tìm kiếm ngược và đưa bạn đến kết quả gần nhất phía trên vị trí hiện tại. Đây là chức năng cực kỳ hữu ích khi bạn muốn tìm nguyên nhân của một lỗi vừa xuất hiện trong file log.

Hình minh họa

Điều hướng kết quả tìm kiếm

Sau khi thực hiện một tìm kiếm, less cho phép bạn dễ dàng di chuyển giữa các kết quả tìm thấy. Giả sử bạn tìm kiếm từ “error” và có nhiều kết quả trong file. Để đi đến kết quả tiếp theo (theo cùng chiều tìm kiếm ban đầu), bạn chỉ cần nhấn phím n (next).

Để quay lại kết quả tìm kiếm trước đó, bạn nhấn phím N (viết hoa). Phím nN luôn hoạt động dựa trên chiều của lần tìm kiếm cuối cùng. Nếu bạn tìm kiếm bằng / (xuôi), n sẽ đi tới và N sẽ đi lùi. Nếu bạn tìm kiếm bằng ? (ngược), n sẽ tiếp tục đi ngược về đầu file và N sẽ đi xuôi về cuối file.

Để nâng cao khả năng tìm kiếm, less còn hỗ trợ biểu thức chính quy (regular expressions – regex). Điều này cho phép bạn tạo ra các mẫu tìm kiếm phức tạp. Ví dụ, để tìm các dòng bắt đầu bằng từ “Warning”, bạn có thể dùng /^Warning. Việc kết hợp regex giúp bạn lọc và định vị thông tin với độ chính xác gần như tuyệt đối.

Các tùy chọn nâng cao khi sử dụng less

Sử dụng tùy chọn lệnh để cải thiện trải nghiệm

Lệnh less không chỉ mạnh mẽ với các phím tắt bên trong, mà còn có thể được tùy chỉnh ngay từ khi bạn gọi lệnh bằng cách sử dụng các tùy chọn (flags). Những tùy chọn này giúp thay đổi hành vi mặc định của less để phù hợp hơn với nhu cầu công việc của bạn. Hai trong số các tùy chọn phổ biến và hữu ích nhất là -N-S.

Tùy chọn -N (hoặc --LINE-NUMBERS) sẽ hiển thị số dòng ở đầu mỗi dòng. Điều này cực kỳ hữu ích khi bạn đọc mã nguồn hoặc các file log, giúp bạn dễ dàng tham chiếu và xác định vị trí chính xác của một đoạn thông tin. Ví dụ: less -N my_script.sh. Đây là phương pháp lý tưởng khi bạn làm việc với các file mã nguồn, tăng hiệu quả quản lý tập tin như bản Linux hoặc các phân phối như Ubuntu.

Tùy chọn -S (hoặc --chop-long-lines) giải quyết vấn đề với các dòng quá dài. Thay vì tự động ngắt dòng và hiển thị phần còn lại ở dòng tiếp theo, tùy chọn này sẽ cắt các dòng dài và bạn có thể sử dụng các phím mũi tên trái/phải để cuộn ngang. Điều này giữ cho định dạng của file không bị xáo trộn, rất quan trọng khi xem các file dữ liệu dạng bảng hoặc các dòng log phức tạp.

Hình minh họa

Các tùy chỉnh cấu hình less

Nếu bạn thường xuyên sử dụng một tập hợp các tùy chọn nhất định, việc gõ chúng mỗi lần có thể trở nên nhàm chán. May mắn thay, less cho phép bạn thiết lập các tùy chọn mặc định thông qua biến môi trường LESS. Bất kỳ tùy chọn nào bạn đặt trong biến này sẽ được tự động áp dụng mỗi khi bạn chạy lệnh less.

Ví dụ, nếu bạn luôn muốn hiển thị số dòng và cắt các dòng dài, bạn có thể thêm dòng sau vào file cấu hình shell của mình (như .bashrc hoặc .zshrc): export LESS="-NS"

Một tính năng nâng cao khác là khả năng theo dõi file theo thời gian thực, tương tự như lệnh tail -f. Để kích hoạt chế độ này, sau khi mở file bằng less, bạn chỉ cần nhấn phím F (viết hoa). less sẽ tự động cuộn đến cuối file và hiển thị bất kỳ nội dung mới nào được thêm vào. Để thoát khỏi chế độ theo dõi này và quay lại chế độ xem thông thường, chỉ cần nhấn Ctrl+C.

Mẹo và lưu ý khi dùng less trong terminal

Sức mạnh thực sự của less được bộc lộ khi bạn kết hợp nó với các lệnh khác thông qua cơ chế pipeline (đường ống) của Unix. Thay vì lưu kết quả của một lệnh vào file rồi mới xem, bạn có thể chuyển trực tiếp đầu ra của lệnh đó vào less. Điều này cực kỳ hiệu quả và tiết kiệm không gian đĩa.

Ví dụ, để xem danh sách các tiến trình đang chạy một cách có kiểm soát, bạn có thể dùng: ps aux | less. Tương tự, để xem lịch sử các lệnh đã gõ: history | less. Cách làm này cho phép bạn áp dụng toàn bộ khả năng cuộn và tìm kiếm của less cho bất kỳ đầu ra văn bản nào. Đây cũng là phương pháp rất hữu ích khi bạn làm việc trên các bản phân phối Linux phổ biến như Debian, Fedora, hoặc Linux Lite.

Bạn cũng có thể dùng less để xem nội dung của các file nén mà không cần giải nén chúng trước. Các tiện ích như zless, bzless, hay xzless thực chất là các kịch bản (script) sử dụng less để hiển thị nội dung của file nén tương ứng (.gz, .bz2, .xz). Điều này rất tiện lợi khi làm việc với các file log được nén tự động.

Một lưu ý quan trọng là khi làm việc qua SSH hoặc trên một số terminal cũ, một vài phím tắt có thể không hoạt động như mong đợi. Trong trường hợp này, hãy kiểm tra lại cấu hình terminal của bạn. Nếu less có vẻ bị “treo” hoặc không phản hồi, hãy thử nhấn Ctrl+C để hủy các thao tác đang chờ xử lý.

Hình minh họa

Common Issues/Troubleshooting

Lệnh less không hoạt động hoặc không mở được file

Một trong những sự cố phổ biến nhất khi sử dụng less là không thể mở được file. Thông báo lỗi thường gặp là “No such file or directory” hoặc “Permission denied”. Nguyên nhân đầu tiên và đơn giản nhất là bạn có thể đã gõ sai tên file hoặc đường dẫn. Hãy kiểm tra lại chính tả và đảm bảo rằng file thực sự tồn tại ở vị trí bạn đã chỉ định.

Nếu tên file và đường dẫn đã chính xác, vấn đề có thể nằm ở quyền truy cập. Lỗi “Permission denied” cho biết bạn không có quyền đọc file đó. Bạn có thể kiểm tra quyền của file bằng lệnh ls -l tên_file. Để khắc phục, bạn cần sử dụng tài khoản có quyền đọc file, hoặc thay đổi quyền của file (nếu bạn là chủ sở hữu hoặc quản trị viên) bằng lệnh chmod. Trong một số trường hợp, bạn có thể cần dùng sudo less tên_file để xem các file hệ thống quan trọng.

Hiện tượng phím tắt less không hoạt động đúng

Đôi khi, bạn có thể thấy rằng các phím tắt như mũi tên, Page Up, Page Down không hoạt động như mong đợi trong less. Nguyên nhân của vấn đề này thường liên quan đến cấu hình của trình giả lập terminal (terminal emulator) mà bạn đang sử dụng. Biến môi trường TERM có thể được đặt không chính xác, khiến less không nhận diện được đúng các mã phím.

Để kiểm tra, bạn có thể gõ echo $TERM. Một giá trị phổ biến và tương thích tốt là xterm hoặc xterm-256color. Nếu biến này được đặt thành một giá trị khác, bạn có thể thử thay đổi nó bằng lệnh export TERM=xterm rồi chạy lại less. Nếu sự cố vẫn tiếp diễn, đặc biệt là khi kết nối qua SSH, hãy kiểm tra cài đặt bàn phím và terminal của client SSH (ví dụ: PuTTY, iTerm2). Việc reset terminal bằng lệnh reset đôi khi cũng có thể giải quyết được các vấn đề hiển thị lạ.

Best Practices

Để tối ưu hóa quy trình làm việc trên dòng lệnh, hãy tập thói quen sử dụng less thay vì cat bất cứ khi nào bạn cần xem một file có nội dung không chắc chắn về độ dài. cat phù hợp cho các file rất nhỏ, nhưng với các file lớn, less giúp tiết kiệm tài nguyên hệ thống đáng kể và mang lại trải nghiệm xem file tốt hơn nhiều. Việc này ngăn chặn tình trạng terminal bị “lụt” bởi một lượng lớn văn bản.

Hãy đầu tư thời gian để học và sử dụng thành thạo các phím tắt di chuyển và tìm kiếm. Thay vì cuộn một cách vô định, hãy sử dụng / để tìm kiếm từ khóa, gG để nhảy đến đầu và cuối file. Việc kết hợp các phím tắt này sẽ giúp bạn định vị thông tin cần thiết trong vài giây, thay vì vài phút cuộn thủ công. Đây là một kỹ năng giúp tăng năng suất đáng kể.

Một điều quan trọng cần tránh là mở các file nhị phân (binary files), chẳng hạn như file thực thi hoặc file ảnh, bằng less. Mặc dù less có thể cố gắng hiển thị chúng, kết quả sẽ là một mớ ký tự lộn xộn và có thể làm rối loạn cài đặt terminal của bạn. Nếu less cảnh báo “file may be a binary file”, tốt nhất bạn nên thoát ra.

Cuối cùng, đừng ngần ngại tùy biến less theo nhu cầu của bạn. Sử dụng biến môi trường LESS để thiết lập các tùy chọn mặc định yêu thích của bạn như -N (hiển thị số dòng) hay -i (tìm kiếm không phân biệt chữ hoa/thường). Việc tinh chỉnh công cụ theo thói quen cá nhân sẽ giúp bạn làm việc hiệu quả và thoải mái hơn.

Hình minh họa

Conclusion

Qua bài viết này, chúng ta đã cùng nhau khám phá sâu về lệnh less, một công cụ mạnh mẽ nhưng thường bị đánh giá thấp trong kho vũ khí của người dùng Linux. Từ những thao tác cơ bản như mở file và cuộn trang, cho đến các tính năng nâng cao như tìm kiếm bằng biểu thức chính quy, theo dõi file thời gian thực và tùy biến qua các tùy chọn, less đã chứng tỏ vai trò không thể thiếu của mình. Ưu điểm lớn nhất của nó nằm ở sự linh hoạt, hiệu quả và khả năng xử lý các file khổng lồ một cách tức thì mà không làm tiêu tốn tài nguyên hệ thống.

AZWEB khuyến khích bạn hãy bắt đầu thực hành ngay hôm nay. Hãy mở các file log, file cấu hình hay mã nguồn bằng less và thử nghiệm các phím tắt, các tùy chọn đã được giới thiệu. Càng sử dụng nhiều, bạn sẽ càng nhận ra công cụ này giúp bạn tiết kiệm thời gian và công sức như thế nào. Việc thành thạo less không chỉ là học một lệnh, mà là nâng cao toàn bộ kỹ năng làm việc trên dòng lệnh của bạn. Hãy biến less thành người bạn đồng hành đáng tin cậy trong công việc hàng ngày và chia sẻ những kinh nghiệm của bạn với cộng đồng.

Hình minh họa

Đánh giá