常用UNIX命令
vi全屏幕编辑器vi(Visual)是以视觉为导向的全屏幕编辑器、共分为三种方式(mode):command方式: 任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入 都引起立即反映insert方式: 任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入insert方式, insert方式下按ESC,可跳回command方式。escape方式:以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。进入vi(在系统提示符下面输入以下指令):vi 进入vi而不读入任何文件vi filename 进入vi并读入指定名称的文件(新、旧文件均可)。vi +n filename 进入vi并且由文件的第几行开始。vi +filename 进入vi并且由文件的最后一行开始。vi + /word filename 进入vi并且由文件的word这个字开始。vi filename(s) 进入vi并且将各指定文件列入名单内,第一个文件先读入。vedit 进入vi并且在输入方式时会在状态行显示“INSERT MODE"。编辑数个文件(利用vi filename(s))进入vi后):args 显示编辑名单中的各个文件名:n 读入编辑名单中的下一个文件:rew 读入编辑名单中的第一个文件:e# 读入编辑名单内的前一个文件:e file 读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则 应先以: w 存档。:e! file 强迫读入另一个文件进入vi,原文件不作存档动作。存储及退出vi:w filename 存入指定文件,但未退出vi(若未指定文件名则为当前工作的文件名)。:wq 或者 :x或者zz 存文件,并且退出vi.:q 不作任何修改并退出vi。:q! 放弃任何修改并退出vi。:!command 暂时退出vi并执行shell指令,执行完毕后再回到vi。:sh 暂时退出vi到系统下,结束时按Ctrl + d则回到vi。加数据指令i 在关标位置开始插入字符,结束时候按ESC键。I 在光标所在行的最前面开始加字,结束时按ESC键。a 在光标位置后开始加字,结束时按ESC键。A 在光标所在行的最后面开始加字,结束时按ESC键。o 在光标下加一空白行并开始加字,结束时按ESC键。O 在光标上加一空白行并开始加字,结束时按ESC键。!command 执行shell指令,并把结果加在光标所在行的下一行。删除指令nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)nX 删除由光标位置起始的n个字符(不含光标位置)。ndw 删除光标位置其实的n个字符组(word)。d0 将行的开始到光标位置的字符全部删除。d$ 或D 将光标位置起始到行尾的字符全部删除。ndd 将光标位置起始的n行(整行)删除(dd表示删除光标所在行)。:start,endd 删除文件的第start到end行。关标移动0 移到一行的开始$ 移到一行的最后[ 移到文件开始位置] 移到文件结束位置nh 往左移n位nl或者spacebar 往右移n位nk 向上移n行n+ 向上移n行,光标在该行的起始ni 向下移n行n- 向下移n行,光标在该行的起始H 移到屏幕的左上角M 移到屏幕的中间行开头L 移到屏幕的最后一行G 移到文件的最后一行nG或者:n 移到文件的第n行nw 右移n个字组,标点符号属于字组nW 右移n个字组,标点符号不属于字组nb 左移n个字组,标点符号属于字组nB 左移n个字组,标点符号不属于字组Ctrl + u 屏幕上卷半个菜单Ctrl + d 屏幕下卷半个菜单Ctrl + b 屏幕上卷一个菜单Ctrl + F 屏幕下卷一个菜单修改指令r 修改光标文件的字符R 从光标位置开始修改,结束时按ESC键new 更改n组字符,结束时按ESC键ncc 从光标所在位置开始更改n行,结束时按ESC键重排各行长度i 并按Enter将该行由光标所在处断开,并进入insert方式J 把下一行的数据连接到本行之后寻找指令/text 从光标位置往下找字串text?text 从光标位置往上找字串textn 继续找下一个字串(在输入上面的寻找指令之后使用)寻找并且取代指令:getxt1/s/ /text2/options 将各行的text1替换为text2 option=g表示文件中所有的text1均被取代,若未输入任何option,则只有 各行中的第一个出现的text1被取代 option=go 在屏幕显示各取代的行 option=gc 在每个字串取代之前要求确认 Start,endgtext1/s/ / text2/options 同上,只寻找并取代第start~end行。或:Start,ends/text1/text2/options复制及移动文件:first,last co dest 将first 到last行的数据复制到目标行(dest)下面:Start,end m dest 将start 到 end行的数据移动到目标行(dest)下。 :r filename 将指定文件的内容读入光标所在行下。nY 将光标所在位置开始的n行数据暂存p 复制暂存数据在光标的下一行P 复制暂存数据在光标的上一行其他命令. 重复前一指令u 取消前一指令Ctrl + l 刷新屏幕显示:set number 显示文件的行号,但不会存文件:set nonumber 解除行号显示:set ai 设置每行起始位置(以光标当前位置为起始):set noai 取消行起始位置设定:f 或<Ctrl> + g 告诉用户有关现行编辑文件的数据。quit 退出bc附录 UNIX 常用命令简单说明UNIX 命令大多数可用联机帮助手册 man 获得帮助,下面是常用命令及简单说明,可供用户快速查找使用。命令 功能简述acctcom 等于进程记帐文件accton 启动或中止记帐进程adb 汇编语言调试工具admin 创建和管理SCCS文件ar 档案文件和库文件管理程序as 汇编器asa 回车控制at 在指定时间执行程序awk 模式搜索和处理语言banner 制作标题basename 生成文件基本名(无前。后缀)batch 命令的延迟执行bc 计算器bdiff 大型文件比较bfs 大文件搜索break 退出循环cal 打印日历表calendar 打印日历表cancel 取消打印任务case 分支语句cb C语言整理程序cd 改变当前目录cc C语言编译器cdc SCCS实用程序cflow 生成C语言流程图checkeq 数学公式排版命令chgrp 改变文件组chmod 改变文件存取模式chown 改变文件主chroot 改变根目录cksum 显示校验和clri 清除指定的I节点cmp 文件比较col 过滤反向换行comb SCCS实用程序comm 显示两个排序文件的公共行command 执行简单命令continue 进入下一循环cp 复制文件cpio 复制文件档案cpp C语言预处理程序crash 检查系统内存映象create 建立临时文件cref 生成交叉引用表cron 在指定时间执行一组命令crontab 为命令cron 准备crontab文件crypt 加密/解密csplit 将一个文件分解ct 远程终端注册ctags 创建供vi使用的标识符cu 呼叫另一UNIX系统cut 断开一文件中所选择的字段cxref 生成C程序交叉访问表date 打印和设置时间dc 桌面计算器dd 转换和复制文件delta SCCS实用程序deroff 去掉排版格式devnm 标识设备名df 显示可用磁盘空间diff 显示两个文件的差异diff3 显示三个文件的差异dircmp 目录比较dis 反汇编程序du 显示对磁盘的占用情况dump 对指定文件备份echo 回显指定参数ed 行编辑器edit 文本编辑器egrep 在文件中查找指定模式env 设置命令执行环境eqn 数学公式排版命令eval 执行指定命令ex 行编辑器exec 执行指定命令exit 进程中止expand 使表格占满行宽export 将变量传递给子程序expr 计算表达式值factor 因式分解false 返回FALSEfgrep 在文件中查找指定模式file 确定文件类型find 查找符号条件的文件fmt 安排简单的文本格式fold 折行for 循环语句fsck 文件系统检查和修复fsdb 文件系统调试程序fumount 强制性拆协指定资源function 函数说明fuser 列出使用文件的进程fwtmp 产生记帐记录get SCCS实用程序getconf 查找配置参数getopt 获得命令中的选择项getopts 获得命令中的选择项getty 设置终端类型、模式、行律等grep 在文件中查找指定模式head 打印文件的头若干行hexdump 按十六进制转储文件id 显示用户号if 条件语句init UNIX 初启进程install 安装一个文件到文件系统ipcrm 删除IPC队列ipcs 显示IPC状态join 连接两个文件(关系操作〕kill 中止指定进程killall 中止所有活动进程labelit 给文件系统提供标号ld 目标文件链接编辑器lex 词法分析程序line 读一行link 连接文件lint C程序检查程序ln 链接文件local 建立局部变量logger 显示注册信息login 注册logname 获取注册名look 在排序文件中查找某行lorder 查找目标库的次序关系