VPS 常用操作

2018年12月9日


# Linux # VPS

VI/VIM 基本操作

插入

i:在当前字符的左边插入
I:在当前行首插入
a:在当前字符的右边插入
A:在当前行尾插入
o:在当前行下面插入一个新行
O:在当前行上面插入一个新行

删除

x   删除当前光标下的字符("dl"的快捷命令)
X   删除当前光标之前的字符("dh"的快捷命令)
dd  删除当前行内容,删除后下面的行会移上来填补空缺
D   删除自当前光标至行尾的内容("d$"的快捷命令)
dw  删除自当前光标至下一个word的开头
db  删除自当前光标至前一个word的开始
diw 删除当前光标所在的word(不包括空白字符)
daw 删除当前光标所在的word(包括空白字符)
dG  删除当前行至文件尾的内容
dgg 删除当前行至文件头的内容

如果你用"c"命令代替"d"这些命令就都变成更改命令。使用"y"就是yank命令,如此类推。

删除换行符

在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"。

撤销

如果你误删了过多的内容。显然你可以再输入一遍,但是命令"u" 更简便,它可以撤消上一次的操作。

重做

如果你撤消了多次,你还可以用CTRL-R(重做)来反转撤消的动作。换句话说,它是对撤消的撤消。撤消命令还有另一种形式,"U"命令,它一次撤消对一行的全部操作。第二次使用该命令则会撤消前一个"U"的操作。用"u"和CTRL-R你可以找回任何一个操作状态。

移动到行首或行尾

$命令将光标移动到当前行行尾。如果你的键盘上有一个键,它的作用也一样。^命令将光标移动到当前行的第一个非空白字符上。"0"命令则总是把光标移动到当前行的第一个字符上。键也是如此。$命令还可接受一个计数,如1$会将光标移动到当前行行尾,2$则会移动到下一行的行尾,如此类推。0命令却不能接受类似这样的计数,命令^前加上一个计数也没有任何效果。

放弃编辑

丢弃所有的修改并退出,用命令":q!"。用":e!"命令放弃所有修改并重新载入该文件的原始内容。

退出

要退出Vim,用命令"ZZ"。该命令保存当前文件并退出Vim。

SSH 保持连接

在服务端配置

编辑服务器 vi /etc/ssh/sshd_config,增加下面内容:

ClientAliveInterval 60
ClientAliveCountMax 1

这 样,SSH Server 每 60 秒就会自动发送一个信号给 Client,而等待 Client 回应重启SSH服务,使之生效 。

/etc/init.d/sshd restart     //或者
service sshd restart

在客户端配置

编辑 /etc/ssh/ssh_config 文件(注意不是/etc/ssh/sshd_config文件)

vi /etc/ssh/ssh_config

添加以下内容:

Host *
ServerAliveInterval 30

这表示要让所有的ssh连接自动加上此属性;如果要指定服务端,如下:
使用-o的参数ServerAliveInterval来设置一个防止超时的时间
ssh -o ServerAliveInterval=30 IP地址

SSH 端口修改

找到SSh服务配置文件路径,一般是:/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

vim打开sshd_config这个文件,搜索找到 port字段,直接修改或者增加一个端口,修改保存后,重启SSH服务:

/etc/init.d/sshd restart     //或者
service sshd restart

Ubuntu 服务管理

systemctl 方式

重新加载service文件:systemctl daemon-reload
启动一个服务:systemctl start nginx-1.13.0.service
关闭一个服务:systemctl stop nginx-1.13.0.service
重启一个服务:systemctl restart nginx-1.13.0.service
显示一个服务的状态:systemctl status nginx-1.13.0.service
在开机时启用一个服务:systemctl enable nginx-1.13.0.service
在开机时禁用一个服务:systemctl disable nginx-1.13.0.service
查看服务是否开机启动:systemctl is-enabled nginx-1.13.0.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

init.d 方式

/etc/init.d/tomcat start
/etc/init.d/tomcat restart
/etc/init.d/tomcat status
/etc/init.d/tomcat stop

update-rc.d railgun remove

Ubuntu 定时任务

vi /etc/crontab

增加下面行,设定每天 6:30 以 root 身份执行重启命令:
30 6	* * *	root	reboot

下面的方法似乎无效:

crontab -e

# 增加下面行,设定每天 6:30 以 root 身份执行重启命令:
30 6   * * *   root    reboot

Linux 常用命令

切换用户

从user用户切换到root用户

su
sudo su
sudo -
sudo -i

从root用户切回user用户

su user

以 root 用户执行命令

sudo cmd

目录/文件 操作

在 /var 目录下创建 www 目录

cd /var
mkdir /www

删除文件夹:

-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思

rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

删除文件:

rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件

ln

ln  [OPTIONS]  SOURCE  DIST

参数说明

SOURCE: 原文件
DIST:产生的连接文件
OPTIONS的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered, existing, simple}] [--help] [--version]
-b 			删除,覆盖以前建立的连接
-d			允许超级用户制作目录的硬链接
-f			强制执行
-i			交互模式,文件存在则提示用户是否覆盖
-n 			把符合链接视为一般目录
-s     		软连接(符号链接)
-v			显示详细的处理过程
-S “backup-suffix”	将备份的档案都加上 “backup-suffix”的字尾
-V  METHOD		指定备份方式
--help		显示辅助说明
--version	显示版本信息

例子

ln –s /usr/local/bin/python3.6 /usr/bin/python
ln –s /usr/local/bin/python3 /usr/bin/python

如果链接已经存在,需要强制删除/覆盖之前建立的连接,使用 -b 参数:

ln -bs /usr/bin/python3.6 /usr/bin/python3