shutdown 选项 时间
命令可以安全的 关机 或者 重新启动系统。
选项 | 含义 |
---|---|
-r | 重新启动 |
注:
常用示例:
# 立刻关机 now表示现在
shutdown now
# 立刻重启
shutdown -r now
# 五分钟后重启
shutdown -r +5
# 在10:00重启
shutdown -r 10:00
# 取消之前的 关机/重启 计划
shutdown -c
我们可以把 电脑 比作 电话,网卡 相当于 SIM 卡,IP 地址 相当于 电话号码
ifconfig
可以查看计算机当前的网卡配置信息。
配置信息分为两个部分,本地 IP 地址包含在第一部分,第二部分中的 127.0.0.1
为 本地环回地址,一般用来测试本机网卡是否正常。
ifconfig | grep inet
可以更清晰的查看到 IP 地址。
注:
ensXX
表示。ping
一般用于检测计算机到目标计算机的连接是否通畅,并且可以用 Ctrl + c
来终止命令执行。
网络上的机器都有 唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个数据包,根据返回的数据包以及时间,我们可以确定目标主机的存在。
因为 域名最终指向的就是IP地址 , 所以我们也可以用ping向一个域名。 例如:
ping www.pornhub.com
在日常工作中,我们通常都是在本地远程登录到服务器上进行维护操作的。在 Linux 中 SSH 是非常常用的工具,通过 SSH客户端 我们可以直接连接到运行了 SSH服务器 的远程机器上。
SSH客户端 是一种使用 Secure Shell (SSH)
协议连接到远程计算的软件程序。
SSH服务器 的默认端口号为 22,如果是默认端口号,那么在连接的时候就可以省略。
拓展:
服务 | 端口号 |
---|---|
SSH服务器 | 22 |
web服务器 | 80 |
HTTPS | 443 |
FTP服务器 | 21 |
在 Linux 或者 Unix(Mac就是基于Unix的) 操作系统上是自带SSH服务的,可以直接在终端中使用命令来连接机器。
ssh [-p port] user@remote
user
是远程机器上的用户名,如果不指定就默认为当前用户 ;remote
是远程机器的地址,可以是 IP地址、 域名、 别名 ;port
是 SSH Server 监听的端口,如果不指定默认值为 22 ;-p
选项来指定正确的端口 ;exit
可以退出当前用户的登录。在 Windows 系统中不能使用SSH命令,我们可以安装 Putty 或者 XShell 客户端来完成远程登录管理操作。
下载地址: Putty /// XShell
SCP 就是 secure copy
, 是一个在 Linux 下用来远程拷贝文件 的命令。它和 SSH 的格式基本相同,但是需要注意的是,在指定端口时用大写的 P
而不是小写。
选项 | 含义 |
---|---|
-r | 若给出的源文件是目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
-P | 若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 |
示例:
# 把本地当前目录下的 01.py 文件 复制到 远程 家目录下的 Desktop/01.py
# 注意:`:` 后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
scp -P port 01.py user@remote:Desktop/01.py
# 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py
scp -P port user@remote:Desktop/01.py 01.py
# 加上 -r 选项可以传送文件夹
# 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop
scp -r demo user@remote:Desktop
# 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹
scp -r user@remote:Desktop demo
scp
这个终端命令只能用在 Linux 或者 Unix 系统下,如果在 Windows 系统中可以安装 FileZilla 使用 FTP
进行文件传输。
FTP
服务 而不是 SSH
服务,因此端口号应该设置为 21 。注: 若 FileZilla 连接 Linux 失败,显示状态为 :尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败, 解决方法请点击此博客 。
使用 Linux 系统作为客户端,在与服务器远程连接或传输文件时,总是要输入服务器密码,还要输入长长一串 [-p/P port] user@remote
。每登陆一次,都要输入一次,实在是很麻烦。
我们可以分别利用 设置免密码登录 和 配置经常连接的主机的别名 来解决这一麻烦。 这两个设置都是通过修改 SSH 配置信息完成的,而有关 SSH 配置信息都保存在用户家目录下的 .ssh
目录下。
首先我们来了解一下 非对称加密算法 :
步骤一: 在终端中执行一次 ssh-keygen
命令就可以生成,一个名为 id_rsa
的私钥文件和另一个名为 id_rsa.pub
的公钥文件。
步骤二: 执行 ssh-copy-id -p port user@remote
命令,将公钥文件发给服务器。 这样,再次登录服务器的时候,就不需要输入密码了。
免密原理:
在完成上面的操作后,本地拥有 公钥、私钥两个文件,在传输数据的时候使用 私钥 对数据加密并发送到服务器。 而服务器拥有 公钥文件, 可以对数据解密。 完成操作后,将数据用 公钥 加密并返回给本地。
这一来一回的过程中,数据在网络中传输时,都是加密的。 避免了数据被盗取的风险,并在步骤二中已经确认过本地请求远程登录者的身份后(简单的说就是步骤二中输入过一次服务器密码 o(╯□╰)o
),就可以进行免密登录了。
步骤一: 在 .ssh
目录下执行命令 touch config
。创建一个名为 config
的文件。
步骤二: 在 config
文件中追加以下内容:
Host 别名
HostName ip地址
User 用户名
Port 端口号
这样就可以使用命令 ssh 别名
来实现远程登录了,同样也可以在 scp
命令中使用别名。