ফাইলগুলি সরান এবং একই সময়ে মালিকানা পরিবর্তন করুন


23

লিনাক্সে (ডেবিয়ান, উবুন্টু মিন্ট ...) এ,
কোনও বিকল্প কমান্ড বা এমন কিছু আছে যা আমি অন্য ব্যবহারকারীর কাছে ফাইলগুলি স্থানান্তর করতে না করেই করতে পারি:

sudo mv /home/poney/folderfulloffiles /home/unicorn/
sudo chown -R unicorn:unicorn /home/unicorn/folderfulloffiles

উত্তর:


30

ব্যবহার rsync(1):

rsync \
  --remove-source-files \
  --chown=unicorn:unicorn \
    /home/poney/folderfulloffiles /home/unicorn/

4
ধন্যবাদ @ দাউদ - এটি আমার দৈনিক "জিনিস যা আমি জানতাম না এবং বুঝতে পারি না আমি কীভাবে এটি মিস করেছি"
জেনি ডি

1
@ জেনিডি আপনি সম্ভবত বিকল্পগুলি usermapএবং groupmapঅপশনগুলি একবার দেখে নিতে চাইতে পারেন ।
দাউদ

2
কিন্তু mvএটা না , তাই না ? শুধু কপি? নাকি এটা mvকরে?
মাইক্রজারভ

@mikeserv যথাযথভাবে উল্লেখ, আমার সম্পাদন করা দেখতে
দাউদ

11

নীচের মন্তব্যগুলিতে @ কেভিন অনুসারে --file - |pipeবাক্য গঠনটি অপ্রয়োজনীয়। সুতরাং আমি এটি সরিয়েছি।

এটি এর সাথেও করা যেতে পারে tar:

sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* | 
    sudo tar -C${TGT_DIR} -pvx

খুব নিশ্চিত -f -যে এটি উভয় প্রান্তে আবদ্ধ।
কেভিন

1
@ কেভিন এখানে নেই এখানে এটি নির্দিষ্ট করা আছে।
মাইকজার্ভ

হ্যাঁ, আপনি এটি নির্দিষ্ট করেছেন, তবে এটি প্রয়োজনীয় নয়। আপনার কমান্ড f -অংশ ছাড়াই কাজ করে ।
কেভিন

8
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/ 
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f

অন্যান্য উত্তরগুলির মতো একই দৈর্ঘ্য সম্পর্কে এবং নোট করুন যেহেতু তারা সবাই হুডের নীচে একই লাইব্রেরি কল ব্যবহার করছে, তারা সবাই ঠিক একই জিনিস করছে - গিলস নোট হিসাবে না থাকলে এটি একই ফাইল সিস্টেম এবং ডিভাইসে থাকে না , যে ক্ষেত্রে mvসত্যিই একটি পুনঃনামকরণ, যা এটি বেশি কার্যকর করে তোলে rsyncবা tar


এটি ডিল করার সময় একটি :পরিবর্তে নয় ? .chown
কিউই

2
হুমমম - আকর্ষণীয়। এটি ম্যান পৃষ্ঠায় সেভাবেই রয়েছে তবে আমি সর্বদা একটি বিন্দু ব্যবহার করেছি। দেখে মনে হচ্ছে তারা প্রায় এক দশক আগে এটি GNU ম্যান পৃষ্ঠা থেকে বের করে নিয়েছে কারণ এটি পসিক্স বহনযোগ্য নয় not এখনও লিনাক্সের জিএনইউ কোর্টিলগুলি থেকে ছাঁটাই করা হলেও এটি কাজ করে তবে আমি এটি উপরে পরিবর্তন করব।
স্বর্ণলোক 13

1
chownসাধারণত উভয় :এবং লাগে .
SLM

1
আপনি এটি সামান্য খাটো করতে পারেন: nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_- যদিও এটি আপনার উত্তরটির খুব কমই পয়েন্ট, যা ভাল এবং আমি ইতিমধ্যে উত্সাহিত করেছি।
মাইক্রজারভ

3
এই সমাধানটির সুবিধা রয়েছে যে উত্স এবং গন্তব্য একই ফাইল সিস্টেমে থাকলে ফাইলটি অনুলিপি না করে সরানো হয় এবং মূল মুছে ফেলা হয়।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.