হোম ডিরেক্টরিতে directory এর মতো বর্তমান ডিরেক্টরিতে কমান্ডলাইন শর্টকাট?


24

আমি যখন টার্মিনাল উইন্ডোতে সিপি বা মুভ কমান্ডটি ব্যবহার করি, আমি বর্তমানে নির্দিষ্ট ফোল্ডারে বাশ সহ।

NES@server:~/Desktop/dir1$

এবং এখন আমি এখান থেকে একটি ফাইল ~/anotherdir/dir2ক্যাপ করতে চাই বর্তমান বাশ (dir1) ফোল্ডারে বর্তমান কমান্ডটি ব্যবহার করব

cp ~/anotherdir/dir2/file ~/Desktop/dir1

বর্তমানের নির্বাচিত ডিরেক্টরিটি উল্লেখ করার জন্য কি একটি শর্টকাট স্ট্রিং উপস্থিত রয়েছে? সুতরাং যে এই উদাহরণে আমি লক্ষ্য dir পুরো পথ সরবরাহ করতে হবে না, কিন্তু কমান্ড জানে এটি বাশ বর্তমান নির্বাচিত ডিরেক্টরি ব্যবহার করা উচিত? যেমন ~ হিসাবে হোম ডিরেক্টরি?

উত্তর:


42

আপনার বর্তমান ডিরেক্টরি হয় .। সুতরাং, cp /foo/fam/foo .ফাইলটি আপনার বর্তমান ডিরেক্টরিতে অনুলিপি করে।

"এক ডিরেক্টরি আপ," বা আপনার বর্তমান কার্যনির্বাহী ডিরেক্টরিটির পৈতৃক ডিরেক্টরিগুলির জন্য সাদৃশ্য নির্মাণ দুটি বিন্দু, অর্থাৎ ..,। (ধন্যবাদ @ ডিজেইকিব।)

সুতরাং, থেকে /usr/house/firstfloor/basementসিডি ..আপনাকে এক স্তর পর্যন্ত নিয়ে যায় /usr/house/firstfloor

একই উদাহরণে (থেকে শুরু করে /usr/house/firstfloor/basement, কমান্ডটি cd ../..আপনাকে গ্রহণ করবে /usr/house

এছাড়াও আপনি ব্যবহার করতে পারেন $PWDসঙ্গে echoআপনার বর্তমান ডিরেক্টরির পেতে:

echo $PWD

ঘটনাচক্রে, $OLDPWDআপনাকে আপনার পূর্ববর্তী ডিরেক্টরিটি দেবে। (আপনার মধ্যে যা bashটাইপ করেও পৌঁছতে পারে cd -))


3
যেহেতু যে কোনও ..একটির জন্য একটি ডিরেক্টরি কম মানে শিখতে ভালো সময় হয় । একাধিকবার ব্যবহার করা যেতে পারে, যেমনcd ../..
djeikyb

1
@ ডিজেইকিব - আপনি উপরে বোঝাতে চেয়েছিলেন, আমি নিশ্চিত সুতরাং, সিডি ..আপনাকে আপনার বর্তমান ডিরেক্টরিটির মূল ডিরেক্টরিতে নিয়ে যাবে। ভাল যুক্তি.
belacqua

1
এবং আমি উল্লেখ করেছি popdএবং pushdতবে এটি একটি প্রবন্ধে পরিণত হচ্ছে।
belacqua

2
মনে রাখার জন্য একটি ছোট পার্থক্য: .এবং ..ফাইল সিস্টেম-স্তরের, তাই কোনও প্রোগ্রাম সেগুলি গ্রহণ করবে। অন্যদিকে, যেমন শর্টকাটগুলি ~এবং ~-শেল অংশ।
মাধ্যাকর্ষণ

2
+1 এর জন্য cd -; জানত না যে এর অস্তিত্ব আছে।
jg-faustus

6

আপনি $ (pwd) ব্যবহার করতে পারেন, এটি pwd কমান্ড থেকে আউটপুট সমাধান করবে।

উদাহরণ:

echo $(pwd)

1
বা ঠিক echo $PWD
ulidtko

3

./ বর্তমান ডিরেক্টরি উপস্থাপন করে। সুতরাং আপনি কমান্ডটি ব্যবহার করতে পারেন cp ~/anotherdir/dir2/file ./এটি "ফাইল" ফাইলটিকে কারেন্ট ডিরেক্টরী ডিরেক্টরিতে অনুলিপি করবে।


3
আপনার স্ল্যাশ দরকার নেই, "।" খুব যথেষ্ট। যদি আপনি এটি পরে অন্য কিছু পথ উপাদান লাগাতে চান (পথ উপাদান বিভেদক হিসাবে) স্ল্যাশ শুধুমাত্র প্রয়োজন হয়, কিন্তু তারপর এটা যাহাই হউক না কেন শুধু বাম ./ যেহেতু আপেক্ষিক পাথ বর্তমান ডিরেক্টরী দিয়ে শুরু বোঝানো হয় করা আরো সহজ :)
LGB গোষ্ঠীর

আমি জানি / প্রয়োজন হয় না তবে। একা আমার কাছে বিভ্রান্তি বোধ করছে কোজ। বর্তমান শেল যেমন "। envsetup.sh" তে কোনও ফাইল থেকে কমান্ড কার্যকর করতে ব্যবহৃত হয়। সুতরাং একটি / শেষে যুক্ত করা এটি আরও পরিষ্কার করে তোলে।
বিন ডাব্বু

