উত্তর:
আপনি সাধারণত এটির জন্য -u পতাকা ব্যবহার করবেন। তারের ম্যান পৃষ্ঠা থেকে:
-u, --update only append files newer than copy in archive
সুতরাং এই ক্রমটি আপনার যা প্রয়োজন তা করবে:
# First create the tar file. It has to be UNCOMPRESSED for -u to work
tar -cvf my.tar some-directory/
# ... update some files in some-directory
# ... add files in some-directory
# Now update only the changed and added files
tar -uvf my.tar some-directory/
# Compress if desired
gzip my.tar
কিছুটা আরও বিশদ বর্ণনার জন্য, এখানে দেখুন: http://www.gnu.org/software/tar/manual/html_node/how-to-update.html
আপনি এক ধাপে সংক্ষেপিত টিআরআরআর্কাইভ ( .tar.gz ) আপডেট করতে পারবেন না । তবে, যদি আপনার পর্যাপ্ত ফাঁকা জায়গা থাকে তবে আপনি এটি করতে পারেন:
এক্সট্র্যাক্ট .tar থেকে ফাইল .tar.gz ফাইল:
gunzip filename.tar.gz
কমান্ড সহ সঙ্কুচিত .tar ফাইল আপডেট করুন tar -u
:
tar -uf filename.tar new_file
আপডেট করা .tar ফাইল সংকোচন করুন:
gzip filename.tar
আপনার যদি মাল্টি-কোর সিপিইউ থাকে তবে আমি এক্সট্র্যাক্ট এবং .gz ফাইল তৈরির pigz
পরিবর্তে ব্যবহার করার পরামর্শ দিচ্ছি । ( এটি একটি বহু-থ্রেডযুক্ত বাস্তবায়ন )gzip
pigz
gzip
কেবল gzip
/ gunzip
কমান্ড প্রতিস্থাপন pigz
/ unpigz
।
আপনি যদি ফাইলটিতে কোনও নির্দিষ্ট ফাইল আপডেট করতে চান তবে *.tar.gz
কেবল নিম্নলিখিতটি করুন:
ফাইলটি vi
যেখানে tar
পাওয়া যায় সেখান থেকে প্রবেশ করুন
/home>vi
উদাহরণস্বরূপ, যদি আপনি ডিরেক্টরিতে অন্তর্ভুক্ত যা সরল.আর.ডি.জেড সংশোধন করতে চান /home/test/
:
/home/test>vi
এবং খালি সম্পাদকটিতে এন্টার :n simple.tar.gz
টিপুন এবং Enter
আপনি ফোল্ডার এবং ফাইলগুলির তালিকা পাবেন যেখানে আপনি কার্সারটি সরান এবং যেখানে ক্লিক করতে চান সেখানে ক্লিক করুন Enter। এটি vi
নির্দিষ্ট ফাইলের সম্পাদককে প্রদর্শিত হবে । তারপরে i
ফাইলটি পরিবর্তন করার বিকল্প। সফল পরিবর্তন পরে। Escকী টিপুন এবং :wq
ফাইলটি লিখতে এবং ফাইলটি বন্ধ করতে বেছে নিন । তারপরে :q
ফাইল তালিকা থেকে বেরিয়ে আসতে ব্যবহার করুন।
আপনি যদি বার বার এটি করতে যাচ্ছেন তবে একটি অপ্টিমাইজেশন হতে পারে:
if [[ -f my.tar.gz ]]; then
if [[ ! -f my.tar ]]; then
echo 'No tar, unzipping tar.gz'
gunzip my.tar.gz
fi
tar -uvf my.tar file1 file2 file_new
gzip -fk my.tar # This keeps a copy of the tar.
# -f --force overwrite existing .tar.gz
# -k --keep Keep the input file (.tar file)
else
tar -cvzf my.tar.gz file1 file2
fi