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


উত্তর:


249

যদিও cpএই কার্যকারিতাটি পায় নি, আপনি এটি করতে ব্যবহার করতে পারেন pv:

pv my_big_file > backup/my_big_file

দ্রষ্টব্য: এই পদ্ধতিটি ফাইলের অনুমতি এবং মালিকানা হারাবে। এইভাবে অনুলিপি করা ফাইলগুলিতে একই অনুমতি থাকবে যেমন আপনি নিজেরাই তৈরি করেছেন এবং তা আপনারই হবে।

এই উদাহরণস্বরূপ, pvমূলত স্টডআউট * এ ফাইলটি আউটপুট করে যা আপনি >অপারেটরটি ব্যবহার করে কোনও ফাইলে পুনর্নির্দেশ করেন । একই সাথে, এটি যখন আপনি এটি করেন তখন টার্মিনালের অগ্রগতি সম্পর্কে তথ্য মুদ্রণ করে।

এটি দেখতে এটির মতো:

stefano@ubuntu:~/Data$ pv my_big_file > backup/my_big_file
 138MB 0:00:01 [73.3MB/s] [=================================>] 100% 

আপনার সিস্টেমে আপনাকে  পিভি ইনস্টল করতে হবে (বিকল্পভাবে, টাইপ করুন sudo apt-get install pv)।


*: প্রযুক্তিগত বিট

ইউনিক্সের মতো সিস্টেমে ডেটাগুলির তিনটি গুরুত্বপূর্ণ স্ট্রিম রয়েছে: স্টডআউট (স্ট্যান্ডার্ড আউটপুট), স্ট্ডার (স্ট্যান্ডার্ড ত্রুটি) এবং স্টিডিন (স্ট্যান্ডার্ড ইনপুট)। প্রতিটি প্রোগ্রাম তিনটি আছে, তাই কথা বলতে। >ফেরৎ অপারেটর একটি ফাইলে প্রোগ্রাম আউটপুট পুননির্দেশনা। যুক্তি ছাড়াই, যেমন আপনি উপরে দেখছেন, >কোনও প্রোগ্রামের স্ট্যান্ডার্ড আউটপুটটিকে কোনও ফাইলে পুনঃনির্দেশ করে । cpমূলত এর চেয়ে কল্পিত কিছুই করে না

cat source > destination

(যেখানে catকেবল একটি ফাইল পড়ে এবং এটি স্টাডআউটে প্রিন্ট করে)। pvঠিক বিড়ালের মতো, তবে আপনি যদি এটির আউটপুট স্ট্রিম অন্য কোথা থেকে পুনর্নির্দেশ করেন তবে এটি অগ্রগতির তথ্যকে পরিবর্তে স্টডআউটে মুদ্রণ করবে।

man pvএটি সম্পর্কে আরও জানতে একবার দেখুন look


বিকল্প পাঠডিআর এই উত্তরে যেমন পরামর্শ দেয় তেমন একটি বিকল্প হ'ল পরিবর্তে আরএসসিএন ব্যবহার করা:

$ rsync -ah --progress source-file destination-file
sending incremental file list
source-file
        621.22M  57%  283.86MB/s    0:00:01

এটি অগ্রগতি দেখানোর সময় ফাইলগুলির অনুমতি / মালিকানা সংরক্ষণ করবে।


3
এটি (পরিস্থিতিটির উপর নির্ভর করে) তাত্পর্যপূর্ণ বা নাও হতে পারে, তবে pvঅনুমতিগুলি ঠিক তেমনভাবে হ্যান্ডেল করে না cp... (একটি দ্রুত পরীক্ষার উপর ভিত্তি করে আমি চেষ্টা করেছি: pvমৃত্যুদন্ড কার্যকর করার বিটটি অনুলিপি rsyncকরিনি .. করেছে)
পিটার .O

45
আইএমও: alias cp="rsync -avz"সিপি পুরানো।
মার্কো Ceppi

