নাম টাইপ না করে আপনি কীভাবে প্রথম উপলব্ধ ফোল্ডারে সিডি করবেন?


30

আমি সম্প্রতি একটি পরিস্থিতিতে পড়েছিলাম যেখানে আমি একটি ফোল্ডারের ভিতরে ছিলাম এবং আমি cdএকটি উপ ডিরেক্টরি ফোল্ডারে যেতে চেয়েছিলাম । এই ফোল্ডারটির ভিতরে কেবল একটি ফোল্ডার ছিল এবং এটি সত্যই দীর্ঘ নাম।

Home (I am here)
 |
 |
  --> /reallylongnamefolder

টাইপ করার পরিবর্তে সেই ফোল্ডারে যাওয়ার কোনও উপায় আছে:

 cd reallylongnamefolder

1
অনেকগুলি উপায়ে: cd */বা cd rea*/নিশ্চিত না থাকলে সর্বদা কেবল 1 টি সাবডির থাকে (যদি ব্যাশ ব্যবহার করা cd rea[TAB]হয় তবে আপনি অন্যান্য শেলগুলিতেও করতে পারেন তবে নাম প্রসারিত করার উপায়টি আলাদা হতে পারে)। যদি "/ সত্যিই লম্বনামফোল্ডার" হয় তবে একটি সম্পূর্ণ পথ, একই জিনিস তবে '/' সামনে রয়েছে, যেমন:cd /rea*/
অলিভিয়ার ডুলাক

উত্তর:


38

আমি হয় প্রথমে কয়েকটি চিঠি লিখতে এবং টিপতে পরামর্শ দেব tab। বাশের স্বতঃপূরণ বৈশিষ্ট্য রয়েছে যা সত্যই কার্যকর। এটি যদি বর্তমান পথে কেবল ডিরেক্টরি হয় তবে কেবল টিপলে tabপুরো ডিরেক্টরিটি পূরণ করা হবে।

টাইপ করা cdএবং tabদুবার টিপলে বর্তমান ডিরেক্টরিতে সমস্ত বিকল্প প্রদর্শিত হবে।

tab আপনার বা একাধিক বা কী কীপ্রেসগুলিতে প্রায় সমস্ত এক্সিকিউটেবলের অ্যাক্সেসযোগ্য তাই সাধারণত ব্যাশে সত্যিই কার্যকর।

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


15
এমনকি আপনার কোনও চিঠিও টাইপ করার দরকার নেই, যদি কেবল একটি ডিরেক্টরি উপস্থিত থাকে: cd <tab>যথেষ্ট স্মার্ট হবে।
aMLoy

1
উইন্ডোজেও কাজ করে। (গুগল থেকে আসা লোকদের জন্য ..)
কোরে তুগাই

16

আমি মনে করি আমি আসলে এটি প্রকৃতপক্ষে বের করেছি

cd * 
cd */

তবে একাধিক ফাইল এবং একটি ফোল্ডার থাকলে আমি এটি পরীক্ষা করে দেখিনি!


যেমন @ রিনজুইন্ড মন্তব্যগুলিতে উল্লেখ করেছেন!

ধরা যাক আপনার তিনটি দীর্ঘ ফোল্ডার রয়েছে:

 /thisislongfolder1
 /thisislongfolder2
 /thisislongfolder3

আপনি যদি ফাইলটির প্রথম অক্ষরটি টাইপ করেন তবে আঘাত tabকরলে এটি ফাইলের নামটি স্বয়ংক্রিয়ভাবে পূর্ণ হবে! ক্রেজি স্টুফ!

সুতরাং উপরের উদাহরণে, আপনি টাইপ করতে পারেন: t tabএবং এটি যতটা পারে স্বয়ংক্রিয়ভাবে পূর্ণ হবে: cd thisislongfolder(তারপরে নিজেই সংখ্যাটি টাইপ করুন)।

বা আপনি করতে cd t*1পারেন আপনি নিতে হবেthisislongfolder1

ধন্যবাদ রিনজুইন্ড!


