আমি কীভাবে আমার আদেশগুলি দ্রুত মুছব?


168

আমি প্রায় সমস্ত কাজের জন্য টার্মিনাল ব্যবহার করি। ধরা যাক আমি এরকম একটি বিশাল কমান্ড প্রবেশ করেছি:

sudo a-huge-command

কী চাপানোর চেষ্টা না করে একক শর্টকাট দিয়ে পুরো কমান্ডটি মুছে ফেলার সহজ উপায় backspaceকী?

আমি একজন উবুন্টু নবাগত এবং পেশাদারভাবে উবুন্টু ব্যবহার করতে চাইছি।


13
এছাড়া খেয়াল করা সেট করতে পারে উপযুক্ত এর bash(এবং অন্যান্য শাঁস) ষষ্ঠ কী বুঝতে: set -o vi। এর পরে আপনি কাজ করতে পারে esc, dd(অথবা অন্যথায় সম্পাদনা / আপনি চ [M] করতে পারে হিসেবে প্রতিস্থাপিত)।
ওয়েইন ওয়ার্নার

6
হোম, '#', প্রবেশ করুন
এলিস্টায়ার বুকসটন

5
এটি একটি সস্তা হ্যাক তবে এটির মূল্য কী, আমি সাধারণত একটি শর্ট কমান্ড (যেমন, ls) এবং তারপরে স্পেস না পাওয়া পর্যন্ত আমি কেবলমাত্র আপ-তীরটি চাপি - 'ডিল।
কেনিপিনুটস

সিটিআরএল <- কয়েকবার ট্যাপ করা সাধারণত আমার জিজ্ঞাসার শুরুতে আমাকে ফিরে যেতে দেয় .. আপনার এই অর্থ কি?
মার্ক-আন্দ্রে

উত্তর:


177

কমান্ড লাইনের শুরু পর্যন্ত কার্সার অবস্থান থেকে পাঠ্য কাটাতে Ctrl+ ব্যবহার করুন U। পরে, আপনি চাইলে, কাটা পাঠ্যটি পেস্ট করতে Ctrl+ ব্যবহার Yকরুন।

আপনি যদি কেবলমাত্র বর্তমান কমান্ড লাইনটি বাতিল করতে চান এবং একটি নতুন ক্লিন প্রম্পট হিট Ctrl+ পেতে চান C

আরও রেফারেন্সের জন্য দয়া করে টার্মিনালটি ব্যবহারের জন্য উবুন্টু ডকুমেন্টেশন চেক করুন


এই উত্তর বাশ (উবুন্টু ডিফল্ট) এবং tsch উভয়ের জন্যই কাজ করে।
নিক

আমি ভেবেছিলাম ড্যাশ উবুন্টু ডিফল্ট ছিল?
ক্রিস

15
dash/bin/shকমান্ডের জন্য ডিফল্ট দোভাষী । bashডিফল্ট লগইন এবং টিটিওয়াই শেল।
darvids0n

9
আমি Ctrl + Cএকটি খারাপ অভ্যাস বলে মনে করি, যেহেতু আমি প্রায়শই ঘটনাক্রমে তাদের নিজস্ব প্রম্পট দিয়ে প্রোগ্রামগুলিতে সংকেত প্রেরণ করব, তাদের হত্যা করব এবং আমার অগ্রগতি এবং / বা গতি হারাব।
ব্যবহারকারী 606723

111

Ctrl+ + Uআপনি সাহায্য করা উচিত।

নীচে বাকি অপশন উপলব্ধ রয়েছে। এখান থেকে ধরেছে

ইউএনআইএক্স বিভিন্ন কন্ট্রোল-কি কমান্ড বুঝতে পারে, একটি দ্বিতীয় কী স্ট্রাইক করার সময় নিয়ন্ত্রণ কী (সিটিআরএল) ধরে রাখার দ্বারা প্রবেশ করা কমান্ডগুলি বোঝে

CTRL+ S- স্ক্রিনকে হিমশীতল করে এবং স্ক্রিনের কোনও প্রদর্শন চালিয়ে যাওয়া থেকে বিরত রাখে (কোনও নম্বর-স্ক্রোল কীটির সমতুল্য) (কখনও কখনও কাজ করতে কিছুক্ষণ সময় নেয়)

CTRL+ Q- স্ক্রীনটি হিমশীতল করে দেয় এবং স্ক্রিন প্রদর্শন চালিয়ে যেতে দেয়

CTRL+ C- একটি চলমান প্রোগ্রাম বাধা দেয়

CTRL+ \- সিটিআরএল - সি এর মতো তবে শক্তিশালী (যখন টার্মিনাল প্রতিক্রিয়া জানায় না তখন ব্যবহৃত হয়)

CTRL+ Z- একটি চলমান প্রোগ্রাম স্থগিত করে (প্রোগ্রামটি চালিয়ে যেতে fg কমান্ডটি ব্যবহার করুন, s $ দেখুন $

CTRL+ H- টাইপ করা শেষ অক্ষর মুছুন

CTRL+ W- টাইপ করা শেষ শব্দটি মুছে দেয়

CTRL+ U- টাইপ করা শেষ লাইনটি মুছে দেয়

CTRL+ R- ইতিহাস থেকে পাঠ্য অনুসন্ধান করে

CTRL+ D- মেল এবং লিখন সহ অনেক ইউনিক্স প্রোগ্রামের পাঠ্য ইনপুট সমাপ্ত করে।

বিঃদ্রঃ:

যখন আমরা CTRL+ Wবা CTRL+ ব্যবহার করে মুছে Uফেলি, আমরা একটি (সম্পাদনা) "কাট" (ইয়াঙ্ক ইন) অপারেশন (মুছুন এবং বাফার / ক্লিপবোর্ডে সঞ্চয়) করছেন। স্টারটি বাফার / ক্লিপবোর্ডে আটকানো (ইয়াঙ্ক আউট) করতে CTRL+ ব্যবহার করুন Y


7
প্রকৃতপক্ষে ctrl-r ইতিহাস থেকে পাঠ্য অনুসন্ধান করে।
এরিক কারভালহো

পছন্দ করেছেন উত্তর থেকে সেই বিকল্পটি সরানো হচ্ছে।
devav2

2
এগুলি জেনেরিক ইউএনআইএক্স নিয়ন্ত্রণ কোড। ডিফল্ট উবুন্টু টার্মিনালটি বাশ-ভিত্তিক, যা আলাদা।
অরেঞ্জডগ

Ctrl-U লাইনটির শুরুতে কার্সার থেকে মুছে দেয়। আমি প্রায়শই ইতিহাস থেকে কোনও আদেশে আর্গুমেন্টের ঠিক আগে কার্সার রেখে এটি ব্যবহার করি। এইভাবে, আমি একই আর্গুমেন্টগুলি ব্যবহার করে একটি নতুন কমান্ড টাইপ করতে পারি - যেমন কেট ফাইল থেকে কম ফাইল পরিবর্তন করা যাতে আমি ফাইলটি দেখার পরে এটি সম্পাদনা করতে পারি যে কোনও সম্পাদনা প্রয়োজন কিনা তা দেখার জন্য।
জো

1
@ ওরেঞ্জডগ - এগুলি ভাল - আমি আমার উবুন্টু বাশ-বাশেড টার্মিনালে সিটিআর- ব্যতীত এই সমস্তগুলি ব্যবহার করি।
belacqua

61

আমি সাধারণত Alt+ ব্যবহার করি Backspace। আপনি ব্যবহার করে থাকেন bash, তাহলে এটি আপনাকে পূর্ববর্তী বিশেষ অক্ষর (untill মুছতে দেওয়া হবে /, ;, , ইত্যাদি)। আপনি যদি ব্যবহার করেন zshতবে এটি স্ল্যাশ এবং সেমিকোলনগুলিও সরিয়ে ফেলবে। এটা ঠিক আঘাত তুলনায় অনেক দ্রুততর Backspace

ইন bash, এই থেকে ভিন্ন Ctrl+ + wইন্দ্রিয় যে Ctrl+ + wপূর্ববর্তী শব্দ কোথায় মুছে ফেলে Alt+ + Backspaceপর্যন্ত পূর্ববর্তী বিশেষ অক্ষর পাওয়া যায় মুছে ফেলা হবে। ইন zsh, উভয় মূল সংমিশ্রণ একই জিনিস করে


8
Ctrl + W একই কাজ করে।
hytromo

যদিও rxvt এর মতো টার্মিনালগুলির জন্য কাজ করবে না।
sqram

1
@ লাইরা আমার জন্য এটি এক্সটার্মে না হলেও rxvt এ পুরোপুরি কাজ করে। এবং এটি set -o emacsসেট করা থাকলে কেবল কাজ করে।
মার্কো

আমি ALT+Backspaceপাশাপাশি ব্যবহার CTRL+C। এটি যে কোনও লিনাক্সে কাজ করে। :)
tftd

