/sys/doc/ Documentation archive

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