خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش استفاده از دستور Touch در لینوکس
دستور touch به ما اجازه می دهد تا مُهرهای زمانی(timestamps) را روی فایل ها و دایرکتوری های موجود آپدیت کرده و همچنین فایل های خالی و جدید ایجاد کنیم.
در این مطلب، نحوه استفاده از فرمان touch از طریق مثال های کاربردی مختلف مورد بررسی قرار خواهیم داد.
یک فایل در لینوکس دارای سه مهر زمانی است:
برای نمایش وضعیت فایل از جمله مهرهای زمانی، از دستور stat استفاده کنید.
ایجاد یک فایل جدید به مجوز write در دایرکتوری والد یا parent نیاز دارد. در غیر این صورت، خطای permission denied را دریافت خواهید کرد.
اگر فایل از قبل وجود داشته باشد، touch زمان آخرین دسترسی و تغییر فایل را به زمان جاری سیستم تغییر میدهد.
مثلا اگر فایل file1 وجود نداشته باشد، دستور زیر آن را ایجاد می کند، در غیر این صورت، مهر زمانی آن را تغییر می دهد:
برای ایجاد یا تغییر چندین فایل به طور همزمان، نام فایل را به عنوان آرگومان مشخص کنید:
اگر نمیخواهید فرمانtouch فایلهای جدیدی ایجاد کند، از گزینه c- استفاده کنید. به عنوان مثال، اگر فایل file1 وجود داشته باشد، دستور زیر مهر زمانی فایل را تغییر میدهد در غیر این صورت، هیچ کاری انجام نمیدهد:
فقط تغییر زمان دسترسی:
از گزینه a- فقط برای تغییر زمان دسترسی فایل استفاده کنید:
برای تغییر زمان تغییر فایل از گزینه m- استفاده کنید:
هنگام تغییر modify time، change time نیز آپدیت می شود.
دستور touch همچنین به ما اجازه می دهد تا فایلی را با زمان مشخصی غیر از زمان جاری، بروزرسانی یا ایجاد کنیم. از گزینه d- برای تعیین رشته تاریخ و استفاده از آن به جای زمان جاری استفاده کنید. به عنوان مثال، برای تغییر هر دو زمان آخرین دسترسی و تغییر file1 به 1 ژوئن 2018 11:02، از دستور زیر استفاده می کنید:
رشته تاریخ باید در single quote قرار داده شود.
همچنین می توانید یک رشته date-time جزئی برای فرمان touch ارائه دهید. تنها با ارائه تاریخ، به طور خودکار سال را به سال جاری تغییر می دهد:
از گزینه t- برای تعیین مهر زمانی استفاده کنید و به جای زمان جاری از آن استفاده کنید. آرگومان مهر زمان باید در فرمت زیر باشد:
به عنوان مثال، دستور زیر آخرین زمان دسترسی و اصلاح file1 را تا 1 ژوئن 11:02 سال جاری تنظیم می کند.
گزینه r- به ما این امکان را می دهد که یک فایل مرجع را مشخص کنیم و از مهرهای زمانی آن به جای زمان جاری استفاده کنیم. به عنوان مثال، دستور زیر به touch می گوید که از زمان های file1 برای file2 استفاده کند:
در این مطلب، نحوه استفاده از فرمان touch از طریق مثال های کاربردی مختلف مورد بررسی قرار خواهیم داد.
Linux Files Timestamps
قبل از اینکه به نحوه استفاده از دستور touch بپردازیم، اجازه دهید با بررسی مُهرهای زمانی(Timestamps) فایل در لینوکس شروع کنیم.یک فایل در لینوکس دارای سه مهر زمانی است:
atime (access time)
آخرین باری که فایل توسط دستور یا برنامه ای مانند cat، vim یا grep دسترسی/باز شد.mtime (modify time)
آخرین باری که محتوای فایل اصلاح شد.ctime (change time)
آخرین باری که ویژگی یا محتوای فایل تغییر کرده است. این ویژگی شامل مجوزهای فایل، مالکیت فایل یا مکان فایل است.برای نمایش وضعیت فایل از جمله مهرهای زمانی، از دستور stat استفاده کنید.
stat file_name
ایجاد یک فایل جدید به مجوز write در دایرکتوری والد یا parent نیاز دارد. در غیر این صورت، خطای permission denied را دریافت خواهید کرد.
How to Use the touch Command
در سادهترین شکل آن وقتی بدون هیچ گزینهای استفاده میشود، اگر نام فایل مشخصشده به عنوان آرگومان وجود خارجی نداشته باشد، یک فایل جدید ایجاد میشود.اگر فایل از قبل وجود داشته باشد، touch زمان آخرین دسترسی و تغییر فایل را به زمان جاری سیستم تغییر میدهد.
مثلا اگر فایل file1 وجود نداشته باشد، دستور زیر آن را ایجاد می کند، در غیر این صورت، مهر زمانی آن را تغییر می دهد:
touch file1
برای ایجاد یا تغییر چندین فایل به طور همزمان، نام فایل را به عنوان آرگومان مشخص کنید:
touch file1 file2 file3
اگر نمیخواهید فرمانtouch فایلهای جدیدی ایجاد کند، از گزینه c- استفاده کنید. به عنوان مثال، اگر فایل file1 وجود داشته باشد، دستور زیر مهر زمانی فایل را تغییر میدهد در غیر این صورت، هیچ کاری انجام نمیدهد:
touch -c file1
Changing only access or modification times
بهطور پیشفرض، در صورت استفاده از هیچ گزینهای،touch ، زمان آخرین دسترسی و تغییر فایل را به زمان جاری سیستم آپدیت میکند. با استفاده از گزینه های a- و m-، می توانید تنها یکی از این مهرهای زمانی را تغییر دهید.فقط تغییر زمان دسترسی:
از گزینه a- فقط برای تغییر زمان دسترسی فایل استفاده کنید:
touch -a file1
برای تغییر زمان تغییر فایل از گزینه m- استفاده کنید:
touch -m file1
هنگام تغییر modify time، change time نیز آپدیت می شود.
دستور touch همچنین به ما اجازه می دهد تا فایلی را با زمان مشخصی غیر از زمان جاری، بروزرسانی یا ایجاد کنیم. از گزینه d- برای تعیین رشته تاریخ و استفاده از آن به جای زمان جاری استفاده کنید. به عنوان مثال، برای تغییر هر دو زمان آخرین دسترسی و تغییر file1 به 1 ژوئن 2018 11:02، از دستور زیر استفاده می کنید:
touch -d '1 June 2018 11:02' file1
رشته تاریخ باید در single quote قرار داده شود.
همچنین می توانید یک رشته date-time جزئی برای فرمان touch ارائه دهید. تنها با ارائه تاریخ، به طور خودکار سال را به سال جاری تغییر می دهد:
touch -d '12 June' file1
از گزینه t- برای تعیین مهر زمانی استفاده کنید و به جای زمان جاری از آن استفاده کنید. آرگومان مهر زمان باید در فرمت زیر باشد:
use [[CC]YY]MMDDhhmm[.ss]
به عنوان مثال، دستور زیر آخرین زمان دسترسی و اصلاح file1 را تا 1 ژوئن 11:02 سال جاری تنظیم می کند.
touch -t 06011102 file1
گزینه r- به ما این امکان را می دهد که یک فایل مرجع را مشخص کنیم و از مهرهای زمانی آن به جای زمان جاری استفاده کنیم. به عنوان مثال، دستور زیر به touch می گوید که از زمان های file1 برای file2 استفاده کند:
touch -r file1 file2
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: