লিনাক্সে অনুলিপি / মুভি / মুছতে ফাইলগুলি ক্যু করার জন্য প্রোগ্রাম?


10

আমি টেরাকোপি (উইন্ডোজ) এর মতো কোনও কিছুর জন্য লিনাক্সের উত্তরের জন্য নেটটি অনুসন্ধান করেছি ... তবে উপযুক্ত কিছু খুঁজে পাইনি।

আমার নিকটতম জিনিসগুলি হ'ল:

  • Krusader। তাদের বৈশিষ্ট্যগুলিতে উল্লেখ করা হয়েছে তবে 'এখনও কার্যকর হয়নি' হিসাবে চিহ্নিত করা হয়েছে।
  • MiniCopier। একটি জাভা ভিত্তিক অ্যাপ্লিকেশন http://a.courreges.free.fr/projets/minicopier/minicopier-en.php
  • rsync একটি বিকল্প নয়।

কেউ কি আমাকে একটি সাধারণ ফাইল অনুলিপি সরঞ্জামের প্রস্তাব দিতে পারেন যা অনুলিপি / সরানো / মুছার জন্য ফাইল সারি করতে পারে? অগ্রণীত যদি আমি নটিলাস থেকে টেনে আনতে পারি।

যদি এর মতো কিছু না থাকে তবে দয়া করে কেউ আমাকে বলতে পারেন কেন? ... আমি কি একমাত্র ব্যক্তি যার এমন কিছু দরকার?


2
আপনি যা চান ঠিক তা ব্যাখ্যা করতে পারলে এটি কার্যকর হবে। আমার ধারণা বেশিরভাগ লিনাক্স ব্যবহারকারীরা "টেরাকপি" এর সাথে পরিচিত নন।
— পেলটিয়ার

1
এটি কি কারণ বড় কপি এবং মুছে ফেলা সময় নেয় এবং জিইউআই ইন্টারফেসটি চলমান অবস্থায় অনুপলব্ধ / কম দরকারী?
— ডিএমকেকে --- প্রাক্তন-মডারেটর বিড়ালছানা

এই অনুরোধটির একটি আংশিক ব্যাখ্যা এখানে পাওয়া যাবে: superuser.com
— জিজ্ঞাসা

এক মিনিট অপেক্ষা করুন, লিনাক্সের জন্য মিনি কপিয়ার পাওয়া যায় না? এটি একটি জাভা অ্যাপ্লিকেশন।
— রায়ান সি থম্পসন

1
@ তোবু টেরাকোপি একাধিক অনুলিপি কাজ সারিতে এবং বিরতি দিতে পারে
— কোকিজু

উত্তর:


3

এই সমস্যাটি সমাধান করার জন্য আমি কেবল এই সহজ স্ক্রিপ্টটি লিখেছিলাম, যাকে আমি 'সিপিডব্লু' বলেছিলাম।

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

আপনি পটভূমি সিপিডব্লিউ কাজ যুক্ত রাখতে পারেন, তবে তারা একে অপরের দিকে পা রাখবে না। তারা একবারে একজনকে মৃত্যুদন্ড কার্যকর করবে।

আমি নিশ্চিত অন্যরাও উন্নতির পরামর্শ দিতে পারে।

#!/bin/bash

cpwpids=(`ps -ef | grep $USER | grep 'cpw' | grep -v grep | grep -v $$ | awk '{ print $2 }'`) #build an array of all cpw procs for this user that aren't this one.

