"স্পর্শ" কমান্ডের বৈধ ব্যবহারগুলি কী কী?


83

touchকমান্ডের বিন্দুটি কী ? আমি জানি যে আমি এটি দিয়ে খালি ফাইল তৈরি করতে পারি তবে এটির ক্ষেত্রেও এটি ঘটে echo -n

অন্যথায়, কারও কেন একটি ফাইলের টাইমস্ট্যাম্পগুলি পরিবর্তন করা দরকার? কোনও ফাইলের বয়স সম্পর্কে ভ্রান্ত ধারণা তৈরি না করা ছাড়া, আমি অন্য কোনও ব্যবহার দেখতে পাচ্ছি না এবং এটি একটি বৈধ নয় (আমার দৃষ্টিকোণ থেকে)।


15
পরিবর্তে echo -n > filename, আপনি নিম্নলিখিতটি চালাতে পারেন:>filename
আমাদানোন ইনক।

77
অবৈধ ব্যবহারগুলি কী কী ?
bmargulies

10
Unless to create the false impression about the age of a file। প্রয়োজনীয় মিথ্যা ছাপ নেই। আপনি যদি পরিবর্তনের সময় পরিবর্তন করতে চান ? এটি স্ক্রিপ্টগুলিতে কার্যকর হতে পারে। এই স্ক্রিপ্টটিtouch কমান্ডের উপর খুব বেশি নির্ভর করে এবং এটি এর মতো করে রাখা খুব সুবিধাজনক এবং সহজ।
ভিএল-80

7
tar(বা অন্যান্য ডি-সংরক্ষণাগারগুলি) যখন তারা কোনও সংরক্ষণাগার বের করে তখন কী করবেন তা বিবেচনা করুন । সাধারণত তারা সংরক্ষণাগার থেকে ফাইলটির পরিবর্তনের সময়টি সংরক্ষণাগারটি সরিয়ে নেওয়ার সময় নয়, এটি আকাঙ্ক্ষিত বৈশিষ্ট্য। যেহেতু এটি কোনও ব্যবহারকারী-মোড প্রোগ্রামের পক্ষে ভ্রান্ত টাইমস্ট্যাম্প তৈরি করা বৈধ, সেখানে touch(বা অন্য কোনও কমান্ড-লাইন প্রোগ্রাম) কমান্ড-লাইন আর্গুমেন্টের ভিত্তিতে এটিকে অনুমতি দেয় না কেন argument shস্ক্রিপ্ট লেখার চেয়ে সি লার্নিং আপনাকে বেশি বৈধ করে তোলে না ;-)
স্টিভ জেসোপ

5
ইউনিক্সে, এমন কোনও টাইমস্ট্যাম্প নেই যা কোনও ageফাইলটির বর্ণনা দেয় । এটি একটি creationটাইমস্ট্যাম্প হবে এবং ইউনিক্সে ফাইলগুলির জন্য এই জাতীয় টাইমস্ট্যাম্প নেই।
কেভিন ফেগান

উত্তর:


98

এর একটি সুবিধা touchহ'ল এটি নির্বিচার টাইমস্ট্যাম্পগুলি নির্দিষ্ট করতে পারে, যখন echo -nসর্বদা বর্তমান সময়ের ফলাফল।

বৈধ ব্যবহারের উদাহরণ হ'ল উত্স কোড ফাইলের টাইমস্ট্যাম্প আপডেট করা যাতে কোনও প্রোগ্রাম makeউত্স ফাইলটিকে তার সংকলিত বস্তুর চেয়ে নতুন বিবেচনা করে পুনর্নির্মাণ করে।

অন্যান্য ব্যবহারগুলি হ'ল এমন ফাইল তৈরি করা যা কেবলমাত্র তাদের অস্তিত্বের উপর ভিত্তি করে ফাংশন করে eg যেমন /etc/nologin, লগইনগুলি উপস্থিত থাকলে তা অস্বীকার করে dis আমি আরও যুক্তি দিয়ে বলি যে touch myfileএটি echo -n >> myfileটাইপ করার চেয়ে ছোট হওয়ার পাশাপাশি একটি সহজ নির্মাণ is


18
আর একটি সাধারণ ব্যবহার: নির্দিষ্ট তারিখের জন্য একটি ফাইল স্পর্শ করুন, তারপরে সমস্ত ফাইল পরিবর্তিত / তৈরির সন্ধান করতে "ফাইন্ড / -নিউভার / দ্য / ফাইল" অনুসন্ধান করুন
অলিভিয়ার ডুলাক

@ কেসি যখন আমি ডকুমেন্টেশন চেক করেছি তখন echo -nদেখতে পাবে যে এটিতে " ট্রেলিং নিউলাইনটি আউটপুট করবেন না" says সুতরাং আমি দেখতে পাচ্ছি না এটি কীভাবে খালি ফাইল তৈরি করতে পারে। আপনি দয়া করে পরিষ্কার করতে পারেন?
গীক

3
@ গীক echo -nএকটি খালি স্ট্রিং আউটপুট দেবে এবং নিজে থেকে কিছুই করে না। এর আউটপুট পুনর্নির্দেশের >>ফলে খালি আউটপুট কোনও ফাইলের সাথে যুক্ত হবে। পুনর্নির্দেশটি ফাইলটির অস্তিত্ব না থাকলে ফাইল তৈরির কারণ হবে।
কেসি

6
এটি কাজ করে না: আউটপুট জন্য একটি বিদ্যমান ফাইল খোলার, কিন্তু তাতে লেখা না, এমটাইম পরিবর্তন করে না (আমার সিস্টেমে, যাইহোক)। এটি যদি করেও, আপনার কোনও প্রয়োজন echo -nনেই এমন আদেশের জন্য আপনার প্রয়োজন হবে না এবং ব্যবহার করা উচিত নয় । echo -nকিছু শেলের নীচে "-n" স্ট্রিং আউটপুট করতে পারে। আপনার যদি সত্যই কোনও কমান্ডের দরকার হয় যা কিছুই না করে, :বা trueএটি একটি ভাল বিকল্প, তবে >> myfileনিজে থেকে ফাইলটি তৈরি করার একটি সঠিক বৈধ উপায় যদি এটি না থাকে তবে। এটি অবশ্যই আপনার উত্তরটিকে সমর্থন করে যে আপনার কেবল "স্পর্শ" ব্যবহার করা উচিত।
এইচডিভি

40

অন্তর্নিহিত সিস্টেম কল ( utime) বিভিন্ন ইউটিলিটির জন্য গুরুত্বপূর্ণ tarযা সদ্য অনুলিপি করা (অন-টারার্ড) ফাইলের টাইমস্ট্যাম্প সেট করতে সক্ষম হতে পারে। কিছু ব্যাকআপ ইউটিলিটি তাদের অনুলিপি করা ফাইলগুলির শেষ-অ্যাক্সেসটাইম পুনরায় সেট করার জন্য বিকল্পযুক্তও হতে পারে।

এর একটি বৈধ ব্যবহার touchএকটি নির্দিষ্ট টাইমস্ট্যাম্প সহ একটি ফাইল তৈরি করা। এই জাতীয় "রেফারেন্স" ফাইলটি এরপরে কমান্ড দ্বারা ব্যবহৃত হতে পারে find। উদাহরণস্বরূপ, 1 নভেম্বর, 2013 (যেমন 2013/11/01) এর চেয়ে সাম্প্রতিক সময়ে সংশোধিত সমস্ত ফাইল সন্ধান করতে "

touch -amt 201311010000 myref
find . -type f -newer myref -exec ls -ld {} +

কীভাবে গণনা করবেন যার 201311010000 অর্থ নভে 1,2013? কোন ইউটিলিটি আছে যা আমাকে এটি বলবে? অন্য কথায় আমি কীভাবে স্পর্শ করতে ইনপুট নির্ধারণ করব?
গীক

4
@ গীক সংখ্যাটি লক্ষ্য করে এবং উল্লেখ করে যে প্রথম অংশটি 20131101ভাঙা যায় 2013-11-01, বা নভেম্বর 1, 2013 এ বিভক্ত করা যেতে পারে You আপনি তখন ধরে নিতে পারেন যে 0000অংশটি একটি নির্দিষ্ট সময় নির্দিষ্ট করে, এই ক্ষেত্রে 00 ঘন্টা, 00 মিনিট indicates অথবা আপনি কেবল ম্যান পৃষ্ঠার দিকে নজর রাখতে পারেন touch, যা আপনাকে ফর্ম্যাটটি হ'ল বলে (দেখুন -t)।
জাব

