cuốn sách gpt4 ai đã làm

linux - Thay đổi thời gian của tệp trong FreeBSD UFS/MacOS X HFS

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 00:09:04 25 4
mua khóa gpt4 Nike

Tôi đang tìm cách tạo tệp bằng ctime cũ trên một hệ thống tệp khác. Trên máy lẻ Linux, việc này được thực hiện bằng cách sử dụng

Chạm vào /path/to/file
debugfs -w -R 'set_inode_field/path/to/file ctime 201001010101'/dev/sdX
echo 3 >/proc/sys/vm/drop_caches

Có cái nào tương đương trên UFS của FreeBSD không? Thậm chí có thể trên MacOSX HFS+?

câu trả lời hay nhất

Trên FreeBSD,chạmsử dụng -f Các tùy chọn cho lệnh có thể áp dụng ở đây, ví dụ:

chạm vào tập tin -t 0510242022.13

Đặt ngày thành 24 tháng 11 năm 2005 lúc 20:22:13

Định dạng là[[CC]YY]MMDDhhmm[.SS], từngười đàn ông chạm vào:

   -t Thay đổi thời gian truy cập và sửa đổi theo thời gian đã chỉ định
thay vì thời gian hiện tại trong ngày. Đối số có dạng.
``[[CC]YY]MMDDhhmm[.SS]'' trong đó mỗi cặp chữ cái đại diện cho
sau đây:

CC Hai chữ số đầu tiên của năm (thế kỷ).
YY Hai chữ số thứ hai của năm Nếu ``YY'' là.
được chỉ định, nhưng ``CC'' thì không, một giá trị cho ``YY''
từ 69 đến 99 sẽ có giá trị ``CC'' là 19.
Ngược lại, giá trị ``CC'' là 20 được sử dụng.
MM Tháng trong năm, từ 01 đến 12.
DD ngày trong tháng, từ 01 đến 31.
hh Giờ trong ngày, từ 00 đến 23.
mm Phút của giờ, từ 00 đến 59.
SS Giây của phút, từ 00 đến 61.

Để thay đổi ctime bạn có thể sử dụng fsdb , bạn có thể cần khởi động ở chế độ đơn để đặt đĩa ở chế độ chỉ đọc, ví dụ:

> fsdb /dev/vtbd0p2
** /dev/vtbd0p2 (KHÔNG VIẾT)
Chỉnh sửa hệ thống tập tin `/dev/vtbd0p2'
Được gắn lần cuối vào /
inode hiện tại: thư mục
I=2 CHẾ ĐỘ=40755 KÍCH THƯỚC=1024
BTIME=29 tháng 9 01:45:50 2016 [0 nsec]
MTIME=26 tháng 11 09:47:37 2016 [339135000 nsec]
CTIME=26 tháng 11 09:47:37 2016 [339135000 nsec]
ATIME=26 tháng 11 09:28:38 2016 [679268000 nsec]
CHỦ SỞ HỮU=root GRP=bánh xe LINKCNT=20 FLAGS=0 BLKCNT=8 GEN=37b9b524
fsdb (inum: 2)>

Từ đó tôi có thể cd vào thư mục và chọn nó:

fsdb (inum: 2)> cd /usr/home/nbari

fsdb (inum: 644816)> file tra cứu

Bạn có thể gõtích cực để kiểm tra lại tập tin, ví dụ:

fsdb (inum: 642101)> đang hoạt động
inode hiện tại: tập tin thông thường
I=642101 CHẾ ĐỘ=100644 KÍCH THƯỚC=29
BTIME=24 tháng 10 20:22:13 2005 [0 nsec]
MTIME=Ngày 1 tháng 1 12:12:12 2012 [0 nsec]
CTIME=Ngày 1 tháng 1 12:12:12 2012 [0 nsec]
ATIME=Ngày 1 tháng 1 12:12:12 2012 [0 nsec]
CHỦ SỞ HỮU=nbari GRP=nbari LINKCNT=1 FLAGS=0 BLKCNT=8 GEN=384445f7

Sau đó chỉ cần thay đổi ctime thành ngày bạn muốn:

 fsdb (inum: 642101)> ctime 20121212010101

Định dạng làYYYYMMDDHHMMSS[.nsec]

Sau đó bằng cách gõ q hoặc ra Thoát và kiểm tra chạy lại chỉ số, ví dụ:

> stat -x test_file
Tập tin: "test_file"
Kích thước: 29 Loại tệp: Tệp thông thường
Chế độ: (0644/-rw-r--r--) Uid: ( 1002/ nbari) Gid: ( 1002/ nbari)
Thiết bị: 0,68 Inode: 642101 Liên kết: 1
Truy cập: Chủ nhật ngày 1 tháng 1 12:12:12 2012
Sửa đổi: CN ngày 1 tháng 1 12:12:12 2012
Thay đổi: CN ngày 1 tháng 1 12:12:12 2012

Về linux - thay đổi ctime của tệp trong FreeBSD UFS/MacOS X HFS, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/40751290/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress