Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh mread
của Linux, một tiện ích được sử dụng để đọc dữ liệu từ các tệp. Lệnh mread
cho phép bạn đọc một số byte được chỉ định từ một tệp và hiển thị đầu ra. Chúng ta sẽ hiểu cách sử dụng cơ bản của lệnh mread
, khám phá các tùy chọn khác nhau của nó và thực hiện các thao tác đọc tệp bằng các ví dụ thực tế.
Lab bao gồm các bước sau:
- Tìm hiểu lệnh
mread
- Khám phá các tùy chọn của lệnh
mread
- Thực hiện đọc tệp với
mread
Tìm hiểu lệnh mread
Trong bước này, chúng ta sẽ khám phá lệnh mread
, một tiện ích Linux được sử dụng để đọc dữ liệu từ các tệp. Lệnh mread
cho phép bạn đọc một số byte được chỉ định từ một tệp và hiển thị đầu ra.
Để hiểu lệnh mread
, hãy bắt đầu bằng cách chạy lệnh sau:
mread -h
Ví dụ đầu ra:
Usage: mread [OPTION]... FILE
Read FILE, writing to standard output.
With no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-n, --bytes=BYTES print BYTES bytes
-c, --chars=CHARS print CHARS characters
-s, --skip-bytes=BYTES skip BYTES input bytes first
-q, --quiet, --silent never output headers giving file names
--help display this help and exit
--version output version information and exit
Lệnh mread
có một số tùy chọn cho phép bạn kiểm soát hành vi của thao tác đọc tệp. Hãy khám phá một số tùy chọn thường được sử dụng:
- -n, --bytes=BYTES: Tùy chọn này chỉ định số byte cần đọc từ tệp.
- -c, --chars=CHARS: Tùy chọn này chỉ định số ký tự cần đọc từ tệp.
- -s, --skip-bytes=BYTES: Tùy chọn này chỉ định số byte cần bỏ qua trước khi bắt đầu thao tác đọc.
- -q, --quiet, --silent: Tùy chọn này ngăn chặn việc xuất tiêu đề tên tệp.
Bây giờ chúng ta đã có hiểu biết cơ bản về lệnh mread
, hãy chuyển sang bước tiếp theo, nơi chúng ta sẽ khám phá các ví dụ thực tế hơn về cách sử dụng lệnh này.
Khám phá các tùy chọn của lệnh mread
Trong bước này, chúng ta sẽ khám phá các tùy chọn khác nhau có sẵn với lệnh mread
và xem chúng có thể được sử dụng để đọc tệp theo nhiều cách khác nhau như thế nào.
Hãy bắt đầu bằng cách tạo một tệp mẫu để làm việc:
echo "This is a sample text file." > sample.txt
Bây giờ, hãy thử sử dụng một số tùy chọn của lệnh mread
:
-
Đọc một số byte cụ thể:
mread -n 10 sample.txt
Ví dụ đầu ra:
This is a
Tùy chọn
-n
chỉ định số byte cần đọc từ tệp. -
Đọc một số ký tự cụ thể:
mread -c 10 sample.txt
Ví dụ đầu ra:
This is a
Tùy chọn
-c
chỉ định số ký tự cần đọc từ tệp. -
Bỏ qua byte trước khi đọc:
mread -s 5 -n 10 sample.txt
Ví dụ đầu ra:
a sample
Tùy chọn
-s
chỉ định số byte cần bỏ qua trước khi bắt đầu thao tác đọc. -
Đọc từ đầu vào chuẩn:
echo "This is another sample text." | mread -c 10
Ví dụ đầu ra:
This is an
Nếu đối số
FILE
bị bỏ qua hoặc được đặt thành-
, lệnhmread
sẽ đọc từ đầu vào chuẩn. -
Ngăn chặn tiêu đề tên tệp:
mread -q -n 10 sample.txt
Ví dụ đầu ra:
This is a
Tùy chọn
-q
(hoặc--quiet
) ngăn chặn việc xuất tiêu đề tên tệp.
Bằng cách khám phá các tùy chọn này, bạn có thể tùy chỉnh hành vi của lệnh mread
để phù hợp với nhu cầu đọc tệp cụ thể của bạn.
Thực hiện đọc tệp với mread
Trong bước cuối cùng này, chúng ta sẽ sử dụng lệnh mread
và thực hiện một số thao tác đọc tệp thực tế.
Đầu tiên, hãy tạo một tệp mẫu lớn hơn để làm việc:
dd if=/dev/urandom of=sample.bin bs=1M count=5
Điều này sẽ tạo ra một tệp nhị phân 5 MB chứa đầy dữ liệu ngẫu nhiên.
Bây giờ, hãy thử một số thao tác đọc tệp bằng mread
:
-
Đọc 1 MB đầu tiên của tệp:
mread -n $((1024*1024)) sample.bin
Điều này sẽ đọc và hiển thị 1 MB đầu tiên của tệp mẫu.
-
Đọc 1 MB cuối cùng của tệp:
mread -s $((5*1024*1024-1024*1024)) -n $((1024*1024)) sample.bin
Điều này sẽ bỏ qua 4 MB đầu tiên của tệp và đọc 1 MB cuối cùng.
-
Đọc tệp theo các khối 512 KB:
chunk_size=$((512*1024)) offset=0 while [ $offset -lt $((5*1024*1024)) ]; do mread -s $offset -n $chunk_size sample.bin offset=$((offset + chunk_size)) done
Điều này sẽ đọc tệp theo các khối 512 KB và hiển thị đầu ra.
-
So sánh nội dung tệp với một tệp khác:
mread sample.bin | diff - reference.bin
Giả sử bạn có một tệp
reference.bin
, điều này sẽ so sánh nội dung của hai tệp và hiển thị sự khác biệt, nếu có.
Bằng cách khám phá các ví dụ này, giờ đây bạn sẽ hiểu rõ về cách sử dụng lệnh mread
để đọc tệp theo nhiều cách khác nhau.
Tóm tắt
Trong lab này, chúng ta đã khám phá lệnh mread
của Linux, được sử dụng để đọc dữ liệu từ các tệp. Chúng ta đã tìm hiểu về các tùy chọn khác nhau có sẵn với lệnh mread
, chẳng hạn như đọc một số byte, ký tự cụ thể hoặc bỏ qua byte trước khi đọc. Chúng ta cũng đã xem các ví dụ thực tế về cách sử dụng lệnh mread
để đọc tệp theo nhiều cách khác nhau. Những điểm chính rút ra từ lab này là hiểu cách sử dụng cơ bản của lệnh mread
và các tùy chọn của nó, đồng thời áp dụng chúng để đọc tệp một cách hiệu quả.