Các touch
mục đích chính của lệnh được thao tác timestamps của tác phẩm, và để tạo tập tin.
Ví dụ
1. tạo tập tin
$ ls -l
total 0
$ touch file{1..3}
$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file1
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file2
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file3
LƯU Ý: Đầu total 0
ra từ ls -l
là chính xác. Việc triển khai này ls
cho thấy số lượng khối đang được sử dụng bởi các tệp khi chúng được liệt kê. Bạn có thể đảm bảo cho mình về thực tế này bằng cách thêm công -s
tắc vào ls
. Điều này sẽ liệt kê các khối được sử dụng bởi mỗi tập tin. Ở đây tôi đã thêm 2 ký tự vào file1 & file2.
Thí dụ
$ ls -ls
total 8
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:07 file1
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:09 file2
0 -rw-rw-r--. 1 saml saml 0 Jan 13 12:05 file3
2. thông tin thời gian / ngày của một tập tin - lệnh stat
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-01-12 13:33:38.279456149 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:33:38.279456149 -0500
Birth: -
Chúng ta có thể sử dụng touch
để thao tác các dấu thời gian khác nhau trên một tệp nhất định.
3. trích đoạn từ trang man
-a change only the access time
-m change only the modification time
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
4. thao túng thời gian truy cập
$ touch -a -t200001010000 file1
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:38:52.023434696 -0500
Birth: -
5. Thao tác sửa đổi thời gian
$ touch -m -t200001010000 file1
$ stat file1
File: ‘file1’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 11403667 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2000-01-01 00:00:00.000000000 -0500
Change: 2014-01-12 13:39:31.060432026 -0500
Birth: -
Bạn có thể tự hỏi về thời gian thay đổi (ctime). Điều đó không thể được thao tác bằng cách sử dụng touch
. Theo dõi thời gian bất kỳ dữ liệu meta nào được chạm vào tệp. Xem Hỏi & Đáp về U & L này để biết thêm chi tiết, có tiêu đề: Bạn có thể làm gì với một tệp mà không kích hoạt Dấu thời gian "Thay đổi"? .
echo -n > filename
, bạn có thể chạy như sau:>filename