@ হ্যাকারম্যানিয়া: না, এর চেয়ে আলাদা। Ctrl + W একটি শব্দ মুছে ফেলে এবং Alt + ব্যাকস্পেস পূর্ববর্তী বিশেষ অক্ষর (যতক্ষণ না মুছে ফেলে /, ;, ``, ইত্যাদি)।
জবিন

35

এখানে কীবোর্ড শর্টকাটের একটি তালিকা যা bashশেলের সাথে ব্যবহার করা যেতে পারে ।

Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L    Clears the Screen, similar to the clear command
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Lets you search through previously used commands
Ctrl + C    Kill whatever you are running or start a new prompt
Ctrl + D    Exit the current shell
Ctrl + Z    Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W    Delete the word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one word on the current line
Alt + B     Move cursor backward one word on the current line
Tab         Auto-complete files and folder names

আপনি যা করতে চাইছেন তা লাইন শেষে Ctrl+ Cবা Ctrl+ দ্বারা অর্জন করা হয়েছে U


এটি সবচেয়ে সম্পূর্ণ তালিকা, যদিও সেরা উত্তরটি হ'ল Ctrl+Cবা ( Ctrl+E Ctrl+U)
নিউ আলেকজান্দ্রিয়া

তালিকার কতটি টিসিএস-এর ক্ষেত্রে প্রযোজ্য, যা আমি আগ্রহী?
টিসিএসগ্রাড

@ shan23 "সম্পাদক কমান্ড" বিভাগটি man tcshব্যবহার করুন বা পড়ুন bindkey -l। দেখে মনে হচ্ছে এটি খুব আলাদা different
অরেঞ্জডগ

মনে রাখবেন যে আপনি যদি বাশের (বা অন্য কোনও শেলের) পঠনের জন্য vi বাইন্ডিং ব্যবহার করেন তবে এর মধ্যে কিছু ব্যর্থ হবে। এগুলি বেশিরভাগ টিসিএস-তেও প্রয়োগ করা উচিত; এই প্রাক-তারিখী বাশ। bsh csh / tcsh থেকে অনেক দুর্দান্ত ইতিহাসের শর্টকাটকেও অন্তর্ভুক্ত করেছে।
বেলাকোয়া

25

Alt+ #(অর্থাত্, Alt+ Shift+ 3) বর্তমান কমান্ডটি মন্তব্য করবে এবং পরবর্তী লাইনে চালিয়ে যাবে।

উদাহরণস্বরূপ, যদি আপনি টাইপ যদি t, e, s, t, Alt+ + #, আপনি পাবেন:

you@computer$ #test
you@computer$ 

আপনি আপনার পুরানো কমান্ড ফিরে পেতে চান, আপনি উর্ধমুখী তীর টিপুন এবং হ্যাশ চরিত্র মুছে দিতে পারেন ( Up, Home, Deleteবা Up, Ctrl+ + A, Delete)।

আমি মনে করি এটি জিএনইউ রিডলাইনের একটি বৈশিষ্ট্য , যেহেতু এটি ব্যাশ, পাইথন এবং মাইএসকিউএল এ কাজ করে।


22

Ctrl+ C- চলমান কমান্ডগুলিতে ব্যাঘাত ঘটানো ছাড়াও এটি আপনার কমান্ড লাইন ইনপুটটিকে "বাধা" দিতে ব্যবহৃত হতে পারে।

