คำถามติดแท็ก special-characters

ถ้ามันมีความหมายนอกเหนือจากความหมายตามตัวอักษรเมตา - ความหมายแล้วเราเรียกมันว่าเป็นตัวละครพิเศษ

11
`^ M` คืออะไรและฉันจะกำจัดมันได้อย่างไร
เมื่อฉันเปิดไฟล์vimฉันเห็น^Mตัวละครแปลก ๆ น่าเสียดายที่เสิร์ชเอนจิ้นที่ชื่นชอบในโลกไม่สามารถใช้อักขระพิเศษในการค้นหาได้ดีดังนั้นฉันจึงถามที่นี่: ^Mตัวละครนี้คืออะไร? มันจะไปได้อย่างไรที่นั่น? ฉันจะกำจัดมันได้อย่างไร

2
เป็นกลุ่มภูมิคุ้มกันเพื่อคัดลอกวางโจมตี?
คุณควรจะไม่เคยวางจากเว็บไปยังสถานีของคุณ คุณควรวางลงในโปรแกรมแก้ไขข้อความแทนตรวจสอบคำสั่งแล้ววางลงในเทอร์มินัล ไม่เป็นไร แต่ถ้าฉันเป็นตัวแก้ไขข้อความแล้วล่ะ? หนึ่งสามารถปลอมเนื้อหาที่เปลี่ยนเป็นกลุ่มคำสั่งโหมดและดำเนินการคำสั่งที่เป็นอันตรายหรือไม่

7
ไม่สามารถใช้เครื่องหมายอัศเจรีย์ (!) ในการทุบตี?
ฉันพยายามใช้คำสั่ง curl เพื่อเข้าถึง http url ด้วยเครื่องหมายอัศเจรีย์ ( !) ในเส้นทาง เช่น: curl -v "http://example.org/!287s87asdjh2/somepath/someresource" bash: ... event not foundคอนโซลตอบกลับด้วย เกิดขึ้นที่นี่คืออะไร? และไวยากรณ์ที่เหมาะสมในการหลีกเลี่ยงเครื่องหมายอัศเจรีย์คืออะไร

7
มันปลอดภัยแค่ไหนที่จะวาง cat ไฟล์ตามอำเภอใจ?
บางครั้งเมื่อฉันcatไฟล์ไบนารีโดยไม่ตั้งใจเทอร์มินัลของฉันก็สับสน ไม่มีอะไรที่รวดเร็วresetไม่สามารถแก้ไขได้ แต่ผู้โจมตีไม่สามารถสร้างไฟล์ตามทฤษฎีซึ่งเมื่อแสดงบนเทอร์มินัลจะสามารถเรียกใช้รหัสโดยอำเภอใจได้หรือไม่? ผ่านช่องโหว่ในเทอร์มินัลอีมูเลเตอร์หรืออย่างอื่น

16
ฉันจะลบไฟล์ที่ชื่อไฟล์มีอักขระที่ไม่ได้พิมพ์ได้อย่างไร
ฉันพยายามสร้างไฟล์ที่ดูเหมือนจะไม่มีชื่อไฟล์ ฉันพบข้อมูลบางอย่างเกี่ยวกับวิธีรับรายละเอียดเพิ่มเติมของไฟล์ในเธรดต่อไปนี้ อย่างไรก็ตามฉันลองใช้คำแนะนำที่ปรากฏและไม่สามารถลบไฟล์ได้ ฉันไม่แน่ใจว่าสิ่งที่ฉันทำเพื่อสร้างมัน แต่มันเกิดขึ้นขณะพยายามคัดลอกไฟล์ xml ข้อมูลบางอย่างเกี่ยวกับไฟล์มีดังนี้ > ls -lb total 296 -rw-r--r-- 1 voyager endeavor 137627 Jan 12 12:49 \177 > file * : XML document > ls -i 417777 ฉันพยายามค้นหาโดยใช้สวิตช์ inum จากนั้นก็เป่าไปที่ rm เพราะดูเหมือนจะเป็นวิธีที่ไม่น่าเชื่อถือที่สุดในการกำจัดมัน อย่างไรก็ตามตัวอย่างที่ให้ไว้ที่ด้านล่างของเธรดที่ลิงก์ด้านล่างล้มเหลวสำหรับฉัน ตัวอย่างคือ: > find -inum 41777 -exec ls -al {} \; find: illegal option …

10
การจัดการกับชื่อไฟล์ด้วยอักขระตัวแรกพิเศษ (เช่น♫)
ฉันเพิ่งเจอไฟล์ที่ชื่อขึ้นต้นด้วยตัวอักษร '♫' ฉันต้องการคัดลอกไฟล์นี้ให้อาหารมันffmpegและอ้างอิงในรูปแบบอื่น ๆ ใน terminal ฉันมักจะเติมชื่อไฟล์แปลก ๆ ให้โดยอัตโนมัติ แต่สิ่งนี้ล้มเหลวเนื่องจากฉันไม่สามารถพิมพ์อักษรตัวแรกได้ ฉันไม่ต้องการเปลี่ยนไปใช้เมาส์เพื่อดำเนินการทำสำเนาวาง ฉันไม่ต้องการจดจำรหัสจำนวนมากสำหรับสถานการณ์ที่เป็นไปได้ โซลูชันเฉพาะกิจของฉันคือการสลับvimวาง!lsและคัดลอกอักขระที่เป็นปัญหาจากนั้นออกและวางลงในเทอร์มินัล มันใช้งานได้ แต่ก็ค่อนข้างน่ากลัว มีวิธีที่ง่ายกว่าในการจัดการกับสถานการณ์ดังกล่าวหรือไม่? หมายเหตุ:ฉันกำลังใช้ตู้ปลาถ้ามันเปลี่ยนสิ่งต่าง ๆ

2
จะหลีกเลี่ยงการโจมตีแบบ escape sequence ในเทอร์มินอลได้อย่างไร?
การอ่านรายละเอียดของ CVE-2009-4487 (ซึ่งเกี่ยวกับอันตรายของลำดับการหลบหนีในล็อกไฟล์)ฉันรู้สึกประหลาดใจเล็กน้อย ในการอ้างอิงCVE-2009-4487 : nginx 0.7.64 เขียนข้อมูลลงในไฟล์บันทึกโดยไม่ต้องฆ่าตัวละครที่ไม่สามารถพิมพ์ได้ซึ่งอาจทำให้ผู้โจมตีจากระยะไกลสามารถแก้ไขชื่อของหน้าต่างหรืออาจเรียกใช้คำสั่งตามอำเภอใจหรือเขียนทับไฟล์ผ่านคำขอ HTTP ที่มีลำดับการหลบหนี เห็นได้ชัดว่านี่ไม่ได้เกี่ยวกับรูความปลอดภัยใน nginx แต่ในเทอร์มินัลอีมูเลเตอร์ แน่นอนว่าบางทีcatการบันทึกไฟล์ไปยังเครื่องเทอร์มินัลนั้นเกิดขึ้นโดยบังเอิญเท่านั้น แต่grepการใช้ไฟล์บันทึกนั้นเป็นเรื่องปกติ lessบางที sanitizes escape sequences แต่ใครจะรู้ว่าคำสั่ง shell ใดไม่เปลี่ยนลำดับ escape ... ฉันมักจะเห็นด้วยกับการตอบสนองวานิช : ภูมิปัญญาของเทอร์มินัล - การตอบสนอง - การหลบหนีโดยทั่วไปถูกตั้งคำถามอย่างสม่ำเสมอ แต่ก็ยังไม่มีโปรแกรมการจำลองเทอร์มินัลใหญ่ ๆ ที่เห็นว่าเหมาะสมที่จะละทิ้งลำดับเหล่านี้ซึ่งอาจเป็นไปได้ [.. ] แทนที่จะโทษใด ๆ และทุกโปรแกรมที่เขียน logfiles มันจะมีประสิทธิผลมากขึ้นจากมุมมองด้านความปลอดภัยเพื่อให้โปรแกรมการจำลอง terminal หยุดหยุดทำสิ่งที่โง่และแก้ไขปัญหาความปลอดภัยนี้และอื่น ๆ อีกครั้ง และสำหรับทุกคน ดังนั้นคำถามของฉัน: ฉันจะรักษาความปลอดภัย xterm ของฉันได้อย่างไรซึ่งจะไม่สามารถดำเนินการคำสั่งหรือเขียนทับไฟล์ผ่านทางลำดับการหลีกเลี่ยงได้อีกต่อไป? …

3
ตัวแก้ไข Mode_switch คืออะไร
เล่นกับผมพบคีย์ปรับปรุงฉันไม่เคยได้ยินของ:xmodmap Mode_switchดูเหมือนว่าจะมีบางอย่างเกี่ยวกับการแทรกอักขระพิเศษ ฉันกำหนดให้คีย์ แต่ดูเหมือนว่าจะไม่มีผลกระทบ มีไว้เพื่ออะไร? มันแตกต่างจากISO_Level3_Shift(Alt Gr)หรือไม่?

3
ทำความเข้าใจเกี่ยวกับการเข้ารหัสชื่อไฟล์ Unix
ฉันมีความเข้าใจยากว่าการเข้ารหัสชื่อไฟล์ทำงานอย่างไร ในยูนิกซ์ฉันพบคำอธิบายที่ขัดแย้ง ชื่อไฟล์จะถูกเก็บไว้เป็นตัวละคร เพื่ออ้างอิงคำตอบอื่น: คำถามหลายข้อเกี่ยวกับการเข้ารหัสอักขระระบบไฟล์บน linux […] ดังที่คุณพูดถึงคำถามของคุณชื่อไฟล์ UNIX เป็นเพียงลำดับของอักขระ เคอร์เนลไม่รู้อะไรเกี่ยวกับการเข้ารหัสซึ่งเป็นแนวคิดของพื้นที่ผู้ใช้ (เช่นระดับแอปพลิเคชัน) หากชื่อไฟล์ถูกจัดเก็บเป็นตัวอักษรจะต้องมีการเข้ารหัสบางอย่างเนื่องจากในที่สุดชื่อไฟล์จะต้องลงท้ายด้วยลำดับบิตหรือไบต์บนดิสก์ หากผู้ใช้สามารถเลือกการเข้ารหัสใด ๆเพื่อแมปอักขระกับลำดับไบต์ที่ป้อนไปยังเคอร์เนลเป็นไปได้ที่จะสร้างลำดับไบต์ใด ๆสำหรับชื่อไฟล์ที่ถูกต้อง สมมติว่าต่อไปนี้: ผู้ใช้ใช้การเข้ารหัสแบบสุ่มXซึ่งแปลไฟล์fooเป็นลำดับไบต์αและบันทึกลงดิสก์ อีกประการหนึ่งการใช้งานของผู้ใช้การเข้ารหัสY ในการเข้ารหัสนี้αแปลเป็น/ซึ่งไม่อนุญาตให้ใช้เป็นชื่อไฟล์ อย่างไรก็ตามสำหรับผู้ใช้คนแรกไฟล์นั้นถูกต้อง ฉันคิดว่าสถานการณ์นี้ไม่สามารถเกิดขึ้นได้ ชื่อไฟล์จะถูกจัดเก็บเป็นไบนารี blobs เพื่ออ้างอิงคำตอบอื่น: การ เข้ารหัสชุดอักขระใดที่ใช้สำหรับชื่อไฟล์และเส้นทางบน Linux ดังที่ผู้อื่นระบุไว้ไม่มีคำตอบสำหรับเรื่องนี้จริงๆ: ชื่อไฟล์และเส้นทางไม่มีการเข้ารหัส ระบบปฏิบัติการเกี่ยวข้องเฉพาะกับลำดับของไบต์เท่านั้น แอปพลิเคชั่นส่วนบุคคลอาจเลือกที่จะตีความว่าเป็นการเข้ารหัสในบางวิธี แต่สิ่งนี้แตกต่างกันไป หากระบบไม่จัดการกับตัวละครห้ามมีการห้ามเฉพาะอักขระ (เช่น/หรือNULL) ในชื่อไฟล์ได้อย่างไร ไม่มีแนวคิดเกี่ยวกับ/ การเข้ารหัส คำอธิบายจะเป็นระบบไฟล์ที่สามารถจัดเก็บชื่อไฟล์ที่มี ตัวอักษรใด ๆและเป็นเพียงโปรแกรมผู้ใช้ที่ใช้การเข้ารหัสเข้าบัญชีที่จะทำให้หายใจไม่ออกในชื่อไฟล์ที่มีอักขระที่ไม่ถูกต้อง ซึ่งในที่สุดก็หมายถึงว่าระบบไฟล์และเคอร์เนลกระป๋องไม่มีปัญหาใด ๆ /ชื่อจับไฟล์ที่มี ฉันก็คิดว่านี่เป็นสิ่งที่ผิด การเข้ารหัสเกิดขึ้นที่ใดและข้อ จำกัด ถูกวางที่ใดที่ไม่อนุญาตให้ใช้อักขระเฉพาะ

