linux 第一次动手实践

news/2024/7/7 19:43:25

start

  • 前段时间,特意学习了 linux 的基础知识;最近接到任务,需要和多台 linux 服务器打打交道;
  • 对我来说,这个任务正是我实践此前学习到的知识的绝好时机;用一个词描述番茄当时的心情,“跃跃欲试”;
  • 当然番茄也调整到最好的状态,很用心的完成了这个任务;
  • 任务虽然完成了,但是并没有完全结束,就让我开始总结一下,此次实操多台 linux 服务器的收获和感悟;

1. ifconfig

场景

先说一下应用的场景,加深记忆。

背景是这样的:需要获取我当前服务器的内网 ip,通过多台服务器的内网 ip 进行快速的数据传递;

简单来说,我想知道我当前服务器的内网 ip,是多少??

学习到的命令是 ifconfig

示例

[root@VM-24-7-centos ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 107.0.24.70  netmask 255.255.252.0  broadcast 10.0.27.255
        inet6 fe80::5054:ff:fee5:75d2  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:e5:75:d2  txqueuelen 1000  (Ethernet)
        RX packets 99267215  bytes 26313711563 (24.5 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 98602470  bytes 28029502111 (26.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 33280168  bytes 1779303042 (1.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 33280168  bytes 1779303042 (1.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

解释

ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。

当然 windows 电脑有个类似命令,ipconfig。
对于我而言,windows 我可能更加熟悉,所以一开始写起来有些别扭。
但是没关系,到我写这个文章的时候,我可以这样理解它: interfaces config 接口配置。

参数

  1. 如果不传任何参数,显示当前活动接口的状态;
  2. 如果给定一个接口参数,则它仅显示给定接口的状态;
  3. 如果只给一个选项 -a,它将显示所有接口的状态,包括那些关闭的接口;
  4. 其他情况,用于配置一个网络接口;

输出内容解释

[root@VM-24-7-centos ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
# eth0 第一个网卡; UP表示“接口已启用”; BROADCAST表示“主机支持广播”; RUNNING:表示“接口在工作中”; MULTICAST:表示“主机支持多播”; MTU:1500(最大传输单元):1500字节
        inet 107.0.24.70  netmask 255.255.252.0  broadcast 10.0.27.255
      # inet :网卡的IP地址;netmask :网络掩码;broadcast :广播地址。
        inet6 fe80::5054:ff:fee5:7777  prefixlen 64  scopeid 0x20<link>
      # ipv6地址
        ether 52:54:00:e5:75:d2  txqueuelen 1000  (Ethernet)
      # 连接类型:Ethernet (以太网)或者HWaddr (硬件mac地址);txqueuelen (网卡设置的传送队列长度)
        RX packets 99267215  bytes 26313711563 (24.5 GiB)
      # RX packets 接收时,正确的数据包数;RX bytes 接收的数据量
        RX errors 0  dropped 0  overruns 0  frame 0
      # RX errors 接收时,产生错误的数据包数;RX dropped 接收时,丢弃的数据包数;RX overruns 接收时,由于速度过快而丢失的数据包数;RX frame 接收时,发生frame错误而丢失的数据包数。
        TX packets 98602470  bytes 28029502111 (26.1 GiB)
      # TX packets 发送时,正确的数据包数;TX bytes 发送的数据量;
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      # TX errors 发送时,产生错误的数据包数;TX dropped 发送时,丢弃的数据包数;TX overruns 发送时,由于速度过快而丢失的数据包数;TX carrier 发送时,发生carrier错误而丢失的数据包数;collisions 冲突信息包的数目。

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
# lo 是表示主机的回环地址
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 33280168  bytes 1779303042 (1.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 33280168  bytes 1779303042 (1.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2. curl ip.sb

场景

先说一下应用场景,同时使用链接工具链接 10 个服务器,有时候会忘记当前服务器的公网 ip,所以查询自己的公网 ip 是非常有必要学习的。

curl 是什么?

curl(CommandLine Uniform Resource Locator),即在命令行中利用 URL 进行数据或者文件传输。

我自己简单理解,命令行工具。

获取公网 ip 的方式

以下方式都可行

curl ifconfig.me
curl icanhazip.com
curl ipinfo.io/ip
curl ipecho.net/plain
curl www.trackip.net/i
curl ip.sb
curl ident.me
curl v4.ident.me

3. user 相关

说实话,用户相关的命令,玩过,不熟练,再熟悉一下。

  1. 添加用户
adduser xxx
  1. 删除用户
userdel -r xxx
  1. 切换用户
# 创建用户
su 用户名

# 设置用户的密码
passwd xxx

root 权限比较高,可以随意切换用户,不用输入密码;

  1. 查看所有的用户
    cat /etc/passwd

输入这个命令的时候,输出的每一行就代表一个用户,,。

输出会发现有很多行内容,对应的为什么这么多用户? 是因为 Linux 的一些服务运行需要不同的权限,为了安全,在服务安装的时候会自动给不同的服务创建用户来获得不同的权限。。

4. 其他

4.1 复制粘贴

日常使用,少不了复制粘贴,但是 linux 的复制粘贴对于我用习惯了 windows 的人来说,有点难受。

解决方式:可以设置我们链接服务器的工具的快捷方式。

ctrl + c 复制
ctrl + v 粘贴

但是有一个难受的地方, ctrl+c 在 linux 中原本作用是用来中断程序执行的方式,但是我设置的快捷键,会覆盖原本 ctrl+c 的功能 。所以暂时只能设置ctrl+shift+c为对应的复制按钮。

4.2 快速清除一行

有时候操作的太快,总是容易输入错的内容,手动一次次删除很难受。

如何快速清除当前输入的内容 ctrl + u

4.3 查看历史输入命令的记录

有时候,同一时间操作多台服务器。各种服务器之间切换,有时候会忘记之前输入的内容。

可以使用命令 history 查看历史输入的命令。

说实话,虽然就七个字母,敲一次还可以,敲多了就非常难受(我最少敲了 300 边,o(╥﹏╥)o)。
有没有快捷键?

# 可以通过以下两种方式减少按键输入

# 1. tab快捷键
hi tab

# 2. 别名
alias h=history

end

  • 番茄加油!!!

http://lihuaxi.xjx100.cn/news/30863.html

相关文章

路由与交换技术-25-OSPF多区域

目录 一、OSPF多区域 1.1 多区域目的 1.2 划分区域的好处 1.3 OSPF三种通信量 1.4 OSPF的路由器类型 1.5 OSPF区域类型 1.6 链路状态通告&#xff08;LSA&#xff09; 1.7 多区域配置 1.8 OSPF路由表 1.9 多区域配置案例 一、OSPF多区域 1.1 多区域目的 实现大型网…

Bean 之间复制属性工具

Bean 之间复制属性工具 BeanUtils 出自 Spring 的工具类, 使用也非常方便 方法定义 public static void copyProperties(Object source, Object target) throws BeansException {copyProperties(source, target, null, (String[]) null); }最常见使用方法, 第一个参数为源对…

淘宝天猫店铺优惠券查询接口

有时&#xff0c;您需要获取店铺优惠券&#xff0c;为您的用户提供更好的优惠方案选择。 【接口功能】&#xff1a;查询商品对应的可用店铺券和商品优惠券。 【参数说明】&#xff1a; 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff0c;…

gitee 的使用

创建分支 在谁的基础上创建 就是从谁哪里拉分支 fro&#xff1a;例如现在pycharm页面数据为dev 那个新的分支就会复制一份 dev的数据 二从gitee创建分支 1.点击分支管理--》 新建分支 会从默认分支中拉去数据 三 pull分支出现错误解决办法&#xff08;No tracked bran…

剑指offer题解(C++版)

CSDN话题挑战赛第2期 参赛话题&#xff1a;算法题解 一&#xff0c;常见数据结构 1&#xff0c;数组 3-找出数组中重复的数字4-二维数组中的查找5-替换空格29-顺时针打印矩阵leetcode 989-数组形式的整数加法leetcode26-删除有序数组中的重复项leetcode35-搜索插入位置 2&…

redis源码实践手册

文章目录为何单线程redis AE是什么redis网络模型源码为何单线程 你期望的多线程编程 VS 实际上的多线程编程 Redis v4.0&#xff08;引入多线程处理异步任务&#xff09; Redis v6.0&#xff08;正式在网络模型中实现 I/O 多线程&#xff09; redis AE是什么 Redis使用了一…

二次封装 el-table

很多中后台业务的系统中&#xff0c;表格是最高频的组件之一&#xff0c;其中一般包括搜索条件、表格展示、表格操作列、分页等。那么我们二次封装的这个表格组件就需要包含以下几个功能点&#xff1a; 1、数据自动获取和刷新 2、自定义列配置 3、分页功能 4、根据搜索条件…

【day10】LeetCode(力扣)刷题(注释详细)[707.设计链表][278.第一个错误的版本][98. 验证二叉搜索树]

CSDN话题挑战赛第2期 参赛话题&#xff1a;学习笔记 刷题打卡&#xff0c;第十天题目一、707.设计链表题目二、278.第一个错误的版本题目三、98. 验证二叉搜索树题目一、707.设计链表 原题链接&#xff1a;707.设计链表 题目描述&#xff1a; 设计链表的实现。您可以选择使用…