Lệnh mread trong Linux

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:

  1. Tìm hiểu lệnh mread
  2. Khám phá các tùy chọn của lệnh mread
  3. 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:

  1. -n, --bytes=BYTES: Tùy chọn này chỉ định số byte cần đọc từ tệp.
  2. -c, --chars=CHARS: Tùy chọn này chỉ định số ký tự cần đọc từ tệp.
  3. -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.
  4. -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:

  1. Đọ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.

  2. Đọ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.

  3. 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.

  4. Đọ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ệnh mread sẽ đọc từ đầu vào chuẩn.

  5. 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:

  1. Đọ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.

  2. Đọ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.

  3. Đọ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.

  4. 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ả.

400+ câu lệnh phổ biến trong Linux