তুমি সিডি চালাও কেন? কিছু করার আগে?


22

ইন sysadmin আতঙ্ক এই সংকলন , লেখক এক একটি চলতি নিয়ম হিসাবে, লিখেছেন:

সর্বদা কিছু করার cd .আগে একটি করুন ।

আপনি এটি কেন করতে চান?

উত্তর:


32

আপনি না।

কমপক্ষে ঠিক তেমনটা নয়। উদ্ধৃত দস্তাবেজের পূর্ববর্তী রেখাটি গুরুত্বপূর্ণ:

  • প্রতিবার pwdসিডির জন্য আপনার প্রম্পট সেট আপ করুন ।
  • সর্বদা কিছু করার cd .আগে একটি করুন ।

এই উপায় হিসাবে, অপারেটর হিসাবে আপনি গুরুত্বপূর্ণ কিছু করার আগে আপনার বর্তমান কাজের দির যাচাই করুন, কারণ এটি প্রতিটি পরিবর্তনের সাথে মুদ্রিত হয়েছে। cd .অন্যথায় কোন ধারণা নেই।

এই "যাচাইকরণ" একটি ভাল জিনিস এবং আপনার এটির একটি ফর্মটি মানিয়ে নেওয়া উচিত। এই থিমটির আরও একটি (আইএমএইচও) প্রচলিত প্রকরণ হ'ল প্রম্পটে সর্বদা কার্যকারী ডিয়ারটি মুদ্রণ করা।


11
আপনার যে ডিরেক্টরিতে আপনি মনে করছেন সেই ডিরেক্টরিতে
রড ম্যাকফারসন

4
কেন pwdকিছু করার আগে শুধু কিছু করবেন না?
মার্টিন কনেকেনি

15
আসলে, এটির একটি ব্যবহার রয়েছে। যদি আপনি একটি প্রতীকী লিঙ্কের মাধ্যমে কোনও ডিরেক্টরিতে চলে যান এবং লিঙ্কটি অন্যত্র মুছে ফেলা হয় এবং পুনরায় তৈরি করা হয় যেমন সার্ভার স্থাপনার সময় সংস্করণগুলিকে "কারেন্ট_রিলিজ" এ সিমলিংকের সাহায্যে নিয়ন্ত্রণ করা হয়, তবে তা cd .করলে প্রকৃত অন্তর্নিহিত পরিবর্তন হবে আপনি যে ডিরেক্টরিটিতে
স্টিয়ার্ট

1
" প্রম্পটে সর্বদা ওয়ার্কিং ডিরটি প্রিন্ট আউট করুন " এর জন্য +1 । এটাই আমি করি।
ধানের ল্যান্ডাউ

4
@Stewart দুর্ভাগ্যবশত, এই না করবে সাহায্যের যদি সিম্বলিক লিঙ্ক পরিবর্তন পরে cd . কিন্তু আগে অন্য কিছু করছেন। এটি কেবল ভুল ডিরেক্টরিতে থাকার সম্ভাবনা হ্রাস করে, তবে সাধারণ সমস্যা সমাধান করে না। আপনি প্রকৃত ডিরেক্টরিতে যেতে না চাইলে এমন কিছু cd $(readlink -f .)দেওয়া হয় যা আপনি প্রকৃতপক্ষে সেখানে থাকতে চান।
স্কাই

18

যদি আপনার শেলের বর্তমান কার্যকারী ডিরেক্টরিটি সরিয়ে ফেলা হয় তবে ডেটা হারানো সম্ভব।

উদাহরণ স্বরূপ,

$ pwd
/home/user/test
$ rmdir /home/user/test
$ pwd
/home/user/test
$ some_command | tee command.log
tee: command.log: No such file or directory
<long output>

এর আউটপুট some_commandডিস্কে লেখা হয়নি।

cd .কমান্ড চালানোর আগে টাইপ করলে সমস্যাটি প্রকাশিত হত।

$ pwd
/home/user/test
$ rmdir /home/user/test
$ cd .
$ pwd
.

যদি বর্তমান ওয়ার্কিং ডিরেক্টরি ডিরেক্টরি সরানো হয় এবং পুনরায় তৈরি করা হয়, টাইপিং cd .সেই ডিরেক্টরিটির উল্লেখটি "রিফ্রেশ" করবে।

$ ls
foo bar ljz
$ pwd
/home/user/test
$ rmdir /home/user/test
$ mkdir /home/user/test
$ pwd
/home/user/test
$ ls
$ cd .
$ ls 
foo bar ljz

13

আমি মনে করি আপনার বর্তমান ডিরেক্টরিটি দেখানো আরও গুরুত্বপূর্ণ।

প্রতিটি লিনাক্স সার্ভারে, আমি /etc/bashrc"ডাব্লু" থেকে "ডাব্লু" তে প্রম্পটটি সংশোধন করি ।

 [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

থেকে

 [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \w]\\$ "

এর প্রভাব:

[root@xt include]#

বনাম

[root@xt /usr/src/spl-0.6.1/include]# 

হয় PS1ব্যাশ-নির্দিষ্ট?
qdii

আমি তাই মনে করি ... এটি আমি ব্যবহার করি।
ew white

1
আপনার পরিবর্তনগুলি পরবর্তী সিস্টেম আপগ্রেডের সাথে হারিয়ে যেতে পারে।
অট--

2
@ অট-- স্টিকটি এটি আপনার ~/.profileবা ~/.bash_profileপাশাপাশি আপডেট করা/etc/skel/.profile
জেসকট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.