আমি কীভাবে বেসে ডিরেক্টরিটি রিফ্রেশ করব?


24

আমার একটি ডিরেক্টরি রয়েছে, সংকলক দ্বারা উত্পন্ন ফাইলগুলি রয়েছে। প্রতিটি পুনর্নির্মাণের সময় এই ডিরেক্টরিটি পরিষ্কার হয়ে যায় এবং বিল্ড প্রক্রিয়া পরে lsআমাকে খালি আউটপুট দেয়। আমি cdডিরেক্টরি ছাড়ার পরে এবং তারপরে ফিরে আসার পরে ঠিক কাজ করে। প্রশ্নগুলি হ'ল:

  1. ডিরেক্টরি রিফ্রেশ করার জন্য আরও কি মার্জিত উপায় আছে?
  2. ফাইলগুলি মুছে ফেলা এবং পুনরায় তৈরি করার সময় আসলে কী ঘটে? আমাকে কেন cdআসল ডিরেক্টরি সামগ্রী দেখতে হবে?

উত্তর:


10

আপনার স্ক্রিপ্টটি সম্ভবত ডিরেক্টরিটি সরিয়ে ফেলছে এবং কেবল সেখানে থাকা ফাইলগুলি নয়। সুতরাং, যখন আপনি cdএটিতে প্রবেশ করুন, এবং ডিরেক্টরিটি সরিয়ে ফেলা হবে, আপনি এমন lsকোনও ডিরেক্টরিতে করবেন যা আসলে বিদ্যমান নেই।

দ্বারা cd ..এবং cd (directory)আপনি (নতুন তৈরি) ডিরেক্টরিতে উপরে এবং পিছনে সরে যাবেন এবং ফাইলগুলি আপনার প্রত্যাশা অনুযায়ী রয়েছে।

cdডিরেক্টরিটি ইন-ইন করার পরিবর্তে সর্বোত্তম বিকল্প হ'ল ডিরেক্টরিটি আপনার lsকমান্ডের সাথে যুক্ত করা, এবং এটি প্যারেন্ট ডিরেক্টরি থেকে চালানো। সুতরাং, ls YourSubdirectoryপরিবর্তে ন্যায়বিচার ls


45

আরও ছোট একটি উপায় আছে: cd .


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

3
ফ্যালকনের মতো, এটি সুন্দরভাবে ফুলের উপরে ভাসমান - এবং তবু এটি হামিংবার্ডগুলি গ্রাস করে।
ম্যাট ফাউস

হ্যাঁ! এত নিখুঁত
ক্রিসমার্কস

1
এটি আরও ভাল উত্তর।
দেশদেবমে

আহ। আমি এটা জানতাম! একটি উপায় ছিল। ধন্যবাদ!
andersoyvind

10

এটি অদ্ভুত দেখাচ্ছে, তবে এটি সংক্ষিপ্ত এবং ডিরেক্টরিটি সতেজ করে:

cd `pwd`

নোট করুন পিডব্লিউডির চারপাশে একক উদ্ধৃতি নয়, পিছনে টিক্স রয়েছে


2

@ কেন্ট যা বলেছেন বা: ডিরেক্টরিটি কেবল সরিয়ে ফেলবেন না কেবল তার বিষয়বস্তু, এইভাবে আপনি ডিরেক্টরিতে থাকতে পারেন (" cd .. && cd -" ছাড়াই ) এবং "এলএস" আপনি যা প্রত্যাশা করেছিলেন তা করে।


2

ডিরেক্টরিটি অপসারণ না করা ভাল, তবে পরিবর্তে cd ..; cd -আপনি করতে পারেন cd $PWD


2

একটি উপনাম রিফ্রেশ = "সিডি .. && সিডি -" তৈরি করুন যা একটি ডিরেক্টরি উপরে যাবে এবং তারপরে আবার পূর্ববর্তী ডিরেক্টরিতে সিডি হবে

যদি আপনি নিশ্চিত হন যে আপনার কাছে আবারও একটি তালিকা প্রয়োজন হবে

alias refresh="cd .. && cd - && ls -lrt"

আইলাস একবার তৈরি করে আপনার ~ / .bashrc ফাইলটিতে উপন্যাসটি সঞ্চয় করুন

alias | grep refresh >> ~/.bashrc

যাতে আপনি পরের বার লগইন করেন এটি উপলব্ধ।


ইউনিক্স refresh-এ-বক্স-অফ-বক্স।
কেনারব

"আউট অফ-বক্স" বলতে কী বোঝ? আমি যখন এটি দেখেছি, আমি এটি "স্ট্যান্ডার্ড" এর অর্থ ব্যাখ্যা করেছি; এখন আমি কী বলতে চাইছি তা ভাবছি। "ইউনিক্স" সংজ্ঞায়িত করুন। সাইগউইনের একটি "রিফ্রেশ" কমান্ড স্ট্যান্ডার্ড নেই (ঠিক আছে, সাইগউইন অনেকগুলি অনুপস্থিত যা পসিক্স / * নিক্স / যাই হোক না কেন স্ট্যান্ডার্ড) এবং আমার লিনাক্স সিস্টেমটিও নেই।
জি-ম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.