सवाल मैं अपने आदेशों को जल्दी से कैसे हटा सकता हूं?


मैं लगभग सभी कार्यों के लिए टर्मिनल का उपयोग करता हूं। मान लें कि मैंने इस तरह के एक विशाल आदेश में प्रवेश किया है:

sudo a-huge-command

मारने के बजाए, एक शॉर्टकट के साथ पूरे कमांड को हटाने का सबसे आसान तरीका क्या है बैकस्पेस कुंजी?

मैं एक उबंटू नौसिखिया हूं जो पेशेवर तरीके से उबंटू का उपयोग करना चाहता हूं।


163
2017-09-04 11:56


मूल


यह भी ध्यान देने योग्य है कि आप सेट कर सकते हैं bash (और कई अन्य गोले) vi कुंजी को समझने के लिए: set -o vi। आप तब कर सकते हैं esc, dd (या अन्यथा संपादित / प्रतिस्थापित करें जैसा कि आप vi [m] में कर सकते हैं)। - Wayne Werner
घर, '#', दर्ज करें - Alistair Buxton
यह एक सस्ता हैक है लेकिन इसके लायक होने के लिए, मैं आमतौर पर तब तक तीर-हिट करता हूं जब तक कि मैं वास्तव में कमांड कम नहीं करता (उदा। ls) और फिर बैकस्पेस - यह आमतौर पर केवल कुछ स्ट्रोक होता है, इसलिए यह इतना बड़ा नहीं होता है। - KennyPeanuts
CTRL <- दो बार टैप किया जाता है, आमतौर पर मुझे मेरी क्वेरी की शुरुआत में वापस जाने देता है .. क्या यह आपका मतलब है? - marc-andre benoit


जवाब:


उपयोग Ctrl+यू कर्सर स्थिति से कमांड लाइन की शुरुआत में पाठ काटने के लिए। बाद में, यदि आप चाहते हैं, तो उपयोग करें Ctrl+Y कट टेक्स्ट पेस्ट करने के लिए।

यदि आप केवल मौजूदा कमांड लाइन को त्यागना चाहते हैं और एक नया क्लीन प्रॉम्प्ट हिट प्राप्त करना चाहते हैं Ctrl+सी

अधिक संदर्भ के लिए कृपया उबंटू दस्तावेज़ों की जांच करें टर्मिनल का उपयोग करना


176
2017-09-04 12:03



यह उत्तर बैश (उबंटू डिफ़ॉल्ट) और tsch दोनों के लिए काम करता है। - Nick
मैंने सोचा कि डैश उबंटू डिफ़ॉल्ट था? - Chris
dash के लिए डिफ़ॉल्ट दुभाषिया है /bin/sh आदेश देता है। bash डिफ़ॉल्ट लॉगिन और टीटीवी खोल है। - darvids0n
मुझे लगता है Ctrl + C एक बुरी आदत बनने के लिए, क्योंकि मैं अकसर गलती से अपने स्वयं के संकेत के साथ कार्यक्रमों को संकेत भेजता हूं, उन्हें मारता हूं और अपनी प्रगति और / या गति खो देता हूं। - user606723


Ctrl +  यू आपकी मदद करनी चाहिए

नीचे उपलब्ध विकल्पों में से बाकी हैं। से पकड़ लिया यहाँ

यूनिक्स कई नियंत्रण-कुंजी कमांड को समझता है, दूसरी कुंजी को मारते समय आप नियंत्रण कुंजी (ctrl) दबाकर दर्ज करते हैं

CTRL + एस - स्क्रीन को फ्रीज करता है और स्क्रीन पर जारी रखने से किसी भी डिस्प्ले को रोकता है (नो-स्क्रॉल कुंजी के बराबर) (कभी-कभी काम करने के लिए एक पल लेता है)

CTRL + क्यू - स्क्रीन को अनजान करता है और स्क्रीन डिस्प्ले जारी रखता है

CTRL + सी - एक चल रहे कार्यक्रम में बाधा डालता है

CTRL + \ - CTRL - C लेकिन मजबूत के समान (टर्मिनल प्रतिक्रिया नहीं देता है)

