Plan 9 from Bell Labs’s /usr/web/sources/wiki/d/55

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


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)
#

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].