Unix 入门
说明:转自以为大神的笔记。
首先,我们一起看看UNIX的目录,因为清楚了目录,才能对UNIX的框架有个大概的印象!当然这里讲的是系统正常运转所必须的,并且一定不能删除或者修改。
/ 是系统的根目录;
/bin目录中包括最常用的UNIX命令;
/dev目录包括控制访问外部设备的特殊设备文件;
/etc目录中包括各种各样的系统程序和数据文件;
/lib目录里包括C语言以及其他语言程序的运行库文件;
/mnt目录是一个空目录,是为安装可移动的文件系统保留的;
/opt目录中包括在所谓的“软件存储目标”;
/shlib目录中包括系统使用的共享库;
/usr目录中有几个子目录,(/usr/include目录包括编译C语言程序的头文件;/usr/lib目录包括各种UNIX命令使用的更多的库和数据文件;/usr/spool目录包括各种各样的目录,用于存储那些将被打印、邮寄、或通过网络传递的文件;/usr/tmp目录包括更多的临时文件;/usr/adm目录包括与系统管理或记帐相联系的数据文件;特别地,/usr/adm/messages和/usr/adm/syslog文件包括系统错误消息的记录。)
/stand目录是引导文件系统的安装点,引导文件系统包括安装程序(boot),核心(unix),以及相关的boot文件;
/tcb目录包括所有作为TCB一部分的文件;
/tmp目录UNIX系统程序产生的临时文件;
/var目录包括指定某一单独客户或服务器的非共享SSO文件。
一、目录管理
1、创建目录:mkdir directory_name
比如:在/usr/目录下新建子目录apple
#mkdir /usr/apple 或者
#cd /usr
#mkdir apple
注:mkdir是make directory的缩写
2、列目录内容:
ls 纵向显示
lc 横向显示
ls –l(或简化为l)显示每个文件的详细信息,包括存取模式、链接数、属主、文件大小、上次修改时间等)
ls –a列出所有文件包括隐含文件(在unix要想使某个文件隐藏起来,只要在文件名前加个“.”就可以了。)
ls –F(或lf) 标出文件类型,在目录文件名标记“/”,在可执行文件后标记“*”号,在符号链接后标记“@”。
比如:列出/apple下的文件
#ls /apple
或者:
#cd /apple
#ls
ls –L或是l命令将显示:
total 20
-rwxrw-r-- 1 apple fruit 1181 Mar 14 2002 dir1
式的内容。
其中,第一行total指明的是总块数。
-rwxrw-r-- apple fruit 1181 Mar 14 2002 dir1这一行中,第一个-,代表是一个普通文件,如果是d(directory)表示是目录文件,如果是l 表示是符号链接(link),b表示是块(block)设备文件,c表示是字符(character)设备文件。
rwxrw-r--中每三个字母为一组,英文名叫triplet,分别指明文件主(user)、同组用户(group)和其他用户(other)的访问权限。
r表示可读(read)、w表示可写(weite)、x表示可执行(excute)
如果一屏显示不下,可能用管道加more或 pg分屏阅读:
# ls |more
# ls |pg
注:ls是list的缩写。
3、目录的重命名:mv oldname newname (可以是目录名或路径名) 比如:将目录 /usr/apple改为/usr/pear
#mv /usr/apple /usr/pear
或者:
#cd /usr
#mv apple pear
注:mv是move的缩写
4、删除目录:rmdir directory (directory为空),dirctory里有内容时:rm –r directory
比如:删除目录/apple(内容为空)
# rmdir /apple
注:rmdir是remove directory的缩写
5、比较目录:dircmp directory1 directory2
二、漫游文件系统
1、要想知道你在文件系统中的位置可用pwd 命令。比如, # pwd
屏幕上将显示:
/usr
表明你现在正在/usr目录下工作。
注:pwd是print word directory的缩写,在unix中,print一般是在在屏幕上显示的意思,而不是打印。
2、改变目录:cd directory 比如:你的当前目录为:/apple 要切换的/usr/pear(当然这个目录要存在),
#cd /usr/pear
然后再用pwd命令查看当前工作目录
pwd
/usr/pear
注:cd是change directory的缩写
三、管理文件
1、查看文件内容:cat filename 比如:目录/apple下有一个文件love,内容为“I love you all my heart! ”
#cat /apple/love
或者:
#cd /apple
#cat love
注:也可cat –v filename(不知道文件属于何类型),
cat filename |pg(分屏阅读)。
由于cat命令原本是用于文件联结的,因此,它只适用于查看不足一屏(一般为24行)的文件。如果文件超过了一屏,就需要用more命令。
比如:
more file1
按空格键显示下一屏,按回车键显示下一行。
注:cat是concatenate 的缩写
more据台湾一位教授的解释,就是“再看一页再看一页”的意思。在Linux里有一个less命令,也是分屏显示的,但是能前后翻页。
cat主要作用是文件的联接,比如,把file1 file2连接起来,成为file3
cat file1 file2 >;file3
其中的 >; 称为改向输出符,如果是把file1连接到file2有末尾,则:
cat file1 >;>; file2
cat命令除了显示和连接文件以外,还有一个常用的功能,就是建立非常小的文本文件,语法格式为: cat >; filename
例如:编辑一个小的shell小程序dl,用来打印一个文件agent008,
cat >; dl
lp agent008
然后按<ctrl>;+d结束。
查看文件的头部:head filename
查看文件的尾部: tail filename
2、复制文件:cp filename copyname(filename前面可以加路径)或者:
cp filename … pathname
比如:将目录/apple下的文件love复制到目录/pear 下
#cp /apple/love /pear 假如多个文件:
#cp /apple/love1 love2 love3 /pear
注:cp由copy缩写而成。
3、文件的移动和重命名:
文件的移动:mv sourse_file target_directory
比如,将/apple目录下的文件love移动到目录/pear下,
# mv /apple/love /pear
文件的重命名:
在unix里,文件的重命名就是把文件从原文件名(old_filename)下移动到新文件名(new_filename)下:
# mv old_filename new_filename
比如:将目录/apple下的文件love改名为happy,
# mv /apple/love /apple/happy
或者:
# cd /apple
# mv love happy
注:mv由move缩写而来
4、删除文件:rm filename(一定要小心使用呀,unix由于早期只是专业人员使用,提倡严谨的工作作风,所以在执行命令时往往不要求确认,如果执行成功,就给出结果,执行不成功,才给出出错信息,所以,对你不熟悉的命令千万不要像windows一样去试,因为指令一旦发出,unix就会不折不扣地执行,没有像windows那样“悔棋”的机会。)
为了防止误删除文件,良好的习惯是加上-i选取项。
比如,rm -i file1
系统会要求你确认是不是真的要删除,待你确认后再删除。
注:rm由remove缩写而来
5、在文件中查找指定的字符串:grep options text filenames
这个命令好比用word打开一篇文件后,查找某一字符串。不同的是,在unix中,用grep命令,不用打开文件。比如,
# grep root /etc/passwd
就可以显示出root用户的有关信息。
再比如,加上管道,可以一次查出某一终端的所有进程号。
# ps –e|grep tty03
就可以查出终端tty03的所有进程号。当然,查出进程号的目的一般是为了kill它们。那么怎么一次实现呢?这就需要用到awk命令了。
比如,要kill tty03的所有进程,可以用命令
# kill –9 ‵ps –e|grep tty03|awk ‘{print $1}’‵
注意,ps前面和最后的的那个符号,是倒引号,在数字“1”的左边。
查找文件: find path_list expression
其中,path_list是查找的目录列表,可以是一个目录,也可以是多个目录。如果是多个目录之间,要以空格符分开。如果从当前目录开始查找,可以用“.”号表示,如果是从根目录开始查找,就要使用“/”来表示。
expression项(表达式)是查找条件,用户利用它可以设定是按文件的名字、日期或是其他条件来查找。我经常用的是名字。
比如:在/usr下,查找一个名为ttytab的文件
# find /usr –name ttytab –print
其中的-name指明是用名字查找,-print是告诉系统,找到ttytab文件后在屏幕上显示它在什么位置。不过在sco openserver中可以省略-print。
在windows98中,我们可以用“查找”一次性删除所有临时文件。在unix里,我们也可以用find一次删除符合某些条件的文件,比如,在/usr目录及其子目录中,删除所有以txt为扩展名的文件。
find /usr –name *.txt –exec rm {}\;
-exec command_name {}\; 找出与条件匹配的文件后,执行command_name所指定的命令。注意,这条命令的结尾必须有{}\;
四、文件和目录的存取控制
1、改变文件的权限:
chmod who [+-=] operator_ permission filename
who包括u g o,分别代表用户(user)、同组用户(group)和其他用户(other)
+ 增加权限
-减少权限
=增加等号后面的权限,同时减去原来的权限
operator_ permission包括r(read)、w(weite)、x(excute)。
比如:chmod u+x filename
给文件主以执行权
这有一种方式:chmod mode filename
其中mode为nnn模式,n是0-7之间的数,4表示可读,2表示可写,1表示可执行。nnn中第一个n是用户的权限,第二个n是同组用户的权限,第三个n是其他用户的权限。如果如赋予可读可写两个权限,则用6(4+2而来),而如果要赋予可读可写可执行全部权限就用7表示。
例如:chmod 777 file1
就是把file1让所有用户可读可写可执行。
而chmod 740 file1则是的权限设置为文件的主人自己可读可写可执行,同组用户只读,其他用户连看都不行了。0表示没有任何权限。
chmod由change mode缩写而来
2、改变文件属主:chown new_owner [:group_name] filename
例如:改变文件file1主人为apple
$ chown apple file1
要注意的是,除非你是root,否则,给了别人的文件你自己可就要不回来了。假如你是pear,在你运行了chown apple file1后,你就把文件给了apple。如果你再运行chown pear file1。系统就会告诉你没有这个权限。要想把给人家的文件再要回来,只有求助于root用户。
如果还要改变文件的所属组,apple用户要把文件file1送给fruit组的apple用户,可以使用命令:
chown apple:fruit file1
注:chown由change owner缩写而来
改变文件的属组也可以用chgrp命令
3、查看你所在的组:id
4、改变当前用户组:sg
5、改变文件所在的用户组:chgrp new_group filename
比如:chgrp fruit file1
注:chgrp:由change group缩写而来
6、在命令行中获得帮助man [section] keywork 比如:
man C kill
注:man由manual(手册)缩写而来
五、磁盘的使用
1、软盘的格式化:format [设备名]
比如:格式化1.44M软盘:
#format /dev/rfd0135ds18
r表示是原始(raw)设备,fd表示是软驱,0表示第一个软驱,135表示135个磁道,ds表示双面磁盘,18表示18个扇区。
unix中,format命令只能格式化软盘,不能格式化硬盘。
另外,如果在/etc/default/format文件中,DEVICE定义的是缺省的设备名,一般都是DEVICE=/dev/rfd0135ds18,所以你可以只键入format就可完成对软盘的格式化。
2、软盘的复制:diskcp [optition] [-135ds18]
optition有多个选项,但现在的PC一般只有一个软驱,所以常用的就剩下一个-f(format)了,-135ds18代表我们常用的1.44M软盘。
比如:
$ diskcp –f –135ds18
复制时先对目标盘格式化,然后再复制。
3、用软盘备份文件:比如将硬盘目录下/apple的文件love存储到空软盘上,你可以:
#cd /apple
#tar cv6 love
c 表示在创建(create)一个新文件,并且覆盖已有的同名文件。如果不想覆盖。命令为:
#tar uv6 love
v 显示每个被处理的文件名。
6表示是软驱。数字和设备的对应关系,在/etc/default/tar文件中定义,可用more /etc/default/tar命令或是不带任何参数的tar命令查看,也可用vi修改。
4、列出软盘中文件的名字:#tar tv6
5、将软盘中文件恢复到硬盘:#tar xv6
x表示抽取(extract)
六、增加用户和切换用户
1、增加用户:#scoadmin account
里面可有好多东东哟!你可以添加用户,添加组,删除用户和组,当然也可以修改,呵呵,可以打开看一下的!比如:添加一个用户apple,你可以:
#scoadmin account →user→Add New User
出现增加用户的界面:
Login:apple
User ID:200
Comment:
Password:<*>;Set password now <>;Set password later
Login shell:sh [Change Login Shell…]
Networked via: [Change Distribution…]
Home Directory:/usr/apple
Login Group:group [Change Group Membership…]
[OK] [Cancel] [Help]
输入有关信息后,将光标移动到OK处,按回车键。
注释:
Login:处输入用户名
User ID:用户ID,一般用系统推荐值即可。小于200的为系统用户,0超级用户使用。
Comment:对用户的注释说明,可以不输。
Password: Set password now,现在就设置口令。
Set password later以后再设置口令
Login shell:sh用户的注册shell,系统缺省的是sh,即标准 shell,如果要更改,把光标移到Change Login Shell…]处回车,选择别的shell,如csh ksh……。
Networked via: 一般不用设置。
Home Directory:用户的家目录(一般都是译成主目录,不过我觉得译成家更形象些。一般系统会自动在/usr目录下,为新用户建立一个“/usr/用户名”的家目录,比如本例是/usr/apple
Login Group:添入用户所属的组名,系统缺省的是group。
2、切换用户:su
windowsXP一大卖点就是新增加了切换用户(switch user)功能。其实,unix早就有了这项功能,而且比windows XP要方便得多。
比如:你是用户pear,现在要切换成用户apple
$ su apple
当然你得知道apple的口令。但是root用户运行su变成其他用户,是不需要口令的。
如果没有指定用户名,缺省是切换到root用户,如
$ su
password:
在你输入root口令后,系统提示符就会变#,而不是$了。
但是你会发现,你的工作目录和环境并没有改变,也就是su的结果和直接用apple或是root用户的帐号注册还是不一样的。那么怎样如同注册一样呢,只要在su后面加上一个短横就可了。
比如:$ su – apple
就和在login:后面键入apple一样获得了apple用户的环境。注意,“-”前后各有一个空格。
七、设置或者改变用户口令:passwd
直接键入passwd可修改自己的口令,一般用户只能修改自己的口令,而root用户不仅可以修改自己的口令,还可以修改其他用户的口令。
#passwd username
比如,root用户要修改apple用户的口令,可运行:
# passwd apple
Setting password for user:apple
last successful password change for apple:Tue Dec 30 08:34 2001
Choose passeord
You can choose whether you pick a password
or have the system create one for you.
1.pick a password
2.Pronounceable password will be generate for you
注:第一种方式是自己创建新口令,第二种方式是由系统为你创建一个可以发音的口令,我们一般选第一种方式。
Enter choose (default is 1):1
Please enter new password (at least 3 characters):
new password:
Re-enter password:
输入口令时,屏幕上并不显示。这是出于安全和保密的考虑。
八、系统的关闭与重启:
在UNIX里非法关机,是非常非常不好的事情,切记切记!
#shutdown –y –g0
这是最安全的关机方式。-y选项是告诉系统,凡是询问都回答y, -g0则指定等待时间为0分钟。如果不指定,缺省的是1分钟。当然你要有关机的权限,才能执行这个命令的。
#haltsys
这是紧急关机方式,只能在系统维护模式下由超级用户root才能执行。
#reboot
重启系统,假如你添加了新的硬件或者修改了一些配置文件,记得一定要运行这个命令,不然不会生效的。也是只能在系统维护模式下由超级用户root才能执行。
login:halt
用关机用户关机
我们每天的关机都是在login:后面直接输入一个用户名比如halt或是haltsysy就能关机。那么这种关机方式是如何实现的呢?有多种方法:这里只介绍一种:
第一步:建立一个用户,名字呢我们就用halt吧
第二步:在/usr/halt目录下建立一个shell script,起名为halt.sh,内容为“shutdown -y –g0”,名字
第三步:chmod u+x halt.sh
第四步:vi /etc/passwd,把halt用户的uid改成0,注册shell改成halt.sh.
九、系统管理:
系统管理的命令,一般都是由root用户执行的,一般用户可能执行不了,除非你得到了root用户的授权。
1、查询系统时间:data
2、修改系统时间:asktime [YYMMDD]
YY:年
MM:月
DD:日
hh:时
mm:分
都用两位数表示。比如把系统时间改为2002年6月17日16时45分。
# asktime
3、查询谁在系统中:who
也可以简化为w
4、谁在做什么:whodo显示用户正在进行的工作。
5、终端名的获取:tty [-l] [-s]显示当前正在使用的终端的设备文件及其路径名。
6、进程状态的了解:ps [options] 你可以知道进程活动的信息哟!什么是进程,还记得吗?UNIX里,可是很重要的东东哟!
常用的选项有:
-e 显示每个进程的信息(everything)
-f 显示进程的完整信息。(full)
-t ttynum 显示ttynum指定的终端的进程
-u username 显示usename指定的用名的进程信息
-l 以长格(long)形式显示进程信息,总共14列,其中每列标题的含义如下:
F:(flag):用八进制表示的进程的有关标记,00表示进程已结束,01表示是系统进程,20表示进程被装主内存中。
S:(state)表示进程的状态,B和W表示正处于等待状态,I表示空闲,O表示正在运行,K表示已装入队列可运行进程,S(sleep)表示处于睡眠状态,R(ready)表示处于就绪状态 ,T表示被跟踪,X表示等待更多的内存。
UID :(user ID)进程属主的用户标识
PID :(process ID)进程号,(kill命令用的就是这个号)
PPID (parent process ID) 父进程号
C :CPU的占用率
STIME:进程被提交的时刻
PRI:进程的优先级(priorty)
NI:进程的nice值
ADDR:进程的内存地址(address)
SZ:进程的内存映像的大小(size),以块表示
WCHAN:睡眠进程地址。对于运行的进程是空的
TTY:进程所属的终端号。如果是?号,则是系统进程
TIME:进行已执行的累计时间
CMD:调用该进程的命令名
比如,查看tty03的进程信息
$ ps -t tty03
查看系统中所有进程的信息
# ps -e
或
#ps -ef
杀死进程:假如进程占用了过多的处理时间,是系统变慢,或者它陷入一个死循环,不能结束。呵呵,kill它!为了杀死进程,你可以试试键入:<Ctrl>;<Del>;或者<BREAK>;或者<Ctrl>;D或者<Del>;,或者命令:kill pid或者kill -9 pid
7、统计磁盘使用空间:du显示指定文件所使用的磁盘块数和全部文件占用的总块数。
8、统计磁盘自由空间:df显示指定文件系统中的自由空间块数和自由I节点数。
如# df
/ (dev/root):962630 blocks 61557 I-nodes
加上-v选项可显示文件系统的总块数、已用块数、空闲块数和已用的百分比。如:
# df -v /dev/root
Mount DIR filesystem blocks used free %used
/dev/root /dev/root 1030176 57546 962630 6%
在SCO UNIX中,还有一个dfspace命令,可以用M为单位显示磁盘的使用情况。比如:
# dfspace
/ :disk space :469.96MB of 503.01MB available (93.43%)
Total Disk Space: 469.96MB of 503.01MB available (93.43%)
说明你的硬盘总共大小是503.01MB,已使用469.96MB,百分比是93.43%.
9、文件类型的确定:file filename
10、在管道线上建立“三通”:tee [options] [files]
tee由“T”而来,(tee与T的英语音标都是[ti:],)而T则“三通管”的像形,即取前一条命令的的输出作为输入,然后将其传送给下一条命令,同时,形成一个文件。比如:
ls -l /bin|tee file1 |wc
将ls命令的结果既保存在文件file1中,又交给wc去统计。
ls -l /etc|tee -a file1|wc
把ls命令的结果追加到文件夹file1的尾端,同时交给wc去统计。
十、访问DOS磁盘信息
1、DOS磁盘目录的显示(你有的时候可能要在UNIX里显示DOS磁盘上的内容哟!)
# dosdir dir (dir为设备符、文件名。)比如:查看软盘A的内容
# dosdir /dev/fd0
或者# dosdir /dev/fd0:
也可以用UNIX格式显示
# dosls dev/fd0
2、DOS磁盘文件内容的显示:
# doscat filename 比如:你查看软盘A中的文件config.sys,
#doscat /dev/fd0:config.sys
注意:/dev/fd0:config.sys不能是/dev/fd0/config.sys,因为/ dev目录下是设备文件,如果写成/dev/fd0/config.sys,config.sys就成了设备文件了,而这个设备文件是不存在的,因此,系统就会给出出错信息
。
3、DOS磁盘目录的建立和删除:
dosmkdir directory(建立)
dosrmdir directory(删除)
例如:
dosmkdir /dev/fd0:apple
dosrmdir /dev/fd0:apple
4、DOS磁盘的格式化:
dosformat [-fqv] drive
比如:你要格式化1.44MB软盘
#dosformat /dev/fd0135ds18
其中,注意format的设备名是rfd0135ds18,表示是原始(raw)设备名,而 dosforamt的设备名是/dev/fd0135ds18,fd前面没有字母“r”。
5、DOS磁盘上文件的删除:
dosrm /dev/fd0:file1 file2…
6、DOS和UNIX之间的文件复制:
doscp [-r][-m]file1 file2
或者:
doscp file… directory
-r 复制时不进行换行符的转换
-m复制时进行换行符的转换(unix和dos的换行符是不同的)
例如:
doscp -m apple /dev/fd0
把文件apple用dos格式复制到A盘,复制时进行换行符的转换
doscp -r apple /dev/fd0:fruit
把文件apple用dos格式复制到A盘的fruit目录下,复制时不进行换行符的转换。
你一定觉得总是把A盘写成/dev/fd0很麻烦了吧?能不能把/dev/fd0写成A:呢?能,一定能。用vi打开/etc/default/msdos文件,把其中的“A=/dev/install”改成“A=/dev/fd0”就可以了。
如:dosdir a:
dosdir A:(盘符也和dos一样,可以大小写不分)
不过要提醒的是,在指定dos目录的路径时,不能使用dos的分隔符“\”,只能使用unix的分隔符“/”。
还有一点要注意,在这几个命令中,对dos文件的存取不能使用通配符,但对unix的文件可以使用通配符。
比如:
$ doscp /usr/apple/* A:
但不能使用
doscp A:*.* /usr/apple
十一、编辑文件:
1、启动vi:
#vi filename
假如该文件存在,vi就会将其读入,否则就会创建它。记得新建目录的命令吗?对了,用mkdir directory,那么新建一个文件呢?对了,聪明!你可以用vi filename创建了。当然了,建立的是文本文件。
2、输入正文:记住了,输入正文之前,可一定要在命令模式下发出一个输入正文的命令!呵呵,别急嘛!我会告诉你输入正文的命令的。在输入过程中,你输入的任何字符都被视作输入的内容,怎么办呢?猜猜看,你可以按〈Esc〉键返回命令模式。
哦,对了,差点忘了告诉你,输入正文,叫插入模式。
a 从光标右侧开始添加正文;
A 从行尾处开始添加正文;
i从光标左侧开始添加正文;
I从行首处开始添加正文;o 从当前行之后打开新的一行;
O从当前行之前打开新的一行;
3、保存文件并退出:别忘了,一定要在命令模式下才能保存退出哟!你按<Esc>;,直到终端会叫了,那一定是命令模式的。有好多方法保存,但是一定要加一个冒号“:”。比如:
“:w”是保存但不退出;
“:q”是退出但不保存;
“:wq”是保存并退出vi。
我常用的是:“:x!”是保存并强行退出;“:q!”是不保存强行退出。
4、在文件中移动光标。现在的PC键盘,大多可以用四个箭头键来移动光标,但是,unix诞生时,可能还没有这种PC键盘,所以它用的是h j k l四个键。用熟了,这四个键还挺方便的。
h 向左移动一个字符;
i向右移动一个字符;
k向上移动一个字符;
j向下移动一个字符;
5、删除和恢复文件:删除光标所在的字符用x;删除光标所在行用dd。
撤销前一次操作,用u或者U。
6、编辑时遇到的特殊情况:屏幕不可读时,按<Ctrl>;+L或者<Ctrl>;+R使屏幕刷新;如果还是不能阅读,那可能是你的终端设置不对,或者编辑了非正文文件,别忘了键入:q!不保存退出。
举个例子吧!在/apple目录下编辑文件love,
#vi /apple/love,
假如原来的文件内容为:
you are my kind of girl,you have a beautiful personality,and looks neat and fresh!
it was love at first sight,but I don’t have the heart to tell you, so I make a pass at you.
I’ve been dying to see you when leave xianghe,and I love you with all my heart!
I’m too deeply involved!
God bless you,god bless me too!
OK!比如:你要在I’m too deeply involved!插入don’t you give me the cold shoulder.那么你应该将光标移到involved!后,然后按i 你就可以插入了;假如你要删除so I make a pass at you.你可以将光标移到要删除的字符上,按x 将其删除;
假如你要将but I don’t have the heart to tell you,的逗号改为感叹号,你可以插入感叹号,并将逗号删除,呵呵,废话,是吗?假如你要删除God bless you,god bless me too!整行,你可以在命令状态下按dd;
假如你要在 I’ve been dying to see you when leave Nanping,and I love you with all my heart!
后面加一行,并插入love you more than I can say!你可以将光标移动到I’ve been dying to see you when leave Nanping,and I love you with all my heart!上,(移动光标还记得吗?对了,h、j、k、l 。)然后在命令模式下,按o ,在按i 后 插入love you more than I can say!改完了吗?保存用“:x!”,不保存“:q!”。
你爱怎么改就怎么改吧!但一定不要将它改的面目全非了哟!
you are my kind of girl,you have a beautiful personality,and looks neat and fresh!
It was love at first sight,but I don’t have the heart to tell you, so I make a pass at you!
I’ve been dying to see you when leave Nanping,and I love you with all my heart!
love you more than I can say!I’m too deeply involved!
don’t you give me the cold shoulder.I wish apple and pear are going steady!
God bless you,god bless me too!
(你是我喜欢的那种女孩,你有永恒的魅力,你看起来优雅清新!对你一见钟情,但我没有勇气告诉你,所以我深情的看着你(送秋波)!离开南平,我一直很想你,我全心全意爱你!爱你在心口难开,我已经陷的太深。别再对我冷淡,我衷心祝愿apple和pear正式成为情侣!上帝保佑你,上帝保佑我!)
vi还有好多东东,但常用的就是这些。欲知详情,看书吧!
十二、打印文件
1、打印文件lp
lp命令来源于“line printer“,其意为行式打印机,这是过去的名称。现在它可用于各种类型的打印机。
lp [选项] [文件名]
它的选项有好几个,我没有使用到过,不敢瞎说,举个简单例子吧
比如,打印文件apple
lp apple
如果系统中不只有一台打印机,需要指定用哪台打印机的话,可以使用-d选项,指定目标(destination)打印机
比如,在epson打印机上打印文件apple
lp -d epson apple
在lp命令中,可以使用文件通配符。
2、取消打印作业
有时候,由于误操作,需要取消打印作业,应该怎么办呢?
取消打印队列的命令是cancel [打印队列号]
比如,当你成功执行了lp apple后,
系统会给出一条提示信息:
request id is epson-921
epson-921就是打印队列号,如果你又不想打印了,可以用以下命令取消这个打印作业。
cancel epson-921
如果要取消某台打印机上的所有作业,可以使用命令:
cancel [打印机名]
可是,由于目前我们所用的打印命令都是上级行编好的shell程序,你可能见不到打印id号的提示信息,那如何取消打印队列呢?,这就用到了lpstat命令,它可以帮助我们查到打印信息。
lpstat ,是lp stauts的缩写,其意为打印状态,语法格式为:
lpstat [选项]
选项有多个,我一般就用-t 选项,显示所有信息
比如:lpstat -t
以上只是对sco unix的入门介绍,而且没有介绍它的网络命令(因为一则我并不精通网络,二则我觉得unix的ftp 、telnet命令和win2000并没有什么不一样,因此,要学习ftp telnet在win2000上练习就可以了)。要想深入掌握unis,还是需要好好看一看专门的教程。
附录:unix系统下各文件的作用
/etc/auth:安全数据库文件
/etc/auth/subsystems:带保护的子系统授权数据库
/etc/auth/system:整个系统范围内的授权数据
/etc/conf:系统配置的主目录
/etc/conf/bin:与unix核心有关的命令
/etc/conf/cf.d:包含了用于连接unix核心所需的配置文件和主要的系统配置命令。
/etc/conf/init.d:系统串口状态描述文件
/etc/conf/mfsys.d:unix系统上几个文件系统描述信息文件
/etc/conf/node.d:设备节点描述文件
/etc/conf/pack.d:核心的目标模块
/etc/conf/pack.d/Sdsk:SCSI硬盘驱动程序
/etc/conf/pack.d/Srom:SCSI CD-ROM驱动程序
/etc/conf/pack.d/Stp:SCSI磁带接口卡驱动程序
/etc/conf/pack.d/ad:ADAPTEC 154X SCSI接口卡驱动程序
/etc/conf/pack.d/aio:异步硬盘I/O驱动程序
/etc/conf/pack.d/astmf:增强型VGA显示接口卡
/etc/conf/pack.d/aud:系统审计程序
/etc/conf/pack.d/busmouse:总线形鼠标驱动程序
/etc/conf/pack.d/cdb:MC146818驱动程序(CMOS时钟)
/etc/conf/pack.d/cdt:CD-ROM/TAPE驱动程序
/etc/conf/pack.d/cga:IBM彩色图形接口板驱动程序
/etc/conf/pack.d/ciha:386/486CBUS SCSI硬盘控制卡驱动程序
/etc/conf/pack.d/clone:(安装X sight所需)clone模块
/etc/conf/pack.d/cn:主控台驱动程序
/etc/conf/pack.d/cpqs:Compaq SCSI磁带接口卡驱动程序
/etc/conf/pack.d/cpyrt:版权设备驱动程序
/etc/conf/pack.d/cr_uni: Corollary显示接口卡驱动程序
/etc/conf/pack.d/ct:Wangtec盒式带驱动程序
/etc/conf/pack.d/da:VGA、EGA、CGA设备驱动程序
/etc/conf/pack.d//dda:merge和vp/ix直接设备访问驱动程序
/etc/conf/pack.d/dk:硬盘定位(Layout)支持驱动程序
/etc/conf/pack.d/dma:DMA通道驱动程序
/etc/conf/pack.d/dos:DOS设备驱动程序
/etc/conf/pack.d/dpt:DPT硬盘控制器驱动程序
/etc/conf/pack.d/du:RFS驱动程序
/etc/conf/pack.d/ecc:内存错误校验程序模块
/etc/conf/pack.d/ega:增强型图形接口板驱动程序
/etc/conf/pack.d/eiad:ADAPTEC174X SCSI接口卡驱动程序
/etc/conf/pack.d/eisarom:EISAROM驱动程序
/etc/conf/pack.d/err;错误信息模块
/etc/conf/pack.d/esc:OLIVETTI ESC-1硬盘接口板驱动模块
/etc/conf/pack.d/esdi:微通道结构机器上的ESDI硬盘控制器驱动程序
/etc/conf/pack.d/ev:事件驱动程序
/etc/conf/pack.d/evld:事件线规程驱动程序
/etc/conf/pack.d/fd:软盘驱动程序
/etc/conf/pack.d/fdha:FUTURE DOMAIN磁带主接口卡驱动程序
/etc/conf/pack.d/first:MPX(多处理器)核心挂接模块
/etc/conf/pack.d/fl5:软盘驱动程序
/etc/conf/pack.d/fp:浮点运算器驱动程序
/etc/conf/pack.d/ft:软盘磁带驱动程序
/etc/conf/pack.d/hd:ROOT硬盘驱动程序
/etc/conf/pack.d/hf:IBM HARD FILE接口卡驱动程序
/etc/conf/pack.d/hs:ISO-9660文件系统设备驱动程序
/etc/conf/pack.d/ida:IDA硬盘驱动程序
/etc/conf/pack.d/ida0:COMPAQ IDA硬盘控制器驱动程序
/etc/conf/pack.d/ida1:
/etc/conf/pack.d/ipc:进程间通讯模块
/etc/conf/pack.d/ir:IRWIN磁带驱动程序
/etc/conf/pack.d/itimer:间隔定时器驱动程序
/etc/conf/pack.d/kbmouse:键盘鼠标驱动程序
/etc/conf/pack.d/kernel:核心的目标模块
/etc/conf/pack.d//kprf:
/etc/conf/pack.d//ldterm:流伪TTY设备线规程规模
/etc/conf/pack.d/log:系统信息日志程序
/etc/conf/pack.d/mc:IRWIN MINI磁带驱动程序
/etc/conf/pack.d/merge:merge模块
/etc/conf/pack.d/mm:内存驱动模块
/etc/conf/pack.d/mono:单色图形接口卡驱动程序
/etc/conf/pack.d/msg:消息驱动程序
/etc/conf/pack.d/mskdb:核心调试程序
/etc/conf/pack.d/nfc:XNET驱动模块
/etc/conf/pack.d/nmi:不可屏蔽的中断处理程序
/etc/conf/pack.d/omti:OMTI硬盘驱动程序
/etc/conf/pack.d/pa:并行打印机驱动程序
/etc/conf/pack.d/pic:8259可编程中断控制器驱动程序
/etc/conf/pack.d/pit:8254可编程中断定时器驱动程序
/etc/conf/pack.d/prf:FROFILE驱动程序
/etc/conf/pack.d/ptem:at&t流伪TTY设备驱动程序
/etc/conf/pack.d/ptm:at&t流伪TTY设备驱动程序(主)
/etc/conf/pack.d/pts:at&t流伪TTY设备驱动程序(从)
/etc/conf/pack.d/ram:RAM盘驱动程序
/etc/conf/pack.d/rtc:实时时钟驱动模块
/etc/conf/pack.d/s5:S5文件系统驱动模块
/etc/conf/pack.d/s52k:S52K文件系统驱动模块
/etc/conf/pack.d/scodb:核心调试程序
/etc/conf/pack.d/sec:C2安全级驱动模块
/etc/conf/pack.d/sem:AT&T信号灯驱动模块
/etc/conf/pack.d/shm:AT&T共享内存驱动程序
/etc/conf/pack.d/sio:串行I/O驱动程序
/etc/conf/pack.d/sleeper:定时的睡眠/唤醒驱动程序
/etc/conf/pack.d/sp:(安装XSIGHT所需)流管道模块
/etc/conf/pack.d/spad:ADAPTEC 152X SCSI主接口驱动程序
/etc/conf/pack.d/spm:(安装XSIGHT所需)伪鼠标
/etc/conf/pack.d/spt:(安装XSIGHT所需)非流伪TTY驱动程序
/etc/conf/pack.d/ss:SUN RIVER STUB模块
/etc/conf/pack.d/str:流驱动模块接口
/etc/conf/pack.d/string:字符串设备驱动程序
/etc/conf/pack.d/sumo:STORAGE PLUS SCSI-AT硬盘控制卡驱动程序
/etc/conf/pack.d/sxt:SHELL分层驱动程序
/etc/conf/pack.d/sy:/DEV/TTY主控制台目标模块
/etc/conf/pack.d/timod:TLI交换操作模块
/etc/conf/pack.d/tirdwr:TLI读/写模块
/etc/conf/pack.d/tmcha:FUTURE DOMAIN TMC-8X0 SCSI接口卡驱动程序
/etc/conf/pack.d//vga:VGA图形接口板驱动程序
/etc/conf/pack.d/vpld:VP/IX线规程模块
/etc/conf/pack.d/vpt:VP/IX的TTY驱动程序
/etc/conf/pack.d/vx:虚拟8086驱动程序
/etc/conf/pack.d/wd:WD硬盘控制器驱动程序
/etc/conf/pack.d/wd0:WD第一号硬盘控制器驱动程序
/etc/conf/pack.d/wd1:WD第二号硬盘控制器驱动程序
/etc/conf/pack.d/wdex:WD 7000 EX SCSI主接口卡驱动程序
/etc/conf/pack.d/wdha:WD 7000 SCSI主接口卡驱动程序
/etc/conf/pack.d/weitek:WEITEK协处理器驱动程序
/etc/conf/pack.d/xsd:XENIX共享数据库驱动程序
/etc/conf/pack.d/xsem:XENIX信号灯驱动程序
/etc/conf/pack.d/xt:BLIT包协议驱动程序
/etc/conf/pack.d/xx:XENIX文件系统驱动程序
/etc/copyrights:版权信息
/etc/default:整个系统默认信息文件
/etc/fscmd.d:unix系统所支持的文件系统子目录
/etc/fscmd.d/AFS:用于AFS类型文件系统的维护命令
/etc/fscmd.d/DOS:用于DOS类型文件系统的维护命令
/etc/fscmd.d/EAFS:用于EAFS类型文件系统的维护命令
/etc/fscmd.d/HS:决定文件系统类型的命令
/etc/fscmd.d/S51K:用于S51K类型文件系统的维护命令
/etc/fscmd.d/S52K:用于S52K类型文件系统的维护命令
/etc/fscmd.d/S52K:用于XENIX类型文件系统的维护命令
/etc/idrc.d:空目录
/etc/log:系统的日志文件目录
/etc/perms:unix及其集成产品的名称、版本号等
/etc/perms/bundle:unix集成产品清单
/etc/ps:ps命令所使用的数据文件
/etc/rc.d/0:系统初始化
/etc/rc.d/1:启动系统的守护进程
/etc/rc.d/2:系统引导后,安装文件系统
/etc/rc.d/3:恢复文件系统
/etc/rc.d/4:清除/tmp下的临时文件
/etc/rc.d/5:硬件下载
/etc/rc.d/6:核心软件初始化
/etc/rc.d/7:启动另一批守护进程
/etc/rc.d/8:执行用户定义的命令
/etc/rc.d/9:引导日志
/etc/rc0.d:与系统启动相关的shell正文程序
/etc/rc2.d:与系统启动相关的shell正文程序
/etc/rc3.d:空目录
/etc/shutdown.d:空目录
./install:空目录
./lost+found:系统维护目录
./mnt:安装文件系统目录
./opt:存放系统可选的软件
./shlib:unix共享库的代码目录
./tcb:受托系统文件目录
./tcb/audittmp:审计数据临时目录
/tcb/audittmp/audit1:审计数据采集目录
/tcb/audittmp/audit2:审计数据采集目录
/tcb/bin:与受托系统相关的一组命令
/tcb/files;与系统安全相关的数据文件
/tcb/files/audit:审计子系统工作文件
/tcb/files/auditrparms;审计子系统工作文件
/tcb/files/auth;用户鉴别信息文件
/tcb/files/subsys:子系统目录
/tcb/lib:受托系统的一组可执行程序
/tcb/lib/auth_scripts:修改口令字,删除用户组,
增加伪终端等一组shell正文程序
/tcb/lib/relax:安全级子目录
/tcb/lib/relax/high:高安全级的shell正文程序
/tcb/lib/relax/improved;改进安全级的shell正文程序
/tcb/lib/relax/low:低安全级的shell正文程序
tcb/lib/relax/traditional:传统安全级的shell正文程序
/usr/include/sys/ci:多处理器使用的头文件
/usr/include/sys/fs:文件系统有关的头文件
/usr/ingres:ingres数据库目录
/usr/lbin:安装应用软件的工具
/usr/lib/console:主控台显示所使用的字模
/usr/spool/mmdf:mmdf邮件系统工作目录
/usr/spool/mail:邮件工作目录
/usr/spool/lp/model:各种型号打印机接口程序
/usr/spool/lp:打印机工作目录
/usr/spool/lp/fifos:命名的管道
/usr/spool/lp/logs:打印命令日志
/usr/spool/cron:时钟守护进程工作目录;
/usr/mmdf:mmdf邮件系统主目录
/usr/mmdf/bin:mmdf邮件系统命令
/usr/mmdf/chans:mmdf所使用的通道
/usr/mmdf/log:mmdf日志
/usr/mmdf/table:mmdf所使用的各种文件
/usr/lib/uucp:uucp所使用的命令和拨号程序
/usr/lib/vidconf:视频配置目录
/usr/lib/vidi:屏幕显示所使用的字模
/usr/man:unix在线手册目录
/usr/man/cat.ADM:压缩形式的系统管理命令在线手册
/usr/lib/terminfo/w:Wyse终端
/usr/lib/terminfo/v:DEC终端
/usr/lib/terminfo/t:TEKTRONTX终端
/usr/lib/terminfo/h:Hazetine.HP等终端
/usr/lib/terminfo/i:IBM终端
/usr/lib/terminfo/n:NCR等终端
/usr/lib/terminfo/q: Qume,Qvt终端
/usr/lib/terminfo/b:AT&T 等终端
/usr/lib/terminfo/c:HUMAN designed system终端
/usr/lib/terminfo/d: DEC,LEAR Siegler 终端
/usr/lib/terminfo/e: Miscellaneous, Beehive终端
/usr/lib/terminfo/f: Fortune 终端
/usr/lib/terminfo/g: Ann ArBOR终端
/usr/lib/terminfo/8:智能系统公司终端
/usr/lib/terminfo/9:TELEVIDEO终端
/usr/lib/terminfo/B:AT&T终端
/usr/lib/terminfo/a:ANN ARBOR,AT&T,ANST Generic等
/usr/lib/terminfo/1:DATAMEDIA,GENERAL终端
/usr/lib/terminfo/2:HP系列终端
/usr/lib/terminfo/3:IBM,TELERAY等终端
/usr/lib/terminfo/4:ANN ARBOR,AT&T等终端
/usr/lib/terminfo/5:AT&T系列终端
/usr/lib/terminfo/6:AT&T终端
/usr/lib/terminfo/7:AT&T终端
/usr/lib/terminfo:终端,打印机性能数据库
/usr/lib/sco/pcap:打印机的初始描述文件
/usr/lib/mouse:鼠标功能的定义
/usr/lib/mkusr/uucp:创建uucp用户所需要运行的正文程序
/usr/lib/mkusr/sh:创建使用sh的用户时所需要运行的正文程序
/usr/lib/mkusr/scosh:创建使用scosh的用户时所需要运行的正文程序
/usr/lib/mkusr/rsh:创建使用rsh的用户时所需要运行的正文程序
/usr/lib/mkusr/rksh:创建使用rksh的用户时所需要运行的正文程序
/usr/lib/mkusr/lib:由mkusr,init使用的shell函数库
/usr/lib/mkusr/ksh:创建使用ksh的用户时所需要运行的正文程序
/usr/lib/mkusr/csh:创建使用csh的用户时所需要运行的正文程序
/usr/lib/mkdev:设备和文件系统配置目录
/usr/lib/mkdev/perms:软盘,硬盘,打印机,串口有关信息
/usr/lib/lang:系统所支持的多种语言
/usr/lib/lang.src:多种语言的字符集源文件
/usr/lib/mail:邮件系统的部分命令
/usr/lib/mapchan:键盘变换文件
/usr/lib/keyboard:键盘数据文件
/usr/lib/keyboard/string.d:字符串与功能键对照表
/usr/lib/event:鼠标设备文件及配置信息
/usr/lib/goodpw:对口令字的描述
/usr/lib/goodpw/checks:口令字检查