@ গিক মেনপেজগুলি আপনার বন্ধু :-)
জেআরফারগসন

39

touchকমান্ড এর প্রাথমিক উদ্দেশ্য ফাইল তৈরি করার জন্য ফাইলের টাইমস্ট্যাম্প সাধিত হয়, এবং।

উদাহরণ

1. ফাইল তৈরি করা

$ ls -l
total 0

$ touch file{1..3}

$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file1
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file2
-rw-rw-r--. 1 saml saml 0 Jan 12 13:33 file3

উল্লেখ্য:total 0 থেকে আউটপুট ls -lসঠিক। এই বাস্তবায়ন lsফাইল তালিকাভুক্ত করা হয় যখন ফাইল দ্বারা ব্যবহৃত ব্লক সংখ্যা দেখায়। আপনি -sস্যুইচটিতে যুক্ত করে নিজেকে এই সত্যের নিশ্চয়তা দিতে পারেন ls। এটি প্রতিটি ফাইল দ্বারা ব্যবহৃত ব্লকগুলি তালিকাভুক্ত করবে। এখানে আমি ফাইল 1 এবং ফাইল 2 এ 2 টি অক্ষর যুক্ত করেছি।

উদাহরণ

$ ls -ls
total 8
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:07 file1
4 -rw-rw-r--. 1 saml saml 3 Jan 13 12:09 file2
0 -rw-rw-r--. 1 saml saml 0 Jan 13 12:05 file3

2. কোনও ফাইলের সময় / তারিখের তথ্য - স্ট্যাট কমান্ড

