উত্তর:
'মাইফোল্ডার' নামক ফোল্ডারের সাথে এবং ফাইল স্তরক্রমের এক স্তর উপরে (আপনি যে পয়েন্টটি এটি রাখতে চান) কমান্ডটি হ'ল:
mv myfolder/* .
উদাহরণস্বরূপ উদাহরণস্বরূপ যদি কমান্ড চালানো /home/myuser/myfolder
থেকে ডেটা ছিল /home/myuser/
।
.*
। আসল ফোল্ডারটি সরিয়ে ফেলা উভয়ই তুচ্ছ এবং জিজ্ঞাসা করা হয়নি তাই আমরা ওপি কে তার সাথে চুক্তি করব।
*
এবং .*
এক লাইনে লেখা সম্ভব ? কেবল কৌতূহল
mv
সর্বশেষ যুক্তি ব্যতীত উত্স হিসাবে থাকবে যা চলার লক্ষ্য হতে হবে (এবং একাধিক উত্সের ক্ষেত্রে একটি ফোল্ডার হওয়া দরকার)।
/bin/mv: Argument list too long
কেবল এটি স্ফটিক পরিষ্কার করার জন্য, উপরে রুদুর উত্তর এবং মন্তব্যগুলি থেকে নেওয়া।
আপনার যদি সমস্ত বিষয়বস্তু সরানোর দরকার হয় তবে ফাইলগুলি অন্তর্ভুক্ত করুন যা একটি দিয়ে শুরু হয়। (.htaccess, .git, ইত্যাদি), আপনাকে আপনার কমান্ডে * এবং। * উভয়ই অন্তর্ভুক্ত করতে হবে। তাই ভালো:
mv subfolder/* subfolder/.* .
এটি আপনার বর্তমান ফোল্ডারে সাবফোল্ডারের সামগ্রীগুলি স্থানান্তরিত করবে। শেষের আগে স্পেসটি নোট করুন।
mv: rename fake/. to ./.: Invalid argument
এবংmv: rename fake/.. to ./..: Invalid argument
নিম্নলিখিত পদ্ধতি দ্বারা এটি সম্ভব:
ব্যবহার rsync
:
rsync -vua --delete-after foo/ .
ব্যবহার cp
এবং rmdir
:
cp -vaR foo/. . && rmdir foo/
ব্যবহার mv
( dotglob
বিকল্প সক্ষম সহ):
shopt -s dotglob # Includes filenames beginning with a dot.
mv -- foo/* . # Where foo/ is the folder consisting the files.
shopt -u dotglob # Disables previously enabled dotglob option.
foo/
আপনার ফোল্ডারটি কোথায় রয়েছে যার সামগ্রীতে এক স্তর উপরে সরানো হবে।
দেখুন: help shopt
এবং man bash
।
ব্যবহার mv
( এখানে পরামর্শ হিসাবে ):
mv foo/* foo/.[^.]* . && rmdir foo/
দ্রষ্টব্য: এটি একটি ফাইল মিস করবে foo/..bar..
।
দ্রষ্টব্য: পসিক্স শেলের জন্য আপনার প্রয়োজন [!.]
।
-v
, -u
, -a
এবং -r
করছেন? AFAICT, -v
ভার্ভোজ, যা কেবল আরএসসিএনকে আরও তথ্য মুদ্রণ করে। -u
মানে আপডেট - কোনও ফাইল নতুন হলে তা অনুলিপি করুন। এটি প্রাসঙ্গিক বলে মনে হয় না। -a
আর্কাইভ মানে। এটি ফাইলের মালিক এবং অনুমতিগুলি অনুলিপি করবে এবং সিঙ্কটিকে পুনরাবৃত্ত করবে। -r
অর্থ পুনরাবৃত্তি, কিন্তু এটি ইতিমধ্যে দ্বারা আবৃত -a
।
-u
যখন আপনি ইতিমধ্যে সেখানে উপস্থিত ডেটা সরানোর অতিরিক্ত সময় ব্যয় করতে চান না তখন কার্যকর হয় (বিশেষত ধীর স্টোরেজ ডিভাইসের জন্য)। আমি মুছে ফেলেছি -r
, যেহেতু এটি -a
আপনি উল্লিখিত হিসাবে কভার করা হয়েছে।
mv foo/* foo/.[^.]* .
foo/..bar..
উদাহরণস্বরূপ বলা একটি ফাইল মিস করবে । নোট করুন যে পসিক্স শেলগুলির জন্য আপনার প্রয়োজন [!.]
।
rsync -vua --delete-after foo/ .
এটি বর্তমান ডিরেক্টরিতে ইতিমধ্যে বিদ্যমান থাকতে পারে এমন সমস্ত কিছু মুছে ফেলে।
শুধু একটি এমভি কমান্ড জারি করুন
mv (directory)/* .
আপনি যদি ডিরেক্টরি মুছতে চান তবে যুক্ত করুন
rm -rf (directory)
ধরে নেওয়া হয়েছে যে আপনি (ডিরেক্টরি) এর একটি মূল ডিরেক্টরিতে আছেন
আপনি যদি (ডিরেক্টরি) ভিতরে থাকেন তবে
mv * ../
rmdir
ডিরেক্টরি খালি না হলে অভিযোগ করা এবং প্রস্থান করা উচিত , rm -r
পরিবর্তে কেবল এটি এবং এটির সমস্ত বিষয়বস্তু মুছে ফেলা উচিত। (এটি পোকা-জোয়াল
.DS_store
। mv
কমান্ড বেশি বয়সীদের (ছাড়া সরানো হবে না dotglob
সেট)।
আপনারা যারা একটি ভাগ করা সার্ভারে আছেন তাদের জন্য আপনাকে এই জাতীয় কিছু ব্যবহার করতে হবে
ফাইল সরানো
mv -v ~/public_html/public_html/* ~/public_html/
ফাইলগুলি অনুলিপি করতে
cp -a ~/public_html/public_html/* ~/public_html/
.*
কেবল না*
তবে আপনার মিলও হতে পারে । এছাড়াও এখন বহির্মুখী ফোল্ডারটি সরাতে প্রান্তে। &&Mmir মাইফোল্ডার` যুক্ত করুন। এটি সংরক্ষণ করা হয়েছে কারণ এটি কেবল তখনই চালানো হবে যখন এমভি সাফল্যটি ফেরত দেয় এবং কারণ rmdir কোনও খালি ডিরেক্টরি সরিয়ে ফেলবে না।