আমি কি কিছু ভাল ডিরেক্টরিতে সিডি করতে প্রয়োজনীয় টাইপিং সংক্ষিপ্ত করতে পারি?


11

আমি নিজেকে একটি টার্মিনাল খুলতে এবং তারপরে একই ডিরেক্টরিতে প্রচুর সিডি করছি যার পথটি খুব দীর্ঘ।

এর অর্থ আমি প্রচুর সিডি করছি এবং জিনিসগুলি গতি বাড়ানোর জন্য ট্যাবটি ব্যবহার করছি।

আইটি দুর্দান্ত হবে যদি আমার এই ডিরেক্টরিতে কোনও ধরণের লিঙ্ক থাকতে পারে এবং তারপরে কেবল সিডি করতে পারি যাতে আমি গভীর নেস্ট ডিরেক্টরিতে থাকি।

এটা কি সম্ভব?


1
আমার বেশ কয়েকটি (বাশ) স্ক্রিপ্ট রয়েছে যা গিথুব প্রকল্পে সিডি'র কাজ চালানোর মতো ছোট (সম্পর্কিত) কাজ করে git status। আমারও কিছু এলিয়াস আছে .bash_profile। আপনি যা চেয়েছিলেন ঠিক তা নয়, তবে সম্পর্কিত।
কীজার

উত্তর:


24

cdঘন ঘন জটিল পথে মোকাবেলা করার উপায় এখানে ।

mkdir ~/Links
ln -s /complexpath/there ~/Links

এটি প্রতীকী লিঙ্ক তৈরি করবে

~/Links/there

এই নতুন ব্যবহার করার জন্য Linksদক্ষতার ডিরেক্টরি, আপনার লগ-ইন শেল হলে bash শুধু আপনার এই কমান্ড যোগ ~/.profile(যা সব বোর্ন শৈলী শাঁস দ্বারা ব্যবহৃত হয় bash, ksh, zsh...):

CDPATH=~/Links:.
export CDPATH

এর অর্থ হ'ল প্রত্যেকের জন্য cd, আপনার শেলটি একটি স্থানীয়পথের নামটি খুঁজতে 2 টি ডিরেক্টরিতে সন্ধান করবে:

~/Links
.

এটি পরীক্ষা করার জন্য আপনার সেশনটি পুনরায় চালু করতে হবে না, কেবল চালান:

. ~/.profile

যার অর্থ শুধু আমার পড়া ~/.profile। (আপনি এটি ~/.bashrcপরিবর্তন করতে পারবেন না যেহেতু আপনি যখন এটি পরিবর্তন করবেন না তখন একই পরিবর্তনশীল আরম্ভের পুনরাবৃত্তি করার দরকার নেই।)

একবার আপনি এটি পরীক্ষা করে নিলে, আপনি আপনার সেশনটি পুনরায় আরম্ভ করতে সক্ষম হবেন;)।

এখন থেকে, আপনি যতবার যেতে চান thereআপনার টাইপ করতে হবে:

cd there

এটি আমি দেখেছি সবচেয়ে মার্জিত সাধারণ সমাধান। আমি সাধারণত (aliasing মত সাধারণ গন্তব্যে alias লেখা করতে cdoraকরতে cd $ORACLE_HOMEএবং এই ধরনের ...)
bmike

ফাইন্ডার ইন্টারফেসের মাধ্যমে কি কোনও সাধারণ সমতুল্য দ্বারা আগ্রহী হবে?
দান

11

একটি দীর্ঘ নাম কমান্ডের জন্য একটি সংক্ষিপ্ত সংক্ষিপ্তকরণের একটি উপাধি সংজ্ঞা দেওয়া খুব সহজ উপায়। একবার আপনার এলিয়াসগুলি ঠিকঠাক হয়ে গেলে, আপনি আপনার .bashrc ফাইলে একটি বিভাগ তৈরি করতে পারেন (বা অন্য প্রারম্ভিক ফাইল) যাতে আপনি শুরু হওয়া প্রতিটি নতুন শেলের জন্য আপনাকে এই এলিয়াসগুলি পুনরায় টাইপ করতে না হয়:

.বাশার্কে:

alias ws4='ssh qsv-rhws4'
alias httpdlog='cd /var/log/httpd/'
alias EC2='ssh -i BMTestEC2.pem ec2-user@xxxxxxxx.compute.amazonaws.com'