$ stat file1
  File: ‘file1’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd02h/64770d    Inode: 11403667    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    saml)   Gid: ( 1000/    saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-01-12 13:33:38.279456149 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:33:38.279456149 -0500
 Birth: -

আমরা touchএকটি প্রদত্ত ফাইলে বিভিন্ন টাইমস্ট্যাম্পগুলি ব্যবহার করতে পারি ।

৩. টাচ ম্যান পৃষ্ঠা থেকে উদ্ধৃত অংশ

   -a     change only the access time
   -m     change only the modification time
   -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time

৪. অ্যাক্সেসের সময়কে কাজে লাগানো

$ touch -a -t200001010000 file1

$ stat file1
  File: ‘file1’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd02h/64770d    Inode: 11403667    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    saml)   Gid: ( 1000/    saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2014-01-12 13:33:38.279456149 -0500
Change: 2014-01-12 13:38:52.023434696 -0500
 Birth: -

5. সময় পরিবর্তন ম্যানিপুলেট

$ touch -m -t200001010000 file1

$ stat file1
  File: ‘file1’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fd02h/64770d    Inode: 11403667    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/    saml)   Gid: ( 1000/    saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2000-01-01 00:00:00.000000000 -0500
Modify: 2000-01-01 00:00:00.000000000 -0500
Change: 2014-01-12 13:39:31.060432026 -0500
 Birth: -

আপনি পরিবর্তনের সময় (সিটিটাইম) সম্পর্কে ভাবতে পারেন। এটি ব্যবহার করে কারসাজি করা যায় না touch। যে কোনও মেটা ডেটা ফাইলে স্পর্শ করার সময় তা ট্র্যাক করে। শিরোনামের আরও বিশদের জন্য এই U&L প্রশ্নোত্তর দেখুন: "পরিবর্তন" টাইমস্ট্যাম্পটি ট্রিগার না করে আপনি কোনও ফাইলকে কী করতে পারেন?


@ সিম: আমার প্রশ্নটি ইঙ্গিত দেয় যে আমি জানি যে স্পর্শটি টাইমস্ট্যাম্পগুলি পরিবর্তনের জন্য। আমি কেবল জানতে চেয়েছিলাম কেন একজন সৎ ব্যবহারকারীর তা চাইবে। এটি যদি আপনার উত্তরের সিটিটাইম অংশ না হয় তবে আমি আপনাকে একটি -1 দিয়েছি।
কোওরা ফ্যানস

16
@ কুকরাফিয়া - আমার উত্তরটি আপনার সুবিধার জন্য এবং ভবিষ্যতে কখনই ব্যবহারকারীর জন্য রয়েছে। অনুগ্রহ করে ধরে নিবেন না যে উত্তরটি সম্পূর্ণরূপে আপনার জন্য এবং আমি দুঃখিত যদি আমি কোনওভাবে আপনাকে বিরক্ত করি তবে এটি আমার উদ্দেশ্য ছিল না, আমি কেবল সময় কীভাবে কাজ করে যায় তার নীচের দিকটি ব্যাখ্যা করার চেষ্টা করছি।
slm

@ সিম: আমি অসন্তুষ্ট নই, কেবল ভেবেছিলাম উত্তরটি সঠিক দিকে যাচ্ছে না। যাইহোক, এই উত্তরের জন্য ধন্যবাদ।
কোওরা ফ্যানস 12:34 এ 20'6

@ কোওরাফিয়া - আপনি যথেষ্ট স্বাগত, এবং আপনার কিউ জন্য আপনাকে ধন্যবাদ। তারা প্রশংসা!
slm

1
@ গীক - আদেশগুলি চেষ্টা করুন। এটি সেই ls -lডিরেক্টরি থেকে সঠিক আউটপুট যেখানে ফাইলগুলির 0 টি আকার থাকে এবং অন্য কোনও কিছুর অস্তিত্ব এখনও নেই। যত তাড়াতাড়ি আপনি ফাইলগুলির একটি আকার দেবেন তারপরে মোট ফাইলগুলি ডাব্লু / ফাইলগুলি কতগুলি ব্লক ব্যবহার করবে তা প্রদর্শিত হবে। আপনি আপডেট না হলে আমার আপডেটগুলি দেখুন, আমি একটি উদাহরণ যুক্ত করেছি।
slm

20

আপনি পেয়েছেন খুব ভাল দুটি উত্তর ছাড়াও, আপনার কথায়, আরও একটি ব্যবহার

কোনও ফাইলের বয়স সম্পর্কে ভুল ধারণা তৈরি করুন

ব্যাকআপ স্কিমগুলিতে ব্যবহারের জন্য উদাহরণস্বরূপ । আপনি কোনও নতুনটির সাথে একটি ব্যাকআপ আপডেট না করে দেখতে পারেন যেহেতু তারা অভিন্ন, বা যেহেতু কোনও ব্যাকআপ আপডেট করার ব্যয়ের তুলনায় পরিবর্তনগুলি অপ্রাসঙ্গিক, বলুন, দূরবর্তী হোস্টের কাছে ধীর লাইন। এটি অর্জন করতে, আপনার কাছে নতুন টাইমস্ট্যাম্পের সাহায্যে ব্যাকআপ ফাইলটি চিহ্নিত করার সহজ বিকল্প রয়েছে, ফেকিং নয় বরং ঘোষণা করা যে সেই ফাইলটির বৈধতা টাইমস্ট্যাম্পটি এখন অন্যরকম।

ফাইলটির বয়স সম্পর্কে ধারণা এখন সত্যই মিথ্যা, তবে এর অর্থটি আসল এবং বৈধ।


20

touchকোডটির পুনর্নির্মাণের জন্য ট্রিগার করা - বা সর্বনিম্ন ব্যবহৃত হওয়ার - অন্যতম সাধারণ ব্যবহার ।

সাধারণ বিল্ড সরঞ্জামগুলি - makeএবং এর ডেরিভেটিভস - ফাইলগুলি তৈরির ক্ষেত্রে যে ফাইলগুলির একটিরও পরিবর্তন না ঘটে সেগুলি পুনরায় সংকলন / পুনর্নির্মাণ না করে কাজ বাঁচানোর চেষ্টা করুন - উদাহরণস্বরূপ, যদি .o ফাইলটি .c এর চেয়ে সাম্প্রতিক হয় উত্স, এটি ধারণা করা সাধারণত নিরাপদ যে সেই উত্স ফাইলটি তৈরি করতে সংকলিত হওয়ার পরে সি উত্সটি পরিবর্তিত হয়নি।

তবে এমন সময় আছে যখন আপনি কোনও কিছু পুনরায় তৈরি করতে বাধ্য করতে চান। আপনি এর উত্স ফাইলে একটিতে অকারণে পরিবর্তন করতে পারেন, তবে এটি দুর্ঘটনাক্রমে কিছু ক্ষতি করার ঝুঁকিপূর্ণ। পরিবর্তে, আপনি কেবল touchফাইলটি তৈরি করতে পারেন, এটির বিষয়বস্তু পরিবর্তনের কোনও ঝুঁকি ছাড়াই এটি নতুন দেখায় - এবং এটি যথেষ্ট যথেষ্ট makeহবে যে এই ফাইলটির উপর নির্ভরশীল সমস্ত কিছু পুনর্নির্মাণের সময় হয়েছে।

অন্যান্য ব্যবহার রয়েছে, তবে historতিহাসিকভাবে এটি ছিল সবচেয়ে বড়।


যদিও এটি পুনর্নির্মাণের কারণ হিসাবে কোনও ফাইল পরিবর্তন করার পক্ষে একটি ভাল ধারণাটি seams করে আমি তার বিরুদ্ধে তর্ক করব। কিছু উত্স কোড রিভিশন সিস্টেম একটি পরিবর্তিত ফাইল সম্পর্কে বিভ্রান্ত হতে পারে। তাই touchএকটি ম্যানুয়াল পরিবর্তন হিসাবে হিসাবে খারাপ। পুনর্নির্মাণের কারণ হিসাবে আমি .oউত্সের আউটপুট ফাইলগুলিকে মুছে ফেলার পরামর্শ দিচ্ছি ।
হার্পার

1
ম্যানুয়াল পরিবর্তন এবং .o ফাইলগুলি অপসারণের জন্য আরও বেশি সময় এবং টাইপ করা প্রয়োজন, এবং একটি ম্যানুয়াল পরিবর্তন অনেক বেশি ত্রুটি-প্রবণ। এবং আমরা কেবল একটি ওয়ার্কিং অনুলিপিতে টাইমস্ট্যাম্পটি সংশোধন করার কথা বলছি - পরে যদি সম্পাদনাগুলি করা হয় তবে ফাইলটি পরিবর্তনের টাইমস্ট্যাম্পটি সঠিকভাবে প্রতিফলিত করবে। এবং সমস্ত সংস্করণ নিয়ন্ত্রণ সিস্টেম একটি টাইমস্ট্যাম্প দ্বারা বিভ্রান্ত হয় না।
ডেভিড

1
যেমনটি বলেছিলেন ডেভিড। এটি সত্যই অনেক আগে স্ট্যান্ডার্ড ইউনিক্স অনুশীলন ছিল না এবং এখনও আইডিইর বাইরে কাজ করা ডেভেলপারদের জন্য স্ট্যান্ডার্ড অনুশীলন হিসাবে রয়ে গেছে।
কেশলাম

12

আমি কমপক্ষে একটি ওয়েব কাঠামোর সাথে কাজ করেছি (কোনটি মনে করতে পারে না) যে উন্নয়ন মোডে পরিবর্তনের জন্য সোর্স কোড ফাইলগুলি দেখেছিল এবং যখন এটি ঘটেছিল তখন অ্যাপ্লিকেশনটি পুনরায় লোড করে।

অবশ্যই কখনও কখনও আপনি চেয়েছিলেন যে এটি পরিবর্তন করা হয়নি এমন কিছু পরিবর্তন করার পরে এটি পুনরায় লোড করতে চেয়েছিল, যার ক্ষেত্রে touchএটির মূল কনফিগারেশন ফাইলটি কৌশলটি করেছে।

সুতরাং, সাধারণ ক্ষেত্রে, যখনই আপনি কোনও ফাইল পরিবর্তন করে কোনও প্রক্রিয়া শুরু করতে চান, আসলে ফাইলটি পরিবর্তন না করেই।


4
এটি আসলে মোড_উজি এবং অ্যাপাচি-র ক্ষেত্রে; আপনি ডাব্লুএসজি ফাইলটি স্পর্শ করে যেমন একটি জাঙ্গো ওয়েব অ্যাপ্লিকেশন পুনরায় লোড করতে পারেন।
সাপি

11

স্পর্শের বৈধ ব্যবহার:

  • ইমেজ ফাইলগুলির টাইমস্ট্যাম্পগুলি (জিআইএফ / জেপিজি / ইত্যাদি) সেগুলি নেওয়ার সময় আপডেট করুন। সমস্ত রেন্ডাররা এক্সআইএফ তথ্যটি পড়ে বা মনোযোগ দেয় না।
  • ফাইলের বান্ডিলের জন্য টাইমস্ট্যাম্প গুরুত্বপূর্ণ যেখানে ফাইলগুলি সেট আপ করার সময় সি / এম-টাইম রাখুন।
  • ব্যর্থতার পরে যদি আপনাকে অন্য আমদানি করতে হয় তবে একটি ব্যাচের (যেমন সিএসভি) ফাইলের সময় নির্ধারণ করুন এবং আমদানি প্রোগ্রামটি সময় স্ট্যাম্পের উপর নির্ভর করে (সেই আলোচনাটি অন্য বিষয়ে ছেড়ে দিন :-))
  • সংরক্ষণাগার উদ্দেশ্যে, অর্থাত্ বছরের ভিত্তিতে ফোল্ডারে ব্যাকআপ থাকে, তারপরে সহজে বাছাইয়ের জন্য এই ফোল্ডারগুলিতে 1 জানুয়ারী YYYY সময় নির্ধারণ করে