6
সিডি ফার্স্ট_লেটার_আর_সোম_লেটারগুলি এবং তারপরে {ট্যাব the সবচেয়ে সহজ (আপনার প্রচুর ফোল্ডারের সমস্যাও সমাধান করে 1 এমনকি আপনি আরও 1 টি ট্যাব এবং অক্ষরের সাথে অক্ষর মিশ্রিত করতে পারেন The সিস্টেমটি যতদূর পারে স্বয়ংক্রিয়ভাবে সম্পূর্ণ হবে You এছাড়াও আপনি এটি করতে পারেন cd r*rএবং আশা করি এটিই একমাত্র ফোল্ডার আরম্ভের সাথে শেষ হয়
রিঞ্জউইন্ড

@ রিনজুইন্ড বাহ! আমি জানতাম না! ধন্যবাদ!
আরিয়ান ফুর্তোশ

চেষ্টা কর. আপনার উত্তরে আপনার ফলাফল যুক্ত করুন এবং আপনি সম্ভবত এটির জন্য কিছু খ্যাতি পাবেন ;-)
রিঞ্জউইন্ড

4
cd */কৌশলটি করতে পারেন
gniourf_gniourf

3
cd *এটি সাফল্যের চেয়ে সম্ভবত প্রায়শই ব্যর্থ হয়।
ডেভিড রিচার্বি

14
cd $(ls -d */|head -n 1)

ls -d */ডিরেক্টরিগুলি তালিকাবদ্ধ করে, head -n 1এই তালিকার প্রথমটি দেয়।


হ্যাঁ এবং আপনি এটি টাইপ করতে যাচ্ছেন ... আমি বরং ট্যাব-ট্যাবে গিয়ে নামটি টাইপ করার চেয়ে সন্ধান করব। যদিও এটি 100% সঠিক, দুর্দান্ত উত্তর!
tomsmeding

1
@ টমসমিডিং যদি আপনি এমন কোনও স্ক্রিপ্ট লিখছেন cdযা প্রথম ডিরেক্টরিতে প্রয়োজন হয়, আপনি ট্যাবগুলি করতে পারবেন না।
ব্যবহারকারী 12205

-n 1 ফাইলের শেষ 1 টি ফাইল দেখায়। যদি আপনি এটি পরিবর্তনশীল ক্রমের জন্য ব্যবহার করতে চান তবে আপনি ডিরেক্টরিতে 4 র্থ ফোল্ডারটি খুলতে cd c (ls -d -1 * / | sed -n '4p') ব্যবহার করতে পারেন। এটিকে উপনামে যুক্ত করা আপনাকে ফোল্ডার নেভিগেশনের মাধ্যমে দ্রুততর করতে পারে।
ইভান Ivković

2

এটির জন্য আমার একটি দুর্দান্ত সেটআপ রয়েছে এটি আমাকে কেবলমাত্র সিডি করতে দেয় না / সামান্যভাবে লংফোল্ডারনামই সিডি করে দেয় তবে আমি সিডি / সিটিতেও সিডি করতে পারি /

আমি প্রথম যে জিনিসটি ব্যবহার করি তা হ'ল ওহ-মাই-জেডএস সহ জিএসএস এটি আপনাকে কেডির বিষয়ে চিন্তা না করে বা সিডি টাইপ না করেও সিডি করতে দেয় will

  1. গিট এবং zsh ইনস্টল করুন
sudo apt-get install zsh git
  1. ওহ আমার জেডএসএইচ ইনস্টল করুন

কার্ল -L http://install.ohmyz.sh | SH

  1. ডিফল্ট শেলটি জেডএসএইচে পরিবর্তন করুন
chsh -s /bin/zsh

আপনার .zshrc খুলুন এবং সম্পাদনা করুন যা আপনার হোম ফোল্ডারে এটি লুকিয়ে নেই is

ন্যানো ~ / .zshrc

তারপরে ফাইলটির নীচে নিম্নলিখিত লাইনটি যুক্ত করুন export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/

আপনি আমার থিম পছন্দ করেন তাহলে আপনি লাইন পরিবর্তন করতে পারেন #ZSH_THEME="robbyrussell"থেকেZSH_THEME="pygmalion"

ফাইলটি সংরক্ষণ করুন এবং বন্ধ করুন তারপরে পুনরায় চালু করুন। শেলটি বন্ধ করুন এবং আবার খুলুন বা একটি নতুন ট্যাব খুলুন এবং এটি ব্যবহার করে দেখুন

আপনি নামগুলি সম্পূর্ণ করতে ট্যাব কীটি ব্যবহার করতে পারবেন না এবং জেডএসএইচে আপনার এমনকি কেসটি ডকুমেন্ট টাইপ করতে হবে এবং ট্যাব টিপতে পারবেন এবং এটি ~ / নথিতে রূপান্তরিত হবে

এখানে চিত্র বর্ণনা লিখুন


0

আপনি ইনোড নম্বর দ্বারা ডিরেক্টরি পরিবর্তন করতে পারেন।
প্রথমে আমরা ইনোডটি খুঁজে পাই ls -il
তারপর

cd $(find -inum directory_inode_number)

0

আপনার যদি কোনও স্ক্রিপ্টে এটি করতে বা অনিবার্যযোগ্য নাম সহ ডিরেক্টরিগুলি সমর্থন করার প্রয়োজন হয়:

cd $(python -c $'import os\nfor entry in os.listdir(b"."):\n if os.path.isdir(entry):\n  os.write(1, entry);break\nelse: os.write(1, b".")')

ডিরেক্টরিগুলির সাথে সম্পর্কিত বাছাই করার আদেশ নির্বিশেষে ডিরেক্টরিতে ফাইল থাকলে এটি কাজ করে। ব্যর্থ হলে
এটি লুকানো ডিরেক্টরিগুলির জন্য কাজ করে cd */। কেবলমাত্র নামের পরিবর্তে প্রিন্ট করা
হলে বর্তমান লোকালে নামটি উপস্থাপনযোগ্য না হলে এটি কাজ করে ।ls??


0

টেক্কা জবাব প্রসারিত:

cd $(ls -d -1 */ |sed -n '1p')

ডিরেক্টরিতে 1 ম ফোল্ডারটি খুলতে। '1p' দ্বিতীয় ডিরেক্টরিতে '2p' তে পরিবর্তন করা যেতে পারে।

ls -d -1 -la */

একটি পিতামাতার ডিরেক্টরি থেকে কেবল ডিরেক্টরি তালিকা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.