2006-6-1
UNIX命令大全
UNIX命令大全 UNIX常用命令:
下述命令参考包含94个UNIX最常用的快速总结。 apropos 用途:apropos查找使用说明的名称。 举例:apropos print(等价于man -k prink)。 arch 用途:arch获得机器体系结构的描述信息。 举例:arch。下面是arch输出的结果: sun4 将这个命令与uname进行比较。 ash 用途:ash是外壳,只用于某些系统。 举例:ash。这个命令启动ash外壳的一个实例。 at 用途:at用于确定命令执行的时刻。 举例:at 9:00am December 31。 awk 用途:awk是一种模式扫描和执行语言。 举例:awk\'{print $1}\'file.txt。这个命令执行后将打印出file.txt的第一个区域。 bash 用途:bash是GNU Bourne-Again外壳。 举例:bash[options]。这个命令启动bash外壳,它是一个增强的和sh兼容的外壳。bash的提示符为$。 biff 用途:biff通知你是否收到了邮件。 举例:biffy。这个命令叫biff通知你新邮件什么时候到达(注意,要想让biff工作,你必须同时运行 sendmail)。 cancel 用途:cancel取消挂起的打印作业。 举例:cancel23。这个命令取消23号打印作业。 cal 用途:cal显示无格式文本日历。 举例:cal。以下是命令执行后输出的列表: August 1998
cat 用途:cat将文件连接在一起并显示这些文件中的内容。 举例:cat myfile.txt。这个命令执行后显示myfile.txt中的内容。 cc 用途:cc是用于许多系统的C编译器。 举例:cc myfile.c -o myfile。这个命令执行后对myfile.c源文件进行编译并输出一个名为myfile的可执行文件。 cd 用途:cd用来改变当前目录。 举例:cd/usr/bin。这个命令执行后将当前目录更改为/usr/bin。 chfn 用途:chfn用来改变finger信息。 举例:chfn(系统将会提示你进行更改)。 chgrp 用途:chgrp用来改变文件的组所有权。 举例:chgrp users/home/bwagner/*。这个命令执行后是"users"组的每一个人都可以访问我的文件。 (bwagner代表你的用户名) chmod 用途:chmod用来改变指定文件的权限。 举例:chmod=r myfile.txt。这个命令执行后将myfile.txt的权限更改为只读。 chown 用途:chown用来改变文件的所有权。 举例:chown bwagner myfile.txt。这个命令执行后将myfile.txt的权限授予我。 clear 用途:clear用来清除屏幕。 举例:clear。 comm 用途:comm逐行比较两个文件。 举例:comm myfile.txt yourfile.txt。这个命令执行后将myfile.txt和yourfile.txt两个文件进行比较。 compress 用途:compress用来压缩文件,在压缩后给文件以.z的扩展名。将这个命令和gzip比较一下。 举例:compress myfile.txt。这个命令执行后将myfile.txt进行压缩并给它起一个.z的扩展名。最后得到的文件名是myfile.txt.z。 cp 用途:cp用来复制文件。 举例:cp myfile.txt yourfile.txt。这个命令执行后将myfile.txt的内容复制到一个名叫yourfile.txt的文件中去。 csh 用途:csh是C外壳。 举例:csh。这个命令执行后启动C外壳。当你启动了csh后,可以判断出运行环境已改变了,因为系统提示符已从$变为%。 cu 用途:cu使用标准的拨出线路呼叫另一个系统。 举例:cu 5555555。这个命令执行后使用电话号码5555555呼叫另外一个系统。 cut 用途:cut用来删除文件中的列或行。 举例:cut -c2 myfile.txt。这个命令执行后将删除myfile.txt文件中的第2列(与cut相对的命令是paste)。 date 用途:date用来得到日期和时间。 举例:date。以下是date命令执行后输出的列表: Wed Aug 5 19:10:42 PDT 1998 df 用途:报告磁盘中可以使用的自由空间。 举例:df。以下是该命令执行后输出的列表: diff 用途:diff用来比较两个文件并报告这两个文件的不同之处。 举例:diff myfile.txt yourfile.txt。这个命令执行后比较myfile.txt和yourfile.txt两个文件。diff将显示这两个文件中所有的不同行。将这个命令和comm和uniq命令进行比较。 dir 用途:dir用来列出某些平台上的目录内容。 举例:dir(dir的功能和ls完全相同,但是它所带的选项更少。dir并不适合于所有的UNIX系统)。 du 用途:du报告磁盘的使用情况。 举例:du。以下是du命令执行后输出的列表。 echo 用途:echo用来显示指定的文本内容。 举例:echo"This is my workstation."。这个命令执行后将在屏幕上打印出下列信息: This is my workstation。 ed 用途:ed是一个简单的no-frill的文本编辑器。 举例:ed。 egrep 用途:egrep用来查找文件中符合一定要求的模式。当该命令找到指定的模式时,它将会在屏幕上打印出相应的行。 举例:egrep"I am bored"myfile.txt。这个命令执行后将查找myfile.txt文件中的I am bored字符串。 elm 用途:elm是一个流行的邮件客户程序。 举例:elm。这个命令将启动elm邮件阅读器。 file 用途:file用来报告指定文件中的数据类型。 举例:file * 。以下是file命令执行后输出的列表: find 用途:find用来查找目录中的文件。 举例:find.-name*gif。这个命令执行后查找位于我的主目录中或主目录以下带有.gif扩展名的所有文件。以下是find执行后输出的列表: finger 用途:finger用来报告用户信息。 举例:finger bwagner。这个命令执行后将列出和我有关的当前可用的所有信息。 用途:fsck用来检查和修改文件系统。 举例:fsck/dev/dsk/cot1d0s0。fsck是一个存在潜在威胁的命令。在使用该命令前应阅读和它有关的使用说明。 ftp 用途:ftp用来在主机之间传送文件。 举例:ftp traderights.pacificnet.net。这个命令执行后将本机连接到traderights.pacificnet.net上。ftp带有非常多的选项和标志。查找该命令的使用说明可获得更进一步的信息。 g 用途:g++是GNU项目C编译器。 举例:g++ myfile.c -o myfile。这个命令执行后将对用C++编写的程序进行编译并输出名叫myfile的可执行文件。 gawk 用途:gawk是awk的GNU免费版。 举例:awk\'{print $1}\'file.txt。这个命令执行后将打印出file.txt文件的第一个区域。 gcc 用途:gcc是GNU项目C和C++编译器。 举例:gcc myfile.c -o myfile。这个命令执行后对myfile.c源文件进行编译并输出名叫myfile的可执行文件。 grep 用途:grep用来查找符合某种模式的文本行并打印出所有相应的文本行。 举例:grep ecoli hamburger.txt。这个命令执行后查找hamburger.txt文件中的单词ecoli。 gunzip 用途:gunzip用来压缩或解压缩文件(通常是那些带有.gz扩展名的文件)。 举例:gunzip myfile.txt.gz。这个命令执行后将解压缩myfile.txt文件。 gzip 用途:gzip用来压缩或解压缩文件。 举例:gzip myfile.txt。这个命令执行时对myfile.txt进行压缩,产生一个名叫myfile.txt.gz的压缩文件。该压缩文件可以使用gzip或gunzip进行解压缩(将这个命令和gunzip进行比较)。 halt 用途:halt终止系统的运行。 举例:halt。 head 用途:head在默认的情况下输出任何文件的头10行。 举例:head myfile.txt。在这个命令执行后将在屏幕上显示myfile.txt的头10行。 hostname 用途:hostname用来打印出机器的主机名。 举例:hostname。 ispell 用途:ispell是一个在Linux上使用的交互式拼写检查程序。 举例:ispell myfile.txt。这个命令将启动ispell环境并检查myfile.txt文件是否存在拼写错误。 kill 用途:kill用来终止某个进程。 举例:kill 529。这个命令执行后将终止第529号进程。 ksh 用途:ksh是Korn外壳。 举例:ksh。这个命令将启动Korn外壳。 last 用途:last用来报告某个用户已登录的日期和时间。 举例:last bwagner|head -3。这个命令执行后将输出我最近的三次登录时间。ln 用途:ln用来在文件之间建立链接。 举例:ln myfile.txt another-file.txt。这个命令执行后将在myfile.txt中建立和another-file.txt之间的链接。一旦存在这种链接,对其中某个文件的修改都会导致对另外一个文件的修改。 lp 用途:lp用来将文件发送到打印机。 举例:lp myfile.txt。这个命令执行后将myfile.txt发送到打印机。 lpr 用途:lpr用来将作业发送到打印机(lpr是lp的Berkeley等价命令)。 举例:lpr myfile.txt。这个命令执行后将myfile.txt发送到打印机。 lprm 用途:lprm用来从打印机队列中删除作业。 举例:lprm 23。这个命令执行后将从打印机列表中删除第23号作业。 lpstat 用途:lpstat用来报告挂起的打印作业状态。 举例:lpstat。 ls 用途:ls用来列出目录内容。 举例:ls/home/bwagner。这个命令执行后将列出/home/bwagner目录中的内容。ls的典型命令行开关包括 -a(列出所有文件,包括隐藏文件)和-l(用长格式列出所有目录内容)。 mail 用途:mail允许用户发送和接收邮件。 举例:cat myfile.txt|mail bwagner。这个命令执行后将myfile.txt中的内容邮寄给我(也可以交互式使用mail,只要发送mail命令就行了)。 man 用途:man是UNIX参考手册的接口。这些手册通常称为使用说明(man pages)。 举例:man mail。这个命令执行后将启动mail使用说明。 mkdir 用途:mkdir用来创建指定的目录。 举例:mkdir bozo-mail。这个命令执行后将创建一个名叫bozo-mail的目录。 more 用途:more用来在屏幕上一次显示一屏文件的内容。 举例:more myfile.txt。这个命令执行后将显示myfile.txt中的内容,一次显示一屏。这样使得阅读内容超过40行的文件很轻松。 mount 用途:mount安装和卸载文件系统。 举例:mount/dev/fd0/mnt/floppy。这个命令执行后将第一个软盘驱动器安装在/mnt/floop目录中。 mv 用途:mv用来移动文件。 举例:mv myfile.txt/usr。这个命令执行后将myfile.txt移动到目录/usr。 nroff 用途:nroff将文本文件格式化为行式打印机或终端屏幕所需要的形式。 举例:nroff myfile.txt。这个命令执行后将产生一个清楚的、格式优美的输出结果。 passwd 用途:passwd用来更改用户密码。 举例:passwd(系统会提示用户进行更改)。 paste 用途:paste用来合并文件行或输出。 举例:who|awk\'{print $1}\'|paste--。这个命令执行后获得当前用户ID并将它们按行列格式打印。两个-符号指定列的形式。 perl 用途:perl(Practical Extraction and Report Language,实际抽取和报告语言)是一种功能强大的文本扫描语言。 举例:perl-e\'print"Hello Word\\n";\'。这个命令执行后将显示如下信息: Hello Word perl能用于编写复杂的程序。但是,这些程序一般不能在命令行键入。相反,它们存储在perl脚本文件中(包含许多perl命令的文本文件)。 pico 用途:pico是一个免费的文本编辑器,在某些UNIX版本中可以得到(特别是Linux)。 举例:pico myfile.txt。这个命令启动pico来编辑myfile.txt。 pine 用途:pine是一个可以免费获得的电子邮件和USENET软件包(许多UNIX系统也包括它,但是Pine最常见于Linux系统中)。 举例:pine。这个命令启动pine电子邮件阅读器。 ping 用途:ping用来检查其他主机是否运行并且状态良好。 举例:ping 207.171.0.111。以下是Sparc上的ping执行后输出的列表: 207.171.0.111 is alive 对于其他系统,ping执行后输出的情况会不一样。 printenv 用途:printenv用来打印当前的所有环境变量。 举例:printenv。以下是printenv命令执行后输出的列表: ps 用途:ps用来报告当前进程的状态。 举例:ps-a。这个命令执行后将打印出当前所有的进程。以下是输出的列表: 用途:pwd用来显示当前的目录名。 举例:pwd。这个命令执行后将打印出当前目录名。 rcp 用途:rcp用来从远程主机中复制文件。 举例:rcp tigger:/home/poo/files.txt files.poo.txt。这个命令执行后将从主机"tigger"中复制文件file.txt并在本机中给该文件改名为files.poo.txt。 rlogin 用途:rlogin代表remote login(远程登录)。rlogin用来在与用户ID信息一致的网络上进行自动登录。 举例:rlogin tigger。这个命令启动本机和"tigger"主机之间的一次远程对话。 rm 用途:rm用来删除指定空目录。 举例:rm myfile.txt。这个命令执行后将删除myfile.txt。 rmdir 用途:rmdir用来删除空目录。 举例:rmdir/mydirectory。这个命令执行后将删除/mydirectory。 sh 用途:sh是UNIX外壳。 举例:sh。这个命令将启动UNIX外壳。 sort 用途:sort将文本文件逐行分类。 举例:sort myfile.txt。这个命令将myfile.txt中的内容分类。 stty 用途:stty显示或更改终端设置。 举例:stty[options]。stty带有100万个选项。 tail 用途:tail在默认情况下显示指定文件的最后10行。 举例:tail myfile.txt。这个命令执行后,屏幕上将显示myfile.txt的最后10行。你也可以指定显示的行数,比如tail-50 myfile.txt执行后,将会在屏幕上打印出文本的最后50行。 talk 用途:talk允许你和另一个用户进行聊天。 举例:talk bwagner。这个命令邀请我进行聊天。 telnet 用途:telnet允许你和其他主机进行远程会话。 举例:telnet 202.194.14.236。这个命令将启动本机连接到202.194.14.236。 traceroute 用途:traceroute跟踪分组从节点A(你的机器)传送节点B(某个远程主机)所经过的路径。这个命令通常用来确定网络中是否存在故障。 举例:traceroute mcp.com。以下是traceroute执行后输出的列表: 用途:tty显示当前终端名。 uname 用途:uname用来获得系统信息,包括体系结构、操作系统和处理器类型。 举例:uname-a。以下是uname执行后输出的实例: SunOS wagjag 5.6 generic sun4u sparc SUNW,Ultra-1 uniq 用途:uniq查找指定文件中的重复行并将它们删除。 举例:uniq myfile.txt。 uptime 用途:uptime报告系统到现在为止运行了多长时间。 举例:uptime。以下是该命令执行后输出的实例: 9:31pm up 4 day(s),20:36,14 users,load average:0.00,0.01,0.02 vi 用途:vi是文本编辑器。 举例:vi myfile.txt。这个命令启动vi来编辑myfile.txt。 wall 用途:wall向所有的终端发送指定消息。 举例:wall work sucks!!。这个命令执行后将在所有终端上打印出以下消息: work sucks!! wc 用途:wc计算并显示指定文件中的字节数、字数和行数。 举例:wc myfile.txt。这个命令执行后显示myfile.txt的统计信息。 whatis 用途:whatis显示关于指定命令的简要描述。 举例:whatis whatis。这个命令执行后显示whatis的使用说明描述信息。以下是输出的列表: whatis(1) -display manual page descriptions Whereis 用途:whereis用于确定文件的位置。 举例:whereis traceroute。这个命令执行后查找traceroute文件。 who 用途:who显示目前已登录用户的统计信息。 whoami 用途:whoami显示你的当前用户ID。
有时上网搜索半天才找到,放在自己的空间里,舒服点。 20:59 | 固定链接 | 评论 (0) | 引用通告 (0) | 网络资源 固定链接 关闭
UNIX命令大全(二) UNIX命令详解: 以下只说明各指令的基本用法, 若需详细说明, 请用 man 去读详细的 manual.
a. 关於档案/目录处理的指令:
1. ls 这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是 某一个档案的内容显示出来。
如果你在下 ls 指令后头没有跟著任何的档名,它将会显示出目前目录中所 有档案。
也可以在 ls 后面加上所要察看的目录名称或档案的名称,如
% ls /home2/X11R5
% ls first
ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下:
-a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls 将不会显示出这个档案的名字,我们称此类档案为隐藏档。如 tcsh 的初设档 .tcshrc;如果我们要察看这类档案,则必须加上参数 -a 。
-l : 这个参数代表使用 ls 的长( long 格式,可以显示更多的资讯, 如档案存取权,档案拥有者( owner ,档案大小,档案最后更新 日期,甚而 symbolic link 的档案是 link 那一个档等等。如下
% ls -l
drwx--x--x 2 jjtseng 512 Aug 8 05:08 18 drwx--x--x 2 jjtseng 512 Aug 8 22:00 19 -rw------- 1 jjtseng 566 Aug 8 05:28 makefile
2. cp cp 这个指令的意义是复制("COPY" , 也就是将一个或多个档案复制成另 一个档案或者是将其复制到另一个目录去。
cp 的用法如下:
cp f1 f2 : 将档名为 f1 的档案复制一份为档名为 f2 的档案。 cp f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都以相同的档名复制一 份放到目录 dir 里面。 cp -r dir1 dir2 : 将 dir1 的全部内容全部复制到 dir2 里面。
cp 也有一些参数,如下:
-i : 此参数是当已有档名为 f2 的档案时,若迳自使用 cp 将会将原来 f2 的内容掩盖过去,因此在要盖过之前必须先询问使用者一下。如使用者 的回答是y(yes)才执行复制的动作。
-r : 此参数是用来做递回复制用,可将一整颗子树都复制到另一个 目录中。
3. mv mv 的意义为 move , 主要是将一档案改名或换至另一个目录。如同 cp ,它也有 三种格式:
mv f1 f2 : 将档名为 f1 的档案变更成档名为 f2 的档案。 mv dir1 dir2 : 将档名为 dir1 的目录变更成档名为 dir2 的目录。 mv f1 f2 f3 ... dir : 将档案 f1 f2 f3 ... 都移至目录 dir 里面。
mv 的参数有两个,-f 和 -i , 其中 -i 的意义与 cp 中的相同,均是 interactive 询问之意。而 -f 为强迫( force , 就是不管有没有同名的档案,反正我就是要 搬过去,所有其他的参数遇到 -f 均会失效。
4. rm rm 的意义是 remove ,也就是用来杀掉一个档案的指令。在 UNIX 中一 个被杀掉的档案除非是系统恰好有做备份,否则是无法像 DOS 里面一样还能够救回 来的。所以在做 rm 动作的时候使用者应该要特别小心。
rm 的格式如下:
rm f1 f2 f3 .....
而 rm 的参数比较常用的有几个: -f , -i , 与 -r
-f : 将会使得系统在删除时,不提出任何警告讯息。 -i : 在除去档案之前均会询问是否真要除去。 -r : 递回式的删除。
小心不要随便使用 rm -rf , 否则有一天你会"欲哭无泪"......
5. mkdir mkdir 是一个让使用者建立一个目录的指令。你可以在一个目录底下使用 midir 建立一个子目录,使用的方法如下:
mkdir dirname1 [ dirname2 ... ]
如此你就可以建立一个或多个目录。
6. chdir ( cd ![](http://www.blogcn.com/images/wink.gif) 这是让使用者用来转移工作目录用的。 chdir 的用法如下:
chdir dirname
如此你就可以将目前的目录转移到 dirname 这一个目录去。 或使用 "chdir .." 来转移到上一层目录。
7. rmdir 相对於 mkdir ,rmdir 是用来将一个"空的"目录杀掉的。如果一个目录下面 没有任何档案,你就可以用 rmdir 指令将其除去。rmdir 的使用法如下:
rmdir dirname1 [ dirname2 .... ]
如果一个目录底下有其他的档案, rmdir 将无法将这个目录杀掉,除非使用 rm 指令的 -r 选项。
8. pwd pwd 会将目前目录的路径( path 显示出来,例如:
9. cat/more/less 以上三个指令均为察看档案内容的指令。cat 的意义是猫....不不不,是 concatenate ,在字典上的意思是"连结,将…串成锁状"( 语出资工电子 词典 cdict ,其实就是把档案的内容显示出来的意思。 cat 有许多奇怪 的参数,较常为人所使用的是 -n 参数,也就是把显示出来的内容加上行 号。 cat 的用法如下:
cat [-n] :自标准输入读进内容,你可以用 pipe 将别的程式的输出转向 给 cat . cat [-n] filename : 将 filename 的内容读进来,显示在标准输出上。
问题在於 cat 它是不会停下来的,因此并不好用( 试想如果一个萤幕二十 四行,而一个档案四百行,cat 一出来将会劈哩啪啦不断的卷上去,使用者 很难据此得到他们所需的资讯。) 所以才有人又写了 more 出来。
more , 跟据蔡文能老师的说法是"再多一点就好",more 可以将所观察的档案 跟据终端机的形态一页页的显示出来,再根据使用者的要求换页或卷行。如果 使用者要在某一个档案中搜寻一个特定的字串,则按 / 然后跟著打所要搜寻 的单字即可进行搜寻。more 也可以找得到。more 的使用法如下:
more filename
如果你在使用中觉得已经看到了所要看的部份,可以按'q'离开 more 的使用。 在使用中按'v' 亦可以使用编辑器来编辑所观看的档案。
less 的用法与 more 极类似,原先它就是为了弥补 more 只能往前方卷页的缺 点而设计。 less 的用法如下:
less filename
其与 more 不同的是它可以按 y 来往上卷一行,并且可以用"?"来往回搜寻你所 要找的单字。
10. chmod chmod 为变更档案模式用( change mode . 这个指令是用来更改档案的存取模 式( access mode 。在 UNIX 一个档案上有可读(r)可写(w)可执行(x)三种模式, 分别针对该档案的拥有者( onwer 、同群者( group member ( 你可以 ls -lg 来观看某一档案的所属的 group ,以及其他人( other 。一个档案如果改成可 执行模式则系统就将其视为一个可执行档,而一个目录的可执行模式代表使用者 有进入该目录之权利。chmod 就是用来变更一些档案的模式,其使用方式如下:
chmod [ -fR ] mode filename ...
其参数的意义如下:
-f Force. chmod 不会理会失败的动作。 -R Recurive. 会将所有子树下的所有子目录及档案改为你所要改成的模式。
mode 可以为一个三位或四位的八进位数字,来表示对某些对象的存取权。详情 可参阅 chmod(1) 的 manual page 中有关 Absolute Modes 的说明。
或是用一个字串来表示,请参考 chmod(1) 的说明。 b. 关於 Process 处理的指令:
1. ps ps 是用来显示目前你的 process 或系统 processes 的状况。 以下列出比较常用的参数:
其选项说明如下: -a 列出包括其他 users 的 process 状况。 -u 显示 user - oriented 的 process 状况 。 -x 显示包括没有 terminal 控制的 process 状况。 -w 使用较宽的显示模式来显示 process 状况 。
我们可以经由 ps 取得目前 processes 的状况,如 pid , running state 等。
2. kill kill 指令的用途是送一个 signal 给某一个 process 。因为大部份送的都是 用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill 。kill 的用法 为:
kill [ -SIGNAL ] pid ... kill -l
SIGNAL 为一个 singal 的数字,从 0 到 31 ,其中 9 是 SIGKILL ,也就是一 般用来杀掉一些无法正常 terminate 的讯号。其馀讯号的用途可参考 sigvec(2) 中对 signal 的说明。
你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形 请参阅 man kill。
c. 关於字串处理的指令:
1. echo echo 是用来显示一字串在终端机上。□ echo -n 则是当显示完之后不会有跳行的动作。
2. grep/fgrep grep 为一过滤器,它可自一个或多个档案中过滤出具有某个字串的行,或是 自标准输入过滤出具有某个字串的行。
fgrep 可将欲过滤的一群字串放在某一个档案中,然后使用 fgrep 将包含有 属於这一群字串的行过滤出来。
grep 与 fgrep 的用法如下:
grep [-nv] match_pattern file1 file2 .... fgrep [-nv] -f pattern_file file1 file2 ....
-n 把所找到的行在行前加上行号列出 -v 把不包含 match_pattern 的行列出 match_pattern 所要搜寻的字串 -f 以 pattern_file 存放所要搜寻的字串
d. 网路上查询状况的指令:
1. man man 是手册 ( manual 的意思。 UNIX 提供线上辅助( on-line help 的功能, man 就是用来让使用者在使用时查询指令、系统呼叫、标准程式库函式、各种表 格等的使用所用的。man 的用法如下:
man [-M path] [[section] title ] ..... man [-M path] -k keyword ...
-M path man 所需要的 manual database 的路径。 我们也可以用设定环境变数 MANPATH 的方式来取代 -M 选项。 title 这是所要查询的目的物。 section 为一个数字表示 manual 的分类,通常 1 代表可执行指令, 2 代表系统呼叫( system call ,3 代表标准函数,等等。
像下面 man 查询的片段:
SEE ALSO apropos(1), cat(1V), col(1V), eqn(1), lpr(1), more(1), nroff(1), refer(1), tbl(1), troff(1), vgrind(1), vtroff(1), whatis(1), eqnchar(7), man(7), catman(8)
我们如要参考 eqnchar(7) 的资料,则我们就输入 man 7 eqnchar , 便能取得我们所要的辅助讯息。 -k keyword 用来将含有这项 keyword 的 title 列出来。
man 在 UNIX 上是一项非常重要的指令,我们在本讲义中所述之用法均仅只是一 个大家比较常用的用法以及简单的说明,真正详细的用法与说明还是要请你使用 man 来得到。
2. who who 指令是用来查询目前有那些人在线上。
3. w
w 指令是用来查询目前有那些人在线上,同时显示出那些人目前的工作。
4. ku ku 可以用来搜寻整个网路上的 user ,不像 w 跟 who 只是针对 local host 的 查询. 而且 ku 提供让使用者建立搜寻特定使用者名单的功能。你可以建立一个档 案 information-file 以条列的方式存放你的朋友的资料,再建立一个档案 hosts-file 来指定搜寻的机器名称。 ku 的指令格式可由 ku -h 得到。
E. 网路指令:
UNIX 提供网路的连接,使得你可以在各个不同的机器上做一些特殊的事情,如 你可以在系上的 iris 图形工作站上做图形的处理,在系上的 Sun 上读 News , 甚至到学校的计中去找别系的同学 talk 。这些工作可以利用 UNIX 的网路指 令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能 轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。
这些网路的指令如下所述:
1. rlogin 与 rsh rlogin 的意义是 remote login , 也就是经由网路到另外一部机器 login 。 rlogin 的格式是:
rlogin host [ -l username ]
选项 -l username 是当你在远方的机器上的 username 和 local host 不同的 时后,必须输入的选项,否则 rlogin 将会假设你在那边的 username 与 local host 相同,然后在第一次 login 时必然会发生错误。
rsh 是在远方的机器上执行某些指令,而把结果传回 local host 。rsh 的格式 如下:
rsh host [ -l username ] [ command ]
如同 rlogin 的参数 -l username , rsh 的 -l username 也是指定 remote host 的 username 。而 command 则是要在 remote host 上执行的指令。如果没有 指定 command ,则 rsh 会去执行 rlogin ,如同直接执行 rlogin 。
不过 rsh 在执行的时候并不会像一般的 login 程序一样还会问你 password , 而 是如果你没有设定 trust table , 则 remote host 将不会接受你的 request 。
rsh 须要在每个可能会做为 remote host 的机器上设定一个档案,称为 .rhosts。 这个档案每一行分为两个部份,第一个是允许 login 的 hostname , 第二个部份 则是允许 login 的 username 。例如,在 ccsun7.csie.nctu.edu.tw 上头你的 username 为 ysjuang , 而你的 home 下面的 .rhost 有以下的一行:
ccsun6.cc.nctu.edu.tw u8217529
则在 ccsun6.cc.nctu.edu.tw 机器上的 user u8217529 就可以用以下的方法来 执行 rsh 程式:
% rsh ccsun7.csie.nctu.edu.tw -l ysjuang cat mbox
将 ysjuang 在 ccsun7.csie.nctu.edu.tw 上的 mbox 档案内容显示在 local host ccsun6.cc.nctu.edu.tw 上。
而如果 .rhost 有这样的一行,则 ccsun6.cc.nctu.edu.tw 上的 user u8217529 将可以不用输入 password 而直接经由 rsh 或 rlogin login 到 ccsun7.csie.nctu.edu.tw 来。
注意:
.rhost 是一个设定可以信任的人 login 的表格,因此如果设定不当将会让 不法之徒有可以乘机侵入系统的机会。 如果你阅读 man 5 rhosts ,将会 发现你可以在第一栏用 + 来取代任何 hostname ,第二栏用 + 来取代任何 username 。
如一般 user 喜欢偷懒利用 " + username " 来代替列一长串 hostname , 但是这样将会使得即使有一台 PC 上跑 UNIX 的 user 有与你相同的 username , 也可以得到你的 trust 而侵入你的系统。这样容易造成系统 安全上的危险。因此本系禁止使用这样子的方式写你的 .rhost 档,如果 发现将予以停机直到你找中心的工作人员将其改正为止。 同理,如果你的 第二个栏位为 + ,如" hostname + " ,则你是允许在某一部机器上的"所有" user 可以不用经由输入 password 来进入你的帐号,是壹种更危险的行为。 所以请自行小心。
2. telnet telnet 是一个提供 user 经由网路连到 remote host。 telnet 的 格式如下:
telnet [ hostname | ip-address ] [ port ]
hostname 为一个像 ccsun1 或是 ccsun1.cc.nctu.edu.tw 的 name address, ip-address 则为一个由四个小於 255 的数字组成的 ip address ,如 ccsun1 的 ip-address 为 140.113.17.173 ,ccsun1.cc.nctu.edu.tw 的 ip-address 为 140.113.4.11 。你可以利用 telnet ccsun1 或 telnet 140.113.17.173 来 连到 ccsun1。
port 为一些特殊的程式所提供给外界的沟通点,如资工系的 MUD 其 server 便 提供一些 port 让 user 由这些 port 进入 MUD 程式。详情请参阅 telnet(1) 的说明。
3. ftp ftp 的意义是 File Transfer Program ,是一个很常应用在网路档案传输的 程式。ftp 的格式如下:
ftp [ hostname | ip-address ]
其中 hostname | ip-address 的意义跟 telnet 中的相同。
在进入 ftp 之后,如果与 remote host 连接上了,它将会询问你 username 与密码,如果输入对了就可以开始进行档案传输。
在 ftp 中有许多的命令,详细的使用方式请参考 ftp(1) ,这里仅列出较常 用的 cd , lcd , mkdir , put , mput , get , mget , binary , ascii , prompt , help 与 quit 的使用方式。
ascii 将传输模式设为 ascii 模式。通常用於传送文字档。
binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像 档等。 cd remote-directory 将 remote host 上的工作目录改变。
lcd [ directory ] 更改 local host 的工作目录。
ls [ remote-directory ] [ local-file ] 列出 remote host 上的档案。
get remote-file [ local-file ] 取得远方的档案。
mget remote-files 可使用通用字元一次取得多个档案。
put local-file [ remote-file] 将 local host 的档案送到 remote host。
mput local-files 可使用通用字元一次将多个档案放到 remote host 上。
help [ command ] 线上辅助指令。
mkdir directory-name 在 remote host 造一个目录。
prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个档案之传 输时均会询问。
quit/bye 离开ftp .
利用 ftp ,我们便可以在不同的机器上将所需要的资料做转移,某些特别的 机器更存放大量的资料以供各地的使用者抓取,本校较著名的 ftp server 有 NCTUCCCA 与系上的 ftp.csie.nctu.edu.tw 。这些 ftp server 均有提 供一个 user 称为 anonymous ,一般的"外来客"可以利用这个 username 取 得该 server 的公共资料。不过 anonymous 在询问 password 时是要求使用 anonymous 的使用者输入其 email address,以往有许多台湾的使用者在使用 国外的 ftp server 时并没有按照人家的要求输入其 email address,而仅是 随便打一些字串,引起许多 internet user 和管理者的不满,对台湾的使用 者的风评变得很差,因此遵循各 ftp server 的使用规则也是一件相当重要的事。
f. 关於通讯用的指令:
1. write 这个指令是提供使用者传送讯息给另一个使用者,使用方式: write username [tty]
2. talk/ytalk/cytalk/ctalk UNIX 专用的交谈程式。会将萤幕分隔开为你的区域和交谈对象的区域, 同时也可和不同机器的使用者交谈。使用方式:
talk username[@host] [tty]
3. mesg 选择是否接受他人的 messege , 若为 messege no 则他人的 messege 将无法 传送给你,同时他也无法干扰你的工作。使用方法:
mesg [-n|-y]
4. mail/elm 在网路上的 email 程式,可经由此程式将信件 mail 给他人。 使用方式:
mail [username] mail -f mailboxfile
如有信件,则直接键入 mail 可以读取你的 mail .
elm 提供较 mail 更为方便的介面,而且可做线上的 alias . 你可以进入 elm 使用上下左右键来选读取的信件,并可按 h 取得线上的 help 文件。
使用方式:
elm [usernmae] elm -f mailboxfile
g. 编译器( Compiler : Compiler 的用处在於将你所撰写的程式翻译成一个可执行档案。在资工系常 用的程式语言是 C , pascal , FORTRAN 等。你可以先写好一个 C 或 Pascal 或 FORTRAN 的原始程式档,再用这些 compiler 将其翻成可执行档。你可以 用这个方法来制造你自己的特殊指令。
1. cc/gcc (C Compiler) /usr/bin/cc /usr/local/bin/gcc
语法: cc [ -o execfile ] source gcc [ -o execfile ] source
execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可 执行档会以 a.out 做为档名。 source 为一个以 .c 做为结尾的 C 程式档。 请参阅 cc(1) 的说明。
2. pc (Pascal Compiler) /usr/local/bin/pc
语法: pc [ -o execfile ] source
execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可 执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 Pascal 程 式档。 请参阅 /net/home5/lang/man 中 pc(1) 的说明。
3. f77 (Fortran Compiler) /net/home5/lang/f77
语法: f77 [ -o execfile ] source
execfile 是你所希望的执行档的名称,如果没有加上 -o 选项编译出来的可 执行档会以 a.out 做为档名。 source 为一个以 .p 做为结尾的 FORTRAN 程 式档。
h. 有关列印的指令: 以下为印表所会用到的指令,在本系的印表机有 lp1 , lp2 ( 点矩阵印表机 , lw , sp , ps , compaq ( 雷射印表机 ,供使用者使用。
1. lpr lpr 为用来将一个档案印至列表机的指令。
用法: lpr -P[ printer ] file1 file2 file3 ....
或 lpr -P[ printer ] < file1
例子: lpr -Plp1 hello.c hello.lst hello.map lpr -Plp1 < hello.c
前者以参数输入所要印出的档案内容,后者列印标准输入档案( standard input ![](http://www.blogcn.com/images/wink.gif) 的内容,因已将 hello.c 转向到标准输入,故会印出 hello.c 的档案内容。
2. lpq lpq 是用来观察 printer queue 上的 Jobs 。
用法: lpq -P[ printer ]
3. lprm lprm 是用来取消列印要求的指令。 通常我们有时会印错,或是误送非文字档 资料至 printer , 此时就必须利用 lprm 取消列印 request ,以免造成资源 的浪费。
用法: lprm -P[ printer ] [ Jobs id | username ]
lprm 用来清除 printer queue 中的 Jobs , 如果你使用 Job Id 作为参数,则 它将此 Job 自printer queue 清除,如果你用 username作为参数,则它将此 queue 中所有 Owner 为此 username 的 Jobs 清除。
i. 更改个人使用资料:
1. passwd passwd 是用来更改你的使用密码,用法为:
passwd [ username ]
在使用 passwd 的时候,它会先问你的旧密码,然后询问两次要更改的密码,确定 无误后才将你的密码改掉。
2. chsh chsh 是提供使用者更换 login shell 的指令,你可经由此更换自己使用的 shell 。 |
|