7

একটি ব্যবহার হ'ল অনুচিতভাবে সেট করা কোনও ফাইলের টাইমস্ট্যাম্প সংশোধন করা।

উদাহরণস্বরূপ, কোনওভাবেই আপনি কোনও ফাইল অনুলিপি করেন (এবং কিছু উপায়ে আপনি কোনও ফাইল সরিয়ে নিতে পারেন) এর ফলে নতুন ফাইলটি মূল সময়ের টাইমস্ট্যাম্পের পরিবর্তে বর্তমান সময়ের টাইমস্ট্যাম্প রাখে।

সাধারণত, এটি পছন্দসই হয় না। টাচ এটি "ঠিক" করতে পারে।

আরেকটি ব্যবহার হ'ল এমন একটি ফাইল পরিবর্তন প্রতিফলিত করা যা "সম্পাদনা ... পূর্বে সম্পাদনা" অপারেশনগুলির আগে যা ছিল তা ফাইল টাইমস্ট্যাম্পটি পুনরুদ্ধার করে পূর্বাবস্থায় ফিরে আসে।


2
প্রকৃতপক্ষে. ট্র্যাচের সময় আমি খুঁজে পেয়েছি alias cp='cp --preserve=timestamps'পিসি জমিতে আমার জন্য আরও উপযুক্ত ...
রুনিয়াম

