Трансляция команд 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