Ctrl+ এর বিপরীতে U, আপনি এখনও যা টাইপ করেছেন তা দেখতে পাবেন তবে আপনার কার্সারটি নতুন লাইনে যাবে এবং আপনি খালি কমান্ড লাইন প্রম্পট পাবেন।


4
আমি এটিকে কেবল পেশী মেমরির কারণে পছন্দ করি এবং আপনি এখনও গুরুত্বপূর্ণ কিছু অনুলিপি / পেস্ট করতে পারেন কারণ বাতিল হওয়া কমান্ড-লাইনটি সেখানে থাকে s
ish

8

আপনি যখন কমান্ড-লাইনে কাজ করছেন তখন বাশ readlineশর্টকাট Ctrl+ X+ Eখুব কার্যকর। আপনি যদি একটি দীর্ঘ কমান্ড প্রবেশ করার প্রক্রিয়াতে চলে যান এবং সিদ্ধান্ত নেন যে পরিবর্তে আপনি এটি আপনার ডিফল্ট পাঠ্য সম্পাদকটিতে খুলতে চান, আপনাকে যা করতে হবে তা হ'ল শর্টকাট ব্যবহার করা।

এটি বাশের readlineলাইব্রেরি ব্যবহার করে এবং এই বিশেষ শর্টকাটটিকে বলা হয় edit-and-execute-command। আপনি স্থাপন দ্বারা আপনার ডিফল্ট এডিটর সেট করতে পারেন export EDITOR="/usr/bin/vi"মধ্যে ~/.bashrcবা ~/.bash_aliases

bind -Pআপনার বর্তমান readlineবাইন্ডিংগুলি দেখতে প্রবেশ করুন এবং আরও তথ্যের জন্য অনলাইনে উবুন্টু ম্যানেজ করুনman readline বা পড়ুন ।


7

আমি একটি বিশেষ অক্ষর না হওয়া পর্যন্ত পূর্ববর্তী সমস্ত অক্ষর মুছতে Esc+ ব্যবহার করি Backspace। এটি হ'ল Alt+ Backspace। আপনি যদি একবারে কয়েকটি শব্দ মুছে ফেলেন তবে কার্যকর


3

জন্য viকী বাইন্ডিং

যখন আমরা একটি viমূল মানচিত্রের bashসাথে set -o viবা এর zshসাথে থাকি তখন bindkey -v:

মোড Inোকান

এটি ডিফল্ট / ইম্যাকস মোডের মতো একই কীস্ট্রোক:

Ctrl+ +U

মুছে ফেলা লাইনের শুরুতে বর্তমান অবস্থান গঠন করে। কার্সার শেষে থাকলে এটি সম্পূর্ণ লাইনটি মুছে দেয়।

স্বাভাবিক অবস্থা

দুটি কী-স্ট্রোকটিতে লাইনটি মুছে ফেলার একাধিক উপায় রয়েছে:

ddএক লাইনের ডিফল্ট গণনা সহ লাইনওয়াইজ মুছুন :

dd

যা স্পর্শকৃত কীগুলির দিক থেকে সহজতম।

আর একটি উপায় হ'ল: এর সাথে লাইন শুরু করতে যান এবং এর সাথে লাইনের ^শেষে মুছুন D:

^D

এই উভয় না শুধুমাত্র বাঁদিকে, সমগ্র লাইন মুছে ফেলতে মত Ctrl+ + Uসন্নিবেশ মোডে, অথবা বৈকল্পিক bleow।

আপনি যদি বর্তমানে লাইনের শেষে থাকেন, তাই ডানদিকে কোনও কিছুই মুছতে আপনার প্রয়োজন হবে না, এটি এছাড়াও করতে হবে:

dলাইন শুরু করতে, এখান থেকে মুছুন ^:

d^

আপনি এগুলি ইনসেট মোড থেকে ব্যবহার করতে পারেন, সাধারণ মোডে যাওয়ার জন্য প্রথমে আপনার স্বাভাবিক পালানোর প্রয়োজন। উদাহরণস্বরূপ সন্নিবেশ মোড থেকে পুরো লাইনটি মুছতে, ব্যবহার করুন:

Escdd

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