คำถามติดแท็ก terminal

เทอร์มินัลคือสภาพแวดล้อมสำหรับการป้อน / ส่งข้อความ ภายในเทอร์มินัลหนึ่งรันโปรแกรมบรรทัดคำสั่งและโหมดข้อความ (รวมถึงเปลือกหอย)

2
คำสั่ง sftp เพื่อรับ / ดาวน์โหลดไฟล์. tar.gz
ฉันคิดว่าฉันคุ้นเคยกับsftpคำสั่งในระบบปฏิบัติการยูนิกซ์และมากถึงความรู้ของฉันคำสั่งที่ใช้ในการดาวน์โหลดcompressedไฟล์จากเซิร์ฟเวอร์คือ sftp รับ filename.tar.gz แต่เมื่อฉันลองคำสั่งนี้ไฟล์จะว่างเปล่าฉันหมายความว่าขนาดไฟล์จะเป็น 0 และฉันไม่รู้ว่าทำไมมันถึงเกิดขึ้น มีคำสั่งอื่นสำหรับ.tar.gzชนิดของไฟล์โดยเฉพาะหรือไม่ ขั้นตอนในการรับไฟล์บีบอัดนี้คืออะไร ฉันใช้ขั้ว mac
16 terminal  osx  scp  sftp 

2
โปรแกรมส่งออกไปยังที่อื่นนอกเหนือจาก STDOUT / STDERR อย่างไร จะหลีกเลี่ยงได้อย่างไร
เห็นได้ชัดว่าฉันไม่ทราบปลายทางปลายทางทั้งหมดที่พร้อมใช้งาน ฉันรู้เกี่ยวกับstdout( &1) และstderr( &2) อย่างไรก็ตามหลังจากเปลี่ยนเส้นทางทั้งสองอธิบายบางครั้งฉันยังคงได้รับผลลัพธ์บางอย่างในคอนโซลของฉัน! ตัวอย่างที่ง่ายที่สุดที่ฉันนึกได้ก็คือ GNU Parallel ทุกครั้งที่ฉันใช้มันฉันเห็นประกาศการอ้างอิง แม้เมื่อฉันทำ&2>1 > fileฉันก็ยังเห็นประกาศ และเช่นเดียวกับemerge: เมื่อฉันวิ่งออกมาและมีปัญหาบางอย่างข้อมูลบางอย่างจะไม่ถูกพิมพ์ออกไปstdoutหรือstdinเนื่องจากฉันเปลี่ยนเส้นทางพวกเขาและพวกเขายังคงผ่าน ฉันใช้วิธีแก้ปัญหาเหล่านี้เป็นส่วนใหญ่scriptแต่ฉันก็ยังสงสัยว่าอะไรทำให้เกิดปัญหานี้

3
ความยาวและความกว้างของเทอร์มินัลส่งต่อผ่าน SSH และ telnet อย่างไร
เมื่อฉันดูความยาวและความกว้างของเทอร์มินัลอีมูเลเตอร์ของฉันด้วยความstty sizeยาว 271 ตัวอักษรและ 71 บรรทัดสูง เมื่อฉันเข้าสู่เซิร์ฟเวอร์อื่นผ่าน SSH และดำเนินการstty sizeแล้วก็มี 271 ตัวอักษรและ 71 บรรทัดสูง ฉันยังสามารถลงชื่อเข้าใช้อุปกรณ์ Cisco IOS และเทอร์มินัลยังมีความยาว 271 ตัวอักษรและสูง 71 บรรทัด: C1841#show terminal | i Len|Wid Length: 71 lines, Width: 271 columns C1841# ตอนนี้ถ้าฉันปรับขนาดหน้าต่างเทอร์มินัลอีมูเลเตอร์ (เทอร์มินัล Gnome) ในเครื่องท้องถิ่นทั้งstty sizeในเซิร์ฟเวอร์ระยะไกลและ "เครื่องปลายทาง" ใน IOS แสดงความยาวบรรทัดที่แตกต่างกันและจำนวนบรรทัด ความยาวและความกว้างของเทอร์มินัลส่งต่อผ่าน SSH และ telnet อย่างไร
15 ssh  terminal  telnet  stty 

3
สลับไปมาระหว่างแท็บต่างๆใน gnome-terminal ด้วยคีย์บอร์ดหรือไม่
เมื่อฉันสร้างแท็บใหม่gnome-terminalด้วยCtrl+ Shift+ tฉันจะสลับไปมาระหว่างแท็บโดยใช้แป้นพิมพ์ได้อย่างไร ตัวอย่างเช่นใน Google Chrome แป้นพิมพ์ลัดคือCtrl+ Tab(ไปข้างหน้า) และCtrl+ Shift+ Tab(ย้อนกลับ) ฉันใช้ Linux Mint 14 Cinnamon

