exec trong Linux là gì?
Lệnh exec
dùng để thay thế tiến trình hiện tại bằng một lệnh hoặc chương trình khác. Khi thực thi, exec
sử dụng cùng PID (process ID), vùng nhớ và các tài nguyên khác của tiến trình gốc. Nếu bạn dùng exec
mà không chỉ định lệnh nào, terminal sẽ bị đóng lại.
Cú pháp của lệnh exec
:
Lưu ý: Các phần trong ngoặc vuông là tùy chọn, và bạn có thể sử dụng nhiều tùy chọn hoặc đối số cùng lúc. Dấu ba chấm biểu thị rằng có thể dùng nhiều giá trị cho phần ARGUMENT
.
Một số tùy chọn thường dùng của lệnh exec
Bạn có thể khám phá thêm các tùy chọn bằng cách chạy:
Ví dụ phổ biến:
Chú ý: Linux phân biệt chữ hoa và chữ thường, hãy đảm bảo bạn gõ đúng lệnh.
8 ví dụ thực tế sử dụng exec
trong Linux
Ví dụ 1: Liệt kê nội dung thư mục hiện tại
Bạn có thể dùng exec
để hiển thị danh sách các file trong thư mục hiện tại như sau:
-
Mở Terminal trên Ubuntu.
-
Gõ:
-
Nhấn Enter
.
-
Tiếp tục gõ:
-
Nhấn Enter
.
Kết quả: Terminal sẽ hiển thị danh sách chi tiết các file và thư mục.
Lưu ý: Nếu không chạy bash
trước, terminal có thể tự đóng.
Ví dụ 2: Hiển thị biến môi trường và giá trị
Thực hiện theo các bước:
-
Mở Terminal.
-
Nhập lệnh:
-
Sau đó gõ:
Kết quả: Danh sách biến môi trường và giá trị tương ứng sẽ hiển thị.
Lưu ý: Nhớ chạy bash
trước để tránh đóng terminal.
Ví dụ 3: Chạy chương trình từ tập lệnh Bash
Bạn có thể nhúng exec
vào một tập lệnh để thực thi chương trình:
-
Mở Terminal.
-
Tạo tập tin mới:
-
Dán đoạn mã sau:
.png)
-
Lưu file với Ctrl + S
, thoát bằng Ctrl + X
.
-
Thực thi script:
Kết quả: Tùy chọn theo số bạn chọn sẽ thực thi ngay.
Ví dụ 4: Ghi log stdout và stderr vào file log
Bạn có thể dùng exec
để redirect output và error vào log file:
-
Mở Terminal.
-
Tạo file mới:
-
Chèn nội dung sau:

-
Lưu và thoát.
-
Cấp quyền thực thi:
-
Chạy script:
-
Xem nội dung log:
Kết quả: Log file chứa đầy đủ cả output và lỗi (có lỗi ở dòng eho
).
Ví dụ 5: Tạo môi trường sạch
Dùng exec
với tùy chọn -c
để xóa biến môi trường:
-
Mở Terminal.
-
Xem biến hiện có:
-
Khởi động Bash:
-
Chạy:
Kết quả: Tất cả biến môi trường bị xóa sạch.
Lưu ý: Hãy chạy bash
trước để tránh terminal đóng đột ngột.
Ví dụ 6: Tìm và hiển thị nội dung file
Bạn muốn tìm và xem nội dung tất cả file .sh
trong thư mục Desktop:
-
Mở Terminal.
-
Chạy:
Kết quả: Nội dung các file .sh
được hiển thị trong terminal.
Ví dụ 7: Tìm và nén nhiều file
Bạn có thể dùng exec
để kết hợp find
và gzip
:
-
Mở Terminal.
-
Kiểm tra file có sẵn:
-
Nén các file .sh
:
-
Kiểm tra lại:
Kết quả: Các file .sh
sẽ được nén thành .sh.gz
.
Ví dụ 8: Tìm và thay đổi quyền truy cập file
Bạn muốn cấp quyền thực thi cho tất cả các file .gz
:
-
Mở Terminal.
-
Xem danh sách file:
-
Cấp quyền thực thi:
-
Kiểm tra lại:
Kết quả: Tất cả file .gz
giờ đã có quyền thực thi.