এক্সিকিউটিভ সংক্ষিপ্তসার (টিএল; ডিআর)
pwdআপনি কোথায় আছেন তা জানতে ব্যবহার করুন (বা আপনার প্রম্পটে থাকা :এবং এর $মধ্যে দেখুন )।
cdঅন্য কোথাও ডিরেক্টরি পরিবর্তন করতে ব্যবহার করুন । উইন্ডোজ থেকে cdপৃথক, সর্বদা একটি স্থান অনুসরণ করা আবশ্যক ; কমান্ডগুলি পছন্দ করে cd/এবং cd..কাজ করে না, তবে cd /এবং cd ..করবে।
আপনি কোথায় আছেন তা জানা
উপায় 1: চালান pwd।
আপনি বর্তমানে যে ডিরেক্টরিটিতে রয়েছেন তা হ'ল শেল-নির্দিষ্ট (এবং আরও সাধারণভাবে, অ্যাপ্লিকেশন-নির্দিষ্ট)। আপনি যেখানে একটি ডিরেক্টরিতে রয়েছেন সেখানে একটি শেল এবং আপনি অন্য ডিরেক্টরিতে থাকা অন্য শেলটি চালিয়ে যেতে পারেন।
আপনি বর্তমানে কোন ডিরেক্টরিতে রয়েছেন তা জানতে চালনা করুন:
pwd
উদাহরণস্বরূপ (শেল থেকে আমার মেশিনে এখন খোলা আছে):
ek@Kip:~$ pwd
/home/ek
এটি আমাকে বলে যে আমি ডিরেক্টরিতে আছি /home/ek। /home(কিছুটা confusingly) যে ডিরেক্টরি হয় রয়েছে মানব ব্যবহারকারীদের ব্যক্তিগত ডিরেক্টরি (এটা কোন ব্যবহারকারীর হোম ডিরেক্টরি নিজেই না)। মানব ব্যবহারকারীর usernameহোম ডিরেক্টরি রয়েছে ।/home/username
rootব্যবহারকারী একটি বাড়ি ডিরেক্টরি নেই /home। পরিবর্তে, rootএর হোম ডিরেক্টরি হয় /root। এটি মূল ডিরেক্টরিটি , যা দিয়ে বিভ্রান্ত হবে না /।
উপায় 2: আপনার প্রম্পট পরীক্ষা করুন।
আপনার প্রম্পটের জন্য ডিফল্ট কনফিগারেশন হ'ল এটি আপনাকে জানায় যে আপনি বর্তমানে কোন ডিরেক্টরিতে রয়েছেন Your
উদাহরণস্বরূপ আপনি আপনার প্রশ্নে আমাদের দেখিয়েছেন, আপনার প্রম্পটটি হ'ল:
christy@ubuntu:~$
christyআপনার ব্যবহারকারীর নাম @চরিত্র থেকে এটা আলাদা ubuntu, আপনার কম্পিউটার এর হোস্ট নাম। (আপনি যদি কোনও লাইভ সিডি চালাচ্ছেন তবে এর হোস্টনামটি হবে ubuntuএবং কিছু লোকেরা এটিকে ইনস্টলেশন চলাকালীন তাদের কম্পিউটারের নাম হিসাবে বেছে নেয়))
:চরিত্র থেকে এটা আলাদা তালিকা আপনি বর্তমানে নাম। এই ক্ষেত্রে, যে দ্বারা প্রতিনিধিত্ব করা হয় ইন ~। ~আপনার হোম ডিরেক্টরি জন্য সংক্ষিপ্ত। আপনি যখন আপনার হোম ডিরেক্টরিতে না থাকেন, আপনার একটি সম্পূর্ণ ডিরেক্টরি নাম দেখতে হবে। উদাহরণ স্বরূপ:
ek@Kip:~$ cd /var/log
ek@Kip:/var/log$
(প্রম্পটের প্রতিটি অংশের অর্থ কী তা শেষ করতে: এই কনভেনশনটি অনুসরণ করে এমন অনুরোধগুলির জন্য, একটি $বা একটি #চরিত্র উপস্থিত $হয় this যেমন এই ক্ষেত্রে এর অর্থ এটি সাধারণ ব্যবহারকারীর শেল। একটি #চরিত্রের অর্থ এটি rootশেল।
আপনি যেখানে আছেন সেখানে পরিবর্তন হচ্ছে
আপনার "সিডি" আদেশটি কেন কাজ করে নি।
ডিরেক্টরি পরিবর্তন করতে, cdকমান্ডটি ব্যবহার করুন ।
আপনি দৌড়েছিলেন cd/। এটি কার্যকর হয় না কারণ আপনি আসলে cdকমান্ডটি চালাননি run উবুন্টু এবং অন্যান্য ইউনিক্স-মতো অপারেটিং সিস্টেমগুলিতে (আসলে ইউনিক্স-স্টাইলের শেলগুলির মতো bash, আপনি যে শেলটি ব্যবহার করছেন), কোনও কমান্ডের নামটি কেবল কোনও স্থান বা লাইনের শেষে শেষ বলে মনে করা হয়।
তাই উইন্ডোজে কমান্ড প্রম্পট (যেখানে মধ্যে অসদৃশ cd\হিসাবে একই ব্যাখ্যা করা হয় cd \এবং cd..একই হিসাবে ব্যাখ্যা করা হয় cd ..), মধ্যে bash(শেল আপনি উবুন্টু ব্যবহার করছি), cd/একটি বৈধ কমান্ড। আপনার অবশ্যই ব্যবহার করা উচিত cd /।
cd/"" বর্তমান ডিরেক্টরিতে প্রবেশের অর্থ যার নাম cdএবং এটিও একটি ডিরেক্টরি। এ জাতীয় উপ-ডিরেক্টরি বিদ্যমান থাকুক বা না থাকুক, এটি একটি কমান্ড হিসাবে চালানো যাবে না, সুতরাং যে কোনও উপায়ে আপনি একটি ত্রুটি পাবেন (যদিও আপনি কী ত্রুটি পেয়েছেন তার চেয়ে আলাদা হবে):
ek@Kip:~$ cd/
bash: cd/: No such file or directory
ek@Kip:~$ mkdir cd
ek@Kip:~$ cd/
bash: cd/: Is a directory
আপনার হোম ডিরেক্টরিতে সরানো হচ্ছে
আপনার হোম ডিরেক্টরিতে যেতে, cdকোনও যুক্তি ছাড়াই নিজেই চালান :
cd
কিছু লোক তাদের হোম ডিরেক্টরিটির নাম স্পষ্টভাবে উল্লেখ করতে পছন্দ করে। আপনি এর পুরো নাম ব্যবহার করতে পারেন, বা
cd ~
তবে cdনিজেই যথেষ্ট।
একটি ডিরেক্টরি মুভিং আপ
ডিরেক্টরিটি বর্তমান ডিরেক্টরিটির মূল ডিরেক্টরিতে (যেমন, যে ডিরেক্টরিতে এটি রয়েছে) তে পরিবর্তন করতে, ব্যবহার করুন:
cd ..
..বর্তমান ডিরেক্টরিটির মূল ডিরেক্টরি উপস্থাপন করে। আপনি যদি মূল ডিরেক্টরিতে ( /) থাকেন তবে একটি ব্যতিক্রম রয়েছে: ..কেবল প্রতিনিধিত্ব করে /। সুতরাং চলমান cd ..একটি ডিরেক্টরি সরানো যখন কোথাও চালানো কিন্তু /; যখন রান ইন /, আপনি ভিতরে থাকুন /।
প্রতিটি ডিরেক্টরিতে একটি ..এন্ট্রি থাকে। এগুলির সকলের মধ্যে একটি .এন্ট্রি রয়েছে যা বর্তমান ডিরেক্টরিটিই বোঝায়। cd .যদিও এটি চালানো খুব বেশি নয় । আপনি যেখানে থাকেন সেখানে সর্বদা থাকুন।
পরম এবং আপেক্ষিক পাথ
আপনি যদি cdএমন কোনও কিছুতে শুরু করেন যা একটি দিয়ে শুরু হয় না/ , তবে এটি বর্তমান ডিরেক্টরিতে ডিরেক্টরিতে যাওয়ার চেষ্টা করে ।
উদাহরণস্বরূপ, আপনি যদি দৌড়ে
cd var/log
তারপরে এটি varআপনি বর্তমানে কোথায় আছেন তার উপ-ডিরেক্টরিতে এবং সেখানকার উপ-ডিরেক্টরিতে যাওয়ার চেষ্টা করবে log। cdদু'জনের অস্তিত্ব না থাকলে এবং সেই জায়গাগুলিতে এই আদেশটি ব্যর্থ হবে (এবং আপনি যেখানে ছিলেন সেখানেই থাকবে))
আপনি যদি মূল ডিরেক্টরিটির উপ-ডিরেক্টরিটির logউপ-ডিরেক্টরিতে যেতে চান varতবে পরিবর্তে এটি চালান:
cd /var/log
আপনি যদি বর্তমানে থাকেন /তবে cd var/logএটির সমতুল্য cd /var/log।
যে পথটি শুরু হয় /তা পরম is এটি যেভাবে সমাধান করা হয়েছে তা আপনি বর্তমানে কোথায় আছেন তার উপর নির্ভর করে না।
পথটিও ~চূড়ান্ত, কারণ এটি (মূলত) শর্টহ্যান্ড $HOME। HOMEএকটি হল এনভায়রনমেন্ট ভেরিয়েবল , এবং অভিব্যক্তি $HOMEবর্তমান ব্যবহারকারীর হোম ডিরেক্টরি পূর্ণ, সুনির্দিষ্ট পাথ বিস্তৃতি।
~স্বরলিপি অন্য ব্যবহারকারীর হোম ডিরেক্টরি উপস্থাপন করতেও ব্যবহার করা যেতে পারে । আপনি লিখতে পারেন , এই প্রতিনিধিত্ব করে এর বাড়ি ডিরেক্টরি।~usernameusername
আপনি যেখানে ছিলেন সেখানে ফিরে আসছেন
আপনি বর্তমানে যে ডিরেক্টরিটিতে রয়েছেন সেটি PWDপরিবেশের ভেরিয়েবলে সঞ্চিত রয়েছে । আপনি যে সর্বশেষ ডিরেক্টরিটিতে ছিলেন সেটি OLDPWDপরিবেশের ভেরিয়েবলে সঞ্চিত । আপনি OLDPWDযে কোনও পরিবেশের পরিবর্তনশীল দেখতে চাইলে একইভাবে দেখতে পারেন :
echo $OLDPWD
যেহেতু এই তথ্য সঞ্চিত রয়েছে, cdআপনি যেখানে আগে ছিলেন সেখানে ফিরে যাওয়ার বিশেষ, দ্রুত এবং সহজ উপায় পেতে সক্ষম। যেমন pst007x বলেছে , আপনি যে সর্বশেষ ডিরেক্টরিতে ছিলেন সেটিতে যেতে চালনা করুন:
cd -
সেই শেলটিতে আপনি যদি আগে ছিলেন এমন কোনও ডিরেক্টরি OLDPWDনা থাকে তবে পরিবেশ পরিবর্তনশীল সেট করা থাকে না, এবং চালানোর চেষ্টা করার cd -ফলে একটি ত্রুটি ঘটবে (এবং আপনি যেখানে রয়েছেন সেখানেই থাকবেন):
ek@Kip:~$ cd -
bash: cd: OLDPWD not set
আপনি যেখানে বসের মত সেখানে পরিবর্তন করা হচ্ছে
pushdএবং popd: ডিরেক্টরি স্ট্যাক
ডিরেক্টরি নামের একটি স্ট্যাক কল্পনা করুন। দ্বারা একটি স্ট্যাক , আমি বলতে চাইছি কিছু যেখানে আপনি কিছু এটির উপরে যায় যোগ করেন, তখন এবং আপনি শুধুমাত্র একটি সময়ে এক জিনিস সরাতে পারেন, এবং জিনিস আপনি সরাতে সবসময় কি উপরে বর্তমানে নেই।
আপনি করতে পারেন ধাক্কা যে কোনো ডিরেক্টরির dirচালিয়ে স্ট্যাকের সম্মুখের:
pushd dir
আপনি যদি বর্তমান ডিরেক্টরিটিকে স্ট্যাকের শীর্ষে ঠেলাতে চান তবে আপনি ব্যবহার করতে পারেন .(যা উপরে বর্ণিত হিসাবে সর্বদা বর্তমান ডিরেক্টরি উপস্থাপন করে):
pushd .
তারপরে আপনি আপনার ব্যবসায়ের বিষয়ে যেতে পারেন, আপনার পছন্দ অনুযায়ী ডিরেক্টরি পরিবর্তন করতে পারেন। আপনি যখন সর্বশেষ ডিরেক্টরিটিতে ফিরে যেতে চান আপনি স্ট্যাকের সাথে ধাক্কা দিয়ে pushdচালান:
popd
এই ডিরেক্টরির যায়, এবং এছাড়াও পপ স্ট্যাক বন্ধ করুন। এখন স্ট্যাকটি একটি ডিরেক্টরি সংক্ষিপ্ত। যদি স্ট্যাকের একমাত্র ডিরেক্টরি ছিল তবে স্ট্যাকটি এখন খালি।
আপনার আকারের স্ট্যাক ১ এর চেয়ে বড় হতে পারে That অর্থাৎ, আপনি pushdস্ট্যাকের উপরে একাধিক ডিরেক্টরি ঠেলাতে পৃথক কমান্ড ব্যবহার করতে পারেন । পরবর্তী প্রতিটি popdকমান্ড সর্বাধিক সাম্প্রতিক পুশ ডিরেক্টরিটি পপড না হওয়াতে (এবং পপ অফ, অর্থাৎ, স্ট্যাক থেকে সরিয়ে ফেলুন ) যাবে।
এখানে একটি উদাহরণ:
ek@Kip:~$ cd /etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ pushd .
/etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ pushd /home/ek
~ /etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:~$ cd /var/log/apt
ek@Kip:/var/log/apt$ pushd .
/var/log/apt /var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/var/log/apt$ cd
ek@Kip:~$ popd
/var/log/apt /etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/var/log/apt$ popd
/etc/apt/sources.list.d /etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ cd /
ek@Kip:/$ pushd usr
/usr / /etc/apt/sources.list.d
ek@Kip:/usr$ cd
ek@Kip:~$ popd
/ /etc/apt/sources.list.d
ek@Kip:/$ popd
/etc/apt/sources.list.d
ek@Kip:/etc/apt/sources.list.d$ popd
bash: popd: directory stack empty
ek@Kip:/etc/apt/sources.list.d$
pushdএবং popdতুলনায় অনেক কম ব্যবহৃত হয় cd। তাদের অন্যান্য, আরও উন্নত ব্যবহার রয়েছে। চালান help pushdএবং help popdবিশদ জন্য।
আরও শিখছে এবং ডকুমেন্টেশন অ্যাক্সেস করা
cdএবং pwdআরও উন্নত ব্যবহার আছে। তাদের সম্পর্কে জানতে, চালান help cdএবং man pwd।
helpজন্য শেল builtins । manস্বতন্ত্র কমান্ডের জন্য - কমান্ডগুলি যা পৃথক প্রক্রিয়া হিসাবে চালিত হয় এবং পৃথক এক্সিকিউটেবল হিসাবে উপস্থিত থাকে। typeকমান্ড প্রকাশ করে কমান্ড শেল builtin কি না এবং, যদি না, যেখানে প্রোগ্রামটি রান অবস্থিত। উদাহরণস্বরূপ, যদি আপনি চালাতে পারে type help, type typeঅথবা type man।