Linux管道、网络管理和远程连接
这次来说一下Linux管道、网络管理与远程连接相关的一些内容,如下。
一、管道(重点)
1、管道符
用 ==”|”==(竖线)表示。
作用:管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将==前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)==。
0 : 标准输入,程序或命令需要外部的某些程序传递相应的参数,才能正常运行。
1 :标准输出,程序或命令正确的执行结果,我们就称之为标准输出。
2 :标准错误,程序或命令错误的执行结果,我们就称之为标准错误。
2、过滤(筛选)功能
基本语法:
1 | 前一个命令 | 后一个命令 |
案例1:获取 /根目录下包含关键字”y”的文件信息
1 | ls / | grep y |
grep命令的基本语法 => grep 关键字 文件名称
案例2:检索系统中的已安装文件,只筛选mariadb软件信息
1 | rpm -qa | grep mariadb |
注:rpm命令是RPM软件包的管理工具,用于在 Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作。
案例3:在系统的进程中进行查找,查找与 zhengyquan相关的进程信息
1 | ps -ef | grep zhengyquan |
3、特殊功能
通过管道的操作方法来实现 less 的等价效果(了解)
例如:源指令是”less xxx.txt”,使用管道的话则可以写成:cat xxx.txt | less
1 | less initial-setup-ks.cfg |
4、统计功能(重点)
回顾:wc命令,word count,文件统计功能
1 | wc [选项] 文件名称 |
案例1:统计 /根目录下一共有多少个文件
1 | ls / | wc -l |
注:ls比较特殊,其显示的文件都是以列表的形式显示的(即一个文件占一行)。
案例2:用户在计算机中有一个配置文件(/etc/passwd),一般情况下,一个用户会占用一行配置,请使用管道统计当前计算机中一共有多少个用户信息(一个用户一行)
1 | cat /etc/passwd | wc -l |
5、xargs命令扩展
问题:为什么需要xargs命令?
答:由于很多命令不支持 | 管道来传递参数,而日常工作中又有这个必要,所以就有了 xargs 命令。
简单来说,xargs命令就相当于对管道命令进行了一个扩展,让所有命令都支持管道
案例:搜索 /etc目录下的所有”.conf”结尾的文件信息,然后以详细列表形式显示(会发现输出结果与预想的不一样)
1 | find /etc -name "*.conf" | ls -l |
解决方案,在ls命令之前添加一个 xargs命令,这样 ls命令就支持管道了,可以用于接收前一个命令的执行结果
1 | find /etc -name "*.conf" | xargs ls -l |
注:判断某个命令是否支持管道,若正常执行不报错,且结果符合预期,则支持。反之,若报错或者正常执行但结果不符合预期,则不支持。
二、Linux网络管理
windows下获取网络信息的命令是 ipconfig,搜索 cmd打开命令提示符,输入ipconfig,如下。
1、获取计算机的网络信息
基本语法:
1 | ifconfig |
Windows => ipconfig
Linux => ifconfig
第一步:连接网络
第二步:使用 ifconfig命令,获取计算机的网络信息
1 | ifconfig |
真实网卡 ens33及其解析:
1 | ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 |
CentOS6 => eth0 , CentOS7 => ens33
ens33 :默认网卡,获取的 IP也要从这个网卡中获取。
lo(loop,循环):表示回环网卡,只有一个固定的IP地址,127.0.0.1代表本机。
virbr0:虚拟网络接口,因为vmware虚拟机安装Centos,所以会产生virbr0虚拟网络接口。
2、与网卡相关的配置文件
Linux系统中,一切皆文件。所以保存网络信息的也是通过一个文件来完成的。
使用 vim命令打开该文件:
1 | vim /etc/sysconfig/network-scripts/ifcfg-ens33 |
1 | 参数解析: |
3、查询计算机的网络状态
基本语法:
1 | systemctl status network |
systemctl = system + control = 系统控制
主要功能:查询计算机网络的状态,网络是否正常连接。
按 Ctrl + Alt + Fn + F2~F6进入字符界面(黑窗口),切换到 root超级管理员身份运行查询命令。
Active : active(正常)或 inactive(dead,网络状态不正常没有连接)
4、systemctl启动/重启/停止网络
在黑窗口(字符界面)上运行。
1 | systemctl start network |
选项解析:
1 | start :启动 |
三、Linux远程连接与文件传输
1、为什么需要远程连接
在实际的工作中,一般很少接触虚拟机界面或物理服务器本地的终端,这时候就需要通过远程连接的方式管理自己的Linux系统。
2、SSH协议
简单说,SSH是一种网络协议,用于计算机之间的加密登录。
3、sshd服务
当我们在计算机中安装了sshd软件,启动后,就会在进程中产生一个sshd进程,其遵循计算机的SSH协议。默认情况下,sshd服务随系统自动安装的。
1 | systemctl status sshd |
4、sshd服务的端口号
SSH协议,其规则了远程连接与传输的端口号,所以sshd服务启动后,就会占用计算机的22号端口。
端口号能解决什么问题?答:能让我们的计算机区分出不同的服务
5、使用MX软件连接Linux服务器
5.1 Putty
PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。
5.2 SecureCRT
官网:www.vandyke.com
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。(颜色方案不是特别好看)
5.3 XShell
Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
缺点:收费
5.4 MobaXterm
官网:https://mobaxterm.mobatek.net/
MobaXterm是一款功能强大的终端软件,可以访问各种远程网络工具。它通过单一应用提供了SSH、X11、RDP、VNC、FTP和MOSH等功能,方便用户处理远程工作。该应用还包括Unix命令,如bash、ls和awk。
优点:功能全面,免费支持多标签,自带文件传输系统。
① 获取Linux的的IP地址
1 | ifconfig |
② 打开MX软件,单击Session,创建一个SSH远程连接
③ 设置书签(给这台服务器起个名字)
④ 输入CentOS7.6的root管理员密码
管理员:root
密 码:123456
6、使用MX实现文件传输
实现文件传输如下: