যখন আমি "cp" এর সাথে অনুলিপি করব তখন টার্মিনাল একটি অগ্রগতি বার প্রদর্শন করবে?


29

সিপি ব্যবহার করে টার্মিনালে ফাইল কপি করার সময় একটি অগ্রগতি বার প্রদর্শন করা সম্ভব?


2
... আপনি ব্যবহার বিবেচনা করতে পারে rsync পরিবর্তে.
Asmus

কোন তৃতীয় পক্ষের সরঞ্জাম ইনস্টল ছাড়া সামগ্রিক অগ্রগতি বার সঙ্গে এটি করার একটি উপায় আছে? হয়তো একটি স্ক্রিপ্ট বা কিছু?
rraallvv

উত্তর:


45

আপনি পরিবর্তে rsync ব্যবহার করতে পারেন।

rsync --progress /copy/from /copy/to

1
Speedwise, যা দ্রুত, rsync বা সিপি?
daviesgeek

যদি অনুলিপি করা সমস্ত ফাইল গন্তব্যের মধ্যে বিদ্যমান না থাকে তবে আমি মনে করি না যে একটি উল্লেখযোগ্য পার্থক্য থাকবে। যদি কিছু ফাইল গন্তব্যের মধ্যে বিদ্যমান থাকে তবে এটি পরিবর্তিত হবে কারণ rsync কিছু পরীক্ষা করে। রাইনিঙ্ক সাধারণত (তবে সর্বদা নয়) সেই ক্ষেত্রে দ্রুততর হবে।
bahamat

2
ব্যবহার rsync -P /copy/from /copy/to সমতুল্য rsync --partial --progress /copy/from /copy/to যা অনুলিপি প্রগতি প্রদর্শন করবে, সেইসাথে এটি সংযোগ বিচ্ছিন্ন হওয়ার পরে স্থানান্তর পুনরায় শুরু করবে।
gh0st

16

সময় cp, জন্য ctrl টি বর্তমান শতাংশ প্রদর্শন করে (অন্তত ম্যাকোএসে)


সেটা খুবই ভালো!
felix021

1
এই কাজ কারণ কারণ Ctrl-t পাঠায় SIGINFO যে একই ভাবে সংকেত Ctrl-c পাঠায় SIGINT সংকেত। আপনি যেমন বারবার অন্য শেল মধ্যে একটি লুপ ব্যবহার করুন kill -INFO আপনি যদি চাবি চাপতে না চান তাহলে প্রশ্ন প্রক্রিয়া। এটি একটি সংকেত কারণ এটি অন্যান্য ইউটিলিটিগুলির সাথেও কাজ করে, যেমন। ddCtrl-t এবং SIGINFO বিএসডি থেকে উত্তরাধিকারী হয়।
HTNW

1

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

আশা করি এইটি কাজ করবে!


0
#!/bin/sh
   strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
      | awk '{
        count += $NF
            if (count % 10 == 0) {
               percent = count / total_size * 100
               printf "%3d%% [", percent
               for (i=0;i<=percent;i++)
                  printf "="
               printf ">"
               for (i=percent;i<100;i++)
                  printf " "
               printf "]\r"
            }
         }
         END { print "" }' total_size=$(stat -c '%s' "${1}") count=0

এটি নিখুঁত নয়, তবে এটি কাজ করে ... কোনও ডিরেক্টরি পথের মধ্যে ছেড়ে দিন এবং এটির নাম একইরকম করুন ..


অপেক্ষা করুন ... আমি কিভাবে চালাতে পারি?
daviesgeek

2
আমি ওএস এক্স একটি ছিল না মনে রাখবেন না strace এই উত্তরটি লেখা হয়েছিল (জুলাই ২011), তবে এটি অবশ্যই আজকে নয়।
Tim Ruddick

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