UNIX常用命令第二部分

2010-04-26  张寰宇 

如此你就可以建立一个或多个目录。

6. chdir ( cd )
这是让使用者用来转移工作目录用的。
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

如果你在使用中觉得已经看到了所要看的部份,可以按´离开 more 的使用。
在使用中按´亦可以使用编辑器来编辑所观看的档案。

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 的网路指
令,在你的位子上连到各个不同的机器上工作。如此一来,即使你在寝室,也能
轻易的连至系上或计中来工作,不用像以前的人必须泡在冷冰冰的机房面。


224°/2234 人阅读/1 条评论 发表评论

苗志伟  2010-04-27

支持帅哥分享!


登录 后发表评论