- 论坛徽章:
- 0
|
网上找到的华为的sco unix培训教材,大家取其精华好了。
4.1 vi编辑器的最基本用法
vi编辑器是UNIX的强有力的文本文件编辑工具,利用它可以建立、修改文本文件。
vi编辑器常用的两种状态方式
1) 文本输入方式 用于文本的输入
2) 命令方式 用于输入控制命令
vi编辑器的进入
vi 文件名
自动进入命令方式。
文本输入方式的进入
a 将在光标所在位置之后插入文本(append)
A 将在光标所在行末插入文本
i 将在光标所在位置之前插入文本(insert)
I 将在光标所在行的第一个非空字符前插入文本
o 将在光标所在行的下一行开始插入文本(open)
O 将在光标所在行的上一行开始插入文本
光标位置移动
h 左移
j 下移
k 上移
l 右移
行号G 光标移到某行(如1G表示光标移到第一行)
G 光标移到文件结尾
文本输入方式的退出
ESC 按ESC键进入命令方式
删除更改操作
在命令方式下运行。
x 删除光标所在字符
dd 删除光标所在行
退出vi编辑器
在命令方式下运行。不管在什么状态,最好在运行下面命令前,先按以下ESC键,以防出错。
:wq 存盘退出
:q 不存盘退出
:q! 不存盘强制退出
:w 只存盘不退出
4.2 利用find命令查找文件
find命令会在指定目录及其子目录下查找符合条件的特定文件。此命令的最大用处是当忘了文件的正确所在,而想找到该文件。
命令格式
find 目录名 条件
目录名 --- 欲开始寻找的目录所在。find会寻找此目录及其子目录。可以有多个目录名称,只要目录与目录之间用空格分开即可。
条件 --- 欲搜索文件的条件,可包含文件名称、属主、最后修改时间等等。
条件列表说明
-name name 指定要被寻找的文件或目录名称, 可用通配符,如, -name ‘*.c’
-print 将符合条件的路径打印出来
-size n 寻找占用n个block的文件
-type x 以文件类型作为寻找条件。文件类型x如下: d --- 目录(directory), f --- 文件(file), b --- 块(block), c -- 字符(character), p --- 管道(pipe)
-user user 寻找属于user所拥有的文件, user可为用户名或uid号
-group group 寻找用户组为group的所有文件, group可为组名称或gid号
-links n 寻找链接数等于n的所有文件
-atim n 寻找n天之前曾被存取的文件
-mtime n 寻找n天之前曾被修改的文件
-exec command {}\; 用寻找到的文件作为执行command的对象, {}内存欲执行command时所需的参数
条件的逻辑运算符:
逻辑运算符 逻辑意义 举例 说明
! 非 !-name “*.c” 所有不以.c为扩展名的文件
-o 或 -size +10 -o -links 3 所有大于10block或链接数为3的文件
与 -size +10 -links 3 大于10block且链接数为3的文件
注:上表中的“+10”表示大于10,“-10”表示小于10。
基本用法举例
find /temp -name “abc*” -print 在/temp目录下查找文件名以abc开始的文件
find . -name test -print 在当前目录下查找文件名为test的文件
4.3 grep命令基本用法
grep在整个文本文件中寻找特定字符串,并将所有出现该字符串的行打印。
命令格式
grep 字符串 文件名
举例
grep abcd temp 在temp中查找abcd字符串
grep "This is a book" temp 在temp中查找”This is a book”字符串,由于字符串中含有空格,故要用引号括起来
4.4 利用cmp命令比较文件
cmp可比较两个文件,这两个文件可以是文本文件也可以是非文本文件。cmp命令会显示两个文件第一次数据不同的位置。若两个文件内容相同,则不显示任何信息。
命令格式
cmp [-ls] 文件名1 文件名2
参数说明
-l 显示每个不同之处不同字节的内容
-s 只显示cmp命令的返回值(相同为0,不相同为1)
举例
cmp temp1 temp2 比较temp1和temp2两个文件的内容
4.5 文件的备份和恢复实用程序
一、tar命令
使用tar 命令,可将多个文件合并成一个文件库(archival)的方式存放于磁带或磁盘上。当需要时,可由文件库获取所需的文件。tar 的指令格式:
$ tar [function-option[modifier]] [files]
tar 命令选项分为两部分:功能选项和修改选项。功能选项用来设定tar的动作(如读取,写入等),而修改选项则用来修改tar的动作。tar命令选项前没有“-”。
功能选项(function-option):
r 将所指的文件附加在文件库后
x 读取文件库内的文件,如文件名为目录,则连子目录也会被读取 (常用)
c 建立一个新文件库 (常用)
g 将文件由文件库的最前头开始建立,而不是写在最后一个文件后
修改选项(modifier):
v 启动显示模式,tar 会显示所处理的文件名 (常用)
w 启动确认模式,tar处理每个文件之前,要求用户先加以确认
f 表示文件库为file,省略此项,以预设的磁带或磁盘为对象 (常用)
(一)利用tar 命令备份
[例1]
$ tar cv work
在当前目录下,对work 目录中的所有文件及子目录作备份,备份到缺省设备,且在备份时显示文件信息。
[例2]
$ tar cvf /dev/rfd0135ds18 work
f 选项表示不使用缺省设备,而使用提供的设备。
注:在不同的UNIX 系统中,软盘和磁带设备的名称不通用。请使用时注意查正。
(二)利用tar 命令复原:
[例3]
$tar xv
x 表示将缺省设备中的文件复原到硬盘,v 表示复原时显示文件提示。
[例4]
$tar xv /work/aaro1d /work/all.bak /work/state.wp
复原更具有选择性,这里列出三个文件。注意,必须输入备份文档的全名。
[例5]
$tar xvf /dev/rfd0135ds18
从给定的设备中复原文件。
二、cpio命令
利用cpio 可将文件或目录从文件库获取出来或将数据拷贝到文件库。cpio 的指令格式:
cpio –i[bcdmrtuv] [patterns]
cpio –o [abcv]
cpio –p [adlmuv][directory]
说明:cpio 共有三种基本模式,-o即copy-out 模式,将一组文件copy到一个文件库,-i 即copy-in 模式,读取文件库,并将其展开在当前目录。-p 能从某个目录读取所有文件(包括子目录到另一个目录),且不以archive(归档)的方式存放。
cpio 常配合shell使用。-o常用标准输入设备读取要copy 的文件名称,并将copy成的archive file 通过标准输出设备输出。一般利用输入/输出重定向或管道的原理,达到真正复制的功能。
(一)利用cpio备份:
[例1]
$ find work –print | cpio –ocdv >; /dev/rfd0135ds18
将work目录下的文件备份到软盘上。-o表示输出模式,-c生成一个带有头信息的文件。 -d表示按需要生成目录,-v表示命令执行时不断显示信息。用“>;”把结果定向到软盘。
[例2]
$ ls |cpio –o >;/usr/linfs/old1
将当前目录下的所有文件复制成old1 archive file
[例3]
$ ls *.c | cpio –o>;oldc
复制工作目录中的所有的c程序.
[例4]
$ ls| cpio –p /usr/linfs/tempdir
复制当前工作目录下的文件到/usr/linfs/tempdir 目录,不生成archive file
(二)利用cpio 复原:
[例5]
$ cpio –icdv < /dev/rfd0135ds18
将软盘中的文件复原。-i告诉cpio把文件作为它的输入,-d按需要生成目录,-v显示执行时的所有信息,-c具有头文件格式。
[例6]
$ cpio –icdv "*stat.wp" < /dev/rfd0135ds18
仅复原*stat.wp的文件
[例7]
$ cpio –i </usr/linfs/old1 *.f
仅复原*.f 文件
4.6 文件压缩和解压程序
一、compress 压缩命令
compress命令可将文件压缩以减少存储空间。压缩后的文件以“.Z”结尾。展开命令为uncompress。压缩命令格式:
compress filename
展开命令格式为:
uncompress compressed-filename
[例1] 对file 文件进行压缩和解压缩
compress file
则压缩后的文件名为file.Z,解压命令为:
uncompress file.Z
二、pack 压缩文件
pack 压缩文件对应的解压缩文件unpack。压缩后文件的名称为“.z”其压缩后的空间因文件类型而定。命令格式:
pack name
unpack name
注:pack对太小的文件不压缩,若要强制压缩,用-f选项:
pack -f name
三、gzip 压缩文件
gzip 压缩文件对应的解压缩文件为gunzip。压缩后的文件名称为“.gz”。命令格式:
gzip filename
gunzip filename
四、pkzip压缩文件
pkzip 压缩文件对应的解压缩文件为pkunzip。压缩后的文件名称为“.zip”。命令格式:
pkzip filename
pkunzip filename |
|