UNIX to Plan 9 command translation
D1733801666
A (14.162.225.82)
#The command set of Plan 9 is similar to that of UNIX. The commands
#fall into several broad classes.
#
#Some are new programs for old jobs: programs like ls(1), cat(1), and
#who(1) have familiar names and functions but are new, simpler
#implementations. Who, for example, is a shell script, while ps is
#just 163 lines of C code.
#
#Some commands are essentially the same as their UNIX ancestors:
#awk(1), troff(1), and others have been converted to ANSI C and
#extended to handle Unicode, but are still the familiar tools.
#
#Some are entirely new programs for old niches: the shell rc(1), text
#editors acme(1) and sam(1), debuggers acid(1) and db(1), and others
#displace the better-known UNIX tools with similar jobs.
#
#Compatibility was not a requirement for the system. Where the old
#commands or notation seemed good enough, we kept them. When they
#didn't, we replaced them.
#
#The following list of some UNIX commands, files, and shell
#terminology, which you can emulate in a Plan 9 system:
#
#! UNIX Plan 9 from Bell Labs
#!
#! `command` `{ command }
#!
#! .profile $home/lib/profile
#!
#! ^C (Ctrl+C) DEL key -- doesn't work without rio(4) though.
#!
#! ~ $home
#! /usr/$user/
#!
#! ~username /usr/username
#!
#! "$@" $*
#!
#! 1>&2 >[2=1]
#!
#! apropos lookman(1)
#!
#! at specific-time while (! ~ (`{ date }) (specific-time)); commands
#!
#! cc one of ones in 0c(1) followed by the same of 0l(1)
#! pcc(1) for Standard C/POSIX programs
#!
#! cp -r /foo/ /bar/ mkdir /bar/foo/ && dircp /foo/ /bar/foo/
#!
#! crontab -e sam /cron/$user/cron
#!
#! curl http://foo/bar
#! wget http://foo/bar hget http://foo/bar > bar
#! (progress bar, -t for ascii) hget -v -o bar http://foo/bar |[2] aux/statusbar [-t] 'downloading'
#!
#! cut awk -F ...
#!
#! apt-get dist-upgrade
#! rpm -Ua
#! yum -c update /usr/glenda/bin/rc/pull
#!
#! apt-get install
#! rpm -i package
#! yum -c install package 9fs sources ; cd /n/sources/
#! /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib ; contrib/install $who/$what
#!
#! df disk/kfscmd check
#! echo fsys all df | con -l /srv/fscons
#! df in fossilcons(8)
#!
#! ee
#! emacs
#! jim
#! joe
#! nano
#! pico
#! vi
#! xedit sam
#! acme
#!
#! expr hoc -e
#!
#! find du -a | grep pattern
#! grep pattern `{du -a root}
#! -name du -a root | grep name
#! pattern in a file grep -n pattern `{du -a root | awk '{print $2}'}
#! -exec cp '{}' x ';' cp `{ du -a | grep pattern } x
#!
#! fsck echo fsys all check fix | con -l /srv/fscons
#! if running venti, for a thorough fix: echo fsys all check fix venti snapshot | con -l /srv/fscons
#!
#! ftp ftpfs host.domain (Remote files apear in /n/ftp).
#!
#! ftpd aux/listen ftp
#!
#! getopt getflags(8)
#!
#! groff -l troff | lp
#!
#! grops dpost - see troff(1)
#!
#! head sed 10q
#!
#! hwclock cat '#r/rtc'
#! aux/timesync
#!
#! id echo $user
#! cat /dev/user
#! grep `{cat /dev/user} /adm/users
#! grep $user /adm/users
#!
#! iostat iostats(4)
#!
#! ifconfig(IP address) cat /net/ndb
#!
#! ifconfig ip/ipconfig ether /net/ether0 add 192.168.1.32
#! ip/ipconfig # let dhcp do it
#!
#! kill pid stop processname | rc
#! echo stop > /proc/pid/ctl
#! (in both cases, switch stop with start to get it back)
#!
#! kill -9 pid
#! kill -KILL pid slay processname | rc
#! echo kill > /proc/pid/ctl
#!
#! ld one of the ones in 0l(1)
#!
#! ls lc -F
#!
#! lspci pci -v
#!
#! make mk (not exactly the same)
#! if necessary, use make in ape/psh
#!
#! man -k lookman(1)
#!
#! less
#! more p
#!
#! mount [-p flag] bind(1)
#! unmount(1)
#! 9fs(1)
#! srv(1)
#! import(4)
#! exportfs(4)
#! -p ns(1)
#!
#! mount /dev/fd0 /mnt a: ; cd /n/a:
#!
#! mount /dev/acd0 /mnt 9660srv
#! mkdir /n/9660
#! mount /srv/9660 /n/9660 /dev/sdD0/data
#!
#! netcat -l aux/listen1 -t tcp!*!$port command
#!
#! netstat [-r flag] netstat(1)
#! -r cat /net/iproute
#!
#! nfsstat iostats(4)
#!
#! nslookup ndb/dnsquery
#!
#! passwd auth/changeuser username (first time)
#! passwd (subsequent times)
#!
#! paste [FILE] ... pr -m [FILE] ...
#!
#! PATH=$PATH:... bind -a directory /bin
#!
#! ping ip/ping
#!
#! pkginfo wrap(8)
#!
#! reboot fshalt -r (note that there is a reboot command, but it doesn't call fshalt)
#!
#! rmdir rm(1)
#! With contents inside: rm -r dir
#!
#! sh rc(1)
#! if necessary, ape/psh
#!
#! shutdown fshalt(8)
#! echo reboot > /dev/reboot
#! echo panic > /dev/reboot
#!
#! snoop snoopy(8)
#!
#! source .
#!
#! startx
#! launch (Andrew Project)
#! mux (Blit's wm) rio (replaces 8½ and help)
#!
#! tar xzf file.tgz tar xf file.tgz
#!
#! tcpdump snoopy(8)
#!
#! traceroute ip/traceroute
#!
#! tree du $* | awk '{print $2}' | sort | sed 's/[^\/]+\// /g'
#!
#! ufs{dump|restore} yesterday(1)
#! history(1)
#! fs(4)
#!
#! vigr
#! vipw [Adding a new user]
#!
#! vlock http://mirtchovski.com/lanlp9/rlock
#! (specify password at invocation)
#!
#! vmstat stats(1)
#! cat /dev/sysstat
#! cat /dev/swap
#!
#! which whatis
#!
#! xbiff faces
#!
#! xclock clock
#! games/catclock
#! faces
#!
#! xditview troff | page
#! troff | proof
#!
#! xload stats -l
#!
#! xlock /n/sources/contrib/steve/conslock
#! (authenticates against authentication server)
#!
#! xlogo window 'hget http://9p.io/plan9/img/plan9bunnysmblack.jpg | page'
#!
#! xman cat man -t cat | page
#!
#! xv file.jpg page file.jpg
#!
#! xwininfo winwatch
#!
#! yes while() { echo y }
#! yes arg while() { echo arg }
#!
#
#OTHER APPLICATIONS:
#
# * [Web browsers]
# * Word processing: troff(1)
#
|