1. ls
这是最基本的档案指令。 ls 的意义为 "list",也就是将某一个目录或是
某一个档案的内容显示出来。如果你在下 ls 指令後头没有跟著任何的档名,它将会显示出目前目录中所有档案。也可以在 ls 後面加上所要察看的目录名称或档案的名称,如
% ls /etc
ls 有一些特别的参数,可以给予使用者更多有关的资讯,如下:
-a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls
将不会显示出这个档案的名字,我们称此类档案为隐藏档。如 tcsh的初设档 .tcshrc;如果我们要察看这类档案,则必须加上参数 -a 。
-l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯,如档案存取权,档案拥有者( owner ),档案大小,档案最後更新日期,甚而 symbolic link 的档案是 link 那一个档等等。如下
% ls -l
如果你在使用中觉得已经看到了所要看的部份,可以按'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 则是当显示完之後不会有跳行的动作。
-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 代表标准函数,等等。
我们如要参考 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 的格式是: