目标

  • 关机/重启

shutdown

  • 查看或配置网卡信息

ifconfig
ping

  • 远程登录和复制文件

ssh
scp

1. 关机/重启

序号 命令 对应英文 作用
1 shutdown 选项 时间 shutdown 关机/重新启动

1.1 shutdown
shutdown命令可以关闭或者重新启动系统

选项 含义
-r 重新启动

提示:

  • 不指定选项和参数,默认表示1min之后关闭电脑;
  • 远程维护服务器时,最好不要关闭系统,而应该选择重新启动系统

常用命令示例:

  1. # 重新启动操作系统,其中Now表示现在
  2. $ shutdown -r now
  3. #立刻关机
  4. $ shutdown now
  5. #系统在今天的20:25会关机
  6. $ shutdown 20:25
  7. #系统再过十分钟后自动关机
  8. $ shutdown +10
  9. #取消之前指定的关机计划
  10. $ shutdown -c

2. 查看或配置网卡信息

序号 命令 对应英文 作用
01 ifocnfig configure a network interface 查看/配置计算机当前的网卡配置信息
02 ping ip地址 ping 检测到目标ip地址的连接是否正常

2.1 网卡和ip地址

网卡

网卡是一个专门负责网络通讯的硬件设备
IP地址是设置在网卡上的地址信息

IP地址

每台联网的电脑上都有IP地址
注意:每台电脑的IP地址不能相同,否则会出现IP地址冲突,并且没有办法正常通讯。

2.2 ifconfig

ifconfig 可以查看/配置计算机当前的网卡配置信息

  1. #查看网卡配置信息
  2. $ ifconfig
  3. #查看网卡对应的IP地址
  4. $ ifconfig | grep inet

image.png

提示:一台计算机中可能会有一个物理网卡和多个虚拟网卡,在Linux中物理网卡的名字通常以ensxx表示

127.0.0.1被称为本地回环/环回地址,一般用来测试本机网卡是否正常

2.3 ping

  1. # 检测到目标主机是否连接正常
  2. $ ping IP地址
  3. # 检测本地网卡工作正常
  4. $ ping 127.0.0.1

ping 一般用于检测当前计算机到目标计算机之间的网络是否通常,数值越大,速度越慢

  • ping的工作原理类似于潜水艇声呐
  • 网络管理员之间也经常通过ping用作动词,测试一下计算机是否开着

原理:根据发送和返回的数据包之间的时间来确定目标主机是否存在

提示:Linux中, 如果想要停止一个终端程序的运行,绝大多数都可以使用Ctrl + C

image.png
相对于给本地的计算机发一个56字节的数据包,会返回来一个64字节的数据包,通过观察其ping值看本地网卡是否正常工作。

3. 远程登录和复制文件

序号 命令 对应英文 作用
1 ssh 用户名@ip secure shell 关机/重新启动
2 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制软件

3.1 ssh基础(重点)

在Linux中SSH是常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上:
image.png

其中,SSH服务器和SSH客户端都是一个软件

  • ssh客户端是一种使用和secure shell协议连接到远程计算机的软件程序
  • SSH目前比较可靠,专为远程登录会话和其他网络服务,提高安全性的协议

    利用SSH协议可以有效防止远程管理过程中的信息泄露; 通过SSH协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗

  • SSH的另一项优点是传输的数据是可以经过压缩的,所以可以加快传输的速度

    知识点

    (1)域名和端口号

    域名:
    是一串用.分隔符的名字组成,例如www.itcast.cn

    1. ping www.baidu.com

    是IP地址的别名,方便用户记忆
    端口号:
    IP地址:通过IP地址找到网络上的计算机;
    端口号:通过端口号可以找到计算机上运行的应用程序
    SSH服务器的默认端口号是22,如果是默认端口号,在连接的时候,可以省略
    常见的服务端口号列表:

序号 服务 端口号
1 SSH服务器 22
2 Web服务器 80
3 HTTPS 443
4 FTP服务器 21

在访问服务器的时候如果没有指定端口名,则会访问默认的端口,也就是上面这个列表里的端口号