5

বনামের thingsমতো একটি গুরুত্বপূর্ণ পার্থক্য echo(বা > fileঅন্যদের দ্বারা উল্লিখিত হিসাবে আরও ভাল ) হ'ল স্পর্শটি বিষয়বস্তুগুলিকে ভেঙে ফেলবে না। > fileএকটি ফাইল খালি করা হবে। touchহবে না. কন্টেন্টের ক্ষতি এড়াতে কৌশলগুলি চিন্তা না করে কেবল স্পর্শ ব্যবহার করুন! এটি যে কোনও উপায়ে কার্নেলে কম কাজ করবে, কারণ এটি কেবল সময় নষ্ট না করে কেবল খোলার জন্য প্রস্তুত করার পরে একটি ঘনিষ্ঠতা সম্পাদন না করে কেবলমাত্র ফাইলের বৈশিষ্ট্যগুলির সাথে কাজ করবে।

ফাইলটি বর্তমানে বাধ্যতামূলক বা পরামর্শকৃত লকের অধীনে থাকলে বা কোনও এক্সক্লুসিভ খোলা থাকলেও স্পর্শটি সম্ভবত টাইমস্ট্যাম্পটিকে পরিবর্তন করতে পারে। হুঁ, এটি কখনও পরীক্ষা করে দেখেনি বা পড়তে হবে না ...


2
>>ওভাররাইটিংয়ের পরিবর্তে সংযোজন হবে
মাইকেল মরোজেক