CTRL + जेड - एक चल रहे प्रोग्राम को निलंबित करता है (प्रोग्राम जारी रखने के लिए fg कमांड का उपयोग करें, एस $ देखें

CTRL + एच - टाइप किए गए अंतिम चरित्र को हटा देता है

CTRL + डब्ल्यू - टाइप किए गए अंतिम शब्द को हटा देता है

CTRL + यू - टाइप की गई अंतिम पंक्ति हटा देता है

CTRL + आर - इतिहास से पाठ खोजता है

CTRL + डी - मेल और लिखने सहित कई यूनिक्स कार्यक्रमों के लिए टेक्स्ट इनपुट समाप्त करता है।

ध्यान दें:

जब हम उपयोग हटाते हैं CTRL + डब्ल्यू या CTRL + यू, हम एक (संपादित) "कट" (यंक इन) ऑपरेशन (बफर / क्लिपबोर्ड में डिलीट और स्टोर) भी कर रहे हैं। बफर / क्लिपबोर्ड में स्ट्रिंग पेस्ट करने के लिए (yank out) का उपयोग करें CTRL + Y


109
2017-09-04 12:04



वास्तव में इतिहास से ctrl-r खोज पाठ। - Eric Carvalho
@EricCarvalho आप सही हैं। उत्तर से उस विकल्प को हटा रहा है। - devav2
ये सामान्य यूनिक्स नियंत्रण कोड हैं। डिफ़ॉल्ट ubuntu टर्मिनल बैश-आधारित है, जो अलग है। - OrangeDog
कर्सर से लाइन की शुरुआत में Ctrl-U हटा देता है। मैं अक्सर इतिहास से कमांड के तर्कों से पहले कर्सर को रखकर इसका उपयोग करता हूं। इस तरह, मैं एक ही तर्क का उपयोग करके एक नया कमांड टाइप कर सकता हूं - जैसे केट फ़ाइल में कम फ़ाइल बदलना, ताकि मैं इसे देखने के बाद फ़ाइल को संपादित कर सकूं, यह देखने के लिए कि क्या कोई संपादन आवश्यक है या नहीं। - Joe
@ ऑरेंजडॉग - ये ठीक हैं - मैं इन सभी का उपयोग अपने उबंटू बैश-बेसहेड टर्मिनल में करता हूं, सीटीआर- \ एक के अपवाद के साथ। - belacqua


मैं आमतौर पर उपयोग कर रहा हूँ ऑल्ट+बैकस्पेस। यदि आप उपयोग कर रहे हैं bash, यह आपको पिछले विशेष चरित्र तक हटाएगा (/, ;, , आदि।)। यदि आप उपयोग कर रहे हैं zsh, यह स्लेश और अर्धविराम को भी हटा देगा। यह सिर्फ मारने से बहुत तेज है बैकस्पेस

में bash, यह अलग है Ctrl+w इस अर्थ में कि Ctrl+w पिछले शब्द wheres हटा देता है ऑल्ट+बैकस्पेस पिछले विशेष चरित्र पाया जाता है जब तक हटा देता है। में zsh, दोनों महत्वपूर्ण संयोजन एक ही काम करते हैं


61
2017-09-04 12:00



Ctrl + W वही काम करता है। - hytromo
आरएक्सवीटी जैसे टर्मिनलों के लिए काम नहीं करेगा। - sqram
@lyrae मेरे लिए यह rxvt में पूरी तरह से काम करता है, हालांकि xterm में नहीं। और यह केवल तभी काम करता है set -o emacs सेट है - Marco
मैं उपयोग करता हूं ALT+Backspace साथ ही साथ CTRL+C। यह किसी भी लिनक्स पर काम करता है। :) - tftd
@ हकरमेनिया: नहीं, यह अलग है। Ctrl + w एक शब्द हटा देता है और Alt + बैकस्पेस पिछले विशेष वर्ण तक हटा देता है (/, ;, ``, आदि)। - jobin


यहां है सूची कीबोर्ड शॉर्टकट का उपयोग किया जा सकता है 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+सी या Ctrl+यू लाइन के अंत में।


33
2017-09-04 18:42



यह सबसे पूर्ण सूची है, हालांकि सबसे अच्छा जवाब है Ctrl+C या (Ctrl+E  Ctrl+U) - New Alexandria
सूची में कितने टीसीएस पर लागू होते हैं, जिसमें मुझे रूचि है? - TCSGrad
@ shan23 के "संपादक आदेश" खंड पढ़ें man tcsh, या उपयोग करें bindkey -l। ऐसा लगता है कि यह बहुत अलग है। - OrangeDog
ध्यान दें कि यदि आप बैश (या किसी अन्य खोल की) रीडलाइन के लिए vi बाइंडिंग का उपयोग कर रहे हैं तो इनमें से कुछ विफल हो जाएंगे। इन्हें ज्यादातर टीसीएसएच पर भी लागू होना चाहिए; इन प्री-डेटेड बैश। बैश ने सीएसएच / टीसीएसएच से बहुत अच्छे इतिहास शॉर्टकट भी शामिल किए। - belacqua


