আমি কি ব্যাশে ইতিহাস অনুসন্ধান করতে পারি এবং ফলাফলটি চালাতে পারি?
আমি কি ব্যাশে ইতিহাস অনুসন্ধান করতে পারি এবং ফলাফলটি চালাতে পারি?
উত্তর:
আদর্শ জন্য ctrl আর কমান্ড লাইনে এবং আগের কমান্ডটি টাইপ করা শুরু করুন। একবার ফলাফল প্রদর্শিত আঘাত দেখাচ্ছে জন্য ctrl আর অন্যান্য ম্যাচ দেখতে। যখন আপনি চান কমান্ড প্রদর্শিত হবে, সহজে চাপুন প্রবেশ করান
উল্লেখ্য যে যখন জন্য ctrl আর ডিফল্ট, যদি আপনি কমান্ড চেয়েছিলেন ( reverse-search-history
) আবদ্ধ করা জন্য ctrl টি আপনি নিম্নলিখিত সঙ্গে যে কনফিগার করতে পারে:
bind '"\C-t": reverse-search-history'
আপনার কাছে উপলব্ধ অন্যান্য রেডলাইন বাইন্ডেবল কমান্ডের পুরো হোস্ট রয়েছে। তাকান bash
মানুষ পাতা ।
অনুসন্ধান এবং অ্যাক্সেসযোগ্য কমান্ড ইতিহাস অ্যাক্সেস করতে বাশ অনেক সুবিধা আছে। যা সবচেয়ে মৌলিক history
builtin। শুধু টাইপ করা:
$ history
সংখ্যাসূচক সূচী সহ কমান্ডগুলির একটি তালিকা মুদ্রণ করবে, যেমন:
$ history 1 clear 2 ls -al 3 vim ~/somefile.txt 4 history $
তারপর আপনি সূচকগুলিকে একক দিয়ে পূর্বনির্ধারিত করে তাদের সংখ্যাসূচক সূচী ব্যবহার করে এই কমান্ডগুলি কার্যকর করতে পারেন !
, হিসাবে মিচ চিহ্নিত করা:
$ !1
চালানো হবে clear
কমান্ড। অন্তর্নির্মিত ইতিহাসে অনেক বৈশিষ্ট্য রয়েছে, আপনি আরও দেখতে পারেন bash
এবং history
মানুষ পৃষ্ঠা।
ব্যবহার করার সময় আপনি আপেক্ষিক নেতিবাচক অফসেট উল্লেখ করতে পারেন !
ডিজাইনার, তাই আমরা আমাদের ইতিহাস তালিকা ব্যবহার করে, যদি আমরা চালানো চেয়েছিলেন vim
আবার, আমরা করতে পারি:
$ !-2
মূলত যা কমান্ডটি চালানো হয়েছে তা চালানোর জন্য আপনাকে "দুই কমান্ড আগে" চালানো হয়েছে। ইতিহাস তালিকায় পূর্ববর্তী কমান্ড চালানোর জন্য, আমরা শুধু ব্যবহার করতে পারি !!
(যা শুধু জন্য shorthand হয় !-1
)।
দ্য !
ডিজাইনার আপনাকে কত সংখ্যক কমান্ড চালানোর নির্দেশ দেয় তা সীমাবদ্ধ করে না। hayalci আপনি নির্দেশ করতে পারেন যে দেখিয়েছেন bash
এটি যে পাঠ্য দিয়ে শুরু হয় তার উপর ভিত্তি করে একটি কমান্ড চালানো (ব্যবহার করে !
) বা কমান্ড নিজেই টেক্সট (ব্যবহার করে !?
)। আবার, আমাদের উদাহরণ ইতিহাস তালিকা ব্যবহার করে, যদি আমরা চালাতে চেয়েছিলাম clear
আবার, আমাদের যা করতে হবে তা হল টাইপ:
$ !cl
এবং প্রেস প্রবেশ করান । এবং কি সম্পর্কে vim
? যে হিসাবে হিসাবে সহজ:
$ !?some
থেকে সবচেয়ে গুরুত্বপূর্ণ পয়েন্ট hayalci এর প্রতিক্রিয়া কল হয় shopt
builtin:
$ shopt -s histverify
এটি ইতিহাস যাচাইকরণ সক্ষম করবে যাতে আদেশগুলি মিলে যায় !
, !!
, এবং !?
ডিজাইনারদের অন্ধভাবে মৃত্যুদণ্ড দেওয়া হয় না, বরং কমান্ড লাইন এ ভরাট করা যাতে আপনি নিশ্চিত করতে পারেন যে তারা কার্যকর করার আগে তারা কোনও খারাপ কাজ করবে না। যখন আপনি root ব্যবহারকারী হিসাবে কমান্ডগুলি চালাচ্ছেন তখন এটি আরও গুরুত্বপূর্ণ। এই অপশন আপনার মধ্যে সেট করা যাবে .bashrc
স্টার্টআপ ফাইল যাতে আপনি যখনই লগ ইন করেন তখন এটি সেট হয়।
যেমন ইতিমধ্যে উল্লেখ করা হয়েছে, এই তথ্য সব থেকে সংগৃহীত করা যাবে bash
মানুষ পাতা । জন্য!, !!, এবং! ডিজাইনার, বিভাগে একটি চেহারা নিতে 9.3 ইতিহাস সম্প্রসারণ ।
একটি বিকল্প হিসাবে Ctrl + R , আপনি টাইপ করে ইতিহাস অনুসন্ধান করতে পারেন
!text
এটি সাম্প্রতিক কমান্ডের জন্য ইতিহাস অনুসন্ধান করবে শুরু 'টেক্সট' সঙ্গে।
কিন্তু আমি আপনাকে ভুল কমান্ডটি কার্যকর করার জন্য এটি আপনার .bashrc এ রাখি।
shopt -s histverify
এই পরে, যে যেমন bash নির্দেশ কোন ইতিহাস কর্ম (মত !!:s/prev_text/after_text
), এটি কমান্ড প্রম্পটে ফলে লাইন স্থাপন করে। তারপরে আপনি কমান্ডটি পর্যালোচনা বা সম্পাদনা করতে পারেন এবং পরে এন্টার টিপুন।
আমি বিপরীত-অনুসন্ধান-ইতিহাসের উপর ইতিহাস-অনুসন্ধান-পশ্চাদ্ধাবন ব্যবহার করতে পছন্দ করি। প্রাক্তন আপনি কমান্ড কয়েক অক্ষর টাইপ করতে দেয় তারপর অনুসন্ধান কী টিপুন, প্রথমত সার্চ কীটি আঘাত করার পরিবর্তে অনুসন্ধান স্ট্রিংটি টাইপ করুন।
আমার সিস্টেমে ডিফল্টরূপে, এম-পি এবং এম-এন একই ফাংশনে আবদ্ধ থাকে তবে আমি তীরচিহ্নগুলি বাঁধাই পছন্দ করি:
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
চমৎকার লেখা, শান! আমি এই মন্তব্য করা চাই, কিন্তু আমি কয়েক খ্যাতি লাজুক পয়েন্ট লাজুক। :-)
আরেকটি সম্পর্কিত এবং দরকারী কৌশল একটি শব্দ পরিবর্তন করার সময় পূর্ববর্তী কমান্ড চালানোর ক্ষমতা। আপনি ডিরেক্টরী নাম টাইপ করা বলুন, বা ফাইল নাম পরিবর্তন করতে চান:
$ echo my name is bob my name is bob $ ^bob^jordan echo my name is jordan my name is jordan
কমান্ড চালানোর আগে কমান্ডটি প্রসারিত, প্রতিস্থাপিত, এবং আউটপুটটি লক্ষ্য করুন, তাই যদি ভুল কমান্ড চালানো হয় তবে আপনি দেখতে পারেন যে এটি কী করছে।
আমি সত্যিই একটি মহান উদীয়মান আছে, জ। এটি সত্যিই "ইতিহাস | grep", তবে আমি "grep -E -v" সহ পূর্ববর্তী "h কমান্ড" এন্ট্রিগুলি ফিল্টার করি।
alias h="history | grep -E -v '^ *[0-9]+ *h ' | grep "
মত ব্যবহার
h aliases
2003 less .bash_aliases
HISTIGNORE
।
Ctrl-R ব্যবহার করে ইতিহাসের মাধ্যমে নেভিগেশনের মতো IMO গুরুতর, আপনি বিবেচনা করতে পারেন HH :
https://github.com/dvorka/hstr
যা নেভিগেশানটিকে আরও সহজ, সহজবোধ্য এবং দক্ষ করে তোলে - কমান্ডটি চালানোর সাথে সাথে:
ctrl + r
এখন ডিফল্টরূপে
Bash কমান্ড প্রম্পটে, নিয়ন্ত্রণ-র টাইপ করুন, তারপরে আপনি যে কমান্ডটি চান তা কয়েকটি অক্ষর টাইপ করুন এবং ব্যাশের রেডলাইন সুবিধা কমান্ড ইতিহাসের মাধ্যমে যে কমান্ডের জন্য অনুসন্ধান করবে।
অনুসন্ধান শুরু করার পরে, আপনি পরবর্তী মেলিং কমান্ডে যাওয়ার জন্য আবার নিয়ন্ত্রণ-র টাইপ করতে পারেন।
আপনার শেল ব্যবহার করার জন্য কনফিগার করা আছে vi
কী বাইন্ডিং ( set -o vi
বা হচ্ছে set editing-mode vi
মধ্যে $HOME/.inputrc
), তারপর আপনি সঙ্গে অনুসন্ধান করুন <Esc>/some-command<Return>
এবং আঘাত n
(পরবর্তী) বা Shift-n
(পূর্ববর্তী) কমান্ড লাইন ইতিহাসের মাধ্যমে চক্র।