Terkadang, saat menyalin-menempelkan teks dari output perintah, saya tidak sengaja akan menggunakan Ctrl+ calih-alih Ctrl+ Shift+ c.
Jadi baris perintah mengartikannya sebagai ^C
...
Kenapa ini? Mengapa baris perintah menginterpretasikan controlinput ^
?
command-line
TellMeWhy
sumber
sumber
^
sebagai simbol untuk "kontrol" tanggal kembali ke masa pra-grafis ketika terminal hanya teks, dan saya percaya bahkan sebelum itu ketika kita memiliki kartu dan kertas, tidak ada terminal. Saya ingin tahu mengapa tanda sisipan dipilih sebagai simbol.Karena CTRL+ KEYkombo ditafsirkan oleh terminal sebagai karakter ASCII yang tidak dapat dicetak, dan sebagai karakter yang tidak dapat dicetak, Anda memerlukan cara untuk mewakilinya.
Konvensi, yang berasal dari terminal VT dengan dukungan ANSI , adalah untuk mewakili CTRL+ KEYkombo yang mewakili CTRLdengan tanda sisipan (
^
) dan KEYdengan KEY.sumber
Saat menyalin dan menempel ke / dari terminal, adalah praktik terbaik untuk menggunakan jalan pintas Ctrl+ Insertdan Shift+ Insertmasing-masing.
Ini adalah jalan pintas yang lebih tradisional untuk digunakan terminal, meskipun Anda akan perhatikan bahwa dalam lingkungan X grafis Ctrl+ Insertdan Shift+ Insertterikat sama Ctrl+ Cdan Ctrl+ V.
Di sebagian besar terminal Ctrl+ C(diwakili oleh
^C
) digunakan untuk menghentikan eksekusi suatu proses, maka menyisipkan dengan jalan pintas itu tidak akan berhasil.Untuk menyalin dan menempelkan dengan cepat, Anda dapat memanfaatkan buffer utama X dengan menyorot teks apa pun yang ingin Anda salin, dan kemudian mengklik tengah tempat Anda ingin menempelkannya. Tidak perlu keyboard.
sumber
^C
atau yang serupa muncul saat menekan CTRL + C (atau CTRL + huruf lain). Ini bukan tentang bagaimana cara menyalin dan menempel dengan benar di terminal, yang jawabannya sangat bagus.Anda harus menggunakan Ctrl+ Cdan bukan Shift+ Ctrl+ C, karena pada baris perintah, mereka melakukan hal yang sama (dan Ctrl+ Clebih mudah daripada Shift+ Ctrl+ C). Itu mungkin tidak benar dalam lingkungan grafis tertentu di mana GUI menangkap beberapa penekanan tombol dan melakukan sesuatu yang istimewa, tetapi jika penekanan tombol benar-benar dikirim ke baris perintah, maka tidak ada perbedaan. Inilah sebabnya mengapa menekan Ctrl+ Cdapat menunjukkan ^ C sebagai huruf kapital C, bukan huruf kecil C. Baris perintah tidak membedakan mana yang Anda tekan (dan huruf besar mungkin dianggap lebih mudah dibaca). Ini berlaku untuk surat; untuk karakter lain, Shiftmungkin berpengaruh.)
Menekan Ctrl- Cmengirimkan kode ASCII yang 64 di bawah posisi huruf besar dalam tabel ASCII (dan 96 kurang dari posisi huruf kecil dalam tabel ASCII). Jadi menekan Ctrl- c(huruf kecil) mengirimkan kode ASCII 3 (yang 64 kurang dari Ckode ASCII modal 67). Di banyak lingkungan, Anda dapat menahan Altdan kemudian menekan 3numpad (dan kemudian lepaskan 3tombol, dan kemudian lepaskan Alttombol) dan Anda mungkin mendapatkan efek yang sama.
Mengenai ^ C, ^ hanyalah singkatan yang terkenal untuk Ctrlkunci " ". Demikian pula, M- adalah singkatan untuk Altkunci " ". Err, yeah. M singkatan dari kata "Meta", yang dapat dimasukkan dengan memegang Altdan menekan apa pun yang terjadi berikutnya, atau kadang-kadang dengan menekan Esc(dan melepaskan Esc) dan kemudian menekan apa pun yang datang berikutnya. Artikel Wikipedia tentang "Kunci Kontrol": "Notasi" menggambarkan ini sebagai "Notasi tradisional". Ini juga dikenal sebagai Caret Notation ( artikel Wikipedia tentang notasi Caret , Unix StackExchange: pertanyaan ryvnf tentang Caret Notation ).
Mengenai pertanyaan terakhir, shell perintah tidak "menafsirkan" apa pun menjadi tanda sisipan. Dengan kata lain, cangkang tidak membaca apa-apa, dan percaya bahwa itu adalah tanda sisipan. Apa yang terjadi adalah bahwa shell menggunakan notasi tanda kurung terkenal untuk output. Sebagai contoh lain, Anda dapat melihat pager terkenal, "kurang", menggunakan notasi tanda sisipan dengan menjalankan:
dd if=/dev/zero bs=64 count=1 | less
(Editor teks "nano" juga menggunakan notasi tanda sisipan dalam bantuan daringnya, termasuk layar penuh bantuan online yang ditampilkan setelah menekan ^ G, alias Ctrl- g.)
sumber