10
ฉันจะพิมพ์สัญลักษณ์องศาภายใต้ X11 (โดยใช้รูปแบบแป้นพิมพ์ภาษาอังกฤษเริ่มต้น) ได้อย่างไร
ฉันกำลังพยายามใส่อุณหภูมิภายนอกเป็นองศาในอีเมล ฉัน Mac สัญลักษณ์องศา ( °) เป็นOption+ +Shift 8แต่ฉันเขียนอีเมลในธันเดอร์เบิร์ดบน Ubuntu 10.10 ด้วยรูปแบบแป้นพิมพ์ภาษาอังกฤษเริ่มต้นของสหรัฐอเมริกา ฉันจะใช้คีย์ผสมในการรับสัญลักษณ์องศาภายใต้ X11 ได้อย่างไร แก้ไข: Gert ตอบคำถามได้สำเร็จ ... แต่คะแนนโบนัสสำหรับการกดแป้นใด ๆ ก็ง่ายกว่าคำตอบของเขา!


2
CTRL + 4 (และ CTRL + \) ทำอะไรในทุบตี?
ฉันเพิ่งค้นพบโดยบังเอิญว่าCTRL+ 4 ปิดโปรแกรมที่อ่านstdinอินพุตจากบรรทัดคำสั่ง นี่คือลักษณะเมื่อฉันพิมพ์CTRL+ 4หรือCTRL+ / ลงในโปรแกรมที่อ่านstdin $ cat wefwef wefwef ^\Quit $ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. ^\Quit $ ฉัน^\Quitปรากฏขึ้นจากนั้นโปรแกรมก็ปิด ความแตกต่างของสิ่งนี้เมื่อเทียบกับการใช้^Cหรือ^D? อะไร^\Quitทำอย่างไร แก้ไข : พบว่าCTRL+ \ทำสิ่งเดียวกันมาก

5
ฉันจะค้นหาชื่อสามัญสำหรับสัญลักษณ์เฉพาะได้อย่างไร
บางครั้งฉันต้องการทราบชื่อของสัญลักษณ์ ตัวอย่างเช่นถ้าผมเห็น−ผมอาจต้องการที่จะทราบว่ามันยัติภังค์-, ห้องน้ำในประ–เป็น em ประหรือสัญลักษณ์ลบ— −มีวิธีที่ฉันสามารถคัดลอกวางลงในเทอร์มินัลเพื่อดูว่ามันคืออะไร? ผมไม่แน่ใจว่าระบบของฉันรู้ชื่อสามัญที่จะร่ายมนตร์เหล่านี้ แต่มีบางอย่างแน่นอน (บางส่วน) /usr/share/X11/locale/en_US.UTF-8/Composeข้อมูลที่มีอยู่เช่นใน ตัวอย่างเช่น, <Multi_key> <exclam> <question> : "‽" U203D # INTERROBANG 🐄สัญลักษณ์อีกตัวอย่างหนึ่ง:

2
Grep: ผลลัพธ์ที่ไม่คาดคิดเมื่อค้นหาคำในหัวข้อจากหน้าคน
ฉันพบพฤติกรรมแปลก ๆ เมื่อพยายาม grep man page ใน macOS ตัวอย่างเช่นหน้า Bash man มีการเกิดขึ้นของสตริงอย่างชัดเจนNAME: $ man bash | head -5 | tail -1 NAME และถ้าฉัน grep สำหรับnameฉันจะได้รับผลลัพธ์ แต่ถ้าฉัน grep สำหรับNAMEฉันไม่ได้: $ man bash | grep 'NAME' $ man bash | grep NAME ฉันลองคำอื่น ๆ ที่ฉันรู้ว่ามีอยู่แล้วและค้นหาสิ่งที่ให้SHELLผลตอบแทนในขณะที่ค้นหาBASHผลลัพธ์ เกิดอะไรขึ้นที่นี่? ปรับปรุง : ขอบคุณสำหรับคำตอบทั้งหมด! ฉันคิดว่ามันคุ้มค่าที่จะเพิ่มบริบทที่ฉันพบเจอ ฉันต้องการเขียนฟังก์ชัน bash …

1
เหตุใดอักขระตัวพิมพ์ใหญ่ / ตัวอ่อนใช้เป็นสัญลักษณ์สำหรับ Ctrl?
ฉันเริ่มใช้คอนโซล Linux เมื่อนานมาแล้ว แต่ฉันไม่เคยถามตัวเองเกี่ยวกับคาแรคเตอร์อาคาเร็ต ( ^) Ctrlผมอยากจะถามว่าทำไมมันใช้แทนคำว่า ฉันคิดถึงเรื่องนี้เมื่อวันก่อนขณะที่ฉันกำลังใช้นาโนและฉันก็ค้นหาเพื่อดูว่ามีคำตอบบางอย่างบนอินเทอร์เน็ตหรือไม่ มีเหตุผลทางประวัติศาสตร์บ้างไหม? หรือมันมาจากการประชุมที่แปลก ๆ

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