4
คัดลอก / วางการเลือกข้อความระหว่าง tmux และคลิปบอร์ด
ฉันกำลังเรียกใช้ tmux รุ่นล่าสุด (จากที่เก็บ git) และ xclip (0.12) และฉันต้องการใช้การผูกคีย์บอร์ดของ Emacs เหมือนเพื่อเลื่อนไปมากับข้อความcopy-modeคัดลอก ( M-w) ตัวเลือกไปยังคลิปบอร์ดและ วาง ( C-y) จาก / ไปยังบัฟเฟอร์การคัดลอกไปยังคลิปบอร์ด จนถึงตอนนี้ฉันสามารถวางข้อความด้วยC-yและย้ายไปรอบ ๆcopy-modeด้วยการผูกคีย์บอร์ด Emacs เหมือน แต่ฉันยังคงไม่สามารถคัดลอกข้อความจาก tmux buffer (เช่นในcopy-mode) ฉันพบกระทู้นี้สำหรับการคัดลอกบัฟเฟอร์ทั้งหมดไปยังคลิปบอร์ด (และ viceversa) แต่ดูเหมือนจะไม่ทำงานสำหรับฉัน นอกจากนี้ในtmux-usersรายชื่ออีเมลผมก็บอกว่ารุ่นล่าสุดของ tmux (เฉพาะใน repo คอมไพล์) copy-pipeจัดให้มีคำสั่งที่เรียกว่า หน้าคนพูดเกี่ยวกับคำสั่งนี้ต่อไปนี้: หนึ่งคำสั่งในการยอมรับอาร์กิวเมนต์คัดลอกไพพ์ซึ่งคัดลอกส่วนที่เลือกและไพพ์ไปยังคำสั่ง ตัวอย่างเช่นต่อไปนี้จะผูก 'C-q' เพื่อคัดลอกส่วนที่เลือกลงใน / tmp เช่นเดียวกับการวางบัฟเฟอร์: bind-key -temacs-copy C-q copy-pipe …

4
รับความกว้างคอนโซลโดยใช้สคริปต์ทุบตี
ฉันพบปัญหาที่ฉันพยายามเพิ่มขนาดของเทอร์มินัลโดยใช้สคริปต์ โดยปกติแล้วฉันจะใช้คำสั่งtput colsภายในคอนโซล แต่ฉันต้องการที่จะสามารถบรรลุคุณสมบัตินี้โดยใช้สคริปต์อย่างเคร่งครัด ณ ตอนนี้ฉันสามารถตรวจจับคอนโซลการทำงานและรับเส้นทางไฟล์ของมันได้ อย่างไรก็ตามฉันพยายามที่จะใช้ข้อมูลนี้เพื่อให้ได้ความกว้างของคอนโซล ฉันพยายามใช้คำสั่งtputแต่ฉันค่อนข้างใหม่สำหรับ Linux / สคริปต์ดังนั้นจึงไม่รู้จริงๆว่าต้องทำอย่างไร เหตุผลในการทำเช่นนี้คือฉันต้องการที่จะสามารถตั้งค่ารายการcronที่แจ้งคอนโซลของความกว้าง / คอลัมน์ทุกครั้ง นี่คือรหัสของฉัน: tty.sh #!/bin/bash #Get PID of terminal #terminal.txt holds most recent PID of console in use value=$(</home/test/Documents/terminal.txt) #Get tty using the PID from terminal.txt TERMINAL="$(ps h -p $value -o tty)" echo $TERMINAL #Use tty to get …

3
ทำไม 'echo $ 0' ให้ผลลัพธ์ที่ต่างกันสำหรับเทอร์มินัลสองเครื่องที่แตกต่างกัน
ฉันเปิดเทอร์มินัลบน Ubuntu โดยใช้Ctrl+ Alt+ Tและเทอร์มินัลอื่นโดยไปที่ไดเรกทอรีแล้วคลิกขวาและเลือก "เปิดในเทอร์มินัล" ฉันทำecho $0ทั้งสองกรณี ในกรณีแรก: $ echo $0 -bash ในกรณีที่สอง: $ echo $0 /bin/bash ทำไมความแตกต่างนี้

