فهرست مندرجات

دستور touch ( ایجاد فایل )

در یونیکس ها همه چیز از دایرکتوری ها و device های سخت افزاری تا فایل های پیکربندی, فایل هستند. هر فایل دارای سه مشخصه: last access time, last modification و last change time است. وقتیکه یک فایل را ایجاد میکنید. یا تغییر دهید timestamps آن فایل بروز میشود. یکی از کاربردهای دستور touch ایجاد یک فایل خالی است. با استفاده از touch همچنین میتوانیم timestamps یک فایل را نیز تغییر دهیم.

سوئیچ های دستور touch

اما کاربرد اصلی دستور touch برای تغییر timestamps فایل هاست. دستور touch دارای سوئیچ های زیر است:

کاربردهای دستور 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