分类:
2005-10-18 17:15:26
vi编辑器常用操作:
所需操作 vi 命令
向前移动一个字符 h
向后移动一个字符 l
向前移动一个单词 b
向后移动一个单词 w
移动到一行的开头 ^
移动到一行的结尾 $
删除光标所在位置的字符 x
在光标之前.光标后的所有内容都向后移 i
在一行的第一个字符之前 I
在当前光标位置之后插入文本 a
在一行的结尾处 A
在光标下方另起一行以输入文本 o
在光标上方另起一行以输入文本 O
使用行号:
要移动到指定的行请使用G“转至”命令.例如假定您正在编辑文件并希望转至第799行请键入799G这样光标就会移到第799行同样要转至文件的第1行请键入1G要将光标移动到最后一行请键入 G 要查找当前行的行号请按 CTRL-G键要沿文件左边距显示行号请键入:set number
要滚动查看文本请按ESC键确定您是否处于命令模式,然后按住CTRL键和适当的键
滚动方式 按住
滚动到上一屏 CTRL-B
向上滚动半屏 CTRL-U
向上滚动一行 CTRL-Y
滚动到下一屏 CTRL-F
向下滚动半屏 CTRL-D
向下滚动一行 CTRL-E
要自当前光标位置向上搜索,使用命令/pattern(要搜索的字符)并按下enter
要自当前光标位置向下搜索,使用命令?pattern(要搜索的字符)并按下enter
例如:
/place enter
如果vi找到了place,它将把光标定位在p处.要搜索place的其他匹配,按n表示继续朝同一方向搜索;N表示朝反方向搜索
常用的删除命令:
rm filename
rm -r dir(同时删除目录中所有东西)
rm -ri dir(删除目录中所有东西前询问)
使用另外的shell:
直接在命令行提示符下面输入shell类型,比如csh或者ksh;
查看系统中正在使用的shell用ps命令;
要退出shell用exit
永久更改登陆shell:
$ chsh username full_shell_name,例如:
$ chsh terry /usr/bin/csh
%
各种shell及其登陆教本:
shell 系统登陆脚本 本地登陆脚本
POSIX /etc/profile $HOME/.profile
C /etc/csh.login $HOME/.cshrc
$HOME/.login
Bourne /etc/profile $HOME/.profile
在以下示例中将 shell 提示符 (PS1) 重新设置为Ready ==>
如果PS1是shell变量则 subshell 通过键入sh创建不会识别新值如果导出 PS1 PS1 的值将传递到subshell
$ PS1="Ready ==> " 设置shell变量PS1
Ready ==> sh 键入subshell名
$ exit Subshell当前有缺省提示符退出到原始shell
Ready ==> export PS1 使用export设置环境变量
Ready ==> sh 进入subshell
Ready ==> Subshell识别新的PS1值
Ready ==> exit 退出subshell
Ready ==> PS1="$ " 使用export 设置环境变量
$ 返回到正常的工作环境
三种shell都使用参数替换引用变量值参数替换表示用变量值替换变量名
如果在变量名前加一个货币符号($)即发生参数替换
例如在上文我们已了解到如何使用命令echo $SHELL确定登录shell
$ echo SHELL 由于省略$将回显单词SHELL
SHELL
$ echo $SHELL如果加上$将回显SHELL的值
/usr/bin/sh
以下示例说明如何更改 PATH 以将 $HOME/bin 放在其他目录前并将当前目录作为搜索路径中的最后一个目录
此示例假设用户使用的是 POSIX shell
$ echo $PATH
/usr/bin/sh:/usr/bin:/usr/bin:
/usr/contrib/bin:/usr/local/bin
$ PATH=$HOME/bin:$PATH:. 包含作为最后一个元素的. 使当前目录成为
$ echo $PATH 最后一个搜索目录
/home/terry/bin:/usr/bin/sh:/usr/bin:
/usr/bin:/usr/contrib/bin:/usr/local/bin:.
在命令行中输入elm命令启用电子邮件,J和K用于上移下移
可以通过nslookup命令获取远程主机列表,例如:
# nslookup hpabc
如果nslookup找到了远程系统,就能够在该系统中执行FTP命令
在FTP工作模式下列举和创建目录:
操作 键入
显示当前远程工作目录的名称 pwd
显示当前本地工作目录的名称 !pwd
将远程系统上的工作目录更改为remore_directory cd remote_directory
将本地系统上的工作目录更改为local_directory lcd local_directory
列举当前远程目录的内容 ls
创建远程目录 mkdir remote_directory
删除远程文件 delete remote_file
将文件复制到远程系统:
rcp local_file remote_hostname:remote_file
从远程系统复制文件:
rcp remote_hostname:remote_file local_file
将目录复制到远程系统:
rcp -r local_dir remote_hostname:remote_dir
从远程系统复制目录:
rcp -r remote_hostname:remote_dir local_dir
登陆到远程系统:
rlogin remote_hostname
要以其他用户身份登陆到远程系统,使用-l username选项,例如用户leslie可以使用以下命令从其他用户以登陆的本地系统登陆到远程系统hpabc:
rlogin hpabc -l leslie
处于rlogin下时,要在本地系统上执行命令,需要键入rlogin转义字符'~!'以及要在本地执行的命令,例如:
~! pwd
/home/leslie
在远程系统上运行命令:
remsh remote_hostname command
列举远程主目录的内容:
remsh hostname ls
要将scores文件的所有权限授予用户george,使用命令chown george scores
如果还想将scores所属的组也更改,使用命令chown george:team scores
umask的缺省值为0,说明每个用户对创建的新文件都具有读写权限-rw-rw-rw-,且每个用户对创建的新目录都具有读写或执行权限drwxrwxrwx
umask的语法如下:
umask who operator permissions
确定当前的umask设置,输入umask -S