4
คัดลอกและวางในเทอร์มินัลโดยไม่มี SHIFT
ในการเลียนแบบขั้วทุกสิ่งที่ฉันรู้Ctrlที่จะใช้สำหรับการส่งรหัสควบคุมเช่นCtrl+ Cและ+Ctrl Zในระบบส่วนใหญ่สิ่งนี้ขัดแย้งกับแป้นพิมพ์ลัดทั่วไป ดังนั้นในทุกระบบยกเว้น OS X CtrlShiftนั้นใช้สำหรับการคัดลอกและอื่น ๆ ซึ่งฉันคิดว่าน่ารำคาญจริงๆ หากฉันได้รับเงินทุกครั้งที่ฉันเปิดตัวตรวจสอบ Firefox โดยไม่ตั้งใจฉันก็จะรวย ฉันพยายามเลียนแบบพฤติกรรมการใช้Cmdแป้นพิมพ์ลัดของแอปเปิ้ลแต่นี่เป็นไปไม่ได้ที่จะประสบความสำเร็จในเดสก์ท็อปทั้งหมด อีกทางเลือกหนึ่งคือการใช้ชุดค่าผสมอื่นสำหรับการส่งรหัสควบคุม มีเทอร์มินัลอีมูเลเตอร์ที่รองรับสิ่งนี้หรือไม่? ฉันพบว่าซากุระอนุญาตให้ตั้งค่าตัวปรับสำหรับคอมโบคีย์ แต่ไม่ใช่สำหรับตัวควบคุม คุณลักษณะที่พึงประสงค์อีกประการหนึ่งคือการพันบรรทัดแบบไม่ยุ่ง แต่ก็มีความสำคัญรอง

5
เปิดไฟล์ข้อความในเทอร์มินัลและรีเฟรชอัตโนมัติเมื่อใดก็ตามที่มีการเปลี่ยนแปลง
ฉันจะเปิดไฟล์ข้อความในเทอร์มินัลด้วยการรีเฟรชอัตโนมัติทันทีทุกครั้งที่มีการเปลี่ยนแปลงได้อย่างไร ฉันได้มองที่vimมี:set autoreadแต่ต้องใช้การป้อนข้อมูลประถมบางอย่าง (เช่นภายในปุ่มกดvim) ที่จะเรียกการฟื้นฟู ฉันต้องการให้รีเฟรชอัตโนมัติเป็นแบบแฮนด์ฟรี มีแฮ็คที่จะทำเช่นนี้? ฉันใช้ Crunchbang 11 แต่ฉันรู้สึกสบายใจกับเครื่องเทอร์มินัล
15 terminal  text 

2
การล้างหน้าจอ GNU หลังจากแอปพลิเคชันเต็มหน้าจอ
เมื่อทำงานที่ xterm ปกติ (ไม่แน่ใจเกี่ยวกับเทอร์มินัล "ของจริง") เมื่อปิดโปรแกรมแบบเต็มหน้าจอเช่น man หรือ vim โปรแกรมจะหายไปออกจากหน้าจอเพื่อให้คุณเห็นข้อความแจ้งเตือนและหน้าจอก่อนหน้าของคุณ เปิดตัวโปรแกรมที่ปิด เมื่อฉันทำงานภายในหน้าจอ GNU แต่เมื่อปิดโปรแกรมแล้วมันไม่ชัดเจน แต่เลื่อนขึ้นเพื่อให้สามารถแสดงพรอมต์ได้ สำหรับฉันนี่น่าเกลียดและฉันต้องการทราบว่าพฤติกรรม "ปกติ" สามารถกลับมาทำงานต่อได้หรือไม่ ฉันรู้ว่าฉันสามารถล้างหน้าจอด้วยตนเองได้ด้วยตนเอง แต่ a) ฉันไม่ต้องการและ b) ที่จะส่งผลให้หน้าจอที่ชัดเจนโดยสิ้นเชิงไม่ใช่สิ่งที่ฉันหลังจาก (แม้ว่าอาจจะดีกว่าถ้าเป็นสิ่งที่ดีที่จะได้รับ) .

5
วิธีการจำคำสั่งก่อนหน้า (โดยไม่มีการดำเนินการ) เพื่อเปลี่ยนคำสั่ง?
ฉันจำเคล็ดลับที่ฉันไม่สามารถเรียกใช้คำสั่งล่าสุดโดยไม่เรียกใช้: สมมติว่าฉันต้องการที่จะสามารถเข้าถึงคำสั่งได้! 1255 เมื่อกดปุ่มลูกศรขึ้นและแก้ไขคำสั่ง ดังนั้นเคล็ดลับในการเรียกคำสั่งทำให้มันปรากฏขึ้นในบรรทัดคำสั่ง แต่ไม่ได้ดำเนินการและหลังจากนั้นสามารถเข้าถึงได้ผ่านทางปุ่มลูกศรขึ้น? ฉันพยายามใส่เสียงก้อง แต่จากนั้นฉันก็มีเสียงก้องต่อคำสั่งฉันจำไม่ได้ว่าทำอย่างถูกต้อง

