编辑器
vi编辑器
vi简介
vi 编辑器是 Linux 系统中最常用的文本编辑器,vi 在Linux界有编辑器之神的美誉,几乎所有的 Linux 发行版中都包含 vi 程序。
vi 工作在字符模式下,不需要图形界面,非常适合远程及嵌入式工作,是效率很高的文本编辑器,尽管在 Linux 上也有很多图形界面的编辑器可用,但vi的功能是那些图形编辑器所无法比拟的。
vim 是 vi 的升级版,它不仅兼容 vi 的所有指令,而且还有一些新的特性,例如 vim 可以撤消无限次、支持关键词自动完成、可以用不同的颜色来高亮你的代码。vim 普遍被推崇为类 vi 编辑器中最好的一个。
vi有输入和命令两种工作模式。输入模式(也叫插入模式)用于输入字符。命令模式则是用来运行一些编排文件、存档以及离开vi等操作命令。当执行vi后,首先进入命令模式,此时输入的任何字符都被视为命令。
vi基本操作
vi的界面:
打开文件
vim filename:这个命令就是打开文件,没有这个文件就会新建这个文件,进入后光标置于首行!
编辑文件
如果通过vi打开一个已经存在的文件,首先进入命令模式,此时输入的任何字符都被视为命令,不能输入内容。
保存文件
一定要先退出插入模式(按Esc进入命令模式),然后,shift + zz (按住 “shift” + 按两下“z”键) 即可保存退出当前文件。
vi实用命令
vi模式
vi一般分为三种模式:一般模式、编辑模式、命令行模式。
一般模式
vi打开进入一般模式,在这个模式中,你可以上下左右移动光标,可是删除字符或者删除整行,也可以复制粘贴你的数据。
编辑模式
在一般模式下无法编辑文本内容,所以要按下“i,I,o,O,a,A(插入),r,R(替换)”等任何一字母才能进入编辑模式,回到一般模式只需要按“ESC”。
命令行模式
在一般模式中按下“:,\,?”任何一个就会进入命令行模式。
以上三个模式转化图:
vi编辑模式
按键 | 功能 |
---|---|
a | 光标位置右边插入文字 |
i | 光标位置当前处插入文字 |
o(字母) | 光标位置下方开启新行 |
O(字母) | 光标位置上方开启新行 |
I | 光标所在行首插入文字 |
A | 光标所在行尾插入文字 |
vi的退出
按键 | 功能 |
---|---|
ZZ(shift+z+z) | 保存退出 |
:wq | 保存退出 |
:x(小写) | 保存退出 |
:w filename | 保存到指定文件 |
:q | 退出,如果文件修改但没有保存,会提示无法退出 |
:q! | 退出,不保存 |
:!命令 | 暂时离开vi,执行命令 |
vi的删除和修改功能
按键 | 功能 |
---|---|
[n]x | 删除光标后 n 个字符 |
[n]X | 删除光标前 n 个字符 |
D | 删除光标所在开始到此行尾的字符 |
[n]dd | 删除从当前行开始的 n 行(准确来讲,是剪切,剪切不粘贴即为删除) |
[n]yy | 复制从当前行开始的 n 行 |
p | 把粘贴板上的内容插入到当前行 |
dG | 删除光标所在开始到文件尾的所有字符 |
J | 合并两行 |
. | 执行上一次操作 |
u | 撤销前一个命令 |
vi的行定位功能
按键 | 功能 |
---|---|
Ctrl + f | 向前滚动一个屏幕 |
Ctrl + b | 向后滚动一个屏幕 |
gg | 到文件第一行行首 |
G(大写) | 到文件最后一行行首,G必须为大写 |
: $ | 到文件最后一行行首 |
mG或mgg | 到指定行,m为目标行数 |
/内容 | 查找指定内容 |
vi的文本查找功能
按键 | 功能 |
---|---|
/字符串 | 查找指定字符串 |
n | 寻找下一个 |
N | 回到前一个 |
? | 寻找上一个 |
/^字符串 | 查找以字符串开始的行 |
/字符串$ | 查找以字符串结尾的行 |
/a.b | 查找字符串a任意字符b |
vi的替换功能
按键 | 功能 |
---|---|
r | 替换当前光标字符 |
:r 文件名 | 在光标当前位置载入另一个文件 |
?/p1/p2/g | 将当前行中所有p1均用p2替代 |
:g/p1/s//p2/g | 将文件中所有p1均用p2替代 |
:n1,n2s/p1/p2/g | 将n1到n2行中所有p1均用p2替代 |
vi的set指令
按键 | 功能 |
---|---|
:set ic | 搜寻时忽略大小写 |
:set noic | 搜寻时不忽略大小写 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
远程操作
SSH介绍
SSH为Secure Shell的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。
SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝。
利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台。SSH 在正确使用时可弥补网络中的漏洞。SSH 客户端适用于多种平台。几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
使用SSH服务,需要安装相应的服务器和客户端。客户端和服务器的关系:如果,A机器想被B机器远程控制,那么,A机器需要安装SSH服务器,B机器需要安装SSH客户端。
远程登录
Linux平台相互远程(虚拟机环境)
操作命令:ssh -l username hostip
参数 | 功能 |
---|---|
-l | 选项, 是字母“l”,不是数字“1” |
username | 被远程登录的用户名 |
hostip | 被远程登录的ip地址 |
注意两台设备是否能否ping通:
cmd下 ping ip地址
linux可以直接ping
首先查询远程端ip
在Linux环境下远程连接:
sudo ssh -l edu 192.168.1.1
edu是目标机用户名 ip是目标机ip、
Windows远程连接Linux(虚拟机)
如果想在 Windows 平台下远程登录 Linux,这时候,Windows 需要安装 安装相应软件包。这里介绍是Xmanager。
Xmanager是一款小巧、便捷的浏览远端X窗口系统的工具。它包含Xshell、Xftp等软件:
Xshell:是一个Windows平台下的SSH、TELNET和RLOGIN终端软件。它使得用户能轻松和安全地在Windows平台上访问Unix/Linux 主机。
Xftp:是一个应用于 Windows 平台的 FTP 和 SFTP 文件传输程序。Xftp能安全地在Unix/Linux 和 Windows 平台之间传输文件。
关闭windows防火墙
虚拟机网络桥接模式
xshell连接
…暂时就学到这里 后面学linux会单独做笔记。