আমার কাছে একটি বড় টারবাল রয়েছে যা আমাদের স্থানীয় সিস্টেমে একটি রিমোট সিস্টেম থেকে এফটিপি'তে ব্যস্ত।
আমি জানতে চাইছি যে অনর্থককরণ শুরু করা সম্ভব কিনা একবারে ৫০ টি ফাইল বলতে দেয় যাতে এই ফাইলগুলি স্থানান্তর হওয়ার সময় প্রক্রিয়া শুরু করা যায়।
আমার কাছে একটি বড় টারবাল রয়েছে যা আমাদের স্থানীয় সিস্টেমে একটি রিমোট সিস্টেম থেকে এফটিপি'তে ব্যস্ত।
আমি জানতে চাইছি যে অনর্থককরণ শুরু করা সম্ভব কিনা একবারে ৫০ টি ফাইল বলতে দেয় যাতে এই ফাইলগুলি স্থানান্তর হওয়ার সময় প্রক্রিয়া শুরু করা যায়।
উত্তর:
সংরক্ষণাগার থেকে নির্দিষ্ট ফাইলগুলি কীভাবে নিষ্কাশন করা সম্ভব তা সম্পর্কে এখানে বিশদ বিবরণ। বিশেষত জিএনইউ টার একটি টারবাল থেকে একক বা একাধিক ফাইল বের করতে ব্যবহার করা যেতে পারে। নির্দিষ্ট সংরক্ষণাগার সদস্যদের নিষ্কাশন করতে, তাদের সঠিক সদস্যের নাম যুক্তি হিসাবে দিন।
উদাহরণ স্বরূপ:
tar --extract --file={tarball.tar} {file}
আপনি সেই ফাইলগুলিও খুঁজে পেতে পারেন যা একটি নির্দিষ্ট গ্লোববিং প্যাটার্নের সাথে মিলিত হয় (ওয়াইল্ডকার্ডস)। উদাহরণস্বরূপ, cbz.tar থেকে পিক দিয়ে শুরু হওয়া সমস্ত ফাইলগুলি এক্সট্রাক্ট করার জন্য, তাদের ডিরেক্টরি উপসর্গটির কোনও বিষয় নয়, আপনি টাইপ করতে পারেন:
tar -xf cbz.tar --wildcards --no-anchored 'pic*'
সমস্ত পিএইচপি ফাইলগুলি নিষ্কাশন করতে, প্রবেশ করুন:
tar -xf cbz.tar --wildcards --no-anchored '*.php'
কোথায়,
-x
: টর্কে ফাইলগুলি উত্তোলনের নির্দেশ দেয়।
-f
: ফাইলের নাম / টার্বল নাম নির্দিষ্ট করে।
-v
: ভার্বোজ (ফাইলগুলি বের করার সময় অগ্রগতি দেখান)।
-j
: bzip2 এর মাধ্যমে ফিল্টার সংরক্ষণাগার, .bz2 ফাইলগুলি সংক্ষেপিত করতে ব্যবহার করুন।
-z
: gzip এর মাধ্যমে ফিল্টার সংরক্ষণাগার, .gz ফাইলগুলি সংক্ষেপিত করতে ব্যবহার করুন।
--wildcards
: কমান্ড লাইন আর্গুমেন্টকে গ্লোববিং নিদর্শন হিসাবে বিবেচনা করার জন্য টারকে নির্দেশ দেয়।
--no-anchored
: এটি অবহিত করে যে নিদর্শনগুলি যে কোনও / ডেলিমেটারের পরে সদস্যের নামের ক্ষেত্রে প্রযোজ্য।
-t
যতক্ষণ না tarball রূপে সম্পূর্ণরূপে ডাউনলোড করা হয় তালিকা। যে কোনও সময় তালিকার তালিকায় কেবলমাত্র ফাইলের নাম দেখা যায় যা হয়েছে বা হয়েছে, স্থানান্তরিত হয়েছে, অর্থাৎ। না পূর্ণ তালিকা; এটি সম্পূর্ণ ডাউনলোড না হওয়া পর্যন্ত until
এটি নিজে চেষ্টা করে দেখিনি, তবে এটি সম্পর্কে কীভাবে:
tar xvf archive.tar | head -n50
টেক করা প্রতিটি ফাইলের জন্য টার একটি লাইন STDOUT এ আউটপুট করে, তারপরে head
50 টি লাইনের পরে কমান্ডটি পাইপটিকে মেরে ফেলবে। পাইপটি মারা যাওয়ার পরে, আমি আশা করছিলাম যে তারটিও মারা যাবে।
head
। আমাকে আমার উত্তর পরিবর্তন করতে দিন।
tar
এটি সিপাইপিড করার আগে 50 টিরও বেশি ফাইল বের করতে পারে এবং বিশেষত এটি শেষ, অসম্পূর্ণ ফাইলটি বের করতে পারে।
tar -tvf tarfile.tar
আপনাকে ফাইলগুলির পুরো তালিকা দেয় tarfile.tar
tar -xvf tarfile.tar fileToRestore
এই কমান্ডটি পুনরুদ্ধার করে fileToRestore
একাধিক ফাইল আনার জন্য, তবে সেগুলির সবগুলিই আপনি পারবেন:
তুমি কোথা থেকে এই ফাইল তালিকা করা tarfile.tar
মধ্যেtar.txt
tar -tvf tarfile.tar > tar.txt
এখন tar.txt
ফাইলগুলির পুরো তালিকা রয়েছে tarfile.tar
এবং আপনি কেবল পুনরুদ্ধার করতে চান এমন ফাইল বা মাথার সাহায্যে রেখে যেতে পারেন ...
head -n50 tar.txt > tar2.txt
আপনি এই ফাইলগুলি একটি ফাইলের মধ্যে রাখতে পারেন
cat tar.txt|while read line
do
tar -xvf tarfile.tar ${line}
done
অথবা সম্পূর্ণ স্ক্রিপ্ট ফাইল:
#!/bin/bash
if [[ "$1" = "" || "$2" = "" ]]
then
echo ""
echo "Uso: untar-list.sh tarfile.tar listfile.txt"
echo ""
exit 1
fi
tarfile=$1
file=$2
if [[ ! -f ${tarfile} ]]
then
echo ""
echo "Archivo ${tarfile} no existe"
echo ""
exit 1
fi
if [[ ! -f ${file} ]]
then
echo ""
echo "Archivo ${file} no existe"
echo ""
exit 1
fi
cat ${file}|while read line
do
tar -xvf ${tarfile} ${line}
done
echo ""
echo "Finalizado"
echo ""
এবং সব শেষ