5
เทอร์มินัลวินเทจสำหรับ Ubuntu
ดังนั้นฉันเพิ่งได้รับการแนะนำให้รู้จักกับ Cathode สำหรับ OSX และฉันรู้สึกทึ่งกับความคลาสสิคของสไตล์ย้อนยุคในยุค 1970 ไม่มีใครรู้เกี่ยวกับโปรแกรม / แพ็คเกจใด ๆ ที่ฉันสามารถดาวน์โหลดเพื่อทำให้เครื่องของฉันกลายเป็นกีฬาที่ดูดีหรือไม่? หากไม่มีแพ็คเกจให้ตั้งค่าฉันสามารถเปลี่ยนเทอร์มินัล Ubuntu 14.04 ได้หรือไม่ สำหรับผู้ที่ไม่รู้จัก Cathode ฉันจะโพสต์ภาพโดยอ้างอิงถึงสิ่งที่ฉันต้องการจะมีในเครื่อง: ข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่แคโทดสามารถพบได้ในลิงค์นี้: ข้อมูลแคโทด

3
ฉันจะได้รับ Ctrl + Alt + t เพื่อเปิดเทอร์มินัลนั้นใน Linux Mint 13 MATE ได้อย่างไร
การกดCtrl+ Alt+ tดูเหมือนว่าจะไม่ทำอะไรกับ Linux Mint 13 MATE ของฉัน ฉันจะตั้งค่าทางลัดนี้เพื่อเปิดหน้าต่างเทอร์มินัลได้อย่างไร ดังรายละเอียดดูเหมือนว่าขั้วคือมากกว่าmate-terminalgnome-terminal

6
Telnet ส่ง Ctrl-C
ฉันใช้ telnet เพื่อเชื่อมต่อกับเซิร์ฟเวอร์เทอร์มินัลซึ่งพร็อกซีการรับส่งข้อมูลไปยังพอร์ต RS-232 น่าเสียดายที่เมื่อใช้อุปกรณ์บางอย่างมันเป็นไปไม่ได้ที่จะส่งตัวอักษรCTRL+ C(0x03) แทนที่จะส่งตัวละครดูเหมือนว่าลูกค้าในพื้นที่จะได้รับการกดแป้นและฉันก็ออกจาก "โหมดอื่น ๆ " สิ่งที่ฉันต้องการก็แค่ส่งตัวละคร เพื่อแก้ไขข้อบกพร่องนี้ฉันได้เล่นกับ: ^] toggle termdata และ ^] toggle options นี่คือสิ่งที่เกิดขึ้นเมื่อฉันกดCTRL+ Cบนเซิร์ฟเวอร์เทอร์มินัลซึ่งไม่ทำงาน: telnet 10.10.129.101 2012 Trying 10.10.129.101... Connected to termserv-val3 (10.10.129.101). Escape character is '^]'. ^] telnet> toggle options Will show option processing. ^] telnet> toggle termdata Will print hexadecimal representation …

4
Escape sequences ในเอาต์พุตของสคริปต์ที่เรียกจากแอ็พพลิเคชัน ncurses
ขณะนี้ฉันกำลังเรียกใช้ mcabber เป็นลูกค้า Jabber ของฉัน (ซึ่งใช้ ncurses) ในเซสชั่น tmux บน homeserver ของฉัน ในพื้นที่ฉันเรียกใช้ iTerm2 เป็นเทอร์มินัลอีมูเลเตอร์ซึ่งรองรับการกระตุ้นการแจ้งเตือนคำรามผ่านลำดับการหลีกเลี่ยงตัวละคร หมายเหตุ: ทั้งหมดechoในคำถามนี้ทำงานเหมือนprintf %bหรือecho -eในทุบตีและ echoGNU เช่นecho "\e]9;foobar\007"ทำให้ iTerm2 ส่งข้อความคำรามด้วยข้อความ "foobar" อย่างไรก็ตามเมื่ออยู่ในเซสชั่น tmux ลำดับการหลีกเลี่ยงจะถูกทำลาย ดังนั้นการใช้ลำดับ escape character ที่เป็นกรรมสิทธิ์\Ptmuxสามารถใช้ดังนี้: echo "\ePtmux;\e\e]9;foobar\007\e\\" สิ่งนี้ทริกเกอร์ข้อความคำรามจากภายในเซสชัน tmux อย่างไรก็ตามเมื่อฉันใช้สิ่งนี้ในสคริปต์เหตุการณ์ mcabber ของฉันที่ถูกไล่ออกเมื่อได้รับข้อความใหม่จะไม่มีการแจ้งเตือนใด ๆ ขึ้นมาราวกับว่าเสียงสะท้อนถูกส่งไปยังเทอร์มินัลผิด ฉันคิดว่าสิ่งนี้เกี่ยวข้องกับ mcabber ซึ่งเรียกสคริปต์ว่าเป็นแอปพลิเคชัน ncurses ดังนั้นผลลัพธ์จากสคริปต์ทุบตีปกติของฉันจะหายไปและ iTerm 2 ไม่เคยเห็นเลย ฉันพยายามโทร …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.