cpwcnt=${#cpwpids[@]} # number of elemenets in the above array
cnt=$cpwcnt # counter to be decremented each pass
while [ $cnt -gt 0 ]
do
    cnt=$cpwcnt
    for i in "${cpwpids[@]}" # check if each pid has died yet
    do
        ps --pid $i >/dev/null
        if [ $? -gt 0 ]
        then
            let "cnt -= 1"
        fi
    done
    sleep 2
done
cp -v "$@" >> /tmp/cpw.log #log

ব্যবহারের উদাহরণ:

$ cpw -R /src/tree /dest/tree &

কেবল একটি সতর্কতা, আমি এই স্ক্রিপ্টটি চেষ্টা করেছি এবং যে কারণে আমি আরও তদন্ত করিনি, এটি অন্যান্য স্ক্রিপ্টগুলি শেষ হওয়ার জন্য অনির্দিষ্টকালের জন্য ঝুলতে পারে। ব্যাশে এক্সক্লুসিভিটি অর্জনের আরও নির্ভরযোগ্য উপায় হ'ল ফ্লক-ই ব্যবহার করা। : উদাহরণস্বরূপ এখানে দেখুন stackoverflow.com/questions/17996577/...
— px1mp

1

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

সুতরাং আপনি যদি একবারে অনেকগুলি জিনিস অনুলিপি না করেন তবে আপনার ভাল হওয়া উচিত।


দুঃখিত, তবে এটি একটি মন্তব্য মত বেশি। প্রচুর মতামত, আসলেই কোনও উত্তর নয়।
— মিচিফ

1

যেহেতু জোশ আরেনবার্গের দেওয়া স্ক্রিপ্টটিতে কিছু অচলাবস্থার সমস্যা থাকতে পারে (যা আমি এখনও অভিজ্ঞতা করি নি, তবে তদন্তও করি নি), তাই আমি নিজেই কিছু লিখেছিলাম। এটির অচল সমস্যা হওয়া উচিত নয়। এটি কেবল সিপি নয়, কোনও শেল কমান্ডের জন্যও কাজ করে।

Contents of ~/bin/q

#!/bin/bash

#this waits for any PIDs to finish
anywait(){

    for pid in "$@"; do
        while kill -0 "$pid" 2&>1 >/dev/null; do
            sleep 0.5
        done
    done
}


PIDFILE=~/.q.pid

#open PIDFILE and aquire lock
exec 9>>$PIDFILE
flock -w2 9 || { echo "ERROR: flock() failed." >&2; exit 1; }

#read previous instances PID from PIDFILE and write own PID to PIDFILE
OLDPID=$(<$PIDFILE)
echo $$>$PIDFILE

#release lock
flock -u 9

#wait for OLDPID
anywait $OLDPID

#do stuff
"$@"


#afterwards: cleanup (if pidfile still contains own PID, truncate it)
flock -w2 9 || { echo "ERROR: flock() failed." >&2; exit 1; }
if [ $(<$PIDFILE) == $$ ]; then
truncate -s0 $PIDFILE
fi
flock -u 9

এটি প্রক্রিয়াগুলির একটি শৃঙ্খল তৈরি করে, প্রতিটি পূর্ববর্তীটির জন্য অপেক্ষা করে। যদি অপেক্ষা করার সময় শৃঙ্খলার মাঝখানে কোনও প্রক্রিয়া ক্র্যাশ হয়ে যায় (সম্ভাব্য তবে অসম্ভব নয়) তবে চেইনটি নষ্ট হয়ে যায় এবং উভয় অংশ সমান্তরালে চলতে থাকে। প্রক্রিয়াগুলির মধ্যে একটি মারা গেলে একই ঘটে happens

এর মতো ব্যবহার:

q $COMMAND $ARGS

অথবা এমনকি

q $COMMAND $ARGS; $ANOTHER_COMMAND $MORE_ARGS

পরীক্ষা যেমন টাইপ করে

q sleep 10 &
q echo blubb &

এবং 10 সেকেন্ড পরে ব্লাব মুদ্রণ করা হবে তা সন্ধান করুন।


আমি মাঝে মাঝে while kill -0 "$pid" 2&>1 >/dev/null; doলাইনের জন্য ত্রুটি অস্বীকার করার অনুমতি পাই । কোন ধারনা?
— মিচিফ

ঠিক আছে, তাই এটি দীর্ঘ সময় ব্যবহার করার পরে, আমি বলতে পারি যে এটি কাজ করে না। হতে পারে অ্যাক্সেস ত্রুটি এর কারণ তবে আমি cpএকে অপরের উপর একাধিক পদক্ষেপ দেখতে পাচ্ছি ।
— মিচিফ


0

আমি লিনাক্সের জন্য এই জাতীয় কিছু জানি না (যদিও এটি কোথাও নেই বলে মনে হয় না)। লিনাক্স সফ্টওয়্যার লিনাক্স ব্যবহারকারীদের দ্বারা লিখিত পেতে ঝোঁক। অভিজ্ঞ লিনাক্স ব্যবহারকারীরা এই জাতীয় কোনও সরঞ্জাম তৈরি করার কথা ভাবতে পারেন না, কারণ তারা যদি জিইউআই অধিবেশন চলাকালীন কোনও অনুলিপি দেখে থাকেন তবে তারা সম্ভবত টার্মিনালে গিয়ে কমান্ডলাইনের মাধ্যমে অনুলিপি করতে পারবেন।

এখানে কয়েকটি বেসিক কমান্ডলাইন অনুলিপি ইউটিলিটিগুলি যা খুব দ্রুত এবং আপনার ডেস্কটপ পরিবেশকে প্রভাবিত করে না:

  • সিপি ("সিপি ফু / পাথ / টু / বার" ফুতে বারে অনুলিপি করবে)
  • এমভি ("এমভি ফু / পাথ / টু / বার" বারে স্থানান্তরিত হবে (নাম পরিবর্তন করুন)
  • tar ("তারে সিএফ - ফু | (সিডি / পাথ / টু / আর্কাইভ /; টার এক্সএফ -)") পুনরাবৃত্তভাবে একটি ডিরেক্টরি অনুলিপি করবে)
  • rsync ("rsync -r foo / पथ / থেকে / সংরক্ষণাগার /" পুনরাবৃত্তভাবে একটি ডিরেক্টরি অনুলিপি করবে)

0

ফাইলগুলির একটি তালিকা তৈরি করুন এবং অনুলিপি সম্পাদনের জন্য এসসিপি ব্যবহার করুন। লিনাক্সের দুর্দান্ত জিনিস হ'ল আপনি প্রতিধ্বনি ব্যবহার করে আপনার পাঠ্য ফাইলটিতে যুক্ত করতে পারেন।


0

আমি এই ইউনিক্স ব্যাচ সিস্টেম প্রকল্পটি টাস্ক স্পুলার নামে পেয়েছি যা আপনাকে কার্যগুলি সারি করতে দেয়।

অথবা আপনি করতে পারেন sudo apt-get install task-spooler

একবার ইনস্টল হয়ে গেলে, আপনি সহজেই ts(বা tspউবুন্টু / ডেবিয়ান সিস্টেমের জন্য) কোনও সাইন কমানোর জন্য নিয়মিত শেল কমান্ডের সামনে রাখতে পারেন।

এই পৃষ্ঠাতে এর ব্যবহারগুলি সম্পর্কে প্রচুর উদাহরণ রয়েছে: https://www.ostechnix.com/add-linux-commands-queue-execute-one-one/ বা আপনি এখানে একটি ভিডিও দেখেন: https://www.youtube.com / দেখেছেন? V = wv8D8wT20ZY

আমি এটি যাচাই করেছি এবং এটি আমার সমস্ত cpকমান্ডের জন্য প্রত্যাশা অনুযায়ী কাজ করছে বলে মনে হচ্ছে ।

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