নিশ্চিতকরণ ছাড়াই সিপিকে কীভাবে ওভাররাইট করতে বাধ্য করা যায়


666

আমি cpকমান্ডটি ব্যবহার করার চেষ্টা করছি এবং একটি ওভাররাইট জোর করব।

আমি চেষ্টা করেছি cp -rf /foo/* /bar, তবে প্রতিটি ওভাররাইটটি নিশ্চিত করার জন্য আমাকে অনুরোধ করা হচ্ছে।

উত্তর:


1111

আপনি কি করতে পারেন yes | cp -rf xxx yyy, কিন্তু আমার gutfeeling বলছেন যে আপনি যদি রুট হিসাবে এটা করতে - আপনার .bashrcবা .profileএকজন ওরফে হয়েছে cpথেকে cp -i, সবচেয়ে আধুনিক ব্যবস্থা (প্রাথমিকভাবে আরএইচ-ডেরাইভেটিভস) রুট প্রোফাইলে যে।

আপনি aliasকমান্ড প্রম্পটে চালিয়ে বা which cpকেবলমাত্র ডাক্তারিটি চেক করে বিদ্যমান অ্যালিয়াসগুলি পরীক্ষা করতে পারেন cp

আপনার যদি কোনও কোনও এলিফ সংজ্ঞায়িত করা থাকে তবে চলমান চলমান unalias cpসেশনের জন্য এটি বাতিল করে দেবে, অন্যথায় আপনি কেবল এটি আপনার শেল প্রোফাইল থেকে সরাতে পারবেন।

আপনি সাময়িকভাবে একটি উপনামকে বাইপাস করতে পারেন এবং একটি কমান্ডের অ-অ্যালয়েজড সংস্করণটি এটির সাথে পূর্বনির্ধারণ করে ব্যবহার করতে পারেন \, উদাহরণস্বরূপ\cp whatever


3
এছাড়াও, সাবধানতা অবলম্বন করুন - এমনকি উপ নামটি .bashrc- তে সরাসরি না লেখা থাকলেও, যদি এই ফাইল কল থেকে অন্য কোনও কিছু কল করা শেষ হয় যা সিপির জন্য উলামের কৌশলটি ব্যবহার করে, আপনি এই আচরণে চলে যাবেন।
জন

4
"আধুনিক সিস্টেমগুলি" বলতে তার অর্থ আরএইচইএল / সেন্টোস / ফেডোরা এবং সম্ভবত অন্য কিছু, দেবিয়ান / উবুন্টু সিপি উপাধি দেয় না। আমি সার্ভারে আরএইচইএলকে প্রাধান্য দিয়েছি এবং ফেডোরা প্রায় এক দশক ধরে ব্যবহার করেছি, তবে এনভিডিয়া আমার ফেডোরা ইনস্টলটিকে মেরে ফেলার পরে উবুন্টুর সম্প্রদায়ের সমর্থন এবং জিনোমে ফিরে যাওয়া আমাকে তুচ্ছ করে w আমি ¯\_(ツ)_/¯এটি সম্পর্কে
রায় ফস 6

2
@ রায়ফস একটি (primarily RH-derivatives)মন্তব্য যোগ করেছেন :)
ফেভারিট

unalias cpআপনার যা যা অনুলিপি করতে হবে তা করার পরে এবং অনুলিপি করার পরে , আপনি তার দ্বারা পূর্বের ডিফল্টটিতে সেট করতে পারেন alias cp='cp -i'। এর পরে, চালান alias cpযাতে আপনি যাচাই করতে পারেন যে এটি ডিফল্ট উপন্যাসে ফিরে এসেছে।
jaxarroyo

287

cpইতোমধ্যে এরকম কোনও কিছুর সাথে ইতিমধ্যে এলিয়াস হওয়ার কারণে এটি ঘটে cp -icpসরাসরি কল করার কাজ করা উচিত:

/bin/cp -rf /zzz/zzz/* /xxx/xxx

এর কাছাকাছি যাওয়ার আরও একটি উপায় হ'ল yesকমান্ডটি ব্যবহার করা :

yes | cp -rf /zzz/zzz/* /xxx/xxx

6
হ্যাঁ, আমি সিপালি-ই ইউনিালিয়াস করেছি, এখন এটির কাজ .. আপনার মূল্যবান উত্তরের জন্য আপনাকে ধন্যবাদ।
thiyagu114

5
আমি পছন্দ করি যে ইউনিক্স yesকমান্ড সরবরাহ করে । অত্যধিক হাসিখুশি. এবং কোনও দিন আমি এটি ব্যবহার করতে পারি।
ম্যাথু লেইনাং

3
হ্যাঁ এটির বিকল্প ছিল, দুর্দান্ত ক্যাচ :) আপনি মূল সিপিকে কল করতে \ সিপি ব্যবহার করতে পারেন, পাথ / বিন / সিপি স্মরণ করার চেয়ে সহজ
হুগো জারাগোজা

হ্যাঁ, এটি উপন্যাসটি বাইপাস করার অন্য উপায়। এক ঝরঝরে হ্যাকের মতো!
pgl

1
এই উপায়টি আরও নিরাপদ।
Plusmancn

115

হিসাবে অন্যান্য উত্তরের কিছু বলেছেন, আপনি সম্ভবত উপনাম কোথাও যা মানচিত্র ব্যবহার cpকরতে cp -iবা অনুরূপ কিছু। ব্যাকস্ল্যাশ এর আগে আপনি কোনও পূর্বস্বত্ত্ব ছাড়াই একটি কমান্ড চালাতে পারেন। আপনার ক্ষেত্রে, চেষ্টা করুন

\cp -r /zzz/zzz/* /xxx/xxx

ব্যাকস্ল্যাশ আপনার কল করা কোনও উপকরণ অস্থায়ীভাবে অক্ষম করবে cp


2
@ জাজি আমার জবাব অনুসারে প্রতিক্রিয়াটি ওরফে অক্ষম করে। সুতরাং পরিবর্তে ওরফে invoking এর cp, \cpকমান্ড ডাকা হবে cp। এটি দৌড়ানোর সমতুল্য বলে মনে হয় command cp
ক্রিস

66

আপনার সম্ভবত অন্য কোনও নাম আছে, ম্যাপিং cpহচ্ছে cp -i; কারণ ডিফল্ট সেটিংস সহ, cpওভাররাইট করতে বলবে না। আপনার .bashrc, আপনার .profileইত্যাদি পরীক্ষা করুন

সিপি ম্যানপেজ দেখুন : কেবলমাত্র -iপ্যারামিটার নির্দিষ্ট করা হলে cpওভাররাইট করার আগে প্রকৃতপক্ষে প্রম্পট হবে ।

আপনি aliasকমান্ডের মাধ্যমে এটি পরীক্ষা করতে পারেন :

$ alias
alias cp='cp -i'
alias diff='diff -u'
....

উপন্যাসটিকে অপরিবর্তিত করতে, ব্যবহার করুন:

$ unalias cp

হ্যাঁ, আমি সিপালি-ই ইউনিালিয়াস করেছি, এখন এটির কাজ .. আপনার মূল্যবান উত্তরের জন্য আপনাকে ধন্যবাদ।
thiyagu114

1
এটি কেবল "unalias cp"
পেরেরা

49

অন্যান্য উত্তর হিসাবে যেমন বলা হয়েছে, এটির cpএকটি উপনাম হলে এটি সুখী হতে পারে cp -i

আপনি একটি সংযুক্ত করতে পারবেন \আগে cpওরফে ছাড়া এটি ব্যবহার করতে কমান্ড।

\cp -fR source target

1
যেমনটি আপনি বলেছেন, অন্যরা ইতিমধ্যে এটি জানিয়েছে। কেন এটি 45 টি আপত্তি পেয়েছে?
phil294

@ phil294 আমার ধারণা, উলামের পরিবর্তন না করা বা সিপি উরফ অপসারণ না করা এটি সবচেয়ে সহজ উপায় যা অন্যান্য ব্যবহারের জন্য কার্যকর হতে পারে। `` এটি এখানে খুব দরকারী।
আর্নল্ড রোা

18

ডিফল্টরূপে 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


9

আপনি এই আদেশটিও ব্যবহার করতে পারেন:

cp -ru /zzz/zzz/* /xxx/xxx

এটি আপনার বিদ্যমান ফাইলটিকে নতুনটির সাথে আপডেট করবে।


8

cp সাধারণত এইভাবে aliated হয়

alias cp='cp -i'   # i.e. ask questions of overwriting

যদি আপনি নিশ্চিত যে আপনি ওভাররাইটটি করতে চান তবে এটি ব্যবহার করুন:

/bin/cp <arguments here> src dest


7

সুতরাং আমি এটিকে অনেকটা ছাপিয়েছি কারণ আমি সিপি অ্যালাইজড cp -ivরেখেছি এবং আমি একটি ঝরঝরে কৌশল পেয়েছি। দেখা যাচ্ছে যে -iএবং -nউভয়ই পূর্বের ওভাররাইটের নির্দেশনা বাতিল -fকরে, না। তবে আপনি যদি -nfএটি ব্যবহার করেন তবে এটি সাফ করার ক্ষমতা যুক্ত করে -i। তাই:

cp -f /foo/* /bar  <-- Prompt
cp -nf /foo/* /bar <-- No Prompt

বেশ ঝরঝরে? / necropost



5

ওরফে ছাড়া কমান্ডটি কল করার আরেকটি উপায় হ'ল commandবিল্ট ইন ব্যাশে ব্যবহার করা ।

command cp -rf /zzz/zzz/*


4

-n হ'ল "ওভাররাইট করা নয়" তবে তাঁর প্রশ্ন আপনি যে উত্তর দিয়েছেন তার সম্পূর্ণ বিপরীত।

এই নিশ্চিতকরণটি এড়াতে আপনি কেবল সিপি কমান্ডটি চালাতে পারেন নিখুঁত পাথ দিয়ে, এটি উপনামটি এড়িয়ে যাবে।

/ বিন / সিপি উত্স ফাইলের গন্তব্য


2

আপনি যদি বিশ্বব্যাপী স্তরে যেমন উপনাম রাখতে চান এবং কেবল আপনার স্ক্রিপ্টের জন্য পরিবর্তন করতে চান।

শুধু ব্যবহার করুন:

ওরফে সিপি = সিপি

এবং তারপরে আপনার ফলোআপ আদেশগুলি লিখুন।


0

আমি "সিপি-আই" নামটি সরিয়ে ফেলতে ইউলিয়াসকে সহজেই ব্যবহার করেছি, তারপরে অনুলিপিটি করব, তারপরে উপনামটি সেট করুন। :

unalias cp  
cp -f foo foo.copy  
alias cp="cp -i"  

সর্বাধিক সুন্দর কোড নয়, তবে সেট করা সহজ এবং দক্ষ। আমি ইতিমধ্যে একটি সাধারণ সঙ্গে ইতিমধ্যে সেট সেট আছে কি না পরীক্ষা

alias |grep cp

-2

এটা হয় না cp -i। আপনি যদি নিশ্চিতকরণের জন্য জিজ্ঞাসা করতে চান না, এটি হয় cp -n; উদাহরণ স্বরূপ:

cp -n src dest

অথবা ডিরেক্টরি / ফোল্ডারগুলির ক্ষেত্রে হ'ল:

cp -nr src_dir dest_dir

2
অন্যরা বলছিলেন যে ব্যবহারকারী-মুখী সিপি cp -iসিস্টেম দ্বারা সিমলিংক হয়েছে , যার অর্থ তারা ডিফল্টকে কাটিয়ে ওভাররাইটে চাপ দেওয়ার চেষ্টা করছে । মত শোনাচ্ছে আপনার প্রস্তাবিত সিনট্যাক্স হওয়ার জন্য যে বিভ্রান্ত হতে পারে, কিন্তু -nহবে প্রতিরোধ একটি ওভাররাইট করবে।
পরিত্যক্ত কার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.