چگونه می توان Timestamp فایل را تغییر داد

چگونه می توان Timestamp فایل را تغییر داد

هر فایل در لینوکس با برچسب timestamps مرتبط است، که آخرین زمان دسترسی، زمان آخرین اصلاح و آخرین زمان تغییر را مشخص می کند.
هر زمان که ما یک فایل جدید ایجاد می کنیم یا یک فایل موجود یا ویژگی های آن را اصلاح می کنیم، این برچسب های زمانی به طور خودکار به روز می شود.
فرمان touch برای تغییر این timestamps (زمان دسترسی، زمان اصلاح و تغییر زمان یک فایل) استفاده می شود.

۱٫ ساخت یک فایل خالی با استفاده از دستور touch

شما می توانید با استفاده از دستور touch یک فایل خالی ایجاد کنید. مثال زیر یک فایل جدید با سایز صفر بایت با نام tgs.txt ایجاد می کند.

$ touch tgs.txt

شما همچنین می توانید از آپشن c- برای جلوگیری از ایجاد فایل های جدید استفاده کنید. اگر از  آپشن c-  استفاده می کنید، و اگر فایل وجود نداشته باشد، touch  فایل را ایجاد نمی کند.

$ touch -c a.txt

دستوراتی مانند ls و find از این اطلاعات زمانبندی برای فهرست گذاری و پیدا کردن فایل ها استفاده می کنند.

شما همچنین می توانید بیش از یک فایل را با دستور touch ایجاد کنید. مثال زیر ۴ فایل را به نام a، b، c و d ایجاد می کند.

$ touch a b c d

۲٫ تغییر زمان دسترسی به فایل با استفاده از a-

ما می توانیم زمان دسترسی یک فایل با استفاده از آپشن  a-  تغییر بدهیم. به طور پیش فرض زمان سیستم فعلی را بر میدارد و فیلد زمانی را به روز می کند.

قبل از دستور touch اجرا شود :

$ stat tgs.txt

File: `tgs.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 801h/2049d Inode: 394283 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 1000/lakshmanan) Gid: ( 1000/lakshmanan)
Access: 2012-10-18 23:58:21.663514407 +0530
Modify: 2012-10-18 23:58:21.663514407 +0530
Change: 2012-10-18 23:58:21.663514407 +0530

$ touch -a tgs.txt

پس از دستور touch (توجه داشته باشید که زمان دسترسی تغییر کرده است)

$ stat tgs.txt
File: `tgs.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 801h/2049d Inode: 394283 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 1000/lakshmanan) Gid: ( 1000/lakshmanan)
Access: 2012-10-19 00:08:23.559514525 +0530
Modify: 2012-10-18 23:58:21.663514407 +0530
Change: 2012-10-19 00:08:23.559514525 +0530

۳٫ تغییر زمان اصلاح فایل با استفاده از m-

شما می توانید زمان اصلاح فایل را با استفاده از آپشن m- تغییر دهید.

$ touch -m *.o

از روش فوق می توان برای تغییر mtime از تمام فایل های obj استفاده کرد. توجه: امکان تغییر ساعت ctime با استفاده از دستور touch وجود ندارد.

۴٫ به طور صریح تنظیم زمان دسترسی و اصلاح با استفاده از t- و d-

به جای استفاده از time-stamp فعلی بصورت صریح می توانید زمان را با استفاده از آپشن های t- , d- مشخص کنید.

فرمت بصورت به صورت

[[CC]YY]MMDDhhmm[.SS]

است.

$ touch -t [[CC]YY]MMDDhhmm[.SS]

فرمت فوق به شرح زیر است:
• CC – دو رقم اول سال را مشخص می کند
• YY – دو رقم آخر سال را مشخص می کند. اگر مقدار YY بین ۷۰ تا ۹۹ باشد، مقدار رقم CC به صورت ۱۹ است. اگر مقدار YY بین ۰۰ و ۳۷ باشد، مقدار رقم CC فرض می شود که ۲۰ باشد. این امکان تعیین تاریخ از ۱۸ ژانویه ۲۰۳۸ وجود ندارد.
• MM – ماه را مشخص می کند.

• DD – تاریخ را مشخص می کند
• hh – ساعت را مشخص می کند
• mm – دقیقه را مشخص می کند
• SS – ثانیه ها را مشخص می کند

یک مثال :

$ touch -a -m -t 203801181205.09 tgs.txt

$ stat tgs.txt

شما همچنین می توانید از یک رشته برای تغییر زمان استفاده کنید، بعنوان مثال :

$ touch -d “2012-10-19 12:12:12.000000000 +0530” tgs.txt

۵٫کپی Time-stamp از یک فایل دیگر با استفاده از r-

شما همچنین می توانید یک فایل را به عنوان یک مرجع انتخاب کنید و زمان برای سایر فایل ها را به روز کنید تا هر دو فایل هم زمان داشته باشند.
به عنوان مثال دستور touch زیر، time-stamp فایل a.txt را با time-stamp فایل tgs.txt به روز می کند.

$ touch a.txt -r tgs.txt

برگرفته شده از کانال تلگرام دنیای متن باز

این مطالب رو هم پیشنهاد می‌کنیم ببینید

درباره نویسنده: mrz.rst

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *