Почему двоеточие было выбрано в качестве разделителя пути

xhost +localhost

затем su test ..

22
23.05.2017, 15:40
1 ответ

После некоторых копаний у меня нет настоящего ответа, но, по крайней мере, я могу добавить новую информацию в этот разговор, подтвержденную некоторыми историческими фактами.

Вот Питер Чабб в одном из своих выступлений о оболочке, около 19:00 вы можете услышать, как он упоминает, почему e является псевдонимом для редактора по умолчанию в оболочках unix. Это потому, что старые терминалы были не такими удобными и простыми в использовании, и печатать на них было неприятно.

Он упоминает точную модель, в данном случае Teletype Model 33 .

После некоторого исследования я обнаружил, что эта машина позволяет вам выбирать только пул из 64 символов, даже не полную поддержку US ASCII, 2 в степени 6 символов, это 6-битная комбинация.

На самом деле эта машина вообще не имеет ничего общего с ASCII, а это означает, что она даже не поддерживает только первые 64 символа ASCII, она просто использует совершенно несвязанный набор входных данных и, вероятно, не является стандартным (для наших современных эпохи) набор символов.

Телетайп ASR 33 может печатать 64 символа, которые разрешены только для заглавных букв, цифр и символов . Источник

, и это просто доказывает, что это определенно не американский ASCII, учитывая тот факт, что для поддержки прописных букв вам действительно нужно более 6 бит, прописные буквы выходят за пределы отметки в 64 символа (или значение 63 в десятичной системе, если вы хотите следовать за таблицей)

 0 NUL    16 DLE    32      48 0    64 @    80 P    96 `   112 p 
 1 SOH    17 DC1    33 !    49 1    65 A    81 Q    97 a   113 q 
 2 STX    18 DC2    34 "    50 2    66 B    82 R    98 b   114 r 
 3 ETX    19 DC3    35 #    51 3    67 C    83 S    99 c   115 s 
 4 EOT    20 DC4    36 $    52 4    68 D    84 T   100 d   116 t 
 5 ENQ    21 NAK    37 %    53 5    69 E    85 U   101 e   117 u 
 6 ACK    22 SYN    38 &    54 6    70 F    86 V   102 f   118 v 
 7 BEL    23 ETB    39 '    55 7    71 G    87 W   103 g   119 w 
 8 BS     24 CAN    40 (    56 8    72 H    88 X   104 h   120 x 
 9 HT     25 EM     41 )    57 9    73 I    89 Y   105 i   121 y 
10 LF     26 SUB    42 *    58 :    74 J    90 Z   106 j   122 z 
11 VT     27 ESC    43 +    59 ;    75 K    91 [   107 k   123 { 
12 FF     28 FS     44 ,    60 <    76 L    92 \   108 l   124 | 
13 CR     29 GS     45 -    61 =    77 M    93 ]   109 m   125 } 
14 SO     30 RS     46 .    62 >    78 N    94 ^   110 n   126 ~ 
15 SI     31 US     47 /    63 ?    79 O    95 _   111 o   127 DEL 

Теперь мы знаем, что мы получаем 64 символа из этой штуки, без какого-либо реального стандарта, поддерживающего их в кодированной таблице, и у нас также нет строчных букв, только прописные плюс символы и числа.

Благодаря этому веб-сайту я могу показать вам раскладку ввода такой клавиатуры

ASR33 keyboard layout

и, нажав SHIFT, вы также получите

ASR33 keyboard layout (second layer)

Также есть немного больше информации о как кодируются физические соединения, которые генерируют символы (на странице также поясняется, что символы ASR33 и ASCII различаются на уровне битов).

Думаю, интересно отметить, что нет { или } , а есть только ( и ) , что означает, что, вероятно, создание подоболочки были в порядке, но создание новых процессов, вероятно, было не так просто или разрешено терминалом.

В конце концов, я не думаю, что существует настоящий научный ответ, вероятно, это был «свободный» персонаж, ожидающий особого значения; одно можно сказать наверняка: оболочки и терминалы старше ASCII, и размышления об ASCII или любой кодированной таблице в том виде, в каком мы их знаем сегодня, вероятно, не решат загадки.

6
27.01.2020, 19:43

Теги

Похожие вопросы