agetty.c
將特殊字符視爲@
。當在登錄提示符處輸入@
符號時,它將刪除所有文本。它與安全性有什麼關係,還是按照設計他們被視爲特殊字符?agetty.c中的特殊字符
回答
如果你正在尋找的源代碼,你會看到,無論@和Ctrl鍵U是行終止字符的同義詞。
這是一個歷史悠久的遺物,TTY線訓練使用控制字符如NAK(Ctrl-U)進行流量控制。儘管仍然存在對可用字符集施加硬件限制的少數系統,但對於3個設備仍然存在的歷史遺蹟(如@
)仍然存在,您無法發送實際的Ctrl-U並將其接收爲0x15。您還將看到#作爲BS的歷史同義詞。
即使您忽略瞭如此有限的老式設備,舊習慣,特別是getty和stty仍然存在,因爲「我們一直這樣做」。
宏:int VKILL這是 特殊控制字符數組中的KILL字符的下標。 termios.c_cc [VKILL]擁有 字符本身。 KILL字符僅在規範 輸入模式下識別。當用戶輸入殺死字符時,當前輸入行的整個內容將被丟棄。殺人 人物本身也被丟棄。
KILL角色通常是C-u。 more...
另外一個解釋@
:
作爲一個歷史說明,擦除字符原是#和 殺字原是@。這些作業可追溯到古代的 ,當真正的紙張和 真正的墨水打印終端製造了很多噪音。但是,有人告訴我,有一些現代 系統上這些設置仍然是默認的more...
你是對的,更新了答案 – perreal 2012-07-12 05:47:36
感謝您的更新:) – 2012-07-12 05:50:51
- 1. 特殊字符
- 2. 特殊字符
- 3. 特殊字符
- 4. 特殊字符
- 5. 特殊字符
- 6. Nunit:uri中的特殊字符
- 7. StreamWriter中的特殊字符
- 8. flyway.conf中的特殊字符
- 9. CFMail中的特殊字符
- 10. python中的特殊字符
- 11. Xml中的特殊字符
- 12. NSString中的特殊字符
- 13. Flex中的特殊字符
- 14. ajaxcall中的特殊字符
- 15. iText中的特殊字符
- 16. Latex中的特殊字符
- 17. UNIX中的特殊字符
- 18. Python中的特殊字符
- 19. ssh2中的特殊字符
- 20. pdo中的特殊字符
- 21. SharpPDF中的特殊字符
- 22. XML中的特殊字符
- 23. XSL中的特殊字符
- 24. xslt字符串中的特殊字符
- 25. 用字符串中的其他特殊字符替換特殊字符
- 26. 字符集特殊字符
- 27. 計特殊字符jQuery中
- 28. 特殊字符NSString
- 29. XML特殊字符
- 30. Android'\'特殊字符
所以基本上這不是出於安全原因,而是因爲「我們一直這樣做」? – 2012-07-12 05:59:17
我可以想象沒有任何安全考慮因素會依賴'@'的特殊行爲,並且歷史原因是真實的。 – msw 2012-07-12 06:10:03