Tạo tệp hoặc thư mục tạm thời là một tác vụ phổ biến mà nhiều người dùng dòng lệnh Linux thực hiện. Nhưng bạn có biết có một công cụ dòng lệnh chuyên dụng - được gọi là mktemp - cho phép bạn thực hiện việc này không?
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh mktemp bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 20.04 LTS và trên Debian 10.
Và đây là cách trang hướng dẫn của công cụ giải thích về nó:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh mktemp hoạt động.
Ví dụ, trong trường hợp của tôi, đầu ra sau đã được tạo ra:
Ví dụ, trong trường hợp của tôi, đầu ra sau được tạo ra:
Vì vậy, bạn thấy đấy, tên không phản ánh thực tế rằng đó là một thư mục, nhưng thực tế là nó là một thư mục.
Công cụ này cung cấp một mẫu mà bạn có thể sử dụng. Tất cả những gì bạn phải làm là cung cấp tên, theo sau là ba hoặc nhiều X tiếp theo. Các X này được thay thế bằng mktemp với các ký tự ngẫu nhiên để tên cuối cùng của tệp hoặc thư mục trở thành duy nhất.
Ví dụ, tôi đã thực thi lệnh sau:
Và tệp sau đã được tạo ra:
Lưu ý rằng các tệp được tạo theo cách này nằm trong thư mục làm việc hiện tại, thay vì thư mục /tmp/ (là hành vi mặc định).
Bạn sẽ vui mừng khi biết điều này cũng khả thi. Bạn chỉ cần sử dụng tùy chọn --suffix. Sau đây là một ví dụ:
Và đây là tên của tệp được tạo ra bởi lệnh đã đề cập ở trên:
Vì vậy, bạn có thể thấy hậu tố bạn cung cấp đã được thêm vào tên tệp.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh mktemp bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 20.04 LTS và trên Debian 10.
Lệnh mktemp của Linux
Lệnh mktemp trong Linux cho phép người dùng tạo tệp hoặc thư mục tạm thời. Sau đây là cú pháp của nó:
Mã:
mktemp [OPTION]... [TEMPLATE]
Mã:
Tạo một tệp hoặc thư mục tạm thời một cách an toàn và in tên của nó. TEM?
PLATE phải chứa ít nhất 3 ký tự 'X' liên tiếp trong thành phần cuối cùng. Nếu
TEMPLATE không được chỉ định, hãy sử dụng tmp.XXXXXXXXXX và ngụ ý --tmpdir.
Các tệp được tạo bằng u+rw và các thư mục được tạo bằng u+rwx, trừ umask restric?
tions.
Câu hỏi 1. Làm thế nào để tạo tệp tạm thời bằng mktemp?
Đơn giản. Chỉ cần thực thi 'mktemp' mà không có bất kỳ tùy chọn nào. Bạn sẽ thấy một tệp tạm thời sẽ được tạo trong thư mục /tmp/.
Mã:
mktemp
Mã:
/tmp/tmp.Ko6d1aX84B
Câu 2. Làm thế nào để tạo một thư mục tạm thời bằng mktemp?
Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -d.
Mã:
mktemp -d
Mã:
/tmp/tmp.Y8pySTB9ml
Vì vậy, bạn thấy đấy, tên không phản ánh thực tế rằng đó là một thư mục, nhưng thực tế là nó là một thư mục.
Câu hỏi 3. Làm thế nào để đặt tên tùy chỉnh cho tệp/thư mục tạm thời của bạn?
Như bạn có thể đã quan sát thấy, mktemp đặt tên ngẫu nhiên cho tệp hoặc thư mục tạm thời mà nó tạo ra. Tuy nhiên, nếu muốn, bạn có thể cung cấp tên tùy chỉnh.Công cụ này cung cấp một mẫu mà bạn có thể sử dụng. Tất cả những gì bạn phải làm là cung cấp tên, theo sau là ba hoặc nhiều X tiếp theo. Các X này được thay thế bằng mktemp với các ký tự ngẫu nhiên để tên cuối cùng của tệp hoặc thư mục trở thành duy nhất.
Ví dụ, tôi đã thực thi lệnh sau:
Mã:
mktemp tempfileXXX
Mã:
tempfileEgh
Câu hỏi 4. Làm thế nào để thêm hậu tố vào cuối tên tệp/thư mục?
Trong phần trước, chúng ta đã thảo luận về cách có tên tùy chỉnh khi sử dụng mktemp. Nhưng theo cách đó, bạn chỉ có thể có phần đầu của tên theo ý muốn. Còn nếu bạn cũng muốn có hậu tố theo ý mình thì sao?Bạn sẽ vui mừng khi biết điều này cũng khả thi. Bạn chỉ cần sử dụng tùy chọn --suffix. Sau đây là một ví dụ:
Mã:
mktemp tempfileXXX --suffix=HTF
Mã:
tempfilecVkHTF
Câu hỏi 5. Làm thế nào để chỉ thực hiện chạy thử với mktemp?
Nếu bạn chỉ muốn mktemp hiển thị tên và không tạo tệp/thư mục, thì bạn có thể thực hiện bằng tùy chọn dòng lệnh -u.
Mã:
mktemp -u