আমি তা উল্লেখ করার বিষয়টি বিবেচনা করেছি, তবে এটি আরও বেশি পার্শ্ব-প্রভাবের অঞ্চলে getting আপনার এই বিষয়টিও উল্লেখ করতে হবে যে যদি ফাইলটি ইতিমধ্যে একচেটিয়াভাবে খোলা থাকে ইত্যাদি ইত্যাদি ঘটেছিল তবে এটি একটি ত্রুটি ছুঁড়ে ফেলবে। এমন সমস্যা যা> এর ব্যবহারের মাধ্যমেও প্রয়োগ হতে পারে apply আমার গৌণ পয়েন্টটি অনুমান করি - প্রাথমিকের বাইরে যা কেবলমাত্র ফাইলের পরিসংখ্যানকে স্পর্শ করার চেয়ে সামান্য দ্রুত - এটি ঝোপের চারপাশে মারার পরিবর্তে কোড লিখতে ভাল ধারণা যা এটি সোজা বলে।

4

এখানে একটি - আমি টিভি শো রেকর্ড করতে সেজেটিভি নামে একটি সফ্টওয়্যার প্রোগ্রাম ব্যবহার করি - এগুলি প্রায়শই এমপিইজি -২ এ রেকর্ড করা হয় যা খুব দক্ষ কোডেক নয়, এটি আইপ্যাড / আইফোন বন্ধুত্বপূর্ণও নয়। সুতরাং আমি ফাইলগুলি। এমপি 4 ফাইলগুলিতে রূপান্তর করি। তবে ফাইলগুলি প্লে করার সময় সেগটিভিটি টিভি শো শুরু হওয়ার সময় ফাইলটির টাইমস্ট্যাম্পটি প্রত্যাশা করে - যদি তা না হয় তবে অনুষ্ঠানের টাইমলাইনটি স্ক্রু করে দেয় যাতে এটি এফএফ বা আরউইউ করা সহজ হয় না। অতএব আমি। MP4 ফাইলের টাইমস্ট্যাম্পটিকে অরাইগাল ফাইলের মতো হতে পুনরায় সেট করতে স্পর্শ ব্যবহার করি।
এটা কি বৈধ?


2

প্রায়শই আপনার কাছে এমন প্রক্রিয়া থাকতে পারে যা ইউজারিড থেকে পরিবর্তিত হয়, যেমন রুট -> অন্য কিছু থেকে। স্পর্শ আপনাকে এমন কোনও স্থানে এমন একটি ফাইল তৈরি করার সুযোগ দিতে পারে যা অ্যাপ্লিকেশনটিতে অন্য ব্যবহারকারীর মতো লগইন শুরু করার আগে কেবল রুট স্পর্শ করতে পারে।


এটি স্পর্শের ব্যবহার নয় যা "প্রতিধ্বনি" দ্বারা অগ্রহণযোগ্য - লেখকের আসল প্রশ্নটি দেখুন
ডমিংগো ইগানাসিও গালডোস

প্রতিধ্বনি একটি স্ট্রিম এবং এই জাতীয় খোলার সাথে জড়িত। ইনোডগুলির সাথে সরাসরি কাজ করে স্পর্শটিকে হাইপার অনুকূলিতকরণ করা যেতে পারে। পারফর্মেন্স এফটিডব্লিউ!
user56560

2

কর্মক্ষেত্রে আমাদের কাছে ডিজিটাল মানচিত্রের সংরক্ষণাগার রয়েছে 15+ বছর পিছনে। এই পুরানো মানচিত্রগুলি বিভিন্ন ধরণের পোস্টস্ক্রিপ্ট, ইএমএফ, পিআরএন, এইচপিজিএল 2, পিডিএফ ইত্যাদিতে সংরক্ষণ করা হয় যা বেশিরভাগ প্রোগ্রাম বুঝতে পারে না। অথবা এগুলি দেখতে আপনার এক ডজন বিভিন্ন প্রোগ্রামের প্রয়োজন।