ऑल्ट+# (अर्थात।, ऑल्ट+खिसक जाना+3) वर्तमान कमांड पर टिप्पणी करेगा और अगली पंक्ति पर जारी रहेगा।

उदाहरण के लिए, यदि आप टाइप करते हैं टी, , रों, टी, ऑल्ट+#, आपको मिलेगा:

you@computer$ #test
you@computer$ 

अगर आप अपना पुराना कमांड वापस प्राप्त करना चाहते हैं, तो आप ऊपर तीर दबा सकते हैं और हैश चरित्र को हटा सकते हैं (ऊपर, होम, हटाना या ऊपर, Ctrl+, हटाना)।

मुझे लगता है कि यह एक विशेषता है जीएनयू रीडलाइन, क्योंकि यह बैश, पायथन, और MySQL में काम करता है।


24
2017-09-04 17:21





 Ctrl + सी - चल रहे कमांड को बाधित करने के अलावा, इसका उपयोग आपके कमांड लाइन इनपुट को "बाधित" करने के लिए भी किया जा सकता है।

इसके विपरीत  Ctrl + यू, आप अभी भी देखेंगे कि आपने क्या लिखा है लेकिन आपका कर्सर नई लाइन पर कूद जाएगा और आपको खाली कमांड लाइन प्रॉम्प्ट मिलेगा।


22
2017-09-04 12:16



मैं इसे मांसपेशी स्मृति की वजह से पसंद करता हूं, और आप अभी भी कुछ भी महत्वपूर्ण / प्रतिलिपि बना सकते हैं क्योंकि निरस्त कमांड लाइन वहां रहती है। - ish


ज़ोर से मारना readline शॉर्टकट Ctrl+एक्स+ वास्तव में बहुत उपयोगी है जब आप कमांड लाइन पर काम कर रहे हैं। यदि आप एक लंबी कमांड दर्ज करने की प्रक्रिया में हैं और निर्णय लेते हैं कि आप इसे अपने डिफ़ॉल्ट टेक्स्ट एडिटर में खोलना चाहते हैं, तो आपको केवल शॉर्टकट का उपयोग करना होगा।

यह बैश का उपयोग करता है readline पुस्तकालय और इस विशेष शॉर्टकट को कहा जाता है edit-and-execute-command। आप रख कर अपना डिफ़ॉल्ट संपादक सेट कर सकते हैं export EDITOR="/usr/bin/vi" में ~/.bashrc या ~/.bash_aliases

दर्ज bind -P अपने वर्तमान को देखने के लिए readline बाइंडिंग और देखें man readline या उबंटू ऑनलाइन हस्तक्षेप अधिक जानकारी के लिए।


8
2017-11-14 21:06





मैं भी उपयोग करता हूँ Esc+बैकस्पेस एक विशेष चरित्र तक सभी पिछले पात्रों को हटाने के लिए। यह वही है ऑल्ट+बैकस्पेस। अगर आप एक समय में कुछ शब्द हटा रहे हैं तो हँडी।


7
2017-09-06 15:53





के लिये vi कुंजी बाइंडिंग

जब एक में vi कुंजी मानचित्र की तरह bash साथ में set -o vi या अंदर zsh साथ में bindkey -v:

मोड डालें

डिफ़ॉल्ट / emacs मोड में यह वही कीस्ट्रोक है:

Ctrl+यू

रेखा की शुरुआत के लिए मौजूदा स्थिति को हटा देना। तो अगर कर्सर अंत में है तो यह पूरी लाइन हटा देता है।

सामान्य स्थिति

दो कीस्ट्रोक में लाइन को हटाने के कई तरीके हैं:

Linewise हटाएं dd, एक पंक्ति की डिफ़ॉल्ट गणना के साथ:

कुंजी को छूने के मामले में सबसे सरल है।

एक और तरीका है: लाइन के साथ शुरू करने के लिए जाओ ^, और लाइन के अंत तक हटा दें D:

^डी

ये दोनों पूरी लाइन को हटाते हैं, न केवल बाईं ओर, जैसे Ctrl+यू सम्मिलित मोड में, या संस्करण ब्लीओ।

यदि आप वर्तमान में लाइन के अंत में हैं, तो आपको दाईं ओर कुछ भी हटाने की आवश्यकता नहीं है, यह भी करेगा:

यहां से हटाएं dलाइन की शुरुआत के लिए ^:

^

आप इन सभी को इन्सेट मोड से उपयोग कर सकते हैं, आपको सामान्य मोड पर जाने के लिए पहले सामान्य बचने की आवश्यकता है। उदाहरण के लिए सम्मिलित मोड से पूरी लाइन को हटाने के लिए, उपयोग करें:

Esc


3
2017-09-15 03:48