একটি ফাইল তৈরির তারিখ পরিবর্তন করা


62

আপনি কি দয়া করে আমাকে জানতে পারবেন কীভাবে আমি সিংহটিতে একটি ফাইল তৈরির তারিখটি পরিবর্তন করতে পারি। আমি বুঝতে পারি স্পর্শ-টি কমান্ড রয়েছে তবে সিংহটিতে এটি কার্যকর হয় না। কয়েকজন লোক অন্যভাবে উল্লেখ করেছেন, তবে আমি মনে করি তারা সাধারণ লোকের পরিবর্তে "কোডার" ভাষায় সমাধানটি লিখেছেন - কোনও সাধারণ লোক যেভাবে মৃত্যুদণ্ড কার্যকর করতে পারে সেভাবে কেউ কি এর উত্তর দিতে সক্ষম হবে?

আপনার সাহায্যের জন্য অনেক ধন্যবাদ.


অন্যান্য কোডারদের "কোডার" ব্যাখ্যাটি সম্ভবত "স্পর্শ" এর একটি রেফারেন্স। আপনাকে একটি টার্মিনাল খুলতে হবে, ফোল্ডারে নেভিগেট করতে হবে যেখানে ফাইয়ের তৈরির তারিখটি সংশোধন করতে স্পর্শ কমান্ডটি ব্যবহার করতে হবে।
ডেরেক নাইট

2
FWIW আপনি "টাচ-টি" দিয়ে সঠিক লাইনে আছেন তবে এইচ এবং - এর মধ্যে একটি স্থান রয়েছে। এটি "টাচ-টি"
ডেরেক নাইট

উত্তর:


95

touch -tসাধারণত শুধুমাত্র পরিবর্তন এবং অ্যাক্সেসের সময় পরিবর্তন করে। এটি কেবলমাত্র সময় তৈরির সময় পরিবর্তন করে যদি লক্ষ্য সময়টি আসল সৃষ্টির আগে হয়।

touch -t 199912312359 file.txt
touch -t $(date -jf %FT%T 1999-12-31T23:59:59 +%Y%m%d%H%M%S) file.txt

SetFile -d সর্বদা সৃষ্টির সময় পরিবর্তন করে।

SetFile -d '12/31/1999 23:59:59' file.txt
SetFile -d "$(GetFileInfo -m test.txt)" file.txt

সেটফাইল হ'ল কমান্ড লাইন সরঞ্জাম প্যাকেজের অংশ যা বিকাশকারী.অ্যাপল. com/ডাউনলোডগুলি বা এক্সকোডের পছন্দগুলি থেকে ডাউনলোড করা যায় ।


4
পরিবর্তনের সময় পরিবর্তন করার জন্য মি।
অ্যালিকেলজিন-কিলাকা

5
ইয়োসেমাইটে, আমাকে বিন্যাসটি ব্যবহার করতে স্পর্শ করতে হবে +%Y%m%d%H%M.%S(মিনিট এবং সেকেন্ডের মধ্যে বিন্দুটি লক্ষ্য করুন)
Calimo

আমি একটি ফাংশন বলা লিখেছিলেন CpCreationDateমধ্যে fish:SetFile -d (GetFileInfo -m $argv[1]) $argv[2]
পাসকাল

15

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

# touch a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 username staff 0 0 "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt

তালিকাভুক্ত প্রথম তারিখটি হ'ল শেষ অ্যাক্সেসের সময় ( atime), দ্বিতীয়টি হ'ল শেষ পরিবর্তনের সময় ( mtime), তৃতীয়টি সর্বশেষ স্থিতি পরিবর্তন ( ctime), চতুর্থটি ফাইল তৈরির সময় (জন্ম, Btime), দেখুন man lstat

atimeনির্দিষ্ট সময় ব্যবহারের জন্য অ্যাক্সেসের সময় ( ) পরিবর্তন করতে:

# touch -a -t201412312359.59 a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "May 19 00:11:14 2015" "May 19 00:11:46 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt

নির্দিষ্ট সময় ব্যবহারের জন্য ফাইল তৈরির সময় ( mtime) এবং সময় সংশোধন Btimeকরতে:

# touch -m -t201312312359.59 a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 2013" 4096 0 0 a.txt

স্পষ্টতই ctimeএটি বর্তমান সিস্টেমের সময়টিতে সর্বশেষ স্থিতি পরিবর্তনের সময়টি স্বয়ংক্রিয়ভাবে আপডেট হয় !

Btimeএকটি নির্দিষ্ট সময় কেবলমাত্র সৃষ্টি / জন্মের সময় ( ) পরিবর্তন করতে, ব্যবহার করুন (উপরে অন্যরা প্রস্তাবিত হিসাবে):

# SetFile -d "12/31/1999 23:59:59" a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt

ctimeবর্তমান সিস্টেমে কেবলমাত্র সর্বশেষ স্থিতির পরিবর্তনের সময়টিকে ( ) পরিবর্তন করতে উদাহরণস্বরূপ:

# chown username a.txt
# stat a.txt
16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:13:45 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt

usernameফাইলের মালিক কোথায় (যেমন রিপোর্ট করেছেন statবা হিসাবে ls -l)। এটি ফাইলের মালিকানা পরিবর্তন করে না, তবে ফাইলের ইনোড অ্যাক্সেস করে এবং সর্বশেষ স্থিতি পরিবর্তনের সময় হিসাবে এটি রেকর্ড করে। দুর্ভাগ্যক্রমে, কম্পিউটারের সময় পরিবর্তন না করে এখানে এখানে স্পষ্টভাবে সময় নির্দিষ্ট করা সম্ভব নয় ...

সংক্ষেপে, চারটি টাইমস্ট্যাম্পগুলি স্বাধীনভাবে পরিবর্তন করতে সক্ষম হতে, কেউ ব্যবহার করতে পারেন (শেষ 3 এর জন্য এই ক্রমে):

  1. touch -a -tCCYYMMDDHH.SS <file>
  2. touch -m -tCCYYMMDDHH.SS <file>
  3. SetFile -d "MM/DD/CCYY HH:MM:SS" <file>
  4. [সিস্টেমের তারিখ নির্ধারণ করুন] chown username <file>[সাধারণ সিস্টেমের তারিখে প্রত্যাবর্তন]

(অবশ্যই, সিস্টেমের তারিখ পুনরায় সেট করা ঝুঁকি মুক্ত অপারেশন নাও হতে পারে, আপনাকে সতর্ক করা হয়েছে।)


+1 এই দুর্দান্ত উত্তরের জন্য আপনাকে ধন্যবাদ। এটি আমার সমস্ত সমস্যার সমাধান করেছে।
গোবিন্দ রায়

13

কমান্ড-লাইন touchকমান্ড সিংহটিতে কাজ করে, তবে কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে আপনার একটু পটভূমি দরকার।

প্রথমত, আপনাকে এটি টাইপ করতে হবে, এটি কোনও ইউটিলিটি নয় যা একটি উইন্ডোতে গ্রাফিকভাবে পরিচালিত হয়। আপনি যে জায়গাতে এটি টাইপ করেন তা হ'ল টার্মিনাল নামে একটি অ্যাপ । আপনি এটি আপনার ইউটিলিটি ফোল্ডারে খুঁজে পেতে পারেন বা এটির জন্য স্পটলাইট অনুসন্ধান ব্যবহার করতে পারেন।

একবার এটি শুরু করার পরে, আপনি একটি কমান্ড লাইন উইন্ডো পাবেন যেখানে আপনি আদেশগুলি টাইপ করতে পারেন। আপনি টাইপ করছেন বলে কেবল কোডিংয়ের সাথে এর কোনও যোগসূত্র নেই, তবে "পুরানো ফ্যাশন" ওএস কমান্ডের সাথে নতুন কারও কাছে এটি কিছুটা ভয় দেখানোর মতো হতে পারে।

সুতরাং, কমান্ডটিকে স্পর্শ বলা হয় এবং কমান্ডের পরে আপনি বিভিন্ন পরামিতিগুলি পাস করতে পারেন, কেবলমাত্র ফাইল নামটি । নিম্নলিখিত টাইপ করা বর্তমান সময়ের জন্য ফাইলের সর্বশেষ পরিবর্তিত তারিখ সেট করবে:

touch filename

অবশ্যই আপনাকে প্রথমে ফাইলটি সন্ধান করতে হতে পারে যার জন্য এটি পেতে আরও কমান্ডের প্রয়োজন হতে পারে। সিডি বা ডিরেক্টরি পরিবর্তন কমান্ড এখানে সাহায্য করে:

cd ~/Desktop/files/PDFs
touch filename

অথবা, আপনি কেবলমাত্র কমান্ডের অংশ হিসাবে ফাইলের পুরো পথটি যুক্ত করতে পারেন:

touch ~/Desktop/files/PDFs/filename

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

touch -d '1 May 2005 10:22' file8

নিম্নলিখিতটি এই পৃষ্ঠাগুলির থেকে যা দরকারী তথ্যসূত্র এবং যাঁরা কমান্ড লাইনে ফাইল অবস্থান নিয়ে অস্বস্তিকর তাদের জন্য কিছু টিপস সহ একটি দুর্দান্ত উদাহরণ is

নোট করুন যে এটি আপনার প্রবেশের তারিখের পরে আপনার ফাইলটি তৈরি করা হলে কেবলমাত্র সংশোধিত তারিখ এবং তৈরি করা তারিখের বৈশিষ্ট্য উভয়ই বদলে দেবে। কারণ এটি তৈরির আগে কোনও ফাইল পরিবর্তন করা যায় না। আপনি সেট করার তারিখের আগে তৈরি করা হলে কেবল পরিবর্তিত তারিখটি পরিবর্তন করা হবে।