এই সমস্ত বিভিন্ন ফর্ম্যাটগুলির সহজে অনুসন্ধান এবং ব্রাউজিংয়ের সুবিধার্থে আমরা মানচিত্রের জেপিগ সংস্করণগুলি তৈরি করি এবং তারপরে জেপিগ ফাইলটি মূল উত্স ফাইল টাইমস্ট্যাম্পের সাথে মিলিয়ে তুলতে ব্যবহার করি - প্রায়শই আসল তৈরি হওয়ার কয়েক বছর পরে।

এখন আমরা পুরো লাইব্রেরিটি দেখতে তুচ্ছভাবে নির্দিষ্ট তারিখের সীমা নির্ধারণ করতে পিকাসার মতো একক প্রোগ্রাম ব্যবহার করতে পারি। স্পর্শ ছাড়াই আমাদের প্রত্যেকটি চিত্রের জন্য সম্ভবত ম্যানুয়ালি তারিখের মেটাডেটা যুক্ত করতে হবে এবং তারপরে নির্দিষ্ট তারিখের সীমাটি খুঁজতে গিয়ে সেই স্ট্রিংগুলি অনুসন্ধান করতে হবে।


1

আমি এখনও এই উদ্দেশ্যে এটি ব্যবহার করি নি, তবে আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা একটি ডিরেক্টরি থেকে ফাইলগুলি এবং তাদের তারিখগুলি পড়ে এবং ওয়েব পৃষ্ঠায় ব্যবহারের জন্য সেগুলি পড়ে। যদি আমাকে একটি সম্পাদনা করতে হয় তবে এটির তারিখ পরিবর্তন হবে। touchতাদের অর্ডার পুনরায় সেট করতে আমি তাদের আইএনজি বিবেচনা করেছি।


1

কিছু প্রাথমিক স্ক্রিপ্টগুলি তাদের নিজস্ব পিড-ফাইলের সাথে একটি কনফিগার ফাইলের টাইমস্ট্যাম্প তুলনা করে। চলমান পরিষেবাটি পুনরায় লোড করবেন কিনা তা ফলাফল স্থির করে।

যদি এমন কোনও পরিস্থিতি থাকে যেখানে আপনি কনফিগারটি পরিবর্তন করতে চান না তবে জোর করে পুনরায় লোড করতে চান, স্পর্শ আপনাকে এখানে সহায়তা করে।


0

আমার একটি ক্রোন জব রয়েছে যা কাজের শেষ রান এবং বর্তমান রানের মধ্যে ঘটেছিল এমন একটি ডাটাবেস থেকে পরিবর্তন আসে। এটি পরিবর্তনের একটি এক্সএমএল ফাইল তৈরি করে যা পরে একটি পৃথক ডাটাবেসে প্রক্রিয়া করা হয়। এটি এক্সএমএল আউটপুট ফাইলের টাইম স্ট্যাম্প থেকে শেষ রান সময় পায় *

এক্সএমএল ফাইলের প্রসেসিংয়ে যদি কিছু উদ্ঘাটিত হয় তবে আমি নতুন এক্সএমএল ফাইলের টাইম স্ট্যাম্পে উল্লিখিত তারিখের চেয়ে আসল তারিখ থেকে রানটি পুনরাবৃত্তি করতে চাই।

এগুলি করার সহজ স্ক্রিপ্টগুলি ইত্যাদির পরিবর্তে XML ফাইলটি স্পর্শ করা এবং টাইম-স্ট্যাম্পটিকে আমার প্রয়োজনীয় তারিখ হতে বাধ্য করা do

এছাড়াও যদি আমি নতুন করে শুরু করি (কোনও পূর্ববর্তী এক্সএমএল আউটপুট ফাইল ছাড়াই) তবে আমি স্পর্শ ব্যবহার করে এর অস্তিত্বের সাদামাটা অনুকরণ করতে পারি।

[*] কেউ এটি দেখানোর আগে - আমি বুঝতে পারি যে কাজটি শুরু হওয়ার সময় এবং এক্সএমএল ফাইলটি লেখার ফলে কয়েক মিনিটের ব্যবধান ছেড়ে যায় যেখানে ডিবি পরিবর্তন হতে পারে। কাজটি এমন সময়ে চলে যখন ডিবি পরিবর্তনগুলি অত্যন্ত অসম্ভব। এটাই আমার অজুহাত এবং আমি এটিকে আঁকড়েছি :-)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.