Трансляция команд Unix на Plan 9
Набор команд Plan 9 подобен таковому в Unix. Команды разделяются на несколько обширных классов, некоторые из них представляют собой новые программы для выполнения старой работы: программы, наподобие ls, cat и другим, имеют знакомые имена и функции, но это новые, более простые их версии. Команда who, например, является сценарием оболочки, а ps — просто 95 строк кода С. Некоторые команды совпадают со своими предшественниками в Unix. Awk, troff и другие были конвертированы в ANSI С и расширены для обработки Unicode, но все еще представляют собой знакомые инструменты. Другие команды — полностью новые программы, заполняющие старые ниши: оболочка rc, текстовые редакторы sam и acme, отладчик acid и другие заменяют хорошо известные инструменты Unix, выполняя подобные функции. Наконец, около половины команд совсем новые. К системе не предъявлялось требование совместимости. Когда старые команды или обозначения казались достаточно удачными, мы их сохраняли. В противном случае мы их заменяли.
Ниже представлен список некоторых команд Unix, которые можно эмулировать в Plan 9:
| Unix | Plan 9 |
| df(1) | disk/kfscmd check |
| http://www.eecs.harvard.edu/~rsc/df | |
| mount(1) [-p flag] | bind(1) |
| unmount(1) | |
| 9fs(1) | |
| srv(1) | |
| import(4) | |
| exportfs(4) | |
| -p | ns(1) |
| more(1) | p |
| shutdown(1m) | disk/kfscmd halt, затем Ctl-Alt-Del или ^T^T r для перезагрузки, или же просто выключите компьютер |
| echo reboot > /dev/reboot | |
| echo panic > /dev/reboot | |
| id(1) | echo $user |
| cat /dev/user | |
| grep $user /adm/users | |
| grep `{cat /dev/user} /adm/users | |
| find(1) | du -a | grep выражение |
| apropos(1) | lookman(1), стандартный man также подходит |
| uptime(1) | echo $boottime |
| http://www.csh-east.org/~tad/plan9/uptime.c | |
| rc реализация: http://www.eecs.harvard.edu/~rsc/uptime | |
| head(1) | sed -n 1,Np |
| sed Nq | |
| netstat(1m) [-r flag] | netstat(1) |
| -r | cat /net/iproute |
| last(1) | N.A. |
| vmstat(1m) | stats(1) |
| cat /dev/sysstat | |
| iostat(1m) | iostats(4) |
| nfsstat(1m) | iostats(4) |
| ufs{dump|restore}(1m) | yesterday(1) |
| history(1) | |
| fs(4) | |
| pkginfo(1m) | wrap(8) |
| snoop(1m) | snoopy(8) |
| tcpdump(1) | snoopy(8) |
| tree(1) | ls -l `{du -a $1 | awk '{print $2}'} | grep '^d-' | awk ' { print $10 }' |
| source(1) | . |
| ftp(1) | ftpfs хост.домен, удаленные файлы появятся в каталоге /n/ftp. |
| ftpd | aux/listen tcp |
| ifconfig(ip адрес) | cat /net/ndb |
| ifconfig(добавление IP адреса к интерфейсу) | ip/ipconfig ether /net/ether0 add 192.168.1.32 |
| nslookup | ndb/dnsquery |
| traceroute | ip/traceroute |
| yes | while() echo y |
| ping 192.168.0.1 | ip/ping 192.168.0.1 |
| mount /dev/fd0 /mnt | a: ; cd /n/a: |
| xv файл.jpg | page файл.jpg |
| ls | lc -F |
| paste [файл] ... | pr -m [файл] ... |
| cut | awk |
Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 22.08.2003