11
আপনি যদি আমার মতো হন এবং ভুলে pvযান তবে আপনি স্নুপে যেতে /proc/PID of cp/fdএবং /proc/PID of cp/fdinfoঅগ্রগতিটি বের করতে পারেন । (গতি অনুমান করা এটি আপনার উপর নির্ভর করে)) আমি এই কৌশলটি দেখার জন্য ব্যবহার করি updatedb
থানাটোস

11
হ্যাঁ, -zসম্ভবত কেবলমাত্র নেটওয়ার্ক অনুলিপিগুলির জন্যই ব্যবহার করা উচিত; একটি স্থানীয় অনুলিপি জন্য ডেটা সংকুচিত এবং সংক্ষেপণ খাঁটি ওভারহেড।
ম্যাথু

3
@ মারকোসিপি, ডিরেক্টরিটি অনুলিপি করার সময় সোর্স পাথটিতে ট্রেলিং rsyncযুক্ত না করার বিষয়ে নিশ্চিত হন /(বা উদাহরণস্বরূপ বাশ সম্পূর্ণ হলে এটি স্বয়ংক্রিয়ভাবে সেখানে রাখে) remove অন্যথায় আপনি cp(বা gcp) ব্যবহার করার চেয়ে আলাদা ফলাফল পাবেন ।
পাইওটার ফাইন্ডেইনসেন

185

নেই। কেন এখানে দেখুন । যদিও এটি আপনার প্রয়োজনের চেয়ে বেশি কাজ করে, rsyncতার একটি --progressপ্যারামিটার রয়েছে। -aঅনুমতি, ইত্যাদি রাখা হবে, এবং -hমানুষের পাঠযোগ্য হবে।

rsync -ah --progress source destination

আউটপুটটি এরকম কিছু দেখবে:

Pictures/1.jpg
      2.13M 100%    2.28MB/s    0:00:00 (xfr#5898, to-chk=1/5905)
Pictures/2.jpg
      1.68M 100%    1.76MB/s    0:00:00 (xfr#5899, to-chk=0/5905)

4
এটি বর্তমান উবুন্টু (14.10) এ দুর্দান্ত কাজ করে। -rডিরেক্টরি পুনরাবৃত্তি করতে পতাকাটিকে সমর্থন করে । এমনকি এটি সিপি-র সরাসরি প্রতিস্থাপন হিসাবে alias cp="rsync -ah --progress"
আটকানো

1
সিস্টেমের সাথে অন্তর্ভুক্ত সরঞ্জামগুলি ব্যবহার করতে সক্ষম হওয়ার বোনাস সহ ওএস এক্সে কাজ করে।
ইভান এক্স

3
আমি এই বিকল্পটি পিভির চেয়ে ভাল পছন্দ করি, বিশেষ করে কারণ আরএসসিএনকি হ'ল স্ট্যান্ডার্ড ইনস্টলটির অংশ
কস্তা

1
শেয়ার করার জন্য @ বারটেকব্রাক ধন্যবাদ আমি বর্তমানে ম্যাসোস 10.12.x এ রয়েছি আরএসসিএনকি 3.1.2 এর হোমব্রু সংস্করণটি চালাচ্ছি এবং ব্যবহার করে --progressআমার মাথা স্পিন করে makes টার্মিনালের সমস্ত আউটপুট প্রদর্শন দেখছি। সুতরাং যারা এওএল কীওয়ার্ড অনুসন্ধান থেকে এখানে আসছেন rsync -ah --info=progress2 [source] [destination] তারা আউটপুটটিকে আরও বেশি বুদ্ধিমান ⚕️‍ IM উপায়ে আইএমএইচওতে উপস্থাপন করেন।
আইপ্যাচ

2
দুর্ভাগ্যক্রমে, অনেক ছোট ফাইল অনুলিপি করার সময় আউটপুট খুব কার্যকর হয় না।
রাফেল 18 '

89

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

  • স্থানান্তর অগ্রগতি ইঙ্গিত
  • ত্রুটি অনবরত অনুলিপি করা (পরবর্তী ফাইল এ যান)
  • স্ট্যাটাস লগিং অনুলিপি করুন: জিসিপি তার সমস্ত ক্রিয়াকলাপ লগ করে যাতে কোন ফাইলটি সফলভাবে অনুলিপি করা হয়েছে তা জানা সম্ভব
  • টার্গেট ফাইল সিস্টেমের সীমাবদ্ধতাগুলি হ্যান্ডেল করতে নাম ম্যাঙ্গলিং (উদাহরণস্বরূপ FAT এর সাথে বেমানান অক্ষর "*" বা "?" মুছে ফেলা)

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

gcpফাইলগুলি অনুলিপি করতে ব্যবহৃত হয় এবং বিকল্প রয়েছে যেমন --preserveবিভিন্ন বৈশিষ্ট্য এবং অনুমতি সংরক্ষণ করা যায় এবং --recursiveযাতে পুরো ডিরেক্টরি অনুলিপি করা যায়। অনলাইনে উবুন্টু ম্যানপেজে প্রবেশ করে man gcpবা এর বিকল্পগুলির আরও তথ্য পাওয়া যাবে । একটি টিউটোরিয়ালও এই সাইটে উপলব্ধ ।

এর gcpসাহায্যে সংগ্রহস্থলগুলি থেকে ইনস্টল করুন

sudo apt-get install gcp

( দ্রষ্টব্য : উবুন্টু ১২.১০ এ নতুন অটোমઉન્ટ পয়েন্টটি উদাহরণস্বরূপ, /media/user/usbdisk)

প্রবেশ করে আপনি আপনার মিডিয়াতে একটি ফাইল অনুলিপি করতে পারেন

gcp /home/mike/file.mp4 /media/usb

এবং দিয়ে আপনার মিডিয়াতে একটি ফোল্ডার অনুলিপি করুন

gcp -rv ~/Podcasts /media/Mik2

gcpঅগ্রগতি বার সহ নমুনা আউটপুট :

gcp ~/Videos_incIplayer/mars.flv /media/Mik2
Copying 168.57 MiB 100% |########################################################|   7.98 M/s Time: 00:00:22

তুমি অবশ্যই তোমার ডিস্কে কপি করতে একাধিক ফাইল বা ফোল্ডার নির্দিষ্ট করতে পারেন, এবং অন্যান্য অপশন মধ্যে আবৃত অনেকটা আছে man gcp


4
ত্রুটি উপর SSH এটা দিয়ে পেয়েছেনdbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
msa7

3
আপনার যদি মেশিনে একটি এক্স 11 ডিসপ্লে খোলা থাকে তবে আপনি export DISPLAY=:0.0সিসিপি শুরু করার আগে ঠিক সেট করতে পারেন । যদি মেশিনটি মাথাছাড়া থাকে তবে আপনাকে ভার্চুয়াল ফ্রেমবফার বা কোনও কিছুতে একটি এক্সেসিওন শুরু করতে হবে, সেই সময়ে আপনার সম্ভবত অন্য একটি প্রোগ্রাম সন্ধান করা উচিত
ইউজার 292067

2
gcpবেশ শালীন তবে ডিবিইএস / এক্স প্রয়োজনীয়তা বিজোড়। আমি এসএসএইচ এর মাধ্যমে এসএসএই ফরওয়ার্ডিং ব্যবহার করে পরিচালনা করেছি: ssh -X user@hostএবং এটি আমাকে এটি চালানোর অনুমতি দিয়েছে।
অলি

68

আমি এই নির্ভুল উদ্দেশ্যে সিআরএল ব্যবহার করতে পেলাম। ম্যান পেজ সমর্থিত হিসাবে "ফাইল" প্রোটোকলটি তালিকাভুক্ত করে, তাই কেবল এটি কোনও ইউআরএল-এ অন্য যে কোনও প্রোটোকলের মতো ব্যবহার করুন:

curl -o destination FILE://source

গতি, অগ্রগতি, বাকি সময় এবং আরও অনেক কিছু - একটি পরিচিত বিন্যাসে।


1
এটি বিশেষত এমন পরিবেশে দুর্দান্ত যেখানে আপনাকে নতুন সরঞ্জাম ইনস্টল করতে নিষেধ করা হয়েছে এবং যেখানে rsync অনুপলব্ধ।

5
উজ্জ্বল, এটি অবশ্যই একটি পরিচিত হ্যাক হতে পারে!
ionreflex

চমৎকার উত্তর! চতুর!
9301293

সম্ভবত এটির যেমন একই ত্রুটি রয়েছেpv , এটি অনুমতিগুলি সংরক্ষণ করবে না।
প্লনি

1
খুব সুন্দর! একটি ডিরেক্টরি এই কাজ করতে কোনও উপায়?
জোসেফ রাজীব মোটা

28

যদিও এটি গতি প্রদর্শন করে না, একাধিক ফাইল অনুলিপি -vকরার সময়, cpকমান্ডের বিকল্পটি আপনাকে অগ্রগতির তথ্য সরবরাহ করবে। যেমন

cp -rv old-directory new-directory

10
অগ্রগতির তথ্য? এটি কেবল ভার্বোজ আউটপুট। অগ্রগতির তথ্য সরবরাহ করতে আপনার কমপক্ষে এখন কতগুলি ফাইল, বা কোন ফাইলগুলি অনুলিপি করা দরকার তা জানতে হবে।
জুলিয়ান এফ। ওয়েইনার্ট

এটি দেখায় যে এটি কোন ফাইলটিতে রয়েছে, যা কম চাহিদাযুক্ত ক্ষেত্রে যথেষ্ট হতে পারে।
গ্রিংগো সুভেভ

20

কার্নেল বেশিরভাগ ডেটা যেমন গতি, এবং প্রায়শই শতাংশের মতোও জানে। আধুনিক কার্নেলগুলি তাদের / proc ফাইল সিস্টেমের মাধ্যমে এটি প্রকাশ করে।

https://github.com/jnweiger/showspeed থেকে শোস্পিড সেই তথ্যটি ব্যবহার করে। এটি ইতিমধ্যে চলমান প্রোগ্রামগুলিতে সংযুক্ত হতে পারে এবং এর মতো পর্যায়ক্রমিক আপডেট দিতে পারে:

$ dd if=bigfile of=/tmp/otherbigfile &
$ showspeed dd
dd looks like a process name. pid=4417 matches av0=dd.
p/4417/fd/0r /home/jw/bigfile 113MB/s (12%, 2.3GB)  9m:35
p/4417/fd/1w /tmp/otherbigfile 182MB/s (2.6GB)
p/4417/fd/0r /home/jw/bigfile 285MB/s (15%, 3.0GB)  8m:08
p/4417/fd/0r /home/jw/bigfile 115MB/s (16%, 3.2GB)  8m:01
p/4417/fd/0r /home/jw/bigfile 107MB/s (17%, 3.4GB)  7m:39
p/4417/fd/1w /tmp/otherbigfile 104MB/s (3.5GB)
p/4417/fd/0r /home/jw/bigfile 139MB/s (19%, 3.7GB)  7m:37
p/4417/fd/0r /home/jw/bigfile 116MB/s (20%, 3.9GB)  7m:18
p/4417/fd/1w /tmp/otherbigfile  67MB/s (4.0GB)
p/4417/fd/1w /tmp/otherbigfile 100MB/s (4.1GB)
...

সুন্দর. কিভাবে এটি শতাংশ শতাংশ কাজ করে? আমার ধারণা কেবল ফাইল পড়ার ক্ষেত্রে কেবল ফাইলগুলি খোলা আছে? এবং বিক্ষিপ্ত অ্যাক্সেসের ক্ষেত্রে এটি সম্ভবত কাজ করবে না।
j_kubik

1
এক্ষেত্রে আপনি এর স্থিতি প্রদর্শন pkill -USR1 ddকরতে চালানোর জন্য অন্য একটি টার্মিনালও ব্যবহার করতে পারেন dd, অন্য বিকল্পটি watch -n 1 pkill -USR1 ddএটি পর্যায়ক্রমে (প্রতি সেকেন্ডে) এর অগ্রগতি দেখানো হবে।
ইয়ারন

ঠিক। অনেকগুলি সরঞ্জাম সময়ের সাথে সাথে পরিসংখ্যানগুলি জানার একটি অন্তর্নির্মিত উপায় পেয়েছে। ডিডি এর ব্যতিক্রম নয়। আধুনিক প্রয়োগসমূহের একটি স্ট্যাটাস = প্রজেস বিকল্প রয়েছে। শোপিড একটি ক্লাসিক ইউনিক্স শৈলী "এক উদ্দেশ্যে একটি সরঞ্জাম" সমাধান - পিভির মতো। তবে এর আলাদা ইউজকেস রয়েছে: কাপগুলি ভুত স্ক্রিপ্টের মাধ্যমে কোনও ফাইল পাম্প করার কথা ভাবুন বা আপনি চলমান সিপি বা টারের জন্য ইটিএ জানতে চান। এটি ইতিমধ্যে কয়েক ঘন্টা পরে 95% হয়ে গেছে এবং আপনি সম্ভবত কেবল পিভি যুক্ত করার জন্য এটি পুনরায় আরম্ভ করতে চান না ... ছড়িয়ে ছিটিয়ে থাকা অ্যাক্সেসটি ভাল কাজ করবে না। শোস্পিডে কেবলমাত্র নমুনাগুলিই অবস্থানগুলি সন্ধান করে।
জর্জেন ওয়েজার্ট

18

progressসংগ্রহস্থলগুলিতে একটি সরঞ্জাম রয়েছে যা বিভিন্ন কমান্ড পরীক্ষা করতে সক্ষম হয় এবং তাদের জন্য অগ্রগতির তথ্য প্রদর্শন করতে সক্ষম হয়।

কমান্ডটি ব্যবহার করে এটি ইনস্টল করুন

sudo apt-get install progress

এই সরঞ্জামটি এর মতো ব্যবহার করা যেতে পারে:

cp bigfile newfile & progress -mp $!

আউটপুট:

[11471] cp /media/Backup/Downloads/FILENAME.file 
        29.9% (24.2 MiB / 16 MiB)

12

যদিও pvস্থানীয় মোকাবেলা করতে পারেন cpকর্ম ব্যবহার ddসঙ্গে pvউভয় স্থানীয় (সাথে মোকাবিলা করতে cp) এবং দূরবর্তী ( scp) কর্ম।

dd if=path/to/source.mkv | pv | dd of=path/to/dest.mkv

path/to/dest.mkvদ্বারা প্রস্থান নিশ্চিত করুনtouch path/to/dest.mkv

এটি অগ্রগতি প্রদর্শন করতে পারে, তবে আপনি যদি শতাংশের তথ্য চান,

dd if=path/to/source.mkv | pv -s 100M | dd of=path/to/dest.mkv

100Mআপনার উত্স ফাইলের আসল আকারের সাথে উপরে প্রতিস্থাপন করুন।

এখানে রিমোট অংশ আসে

যদিও scpকমই, বর্তমান উন্নতি দেন ব্যবহার করতে পারেন ddসঙ্গে pvসহজলভ্য হয়।

ssh onemach@myotherhost dd if=path/to/source.mkv | pv -s 100M | dd of=path/to/dest.mkv

1
নবীনতর ddহয়েছে status=progress: askubuntu.com/a/824895/52975
সিরো Santilli新疆改造中心法轮功六四事件

11

সিভি নামে একটি নতুন সরঞ্জাম রয়েছে যা চলমান কমান্ডের সাথে সম্পর্কিত যে কোনও বর্ণনাকারী খুঁজে পেতে পারে এবং অগ্রগতি এবং গতি প্রদর্শন করতে পারে: https://github.com/Xfennec/cv

cv -w

সমস্ত চলমান সিপি, এমভি ইত্যাদি ক্রিয়াকলাপের পরিসংখ্যানগুলি আউটপুট করে


watch cv -qএমনকি আরও
শুদ্ধ

এটি কেবলমাত্র একটি পৃথক ফাইলের জন্য অগ্রগতি দেখায়, এটি বুঝতে পারে যে কোনও cpএকটি ডিরেক্টরিকে পুনরাবৃত্তভাবে অনুলিপি করছে কি না।
ফ্লিম

1
যুদ্ধের অগ্রগতি নামকরণ। দুর্দান্ত সরঞ্জাম!
সেবাস্তিয়ান

7

যেমনটি অনেকে বলেছেন, সিপি এই কার্যকারিতাটি অন্তর্ভুক্ত করে না।

কেবল আমার 0.02 ডলার নিক্ষেপ করতে, আমি সাধারণত তুচ্ছ অনুলিপি পরিস্থিতিতে (যেমন না -R) কি করি:

  1. ফাইলটি কত বড় তা দেখুন এবং মনে রাখবেন

  2. অনুলিপি শুরু করুন

  3. অন্য একটি টার্মিনাল খুলুন

  4. watch ls -lh DIRডিরেক্টরি যেখানে চালান সেখানে চালান

এটি আমাকে ন্যূনতম ঝামেলা সহ টার্গেট ফাইল আকারে আপডেট রাখতে পারে updated

কম তুচ্ছ পরিস্থিতিগুলির বিকল্প হিসাবে, যেমন পুনরাবৃত্তভাবে ডিরেক্টরিগুলি অনুলিপি করা, আপনি watch du -hs DIRডিআইআর আকারের সংক্ষিপ্তসার দেখতে ব্যবহার করতে পারেন। তবে ডু গণনা করতে দীর্ঘ সময় নিতে পারে এবং অনুলিপিটিও কমিয়ে দিতে পারে, তাই আপনি -n INTERVALদেখার জন্য যুক্তিটি ব্যবহার করতে চাইতে পারেন যাতে বাণিজ্য-বন্ধ গ্রহণযোগ্য।

আপডেট: আপনি ওয়াচ ডু ব্যবহার করে কমান্ড সহ ওয়াইল্ড কার্ড ব্যবহার করেন, উদাহরণস্বরূপ watch du -hs backup/*, উদ্ধৃতি দিতে ভুলবেন না:

watch "du -hs backup/*"

অন্যথায় ওয়াইল্ড কার্ডগুলি কেবল একবার প্রসারিত হবে , যখন ঘড়িটি শুরু করা হয় তখন ডু নতুন ফাইল / সাব-ডিরেক্টরিতে তাকাবে না।


"গতি" অংশটির উত্তর দেয় না, যদিও ...
অ্যালোস মাহডাল

7

dd status=progress

GNU Coreutils 8.24+ (উবুন্টু 16.04) এ বিকল্প যুক্ত করা হয়েছে:

dd if=src of=dst status=progress

টার্মিনালটি টাইপের একটি লাইন দেখায়:

462858752 bytes (463 MB, 441 MiB) copied, 38 s, 12,2 MB/s

আরও দেখুন: আপনি কিভাবে ডিডির অগ্রগতি পর্যবেক্ষণ করবেন?


1
আপনি বোঝানো: stdout- এ অক্ষরের একটি স্ট্রীম এবং vt100 সিকোয়েন্স আপনার টার্মিনাল করতে অব্যাহতি প্রদর্শন একটি অন্তর আপডেট করা লাইন;)। স্টাডাউট সর্বদা বাইটের একটি স্রোত এবং এটি কীভাবে প্রদর্শিত হয় তার সাথে কিছুই করার থাকে না (অ্যাপ্লিকেশনটি বর্তমানে এটি টার্মিনালের সাথে সংযুক্ত রয়েছে কিনা তা জানতে পারে ...)
মাস্টারক্সিলো

@masterxilo newbs গ্রাহ্য করা হবে না, বিশেষজ্ঞদের ;-) Hehe জানবে
সিরো Santilli新疆改造中心法轮功六四事件

ভাল আমি মনে করি যে তারা যেমন হয় তেমন স্টেট করা সর্বদা ভাল, সম্ভবত কিছু বিবরণ রেখে, তবে কখনও আপনার পাঠকদের ভুল মানসিক মডেল তৈরি করতে দেবেন না। যদি আপনি "স্টডআউট একটি (পর্যায়ক্রমে আপডেট হওয়া) লাইন" বলে থাকেন তবে মনে হচ্ছে আপনি বলছেন যে স্টডআউটটি পরিবর্তনীয় মেমরির একটি ব্লক যা এটি নয়। এটি newbies জন্য এমনকি জেনে রাখা গুরুত্বপূর্ণ।
মাস্টারেক্সিলো

6

আপনার যদি rsync 3.1 বা উচ্চতর ( rsync --version) থাকে, আপনি অনুমতি এবং মালিকানা সংরক্ষণের সময় ডিরেক্টরিগুলি, "নো ক্লোবার নন," পুনরুদ্ধার করতে এবং (সামগ্রীতে অগ্রগতির পরিবর্তে ফাইলের দ্বারা) কপি রেট, এবং অনুলিপি (সিপি -আরপিএন) কপি করতে পারেন ( খুব রুক্ষ) আনুমানিক সময়টি এর সাথে বাকি:

sudo rsync -a --info=progress2 --no-i-r /source /destination

নোট করুন যে sudo কেবল তখনই প্রয়োজন যখন আপনার নিজের ডিরেক্টরিতে নেই / ডিরেক্টরিগুলি নিয়ে ডিল করতে পারেন। এছাড়াও, ছাড়া --no-i-r, শতাংশ অনুলিপি চলাকালীন কোনও সময়ে কম সংখ্যায় পুনরায় সেট করতে পারে। সম্ভবত আরএসসিএনসি-র সংস্করণগুলি তথ্য = অগ্রগতি 2 সহ নো-আইআর-এ ডিফল্ট হবে তবে এটি বর্তমান সংস্করণে 3.1.2-এ নেই।

আমি খুঁজে পেয়েছি যে ইতিমধ্যে ফাইল রয়েছে এমন কোনও ডিরেক্টরিতে অনুলিপি করার সময় অবশিষ্ট শতাংশ এবং সময় অতিমাত্রায় অতিরঞ্জিত হয় (যেমন আপনি যখন সাধারণত সিপি -এন "নো ক্লোবার" ব্যবহার করবেন না)।


3

শেল স্ক্রিপ্ট ব্যবহার করুন:

#!/bin/sh
cp_p()
{
   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
}

এটি দেখতে এইরকম হবে:

% cp_p /home/echox/foo.dat /home/echox/bar.dat
66% [===============================>                      ]

উৎস


3

আপনি যা করতে চান তার উপর নির্ভর করে মিডনাইট কমান্ডার ( mc) এর উত্তর হতে পারে। আমি অবাক হয়েছি এখনও এর উল্লেখ করা হয়নি।

একটি বিশাল ফাইল স্থানান্তর করার অগ্রগতি প্রদর্শন করতে পছন্দ করার মতো সরঞ্জামগুলি pvবা rsyncভাল, তবে এটি যখন পুরো ডিরেক্টরি / গাছগুলি অনুলিপি করার কথা আসে mcতখন আকারটি গণনা করে এবং তারপরে প্রগতিটি খুব সুন্দরভাবে প্রদর্শন করে। বেশিরভাগ সিস্টেমে এটি বাক্সের বাইরেও উপলব্ধ।


2
"এটি বেশিরভাগ সিস্টেমে বক্সের বাইরে পাওয়া যায়।" ... কোনও ডিফল্ট উবুন্টু ইনস্টলেশন নেই on
মুড়ু

1

বৈশিষ্ট্য সংরক্ষণের জন্য আরও একটি বিকল্প হতে পারে (যদি sourceএটি কোনও ফোল্ডার হয় তবে এটি তৈরি করা হবে destination)

tar -c source | pv -e -t -p -r | tar -C destination  -x

আশা করি এটি কারও কাজে লাগতে পারে। স্থানান্তর সময় আনুমানিকভাবে অনুমান do -s sourceকরার জন্য এটি আগে থেকে এবং -s <size>প্যারামিটার হিসাবে এটি পাস করার মাধ্যমে অর্জন করা যেতে পারে pv


-f -অপ্রয়োজনীয়। tarএর জন্য ডিফল্ট আউটপুট cএবং ইনপুট xহ'ল স্টডআউট এবং স্টিডিন।
মুড়ু

এটি ওএস / টার সংস্করণে নির্ভর করতে পারে? আমি জানি এটি একটি উবুন্টু সাইট তবে এটি অন্য ওএস মালিকদের মতো
ম্যাকওএসের

1
নাঃ। সমস্ত বুদ্ধিমান বাস্তবায়ন (লিবারচাইভের টার সহ ম্যাকস ব্যবহার করে) এর আচরণ রয়েছে।
মুড়ু

শুধু ম্যাকোসে যাচাই করা হয়েছে এবং আপনার পরামর্শটি পুরোপুরি বৈধ - আমি আমার উত্তর আপডেট করেছি। ধন্যবাদ!
ciekawy

0

আপনি যে কোনও প্রোগ্রাম ব্যবহার করে অনুলিপি করতে পারেন। একই সময়ে, আপনি শুরু করতে পারেন sudo iotopএবং প্রকৃত ডিস্কটি পড়ার / লেখার গতিটি এখনও অগ্রগতি ছাড়াই দেখতে পারেন ।


0

নীচের গিট সংগ্রহস্থলে অগ্রগতি_বারের জন্য উত্স কোডটি পরীক্ষা করুন

https://github.com/Kiran-Bose/supreme

এছাড়াও কাস্টম বাশ স্ক্রিপ্ট প্যাকেজ সর্বোচ্চ ব্যবহার করে দেখুন

ডেবি ফাইলটি ডাউনলোড করুন এবং ডেবিয়ান ভিত্তিক বিতরণে ইনস্টল করুন বা উত্স ফাইলগুলি ডাউনলোড করুন, সংশোধন করুন এবং অন্যান্য ডিগ্রোদের জন্য ব্যবহার করুন

কার্যকারিতা ওভারভিউ

(1) অ্যাপ্লিকেশনগুলি খুলুন ---- ফায়ারফক্স ---- ক্যালকুলেটর ---- সেটিংস

(২) ফাইলগুলি পরিচালনা করুন ---- অনুসন্ধান ---- নেভিগেট করুন ---- দ্রুত অ্যাক্সেস

            |----Select File(s)
            |----Inverse Selection
            |----Make directory
            |----Make file
                                          |----Open
                                          |----Copy
                                          |----Move
                                          |----Delete
                                          |----Rename
                                          |----Send to Device
                                          |----Properties

(3) ফোন পরিচালনা করুন ---- ফোন থেকে সরান / অনুলিপি করুন ---- ফোনে সরান / অনুলিপি করুন ---- ফোল্ডারগুলি সিঙ্ক করুন

(4) ইউএসবি পরিচালনা করুন ---- ইউএসবি থেকে সরান / অনুলিপি করুন ---- ইউএসবিতে সরান / অনুলিপি করুন


0

পিভি জানে কীভাবে ফাইলের বিবরণকারীদের পিড দেওয়া হয় তা সিপি বা অন্য কিছু হোক

ডকুমেন্টেশন থেকে:

   (Linux only): Watching file descriptor 3 opened by another process 1234:

          pv -d 1234:3

   (Linux only): Watching all file descriptors used by process 1234:

          pv -d 1234

উদাহরণ:

md5sum file &
[1] + 1271 suspended
pv -d 1271
417MiB 0:00:17 [12,1MiB/s] [============>                                 ] 29% ETA 0:00:53

$ cp file.mov copy.mov &
[2] 3731
$ pv -d 3731
3:/media/windows/file.mov:  754MiB 0:00:04 [97,2MiB/s] [======================>                       ] 52% ETA 0:00:07
4:/media/windows/copy.mov:  754MiB 0:00:04 [97,3MiB/s] [     <=>                                                                   ] 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.