On this page (16)
Filter & IO redirection command
grep
Lệnh grep (viết tắt của Global Regular Expression Print) là công cụ lọc và tìm kiếm văn bản cực kỳ mạnh mẽ trong Linux.
Nó làm nhiệm vụ: Đọc một file (hoặc dữ liệu đầu vào) và chỉ in ra những dòng nào có chứa từ/chuỗi ký tự bạn yêu cầu.
grep [tùy_chọn] "từ_cần_tìm" tên_file

Dùng chuyển hướng đầu vào
grep em a.txt (Chuyển đường dẫn file làm tham số)
-
Cách hoạt động: Lệnh grep trực tiếp nhận tên file a.txt như một tham số truyền vào. Chính chương trình grep sẽ đứng ra tự mở file a.txt, đọc dữ liệu bên trong, tìm từ "em" và in kết quả ra màn hình.
-
Bản chất: grep làm tất cả công việc từ mở file -> đọc file -> tìm kiếm.
grep em < a.txt (Dùng chuyển hướng đầu vào <)
-
Cách hoạt động: Bạn không đưa file a.txt cho lệnh grep. Thay vào đó, Shell (Trình quản lý dòng lệnh) sẽ đứng ra mở file a.txt trước, rồi dùng toán tử < để "bơm" toàn bộ nội dung file đó vào luồng đầu vào chuẩn (stdin) của lệnh grep. Lệnh grep lúc này chỉ nhận dữ liệu từ luồng vào chứ hoàn toàn không biết dữ liệu đó đến từ file tên là gì.
-
Bản chất: Shell mở file và đẩy dữ liệu cho grep xử lý.

less
ệnh less là một công cụ xem nội dung file văn bản theo từng trang (viewer / pager) rất phổ biến trong Linux.
Nó thường được dùng để đọc các file văn bản có kích thước lớn (như file log /var/log/syslog hoặc các file cấu hình hệ thống) vì không tải toàn bộ file vào RAM, giúp mở file rất nhanh mà không lo đơ hay giật máy.
less tên_file

more
Giống less nhưng mà chỉ có thể enter để xem xuống.
head
Xem 10 dòng đầu tiên hoặc n dòng đầu tiên
head -n file
tail
Xem 10 dòng cuối hoặc n dòng cuối
tail -n file
Có tùy chọn -f để xem dynamic log.
cat
lệnh xem đội dung
cut
Lệnh cut trong Linux là công cụ dùng để trích xuất (cắt) các cột, khoảng ký tự hoặc trường dữ liệu (fields) ra khỏi từng dòng của một file hoặc từ luồng dữ liệu đầu vào.
Nó đặc biệt hữu ích khi bạn muốn xử lý các file dữ liệu dạng bảng, file log, hoặc file cấu hình hệ thống ngăn cách bởi dấu hai chấm (như /etc/passwd), dấu phẩy (CSV), dấu tab...
cut [các_tùy_chọn] file_dữ_liệu

awk
Lệnh awk là một ngôn ngữ kịch bản (scripting language) và công cụ dòng lệnh cực kỳ mạnh mẽ trong Linux, chuyên dùng để xử lý dữ liệu dạng bảng, trích xuất cột và báo cáo dữ liệu.
Nếu như lệnh cut chỉ cắt được các cột đơn giản, thì awk có thể thực hiện các phép tính toán, lọc điều kiện phức tạp, tìm kiếm chuỗi và định dạng lại dữ liệu đầu ra theo ý muốn.
Extend mode in vim
- Thay thế từ này thành từ khác
:%s/từ1/từ2
Nếu thay thành không có gì thìu là //g
sed
sed -i 's/coronavirus/covid19/g' samplefile.txt
-i (In-place): Tùy chọn này bảo Linux hãy ghi đè trực tiếp những chỉnh sửa đó vào file samplefile.txt.
Sau khi chạy xong lệnh có cờ -i, gõ cat samplefile.txt bạn sẽ thấy file đã chính thức bị thay đổi hoàn toàn thành covid19.
Redirection
Không show kết quả ra terminal mà mình sẽ để nó ở trong file.
có thể là như sau uptime > c.txt. Nếu muốn thêm vào cuối thì dùng >>
free -h
Check ram của hệ thống.
df -h
Check disk của hệ thống
/dev/null
Trong Linux, /dev/null (trong hình bài học đang viết là /dev/null) là một file thiết bị đặc biệt được gọi là "lỗ đen" (black hole) hoặc "thùng rác dữ liệu" của hệ thống.
Mã số luồng dữ liệu chuẩn trong Linux:
0: stdin (Đầu vào chuẩn - bàn phím)
1: stdout (Đầu ra chuẩn - kết quả chạy đúng)
2: stderr (Đầu ra lỗi - thông báo lỗi)
