فهرست مندرجات
دستور touch ( ایجاد فایل )
در یونیکس ها همه چیز از دایرکتوری ها و device های سخت افزاری تا فایل های پیکربندی, فایل هستند. هر فایل دارای سه مشخصه: last access time, last modification و last change time است. وقتیکه یک فایل را ایجاد میکنید. یا تغییر دهید timestamps آن فایل بروز میشود. یکی از کاربردهای دستور touch ایجاد یک فایل خالی است. با استفاده از touch همچنین میتوانیم timestamps یک فایل را نیز تغییر دهیم.
سوئیچ های دستور touch
اما کاربرد اصلی دستور touch برای تغییر timestamps فایل هاست. دستور touch دارای سوئیچ های زیر است:
- a-: استفاده برای تغییر تنها Access Time
- c-: اگر فایل وجود نداشته باشد آن را نیز ایجاد نمی کند.
- d-: استفاده برای بروز کردن زمان های Access و Modification
- m-: استفاده برای تغییر تنها Modification Time
- r-: زمان timestamps فایلی دیگر را برای فایل کنونی استفاده میکند.
- t-: استفاده از یک زمان تعیین شده توسط شما به جای زمان فعلی
کاربردهای دستور touch
در ادامه بعضی از مهمترین کاربردهای دستور touch را با ذکر مثال بیان میکنیم:
چطور یک فایل خالی ایجاد کنیم؟
با فرمت زیر یک فایل خالی (صفر بایت) تحت مجوز تعیین شده توسط umask ایجاد میشود.
touch <file_name>
برای مثال:
touch file1
چطور چندین فایل خالی ایجاد کنیم؟
همچنین برای ایجاد چند فایل بصورت یکجا از دستور زیر میتوان استفاده کرد
touch <file_name1> ... <file_name2> <file_name3>
برای مثال:
touch lpic1 lpic2 lpic3
مشاهده و تغییر زمان اجرای یک فایل خاص
ابتدا با دستور زیر یک فایل ایجاد کنید و سپس با دومین دستور زمان ایجاد فایل مشاهده نمایید که در چه زمانی ایجاد شده است.
touch filestamp ls -l filestamp
خروجی دستور:
-rw-rw-r--. 1 phoenix phoenix 0 Nov 19 19:29 filestamp
فایل در ساعت ۱۹:۵۵ دقیقه در ۱۹ نوامبر ۲۰۱۷ ساخته شد. با یک ویرایشگر متنی فایل را ویرایش و داخل آن چیزی را وارد کنید.
vi filestamp
دوباره دستور ls -l filestamp
را اجرا کنید تا ببینید که زمان تغییر کرده است.
-rw-rw-r--. 1 phoenix phoenix 6 Nov 19 19:32 filestamp
مشاهده زمان آخرین دسترسی به یک فایل خاص و تغییر آن
با استفاده از سوئیچ a- و بصورت زیر یک فایل به نام filestamp2 ایجاد میکنیم که زمان آخرین دسترسی و تغییر آن, زمان فعلی است.
touch -a filestamp2
خروجی دستور:
-rw-rw-r--. 1 phoenix phoenix 0 Nov 19 19:36 filestamp2
برای تغییر آخرین زمان تغییر به زمان فعلی از سوئیچ m- استفاده میکنیم بطور مثال آخرین زمان تغییر فایل filestamp2 در بالا ۱۹:۳۶ است که اگر دستور زیر را اجرا کنیم این زمان به زمان فعلی تغییر میکند.
touch -m filestamp2
خروجی دستور:
-rw-rw-r--. 1 phoenix phoenix 0 Nov 19 19:40 filestamp2
چطور از ایجاد یک فایل جدید جلوگیری کنیم؟
سوئیچ c- به همراه دستور touch از یک فایلهای جدید جلوگیری میکند. برای مثال دستور یک فایل جدید به نام lpic1 ایجاد نمیکند حتی اگر چنین فالی وجود نداشته باشد.
touch -c lpic1
چطور زمان تغییر فایل را تغییر دهیم؟
اگر شما میخواهید فقط زمان یک فایل ( برای مثال فایل lpic2 ) را تغییر دهید میبایست از سوئیچ m- دستور touch استفاده نمایید. لطفا به این نکته دقت نمایید که زمان های آخرین تغییرات فایل آپدیت خواهند شد(نه زمان های دسترسی)
touch -m lpic2
تنظیم زمان های دسترسی و تغییر یک فایل:
با فرمت زیر و استفاده از سوئیچ های c- و t- میتوانید یک فایل با زمان تعیین شده خودتان ایجاد کنید.
toch -c -t MMDDHHMM lpic2
بطور مثال برای ساعت ۱۷:۳۰ روز ۱۰ اکتبر ۲۰۱۷ دستور زیر را ایجاد میکند.
touch -c -t 12101730 lpic2
حال جهت بررسی زمان دسترسی و تغییر فایل lpic2 از دستور زیر استفاده نمایید:
ls -l
خروجی دستور:
-rw-rw-r--. 1 phoenix phoenix 0 Dec 10 2017 lpic2
چطور از timestamp فایل دیگری استفاده کنیم؟
با استفاده از سوئیچ r- زمان timestamp فایل sfile را به dfile اختصاص می دهیم.
touch -r sfile dfile
سپس دستور زیر را اجرا کنید تا زمان ها را که یکی هستند مشاهده نمایید.
ls -l dfile sfile
خروجی:
-rw-rw-r--. 1 phoenix phoenix 0 Nov 19 20:01 dfile -rw-rw-r--. 1 phoenix phoenix 0 Nov 19 20:01 sfile
ایجاد یک فایل با استفاده از زمان مشخص
اگر شما میخواهید یک فایل با زمان مشخص از زمان جاری ایجاد نمایید. می بایست از فرمت کلی تاریخ به شکل زیر استفاده کنید.
touch -t YYMMDDHHMM.SS lpic1
برای مثال با استفاده از دستور touch به همراه سوئیچ t- یک فایل lpic1 با timestamp ی برابر ۱۸:۳۰:۵۵ بعدازظهر در روز ۱۰ دسامبر ۲۰۱۲ ایجاد میکنیم.
touch -t 201212101830.55 lpic1
سپس دستور زیر را اجرا کنید تا زمان ها را مشاهده نمایید.
ls -l lpic1
خروجی دستور:
-rw-rw-r--. 1 phoenix phoenix 0 Dec 10 2012 lpic1