প্রভৃতি

লগ আউট করুন এবং ফিরে (বা কেবল চালানো . ~/.bashrc) এবং এখন আপনি কেবল টাইপ করতে পারেন httpdlogএবং এটি সিডি সম্পাদন করে। অথবা ws4এবং এটি আসলে ssh কমান্ড ইত্যাদি সম্পাদন করে

এটি (প্রচুর পরিমাণে) খালি লিঙ্কগুলি তৈরি করার প্রয়োজনীয়তা সরিয়ে দেয় যা আপনার হোম ডিরেক্টরিকেও খুব খারাপের মতো দেখায়।


10

অটোজাম্প বা জেড ব্যবহার করার চেষ্টা করুন ।

দু'জনের যে কোনও একটি ইনস্টল করার পরে, আপনি cdপ্রায় স্বাভাবিকের মতো এবং তারা আপনার সর্বাধিক দেখা ডিরেক্টরিগুলি শিখেছে এবং কেবলমাত্র পথের একটি অংশ টাইপ করে তাদের কাছে যেতে দেয়:

$ cd /very/long/path/foobar
$ cd
$ z foobar
$ echo $PWD
/very/long/path/foobar

আমি দুটি জেড পছন্দ।


অটোজাম্প সম্পর্কে কিন্তু 'জেড' স্ক্রিপ্ট শিলা সম্পর্কে জানেন না!
ক্রিস

7

আমি খুব দ্রুত ফাস্টের প্রস্তাব দিই যা অটোজাম্প এবং জেড এর চেয়ে ভাল তবে আইএমএইচওর চেয়ে ভাল। ওয়েবসাইট থেকে:

ফ্যাসড ("দ্রুত" এর অনুরূপ উচ্চারিত) হ'ল একটি কমান্ড-লাইন উত্পাদনশীলতা বুস্টার। ফ্যাসড পসিক্স শেলগুলির জন্য ফাইল এবং ডিরেক্টরিগুলিতে দ্রুত অ্যাক্সেস সরবরাহ করে। এটি অটোজাম্প, জেড এবং ভি এর মতো সরঞ্জাম দ্বারা অনুপ্রাণিত হয়েছে। ফ্যাসড আপনার অ্যাক্সেস করা ফাইল এবং ডিরেক্টরিগুলি ট্র্যাক করে রাখে, যাতে আপনি সেগুলি দ্রুত কমান্ড লাইনে উল্লেখ করতে পারেন।

ফার্স্ড নামটি ডিফল্ট প্রস্তাবিত এলিয়াস চ (ফাইল), একটি (ফাইল / ডিরেক্টরি), গুলি (প্রদর্শন / অনুসন্ধান / নির্বাচন), ডি (ডিরেক্টরি) থেকে আসে।

ফ্যাসড ফাইল এবং ডিরেক্টরিগুলি "ফ্রিকেন্সি" দ্বারা, যা "ফ্রিকোয়েন্সি" এবং "অভ্যর্থনা" উভয় দ্বারা চিহ্নিত করে। "ফ্রেসেন্সি" শব্দটি প্রথম মোজিলা দ্বারা তৈরি করা হয়েছিল এবং ফায়ারফক্সে (লিঙ্ক) ব্যবহৃত হয়েছিল।


4

বিকল্পভাবে আপনি একটি উপনাম তৈরি করতে পারেন। .Bashrc বা .aliases এর মতো কিছুতে নিম্নলিখিতটি নিক্ষেপ করুন

alias shortcut='cd ~/path/to/deep/deep/deep/directory/'

তারপরে নিশ্চিত হয়ে নিন যে এটি যে কোনও ফাইলের মধ্যে রয়েছে sourceডি। আমার উপনামগুলি .bashrc এ রয়েছে, যা আমি। ল্যাশ_প্রফাইলে এই লাইনটি দিয়ে উত্স উত্স: source ~/.bashrc


2

বিশেষ ডিরেক্টরি বা দু'জনের জন্য সুবিধামত সিমলিংক যুক্ত করা খুব ভাল তবে খুব দ্রুত এটি পরিচালনা করতে ব্যথা হয়ে যায়। এর চেয়ে আরও ভাল সমাধান হ'ল পরিবেশগত পরিবর্তনশীল CDPATH, উপলভ্য bashএবং অন্যান্য শেলগুলি কেবল এই উদ্দেশ্যে ব্যবহার করা।

