Tạo một tập tin tạm thời

Bash:
Tạo một tập tin tạm thời

Làm thế nào:

Bash có một lệnh được tích hợp sẵn gọi là mktemp để dễ dàng tạo tập tin tạm thời:

# Tạo một tập tin tạm thời
temp_file=$(mktemp)

# Xem xét tập tin tạm thời mới của chúng tôi
echo "Tập tin tạm thời đã được tạo: $temp_file"

# Sử dụng tập tin tạm thời
echo "Một số dữ liệu" > "$temp_file"

# Đọc lại nó
cat "$temp_file"

# Dọn dẹp: xóa tập tin khi bạn hoàn thành
rm "$temp_file"

Đầu ra:

Tập tin tạm thời đã được tạo: /tmp/tmp.Iy5nv69sed
Một số dữ liệu

Sâu hơn

Tập tin tạm thời đã có trong UNIX từ những ngày đầu, cho phép người dùng xử lý dữ liệu trung gian mà không cần dọn dẹp thủ công. Trong kịch bản Bash, mktemp là cách tiếp cận hiện đại, đi kèm với các tùy chọn để tạo cả tập tin (mktemp) và thư mục (mktemp -d). Lệnh này tạo một tập tin duy nhất mỗi lần nó được gọi, điều này né tránh vấn đề xung đột tập tin xảy ra khi nhiều phiên bản của một kịch bản hoặc các kịch bản khác nhau đang chạy cùng một lúc.

Trước mktemp, các lập trình viên thường tạo tập tin thủ công với tên mà họ hy vọng sẽ là duy nhất. Xung đột là chuyện thường xảy ra, dẫn đến mất dữ liệu và vấn đề về bảo mật. mktemp giúp ngăn chặn điều đó bằng cách đảm bảo rằng tên tập tin là duy nhất với sự kết hợp của các mẫu dự đoán và ký tự ngẫu nhiên. Không giống như các tập tin thường, những tập tin tạm thời này được dự định để được xóa sau khi sử dụng, giữ cho hệ thống gọn gàng.

Một số phương án thay thế cho mktemp bao gồm sử dụng /dev/shm cho các tập tin tạm thời trong bộ nhớ, hoặc tạo ra một tập tin với ngày tháng và ID quá trình ($$), nhưng những phương pháp này đi kèm với nhiều rủi ro xung đột hơn.

Xem Thêm