(2)SSH客户端的简单使用

  1. ssh [-p port] user@remote

如果访问的是默认端口号,可以不使用-p选项; 如果访问的不是默认端口号,必须使用-p 端口号的形式进行说明,否则没有办法正常运行

  • user是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote是远程机器的地址,可以是IP/域名,或者是后面会提到的别名
  • port是SSH Server监听的端口,如果不指定,就为默认值22

提示:

  • 使用exit退出当前用户的登录

注意:

  • ssh这个终端命令只能在Linux或者Unix系统下使用;
  • 如果在windows系统中,可以安装Putty或者XShell客户端软件即可。

image.png

使用该命令可以直接查看需要远程电脑的端口名

如果想要连接该网络内的其他电脑,则通过以下命令:

  1. ssh -p 22 milanotang@192.168.65.129

(3)Windows下SSH客户端的安装

  • Putty
  • Xshell

官网下载

3.2 scp(掌握)——远程复制文件/文件夹

  • scp 就是sercure copy ,是一个在Linux下用来进行远程拷贝文件的命令
  • 它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的-P而不是小写的

image.png

  1. # 把本地当前目录下的01.py 文件复制到远程家目录下的Desktop/01.py
  2. # 注意:':'后面的路径如果不是绝对路径,则以用户的家目录作为参照路径
  3. scp -P port 01.py user@remote:Desktop/01.py
  4. # 把远程 家目录下的Desktop/01.py 文件复制到本地当前目录下的01.py
  5. scp -P port user@remote:Desktop/01.py 01.py
  6. # 加上 -r 选项可以传送文件夹
  7. # 把当前目录下的demo 文件夹复制到远程家目录下的Desktop
  8. scp -r demo user@remote:Desktop
  9. # 把远程家目录下的Desktop复制到当前目录下的demo文件夹
  10. scp -r user@remote:Desktop demo
选项 含义
-r 若给出的源文件是目录文件,则scp
将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P 若远程SSH服务器的端口不是22,需要使用大写字母-P选项指定端口

其他和cp命令是一样的

  • 将Ubuntu桌面中的一个文件复制到当前操作系统的桌面下

    1. scp -P 22 milanotang@192.168.65.129:桌面/1.txt .
  • 将当前系统下的文件复制到Ubuntu下:

    1. scp -P 22 1.txt milanotang@192.168.65.129:/桌面
  • 将Ubuntu中桌面上所有的文件都拷贝到当前的系统的demo文件夹下:

    1. scp -P 22 -r milanotang@192.168.65.129:/桌面 demo

    注意:

  • scp这个终端命令只能在Linux或者Unix系统下使用

  • 如果在Windows系统中,可以安装Putty,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输

FileZilla
官网下载
FileZilla在传输文件时,使用的是FTP服务而不是SSH服务,因此端口号应该设置为21。

3.3 SSH高级

  • 免密码登录
  • 配置别名

    提示:有关SSH配置信息都保存在用户家目录下的.ssh目录下

(1)免密码登录

步骤

  • 配置公钥
    • 执行ssh-keygen即可生成SSH钥匙,一路回车即可
  • 上传公钥到服务器
    • 执行ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥

示意图
image.png

非对称加密算法: 使用公钥/私钥加密的数据,通常需要与之相反的密钥进行解密。

(2)配置别名

每次连接远程电脑的时候都需要使用ssh -p port user@remote,故配置别名来对上面一系列进行简化,比如用ssh mac来代替前面的这个字符串,即在~/.ssh/config里面追加以下内容:

  1. Host mac /设置主机的名称,不能有空格
  2. HostName ip地址 /输入远程服务器的ip地址
  3. User itheima /输入远程服务器的用户名
  4. Port 22 /输入端口
  1. 在.ssh目录下创建config文件

    1. cd .ssh
    2. touch config
  2. 使用geidt打开config文件并对其进行编辑

    1. gedit config
  3. 将之前需要配置的代码复制进去

  4. 配置完成以后直接使用以下命令就可以连接远程计算机
    1. ssh 设计的主机名称