📄 linux选修课讲义台大计中unix讲义.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://www.linuxforum.net/books/jy/M.924786522.A -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY><PRE>发信人: albin (阿乐斌), 信区: LINUX
标 题: 台大计中UNIX讲义:使用UNIX(LINUX先修课参考资料)
发信站: 碧海青天 (Thu Apr 22 22:08:42 1999), 站内信件
台大计算机中心网路推广协会
网路课程讲义
课程名称:使用UNIX
上课日期:82年11月2日
讲师:原孝忠
———————————————————————————
<<<版权声明>>>
本著作物版权属於国立台湾大学电子计算机中心。为了推广网路的使用,除了下列的限
制之外,任何人均可以任何型式复制或修改这份讲义。
一、不得有任何的商业行为
二、复制或修改这份讲义时,必须将本版权声明列入,并注明之
三、国立台湾大学电子计算机中心不对修改过後的内容负任何的责任
———————————————————————————
□前言
在你使用UNIX之前,你必须在workstation上有account(帐号),你才能进去使用。
在login:出现後,打入帐号名称,然後输入密码,现在你已经完成login 的动作,进入
UNIX了。在进入之後,系统会启动 "shell",这个程式会接受你打的指令,去执行它,
shell 有好几种,有csh tcsh sh bash ksh ...,我主要指的是csh 。基本上,我们待
会谈的指令都是在shell 下输入的。
当你输入set 指令,你会看到一些变数,来看几个重要的:
home : 家。Home是你拥有的地方,你可以在这个目录下放置任何东东。你一进
入系统,一定是先到这里的。
path : 路径。通常执行档是放在不同的地方,系统会顺著path中的目录一个个
去找执行档。
term : 终端机。表示现在的终端机形态,常用vt100 、vt102 、ansi。
set <name>=xxxx 就可以设定变数的值,$<name> 代表这个变数。
<eg> %set term=vt100
%set path=($home/bin $path)
%echo $term
vt100
%
□档案系统介绍
UNIX的档案系统呈树状结构,包含了目录(Directory)和档案(file) 。如果说你以前有
接触过DOS ,那应该不陌生;如果没有,那你应该仔细瞧瞧。
一、目录(Directory)
基本上,目录是用来分类档案的。一个目录下面可以包含许多档案,或是许多
目录,而这些下层的目录就叫″子目录″ (subdirectory) ,它们也都具有相
同性质。由这些目录所构成的一层层分枝,看起来就像一棵树,所以才叫树状
结构,而最上面的目录称作″根目录″。
一个目录在建立的时候,具有两个基本项目:″.”和″..”。”.”指的
是目录本身,而″..”指的是上一层的目录,这两个是一直跟著目录共存亡
的。
这是档案系统简图,很像一棵树吧!
┌ Joe .....
│ ┌ Mail ┬ joe
│ │ ├ Mary
┌— users ┼ Tom ┤ └ Eric
│ │ └ dead.letter
│ └ Mary ┬ Mail .....
│ └ ....
/ ┼— bin ┬ ls
│ ├ mail
│ ├ rm
│ └ cp
└— tmp
<eg> %cd /
%pwd
/
%cd bin
%pwd
/bin
%cd ..
%pwd
/
%
二、档案 (file)
档案是储存资料的地方,这个资料可能是一份文字档,也可能是一个可执行的
程式,不同功能的档案,有著不同的属性,现在来看看。
% ls -l
total 1059
drwx------ 4 jong 512 Sep 6 14:54 Mail
drwxr-xr-x 2 jong 512 Oct 22 19:02 News
lrwxrwxrwx 1 jong 5 Oct 29 16:05 bin -> games
drwxr-xr-x 2 jong 512 Oct 29 16:05 games
-rw------- 1 jong 9915 Sep 6 14:55 mbox
drwxr-xr-x 2 jong 512 Oct 1 10:06 ok
-rw-r--r-- 1 jong 107171 Apr 14 1993 soccer.zip
drwxr-xr-x 4 jong 1024 Oct 27 20:54 xtype
-r-xr-xr-x 3 jong 925696 Aug 28 14:48 xv
在每个档案前有十个字,第一个字元是档案形式,d 指目录,- 指档案,l 指
连结(link)档案。从二到十是属性,三字一组,一共三组。一组三字代表<读、写
、执行>,即 r w x , - 则表无此属性。第一组是owner ,第二组是group ,
第三组是others。
<eg> rw------- 只有owner 可读写
r-xr-xr-x 可读、执行,不可写
rw-r--r-- owner 可读写,其他只可读
档案的名字除了"/" 之外,都可以用,随便多少都可以。档案开头是"." 的档
案是隐藏档,平常看不到,要用ls -a 或 ls -al 来看。
□输出入的重置(redirection)与管道(pipe)
输出和输入虽然是硬体设备,但UNIX却把它们视为档案,既然是档案,就不需要知
道到底是什麽,可能是keyboard、monitor ,也可能是磁碟上的一个档。一般说来,标
准输出(standard input)是monitor,标准输入(standard output)是keyboard,但我们
能够把它们转向到别的档案,也就是从档案输入资料,或是输出资料到某个档。">" 用
来转向output,"<" 用来转向input ,">>"则是将结果附加在档案後面。
<eg> %echo TEST > test.1
%echo test >> test.1
%cat test.1
TEST
test
%
另外还有一种是标准错误输出(standard error),用来显示错误讯息,如果output
被转向,我们还是可以立刻在萤幕上看到错误讯息。">&"可以把它转向,">>&" 则是附
加在档案後面。
再介绍管道的观念。"|" 是管道的符号,它的性质就像一根管子,用来连接左右两
边的输出和输入。左边指令的output,会当作右边指令的input ,如此一来,我们就可
以对output做筛选的工作,只留下想要的资料。
<eq> %ps -aux | grep <name>
就可以看到<name>所有正在执行的程式。
□行程(process)
一个正在执行中的程式,我们称做process 。UNIX是多工的系统(multitasking),
可以同时执行多个程式,让好几个人同时使用系统,执行程式。执行程式可分为两种:
前景执行(foreground)和背景执行(background)。一般我们在shell 下执行程式,一直
要等到程式结束才能继续输入指令,这就是前景执行。如果说我们不想等待程式结束,
或是执行时间太长,就可以将程式放到背景去执行,系统会自动执行它,而你就可以去
做别的事了。
怎样才能把程式放入背景?只要在指令後面加上"&" 就可以了。一但你在背景执行
程式,系统会传回"[n] xxxx",n 是job id,xxxx是process id。每一个process 都有
process id,而且不会有重覆。
要想停止前景执行的程式,可以按<Ctrl-C>中止,若是想暂停一下,可以按
<Ctrl-Z>暂时停止执行,要恢复执行可以用fg或bg来决定前景或背景执行。
<eq> %xtetris&
[1] 5678
%
□万用字元(wildcard)
在UNIX中,万用字元对输入档名非常有帮助。现在想看一下有哪些指令可用,你先打入
%cd /bin
%ls -al
你会发现好多执行档,如果你只想找"m" 开头的档案,可以键入
%ls m*
就可以做到。万用字元有三种:
* 代表任意长度的字串
? 代表任何的单一字元
[...] 代表区间内定义的任一字元
<eq>
c* 代表cat ,cp ,cal ...任意长度且开头为c 。
ca? 代表cat,cal ...三个字且前二字为ca。
ca[a-z] 代表caa,cab,caz ... 三个字且头二字为ca第三字为a到z。
附录A 指令介绍
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -