কিভাবে একটি ডিরেক্টরি, ফাইল দ্বারা ফাইল সরানো? (পরিবর্তে "অনুলিপি করুন তারপর অপসারণ")


20

আমার কম্পিউটারে একটি 500 গিগাবাইট ড্রাইভ রয়েছে।

আমি থেকে ডেটার 400GB স্থানান্তর করতে চান /unencryptedকরতে /encrypted

উভয় ডিরেক্টরি একই পার্টিশনে রয়েছে, তবে ইক্য্রিপ্টফ/encrypted দ্বারা পরিচালিত হয় , তাই হবে:mv /uncrypted/* /encrypted

  1. গন্তব্যে সমস্ত ফাইল অনুলিপি করুন
  2. তারপরে তাদের উত্স থেকে সরান

... যা আমি সহ্য করতে পারি না, কারণ এর জন্য 800 গিগাবাইট প্রয়োজন।
যদি ফাইলগুলি একের পর এক স্থানান্তরিত করা হয়, তবে কোনও সমস্যা হবে না (ইক্য্রিপ্টস জোনটি গতিশীল)।

একটি mvবিকল্প বা অন্য কোনও সরঞ্জাম আছে, যা একটি ডিরেক্টরি ফাইল-ফাইল-এ চালিত করে?
এখানে বিশাল সংখ্যক ফাইল রয়েছে, সুতরাং স্ক্রিপ্ট-ভিত্তিক সমাধানগুলির জন্য ARG_MAX সমস্যা হতে পারে।

উত্তর:


20

আপনার যদি rsync(বাস্তবের --dry-runজন্য এটি করতে অপসারণ ) থাকে:

rsync --dry-run --remove-source-files -avHAX /unencrypted/ /encrypted

অন্যথায়, bash4 + এবং GNU স্ট্যাট ব্যবহার করে:

#!/bin/bash

set -e

shopt -s nullglob globstar

for from in /unencrypted/**/*; do
    to="${from/\/un//}"
    if [[ -d "$from" ]]; then
        echo mkdir -p "$to"
        echo chmod "$(stat -c %a "$from")" "$to"
        echo chown "$(stat -c %u:%g "$from")" "$to"
    else
        echo cp -a "$from" "$to" && echo rm "$from"
    fi
done

echo rm -r /unencrypted

এটি বাস্তবের জন্য চালাতে, echoপ্রতিটি আদেশ থেকে অপসারণ করুন ।


আমি আরএসআইএনসি আইডিয়া ভালবাসি! দৃশ্যত ফাইলগুলি সরানোর সাথে সাথে প্রকৃতপক্ষে মুছে ফেলা হয়েছে: superuser.com/questions/405761
নিকোলাস রাউল

@ নিকোলাসআরল যদি আমি সঠিকভাবে স্মরণ করি তবে অপসারণগুলি বাফার হয়ে গেছে তবে এটি একে একে অনুলিপি / অপসারণের নিকটে।
ক্রিস ডাউন

অংশগুলি আমার পক্ষে ঠিক আছে, যতক্ষণ না প্রতিটি খণ্ডের ওজন 50 গিগাবাইটের চেয়ে কম হয়।
নিকোলাস রাউল

--dry-runআপনারও কী আরএসআইএনসি কমান্ড লাইন থেকে সরিয়ে ফেলতে হবে না ?
একটি সিভিএন

1
@meduz alচ্ছিক vএবং স্থানান্তরিত হওয়ার সাথে সাথে ফাইলের নামগুলি মুদ্রণ করে। aHAXসমস্ত সম্ভাব্য ফাইল বৈশিষ্ট্যগুলি রাখা প্রয়োজন - aসংরক্ষণাগারটি HAXহ'ল "হার্ডলিঙ্কগুলি, এসিএলগুলি এবং বর্ধিত বৈশিষ্ট্যগুলি রাখুন"।
ক্রিস ডাউন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.