CDPATHPATHডিরেক্টরি নাম সন্ধানের জন্য স্থানগুলির কোলন-বিচ্ছিন্ন তালিকা (যেমন ) is এটিতে পরম এবং আপেক্ষিক উভয় নামই থাকতে পারে। আমি আমার মত কিছু সেট আছে export CDPATH=".:..:$HOME/work/repos:$HOME/projects:<etc>"

এই সেট আপের সাথে আমি cd pdftools যে কোনও জায়গা থেকে টাইপ করতে পারি এবং এটি আমার কাছে নিয়ে যাবে ~/projects/pdftools। (ক সিমবলিক লিঙ্ক, আমি টাইপ করতে হবে চাই cd ~/pdftoolsযদি আমি আমার হোম ডিরেক্টরির মধ্যে ছিল না।) আমি সাবডিরেক্টরি মধ্যে শর্টকাট করতে পারেন: cd pdftools/bin

..আমার মধ্যে CDPATHদেয় আমাকে টাইপ cd sisterdirপরিবর্তে cd ../sisterdir, ইত্যাদি আপনি আশা করতে পারেন হিসাবে, যখন আমি নতুন ডিরেক্টরি জন্য যে কোন জায়গায় তৈরি CDPATHসেগুলি স্বয়ংক্রিয়ভাবে দ্বারা পাওয়া যেতে করব cd- নতুন symlinks বা alias তৈরী করার প্রয়োজন নেই।

এই বৈশিষ্ট্যটি আরও ভাল হয়ে যায় যদি আপনি bash_completionফাইলটি বিতরণ করেন যেমন, ডেবিয়ান সিস্টেমগুলি দিয়ে। এটি আমার ওএস এক্স বাক্সের সাথে আসে নি, তাই আমি একটি অনুলিপি এনেছি এবং এটি দুর্দান্ত কাজ করে। (এটি এখানbrew থেকে পেয়ে যান বা এখান থেকে নিজেই এটি ডাউনলোড করুন )) এই ফাইলটি কমান্ডলাইন সমাপ্তির জন্য বর্ধিতকরণগুলি সংজ্ঞায়িত করে, যাতে আমি টাইপ করতে পারি cd pdf<TAB>এবং pdftoolsডিরেক্টরিটি কোথাও থেকে খুঁজে পাওয়া যায় এবং প্রসারিত হয় CDPATH


1

নিশ্চিত: একটি প্রতীকী লিঙ্ক তৈরি করুন

ln -s /some/really/long/path/to/somewhere/ ~/shortcut
cd ~/shortcut

1

আমি ফ্লাইতে সহজেই "ডিরেক্টরিতে বুকমার্কগুলি" তৈরি করতে ব্যাশমার্ক ব্যবহার করতে চাই।

রিডমিটি এখানে দেখুন: https://github.com/huyng/bashmark

দ্রষ্টব্য: বাশমার্কের তিন-পদক্ষেপের ইনস্টলেশন প্রক্রিয়াটি অনুসরণ করতে আপনাকে গিট ইনস্টল করা দরকার: http://git-scm.com/download/mac

শুভকামনা!


1

বিকল্পভাবে আপনি ফিশ শেল ইনস্টল করার চেষ্টা করতে পারেন।

http://fishshell.com/

কমান্ডগুলির জন্য এটিতে চমৎকার পূর্বাভাস রয়েছে। এটি বুদ্ধিমানের সাথে কোনও স্ক্রু আপ ছাড়াই সংবেদনশীল কেস টাইপ করতে দেয়।

মাছের নিম্নতম দিকটি এটির নিজস্ব স্ক্রিপ্টিং ভাষা রয়েছে এবং এগুলি বাশ সামঞ্জস্যপূর্ণ নয়।


1

আমি যা করি তা হ'ল "সিডি" টাইপ করুন এবং তারপরে ফাইন্ডার থেকে ফোল্ডারটিকে টার্মিনালে টেনে আনুন যা পুরো পথে প্রবেশ করে। সম্ভবত বেশ মার্জিত নয়, তবে কয়েকটি প্রেসেভড শর্টকাট বনাম সমস্ত ফোল্ডারের জন্য কাজ করে?

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