আমি cp
কমান্ডটি ব্যবহার করার চেষ্টা করছি এবং একটি ওভাররাইট জোর করব।
আমি চেষ্টা করেছি cp -rf /foo/* /bar
, তবে প্রতিটি ওভাররাইটটি নিশ্চিত করার জন্য আমাকে অনুরোধ করা হচ্ছে।
আমি cp
কমান্ডটি ব্যবহার করার চেষ্টা করছি এবং একটি ওভাররাইট জোর করব।
আমি চেষ্টা করেছি cp -rf /foo/* /bar
, তবে প্রতিটি ওভাররাইটটি নিশ্চিত করার জন্য আমাকে অনুরোধ করা হচ্ছে।
উত্তর:
আপনি কি করতে পারেন yes | cp -rf xxx yyy
, কিন্তু আমার gutfeeling বলছেন যে আপনি যদি রুট হিসাবে এটা করতে - আপনার .bashrc
বা .profile
একজন ওরফে হয়েছে cp
থেকে cp -i
, সবচেয়ে আধুনিক ব্যবস্থা (প্রাথমিকভাবে আরএইচ-ডেরাইভেটিভস) রুট প্রোফাইলে যে।
আপনি alias
কমান্ড প্রম্পটে চালিয়ে বা which cp
কেবলমাত্র ডাক্তারিটি চেক করে বিদ্যমান অ্যালিয়াসগুলি পরীক্ষা করতে পারেন cp
।
আপনার যদি কোনও কোনও এলিফ সংজ্ঞায়িত করা থাকে তবে চলমান চলমান unalias cp
সেশনের জন্য এটি বাতিল করে দেবে, অন্যথায় আপনি কেবল এটি আপনার শেল প্রোফাইল থেকে সরাতে পারবেন।
আপনি সাময়িকভাবে একটি উপনামকে বাইপাস করতে পারেন এবং একটি কমান্ডের অ-অ্যালয়েজড সংস্করণটি এটির সাথে পূর্বনির্ধারণ করে ব্যবহার করতে পারেন \
, উদাহরণস্বরূপ\cp whatever
¯\_(ツ)_/¯
এটি সম্পর্কে
(primarily RH-derivatives)
মন্তব্য যোগ করেছেন :)
unalias cp
আপনার যা যা অনুলিপি করতে হবে তা করার পরে এবং অনুলিপি করার পরে , আপনি তার দ্বারা পূর্বের ডিফল্টটিতে সেট করতে পারেন alias cp='cp -i'
। এর পরে, চালান alias cp
যাতে আপনি যাচাই করতে পারেন যে এটি ডিফল্ট উপন্যাসে ফিরে এসেছে।
cp
ইতোমধ্যে এরকম কোনও কিছুর সাথে ইতিমধ্যে এলিয়াস হওয়ার কারণে এটি ঘটে cp -i
। cp
সরাসরি কল করার কাজ করা উচিত:
/bin/cp -rf /zzz/zzz/* /xxx/xxx
এর কাছাকাছি যাওয়ার আরও একটি উপায় হ'ল yes
কমান্ডটি ব্যবহার করা :
yes | cp -rf /zzz/zzz/* /xxx/xxx
yes
কমান্ড সরবরাহ করে । অত্যধিক হাসিখুশি. এবং কোনও দিন আমি এটি ব্যবহার করতে পারি।
হিসাবে অন্যান্য উত্তরের কিছু বলেছেন, আপনি সম্ভবত উপনাম কোথাও যা মানচিত্র ব্যবহার cp
করতে cp -i
বা অনুরূপ কিছু। ব্যাকস্ল্যাশ এর আগে আপনি কোনও পূর্বস্বত্ত্ব ছাড়াই একটি কমান্ড চালাতে পারেন। আপনার ক্ষেত্রে, চেষ্টা করুন
\cp -r /zzz/zzz/* /xxx/xxx
ব্যাকস্ল্যাশ আপনার কল করা কোনও উপকরণ অস্থায়ীভাবে অক্ষম করবে cp
।
cp
, \cp
কমান্ড ডাকা হবে cp
। এটি দৌড়ানোর সমতুল্য বলে মনে হয় command cp
।
আপনার সম্ভবত অন্য কোনও নাম আছে, ম্যাপিং cp
হচ্ছে cp -i
; কারণ ডিফল্ট সেটিংস সহ, cp
ওভাররাইট করতে বলবে না। আপনার .bashrc
, আপনার .profile
ইত্যাদি পরীক্ষা করুন
সিপি ম্যানপেজ দেখুন : কেবলমাত্র -i
প্যারামিটার নির্দিষ্ট করা হলে cp
ওভাররাইট করার আগে প্রকৃতপক্ষে প্রম্পট হবে ।
আপনি alias
কমান্ডের মাধ্যমে এটি পরীক্ষা করতে পারেন :
$ alias
alias cp='cp -i'
alias diff='diff -u'
....
উপন্যাসটিকে অপরিবর্তিত করতে, ব্যবহার করুন:
$ unalias cp
অন্যান্য উত্তর হিসাবে যেমন বলা হয়েছে, এটির cp
একটি উপনাম হলে এটি সুখী হতে পারে cp -i
।
আপনি একটি সংযুক্ত করতে পারবেন \
আগে cp
ওরফে ছাড়া এটি ব্যবহার করতে কমান্ড।
\cp -fR source target
ডিফল্টরূপে cp
এলিয়াস থাকে cp -i
। আপনি এটি পরীক্ষা করতে পারেন, টাইপ alias
করতে পারেন এবং আপনি এর মতো কিছু দেখতে পারেন:
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
এই সমস্যাটি সমাধান করতে কেবল /bin/cp /from /to
পরিবর্তে কমান্ড ব্যবহার করুনcp /from /to
cp
সাধারণত এইভাবে aliated হয়
alias cp='cp -i' # i.e. ask questions of overwriting
যদি আপনি নিশ্চিত যে আপনি ওভাররাইটটি করতে চান তবে এটি ব্যবহার করুন:
/bin/cp <arguments here> src dest
সুতরাং আমি এটিকে অনেকটা ছাপিয়েছি কারণ আমি সিপি অ্যালাইজড cp -iv
রেখেছি এবং আমি একটি ঝরঝরে কৌশল পেয়েছি। দেখা যাচ্ছে যে -i
এবং -n
উভয়ই পূর্বের ওভাররাইটের নির্দেশনা বাতিল -f
করে, না। তবে আপনি যদি -nf
এটি ব্যবহার করেন তবে এটি সাফ করার ক্ষমতা যুক্ত করে -i
। তাই:
cp -f /foo/* /bar <-- Prompt
cp -nf /foo/* /bar <-- No Prompt
বেশ ঝরঝরে? / necropost
cp -u ...
cp --update ...
কাজ করে।
ওরফে ছাড়া কমান্ডটি কল করার আরেকটি উপায় হ'ল command
বিল্ট ইন ব্যাশে ব্যবহার করা ।
command cp -rf /zzz/zzz/*
-n হ'ল "ওভাররাইট করা নয়" তবে তাঁর প্রশ্ন আপনি যে উত্তর দিয়েছেন তার সম্পূর্ণ বিপরীত।
এই নিশ্চিতকরণটি এড়াতে আপনি কেবল সিপি কমান্ডটি চালাতে পারেন নিখুঁত পাথ দিয়ে, এটি উপনামটি এড়িয়ে যাবে।
/ বিন / সিপি উত্স ফাইলের গন্তব্য
আপনি যদি বিশ্বব্যাপী স্তরে যেমন উপনাম রাখতে চান এবং কেবল আপনার স্ক্রিপ্টের জন্য পরিবর্তন করতে চান।
শুধু ব্যবহার করুন:
ওরফে সিপি = সিপি
এবং তারপরে আপনার ফলোআপ আদেশগুলি লিখুন।
আমি "সিপি-আই" নামটি সরিয়ে ফেলতে ইউলিয়াসকে সহজেই ব্যবহার করেছি, তারপরে অনুলিপিটি করব, তারপরে উপনামটি সেট করুন। :
unalias cp
cp -f foo foo.copy
alias cp="cp -i"
সর্বাধিক সুন্দর কোড নয়, তবে সেট করা সহজ এবং দক্ষ। আমি ইতিমধ্যে একটি সাধারণ সঙ্গে ইতিমধ্যে সেট সেট আছে কি না পরীক্ষা
alias |grep cp
এটা হয় না cp -i
। আপনি যদি নিশ্চিতকরণের জন্য জিজ্ঞাসা করতে চান না, এটি হয় cp -n
; উদাহরণ স্বরূপ:
cp -n src dest
অথবা ডিরেক্টরি / ফোল্ডারগুলির ক্ষেত্রে হ'ল:
cp -nr src_dir dest_dir
cp -i
সিস্টেম দ্বারা সিমলিংক হয়েছে , যার অর্থ তারা ডিফল্টকে কাটিয়ে ওভাররাইটে চাপ দেওয়ার চেষ্টা করছে । মত শোনাচ্ছে আপনার প্রস্তাবিত সিনট্যাক্স হওয়ার জন্য যে বিভ্রান্ত হতে পারে, কিন্তু -n
হবে প্রতিরোধ একটি ওভাররাইট করবে।