কোনও ফাইলের তৈরি তারিখের বৈশিষ্ট্য কীভাবে পরিবর্তন করবেন?

  1. টার্মিনাল অ্যাপ্লিকেশন ( /Applications/Utilities/Terminal.app) খুলুন বা আপনি যদি আইটার্ম ব্যবহার পছন্দ করেন।

  2. এর বিন্যাসে তারিখটি প্রবেশ করিয়ে টার্মিনালে এটি লিখুন (এন্টার / রিটার্ন না দিয়ে) YYYYMMDDhhmm:

    touch -t 201212211111
    
  3. ফাইন্ডার উইন্ডোটি খুলুন এবং আপনি যে ফাইলটি পরিবর্তন করতে চান তা সনাক্ত করতে এবং এটি টার্মিনাল উইন্ডোতে টেনে আনুন এবং এটি কমান্ড লাইন টার্মিনোলজি ব্যবহার করে ফাইলের অবস্থান সন্নিবেশ করবে। এই মুহুর্তে টার্মিনালটিতে কী টাইপ করা উচিত তার একটি উদাহরণ এখানে:

    touch -t 201212211111 /Volumes/Mac\ HD/Pictures/somefile.jpg
    

    উপরের উদাহরণে 201212211111 "21 ডিসেম্বর, 2012 11:11 এএম উপস্থাপন করুন


2
তবে touchপরিবর্তিত তারিখটি পরিবর্তিত করে, ফাইল তৈরির তারিখটি নয়।
ড্যানিয়েল

1
এটি উভয় করতে পারে। পরামিতিগুলির উপর নির্ভর করে।
স্টাফ করুন

2
ব্যবহার touchপরামিতি আপনি উপরের দিলেন সাথে আমার পরীক্ষা ফাইলের জন্য পরিমার্জন কিন্তু সৃষ্টি তারিখ পরিবর্তন করেছেন।
ড্যানিয়েল

2
@Daniel আপনি probablly আপনার উত্তর পেয়েছিলাম, কিন্তু সম্পূর্ণতার জন্যই touch করেন আর্গুমেন্ট উপর নির্ভর করে তৈরির তারিখ পরিবর্তন করুন। আপনি যদি ফাইলের তৈরি হওয়ার তারিখের আগের কোনও পরিবর্তনের তারিখ সরবরাহ করেন তবে তৈরির তারিখটি স্বয়ংক্রিয়ভাবে নতুন পরিবর্তনের তারিখের মানতে পরিবর্তিত হবে কারণ ফাইলটি তৈরির আগে পরিবর্তন করা যায় না।
গোবিন্দ রাই

2
আমি শুধু সিয়েরা উপর এই চেষ্টা এবং স্পর্শ স্পষ্টভাবে না পরিবর্তন creationতারিখ। আমি পরিবর্তন করতে সক্ষম হয়েছি accessএবং modifiedএকটি "অতীতের তারিখ" তারিখ ছিল, তবে এটি তৈরির তারিখটি পরিবর্তন করে নি। স্পর্শের জন্য ম্যান পৃষ্ঠাটি পরীক্ষা করে দেখুন, এটি তৈরির তারিখ উল্লেখ করে না। ফাইল সিস্টেম: ম্যাক ওএস প্রসারিত (জর্নলেড, এনক্রিপ্টড)। ব্যবহার করে SetFile -d "$(GetFileInfo -m test.txt)" file.txtনিখুঁতভাবে কাজ।
জনাথন ক্রস

7

এখানে গ্রেটস ইঙ্গিত দেয়, বিশেষত শেষটি (লাউরি রান্তা থেকে, 21 আগস্ট 15:21-এ উত্তর দিয়েছেন)। Perfekt!

আমি এখন একাধিক ফাইলের ব্যাচ পরিবর্তন করতে একটি সাধারণ অটোমেটার ওয়ার্কফ্লো ব্যবহার করেছি:

  1. নির্বাচিত ফাইন্ডার আইটেম পান
  2. শেল স্ক্রিপ্ট চালান, "ইনপুট পাস: তর্ক হিসাবে"

শেল স্ক্রিপ্টটি হ'ল:

for f in "$@"
do
    SetFile -d "$(GetFileInfo -m "$f")" "$f" 
done

এটি একটি কবজির মতো কাজ করে।


0

সবচেয়ে সহজ উপায়টি আমি খুঁজে পেলাম একটি নতুন ফোল্ডার তৈরি করা, গ্রেড আউট ফোল্ডারের সমস্ত সাব-ফোল্ডারগুলি নতুন ফোল্ডারে অনুলিপি করা এবং ভয়েলা, নতুন ফোল্ডারটি গ্রেটেড হয় না। এমনকি আপনি এটি অনুসন্ধানকারীর মধ্যেও করতে পারেন।

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