Liên hệProfile
Danh mục

Mục Lục

    Lệnh script trong Linux là gì? Cách dùng script để ghi lại hoạt động trên terminal chi tiết

    Nguyễn Hưng

    Ngày đăng:

    13/01/2026

    Cập nhật lần cuối:

    13/01/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/01/2026

    Cập nhật lần cuối:

    13/01/2026

    Mục lục

    Lệnh script là một công cụ đơn giản nhưng mạnh mẽ, cho phép bạn ghi lại toàn bộ phiên làm việc trong terminal, bao gồm cả dòng lệnh nhập vào lẫn kết quả đầu ra và lưu vào một file dạng văn bản. Trong bài viết này, mình sẽ hướng dẫn bạn cách dùng script để ghi lại hoạt động trên terminal đơn giản, nhanh chóng.

    Những điểm chính

    • Khái niệm: Hiểu rõ script là công cụ dùng để ghi lại toàn bộ phiên làm việc trên terminal, bao gồm cả lệnh nhập và kết quả đầu ra.
    • Chức năng của lệnh script: Nắm được các ứng dụng thực tế của lệnh script, từ việc ghi log cài đặt, tạo tài liệu hướng dẫn đến lưu vết lỗi để báo cáo.
    • Các ví dụ sử dụng phổ biến: Thành thạo các lệnh cơ bản để bắt đầu và kết thúc một phiên ghi log vào tệp mặc định hoặc tệp chỉ định.
    • Các tùy chọn phổ biến: Nắm vững các tùy chọn nâng cao để tùy chỉnh việc ghi log, như ghi tiếp vào tệp đã có, chỉ ghi log một lệnh cụ thể, hoặc ghi kèm thông tin thời gian để phát lại.
    • Lưu ý khi sử dụng: Nắm được các lưu ý quan trọng để sử dụng script một cách an toàn và hiệu quả, từ việc kết thúc đúng quy trình đến các vấn đề bảo mật.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan trực tiếp đến lệnh script trong Linux.

    Lệnh script là gì?

    Lệnh script trong Linux là một công cụ quan trọng giúp ghi lại toàn bộ phiên làm việc trên terminal, bao gồm mọi lệnh bạn nhập và kết quả hiển thị ra màn hình và lưu vào một file văn bản để phục vụ việc kiểm tra, hướng dẫn, lưu vết hoặc xử lý sự cố. Cụ thể, khi khởi động lệnh script, toàn bộ hoạt động trên terminal sẽ được ghi lại. Cú pháp lệnh script như sau:

    $ script [tùy chọn] [tên_file]

    Trong đó:

    • [tùy chọn]: Là các tham số dạng -a, -q, -t, -f,… dùng để điều chỉnh và mở rộng cách lệnh hoạt động.
    • [tên_file]: Là tên file sẽ lưu nội dung phiên terminal.

    Nếu không chỉ định tên file, mặc định kết quả sẽ được lưu vào một file có tên là typescript.

    Lệnh script trong Linux là một công cụ quan trọng giúp ghi lại toàn bộ phiên làm việc trên terminal
    Lệnh script trong Linux là một công cụ quan trọng giúp ghi lại toàn bộ phiên làm việc trên terminal

    Chức năng của lệnh script

    Bạn có thể sử dụng lệnh này trong các trường hợp như:

    • Ghi lại quá trình cài đặt phần mềm, biên dịch mã nguồn để tái hiện hoặc báo cáo cho bộ phận hỗ trợ.
    • Tạo các tài liệu hướng dẫn thao tác thực tế cho học viên hoặc đồng nghiệp.
    • Lưu lại lỗi và kết quả đầu ra để gửi cho bộ phận hỗ trợ.
    • Theo dõi các hoạt động hệ thống để phục vụ kiểm toán hoặc điều tra sau này.
    Chức năng của lệnh script
    Chức năng của lệnh script

    Ví dụ 1: Khởi động ghi log phiên làm việc đơn giản

    Giả sử, bạn muốn mọi thao tác trên terminal, bao gồm lệnh nhập và kết quả hiển thị, đều được hệ thống ghi lại vào tệp typescript. Bạn nhập lệnh sau:

    $ script
    Mọi thao tác trên terminal đều được hệ thống ghi lại vào tệp typescript.
    Mọi thao tác trên terminal đều được hệ thống ghi lại vào tệp typescript.

    Để kết thúc quá trình ghi log, bạn nhập lệnh dưới đây:

    $ exit

    Kết quả sẽ hiển thị như sau:

    Kết thúc quá trình ghi log
    Kết thúc quá trình ghi log

    Ví dụ 2: Ghi log vào một file chỉ định theo yêu cầu

    Bạn thực thi lệnh sau trên terminal:

    $ script Vietnix.txt

    Sau đó, bạn có thể nhập bất kỳ lệnh nào mong muốn. Khi hoàn tất, bạn hãy dùng lệnh exit để kết thúc phiên ghi. Toàn bộ hoạt động vừa thực hiện sẽ được lưu lại trong file Vietnix.txt.

    Những hoạt động vừa thực hiện sẽ được lưu lại trong file Vietnix.txt
    Những hoạt động vừa thực hiện sẽ được lưu lại trong file Vietnix.txt

    Để kiểm tra nội dung file đã ghi, bạn sử dụng lệnh sau:

    cat Vietnix.txt

    Kết quả trả về là nội dung toàn bộ hoạt động mà bạn đã thực hiện trong phiên ghi log trước đó, được lưu giữ lại đầy đủ trong file Vietnix.txt.

    Kiểm tra nội dung file đã ghi
    Kiểm tra nội dung file đã ghi

    1. -a hoặc –append: Ghi tiếp vào file đã có

    Để ghi tiếp vào file đã có, bạn thực thi lệnh sau:

    $ script -a history_log.txt

    Hệ thống sẽ ghi tiếp dữ liệu vào file history_log.txt thay vì tạo file mới hoặc ghi đè lên nội dung cũ. Mỗi phiên ghi log mới sẽ được phân tách rõ ràng bằng một dòng chứa thông tin ngày giờ bắt đầu ghi, giúp người quản trị dễ dàng theo dõi các phiên làm việc khác nhau trong cùng một file. 

    Mỗi phiên mới sẽ được phân tách bằng dòng chứa ngày giờ bắt đầu ghi.
    Bạn có thể thấy thời gian được ghi lại cụ thể

    2. -c hoặc –command: Ghi log của một lệnh cụ thể

    Khi bạn sử dụng lệnh:

    $ script -c "ls -la" cal_output.txt

    Hệ thống sẽ thực thi duy nhất lệnh “ls -la” và ghi lại toàn bộ quá trình thực thi, cùng với kết quả trả về vào file cal_output.txt thay vì ghi log cho cả một phiên terminal như thông thường.

    Ghi log của một lệnh cụ thể
    Ghi log của một lệnh cụ thể

    3. -e hoặc –return: Trả về mã thoát của quá trình

    Khi sử dụng tùy chọn -e hoặc --return trong lệnh script, hệ thống sẽ trả về mã thoát (exit code) của quá trình hoặc của lệnh đã được ghi log. Tùy chọn này rất hữu ích khi bạn tích hợp script vào các tập lệnh tự động để kiểm tra xem lệnh thực thi thành công hay gặp lỗi. Nhờ đó, bạn có thể dễ dàng xác định trạng thái thành công hay thất bại của quá trình vừa thực hiện để xử lý tiếp các bước phù hợp.

    4. -f hoặc –flush: Ghi log theo thời gian thực

    Để hệ thống ghi dữ liệu vào file log ngay sau mỗi lần có đầu ra và đảm bảo thông tin được ghi ngay lập tức, giảm nguy cơ mất mát nếu phiên làm việc gặp sự cố hoặc bị gián đoạn, bạn sử dụng lệnh:

    script -f real_time_log.txt
    Ghi log theo thời gian thực
    Ghi log theo thời gian thực

    5. –force: Cho phép ghi vào symbolic link hoặc hard link

    Lệnh sau đây cho phép bạn ghi log vào cả symbolic link hoặc hard link trên hệ thống:

    script --force /home/sc/gfg2

    Tùy chọn này hữu ích khi bạn muốn lưu file log vào vị trí được liên kết tới nhiều nơi hoặc được dùng như một shortcut hệ thống.

    6. -q hoặc –quiet: Tắt thông báo khởi động/kết thúc

    Tùy chọn này hữu ích khi bạn muốn lưu file log vào vị trí được liên kết tới nhiều nơi hoặc được dùng như một shortcut hệ thống:

    $ script -q silent_log.txt

    Khi đó, lệnh script sẽ ghi log một cách im lặng, không hiển thị các dòng tin như “Script started…” trên terminal.

    Tắt thông báo khởi động/kết thúc
    Tắt thông báo khởi động/kết thúc

    7. -t hoặc –timing[=file]: Ghi kèm thời gian từng dòng lệnh

    Để ghi log kèm file thời gian và có thể phát lại từng bước thao tác như video, bạn dùng:

    $ script --timing=session.time session.log
    Ghi log kèm file thời gian
    Ghi log kèm file thời gian

    Sau đó, để phát lại chi tiết từng thao tác với cùng tốc độ và thời điểm như đã thực hiện, bạn sử dụng:

    $ scriptreplay --timing=session.time session.log
    Phát lại chi tiết từng thao tác
    Phát lại chi tiết từng thao tác

    Tùy chọn này hữu ích khi bạn muốn quay lại quy trình thao tác đã thực hiện trước đó, phục vụ cho việc kiểm tra, hướng dẫn hay đào tạo kỹ năng sử dụng hệ thống.

    8. -V hoặc –version: Xem phiên bản

    Bạn có thể xem nhanh phiên bản hiện tại của lệnh script đang dùng bằng cách nhập:

    $ script -V

    Kết quả trả về là thông tin phiên bản, giúp bạn xác định tính năng và mức độ tương thích với hệ thống Linux đang sử dụng.

    Xem phiên bản của script
    Xem phiên bản của script

    9. -h hoặc –help: Xem hướng dẫn nhanh

    Để hiển thị bảng hướng dẫn nhanh về các tùy chọn, cú pháp của lệnh script, bạn sử dụng:

    $ script -h

    Hệ thống sẽ trả về danh sách đầy đủ các tùy chọn và phần giải thích ngắn gọn cho từng tùy chọn, giúp bạn dễ dàng tra cứu và sử dụng lệnh script một cách hiệu quả nhất.

    Xem hướng dẫn nhanh
    Xem hướng dẫn nhanh

    Một số tùy chọn khác của script:

    Tùy chọnGiải thích
    -I <file>, –log-in <file>Ghi lại stdin (những gì bạn gõ vào) vào file <file>.
    -O <file>, –log-out <file>Ghi lại stdout (những gì hiện ra trên màn hình) vào file <file> (mặc định).
    -B <file>, –log-io <file>Ghi lại stdin và stdout vào cùng 1 file.
    -T <file>, –log-timing <file>Ghi thông tin về thời gian giữa các hành động vào file <file>. File này dùng để phát lại phiên làm việc với scriptreplay.
    -t[<file>], –timing[=<file>]Đây là tùy chọn đã lỗi thời, tương đương với -T. Nếu không chỉ định file, dữ liệu sẽ được ghi vào stderr.
    -m <name>, –logging-format <name>Cho phép bạn chọn định dạng file log, với hai kiểu là classic hoặc advanced.
    -a, –appendGhi tiếp vào file log cũ, thay vì ghi đè nội dung trước đó.
    -c <command>, –command <command>Chỉ ghi log cho một lệnh cụ thể mà bạn chọn, thay vì ghi lại toàn bộ phiên shell tương tác.
    -e, –returnTrả về mã exit của tiến trình con.
    -f, –flushGhi dữ liệu vào file ngay sau mỗi lần output.
    –forceGhi file output ngay cả khi đó là symbolic link.
    -E <when>, –echo <when>Ghi lại cả những gì bạn gõ vào với các tùy chọn: auto, always, never.
    -o <size>, –output-limit <size>Tự dừng khi file log đạt tới kích thước <size> byte.
    -q, –quietTắt các thông báo của script

    Lưu ý khi sử dụng lệnh script trong Linux

    Khi dùng lệnh script để ghi lại phiên làm việc trên terminal, bạn nên chú ý một số điểm quan trọng dưới đây để tránh lỗi log và lộ thông tin quan trọng:

    • Kết thúc đúng quy trình: Bạn bắt buộc phải dùng lệnh exit hoặc nhấn Ctrl + D để đóng Shell con, nếu tắt ngang Terminal, file ghi có thể bị lỗi hoặc mất dữ liệu cuối.
    • Xử lý ký tự đặc biệt: File kết quả sẽ chứa cả mã màu và ký tự điều khiển như phím xóa Backspace, bạn nên xem bằng lệnh cat/more hoặc làm sạch bằng lệnh col trước khi đọc trên editor thường.
    • Kiểm soát bảo mật: Script sẽ ghi lại mọi thứ xuất hiện trên màn hình, bao gồm mật khẩu gõ nhầm hoặc API Key nên bạn cần rà soát kỹ nội dung file log trước khi chia sẻ cho người khác.
    • Lưu ý về dung lượng: Tránh chạy các lệnh xuất ra màn hình quá nhiều dữ liệu (như đọc file log hàng GB) khi đang ghi, vì file kết quả sẽ tăng kích thước rất nhanh và gây hao tốn tài nguyên hệ thống.
    • Cấu hình để phát lại: Nếu muốn xem lại thao tác như một video, bạn cần thêm tùy chọn --timing=time.log ngay lúc bắt đầu lệnh script.
    Lưu ý khi sử dụng lệnh script trong Linux
    Bạn cần rà soát kỹ nội dung file log trước khi chia sẻ cho người khác (Nguồn: Internet)

    Câu hỏi thường gặp

    Vì sao việc sử dụng lệnh script lại đặc biệt hữu ích đối với việc xử lý sự cố trong môi trường kiểm toán hệ thống?

    Vì script giúp ghi lại toàn bộ lịch sử thao tác, nhờ đó có thể truy xuất lại chính xác chuỗi sự kiện và kết quả, phục vụ cho quá trình phân tích nguyên nhân lỗi và đánh giá truy vết hoạt động hệ thống.

    Tại sao cần kiểm soát dung lượng file log khi sử dụng script?

    Nếu không giới hạn dung lượng hoặc kiểm soát dữ liệu đầu ra, file log có thể tăng kích thước rất nhanh khi ghi lại lệnh tạo ra dữ liệu lớn, làm tiêu tốn tài nguyên hệ thống và ảnh hưởng đến hiệu năng hoạt động máy chủ.

    Trong môi trường nhiều người dùng cùng truy cập hệ thống, sử dụng lệnh script mang lại lợi ích gì trong công tác quản lý?

    Script hỗ trợ lưu lại hoạt động từng cá nhân trên hệ thống, giúp quản trị viên dễ dàng kiểm soát, phân tích trách nhiệm và giám sát quy trình làm việc của từng người dùng.

    Lệnh script là một giải pháp ghi log mạnh mẽ và dễ sử dụng, phục vụ linh hoạt cho nhiều mục đích như kiểm tra, hướng dẫn thao tác, xử lý sự cố hay kiểm toán hệ thống trong môi trường Linux. Việc vận dụng script không chỉ giúp nâng cao mức độ minh bạch, khách quan cho các hoạt động trên terminal mà còn hỗ trợ lưu trữ, tái hiện, kiểm tra lại các bước đã thực hiện một cách chuyên nghiệp. Cảm ơn bạn đã theo dõi bài viết!

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng
    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng

    Lệnh groupdel trong Linux là công cụ dòng lệnh dùng để xóa nhóm người dùng khỏi hệ thống. Việc sử dụng groupdel đúng cách giúp hệ thống gọn gàng hơn, hạn chế rủi ro phân quyền sai và tăng tính bảo mật trong quá trình quản trị. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng
    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng

    Lệnh groupadd Linux là tiện ích dòng lệnh dùng để tạo nhóm người dùng mới trên hệ thống, phục vụ cho việc phân quyền và quản lý user theo nhóm. Việc sử dụng group giúp quản trị viên kiểm soát quyền truy cập hiệu quả hơn, giảm rủi ro sai sót và đơn giản hóa…

    09/02/2026

    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng
    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng

    Lệnh usermod trong Linux là công cụ dùng để chỉnh sửa thông tin các tài khoản người dùng đã tồn tại, hỗ trợ quản trị viên cập nhật nhóm, UID, thư mục home, shell và trạng thái tài khoản một cách linh hoạt. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết…

    09/02/2026

    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn
    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn

    Lệnh userdel Linux là công cụ dòng lệnh dùng để xóa tài khoản người dùng khỏi hệ thống và các nhóm liên quan. Công cụ này giúp loại bỏ user không còn sử dụng, góp phần đảm bảo tính gọn gàng và bảo mật cho hệ thống. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    linux

    lenh

    text