1
স্পর্শকাতরভাবে, আপনি যদি ln -s /some/long/path/to/get/to/cake কোনও দ্বিতীয় যুক্তি না দিয়ে থাকেন তবে এটি cakeসরাসরি আপনার বর্তমানের মধ্যে প্রতীকী লিঙ্কটি রাখবে । অলস জন্য খুব ভাল। সংরক্ষণ করে a .
belacqua

2

গন্তব্য ডিরেক্টরি হিসাবে বর্তমান ডিরেক্টরি ব্যবহার করতে একটি একক বিন্দু ' .' ব্যবহার করুন

দীর্ঘ উত্তর

আপনার উদাহরণ ব্যবহার করে আপনি টাইপ করবেন: cp ~/anotherdir/dir2/file .

ডট দেখার জন্য ., ..এবং ../../কর্মের মধ্যে ডিরেক্টরির নাম, কপি এবং আপনার টার্মিনাল নিম্নলিখিত কমান্ড আটকান:

mkdir a && mkdir a/b && mkdir a/b/c && mkdir a/b/c2
cd a/b/c
cp /etc/default/grub .
cp /etc/default/grub ..
cp /etc/default/grub ../c2
cd ../../
tree

ট্রি কমান্ড থেকে আউটপুট এর মত প্রদর্শিত হবে:

.
└── b
    ├── c
       └── grub
    ├── c2
       └── grub
    └── grub

3 directories, 3 files

.গাছ আউটপুট উপরের নতুন বর্তমান ডিরেক্টরী প্রতিনিধিত্ব করে a যা পিতামহ হয় a/b/cযা আমরা ব্যবহার এতে নেভিগেট cd ../../কমান্ড। নিম্নে aআমরা একটি উপ-ডিরেক্টরির দেখতে a/b, a/b/cএবংa/b/c2

লাইন বাই লাইন বিশ্লেষণ

প্রথমে আমরা &&একাধিক লাইন একসাথে যোগদানের মাধ্যমে একটি লাইনে 4 টি ডিরেক্টরি তৈরি করেছি ।

তারপরে আমরা ডিরেক্টরিতে পরিবর্তন করেছি a/b/c, যা নিম্নলিখিত কপি কমান্ডের জন্য বর্তমান ডিরেক্টরি:

  • প্রথম অনুলিপি কমান্ড ( cp) এর সাথে আমরা আমাদের বর্তমান ডিরেক্টরিতে ( ) গন্তব্য সেট করেছি .
  • দ্বিতীয় অনুলিপি কমান্ডে আমরা গন্তব্যটিকে প্যারেন্ট ডিরেক্টরিতে ( বি ) সেট করেছিলাম ..
  • তৃতীয় অনুলিপি কমান্ডে আমরা গন্তব্যটি সিলিং ডিরেক্টরিটিতে ( সি 2 ) সেট করেছিলাম../c2

তারপরে, যেমন আগেই বলা হয়েছে, আমরা বর্তমান ডিরেক্টরিটি পরিবর্তিত করেছি এবং এর অধীন সমস্ত ডিরেক্টরি এবং ফাইল প্রদর্শন করার aজন্য treeকমান্ডটি চালিয়েছি a

পরিষ্কার কর

আমাদের হয়ে যাওয়ার পরে, আমরা তিনটি ডিরেক্টরি এবং ফাইলগুলি সাথে মুছে ফেলি:

cd ~/
rm -r tree


1

আপনি বর্তমান ওয়ার্কিং ডিরেক্টরি (সিডাব্লুডি) উপস্থাপনের জন্য ডট ( .), ~+ টিলডে সম্প্রসারণ , pwdকমান্ড বা $ PWD ভেরিয়েবল ব্যবহার করতে পারেন । এই সমস্ত আদেশগুলি এটি করতে পারে:

  1. mv file_old_dir .
  2. mv file_old_dir ~+
  3. mv file_old_dir $(pwd)
  4. mv file_old_dir $PWD

0

হ্যাঁ (অন্যরা যেমন উল্লেখ করেছেন), বর্তমান ডিরেক্টরিটি "।", এজন্য আপনি বর্তমান ডিরেক্টরি থেকে। / স্ক্রিপ্ট দিয়ে প্রোগ্রাম / স্ক্রিপ্ট শুরু করতে পারেন (কেবল স্ক্রিপ্টটি কাজ করবে না যতক্ষণ না PATH এর অংশ নয়, যা প্রস্তাবিত নয় যদিও)। $ PWD বা $ (pwd) ব্যবহার করা কিছুটা ওভারকিল, এমনকি অন্যরা উল্লেখ করেছেন যে, একটি বিন্দু অক্ষর ব্যবহার করা আরও কম, অবশ্যই :) "" "মূল ডিরেক্টরি, নিশ্চিতভাবে" / "মূলটি। এছাড়াও উল্লেখ করা ভাল যে "সিডি -" আপনাকে পূর্ববর্তী ডিরেক্টরিতে স্থাপন করবে যেখানে আপনি সিডব্লিউডি (বর্তমান কার্যনির্বাহী ডিরেক্টরি) পরিবর্তন করার আগে ছিলেন were এটি প্রতিদিনের কাজেও কার্যকর হতে পারে। কমান্ড লাইনে অন্য কোনও সিঙ্গল "সিডি" কমান্ড আপনাকে "~" (আপনার বাড়ীতে) রাখবে।


1
$PWDপরম পাথের প্রতিলিপি তৈরি করার সময় ওভারকিল নয়।
ulidtko

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