start
- 前段时间,特意学习了 linux 的基础知识;最近接到任务,需要和多台 linux 服务器打打交道;
- 对我来说,这个任务正是我实践此前学习到的知识的绝好时机;用一个词描述番茄当时的心情,“跃跃欲试”;
- 当然番茄也调整到最好的状态,很用心的完成了这个任务;
- 任务虽然完成了,但是并没有完全结束,就让我开始总结一下,此次实操多台 linux 服务器的收获和感悟;
1. ifconfig
场景
先说一下应用的场景,加深记忆。
背景是这样的:需要获取我当前服务器的内网 ip,通过多台服务器的内网 ip 进行快速的数据传递;
简单来说,我想知道我当前服务器的内网 ip,是多少??
学习到的命令是 ifconfig
示例
[root@VM-24-7-centos ~]
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 接口配置。
参数
- 如果不传任何参数,显示当前活动接口的状态;
- 如果给定一个接口参数,则它仅显示给定接口的状态;
- 如果只给一个选项 -a,它将显示所有接口的状态,包括那些关闭的接口;
- 其他情况,用于配置一个网络接口;
输出内容解释
[root@VM-24-7-centos ~]
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:7777 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
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 相关
说实话,用户相关的命令,玩过,不熟练,再熟悉一下。
- 添加用户
adduser xxx
- 删除用户
userdel -r xxx
- 切换用户
su 用户名
passwd xxx
root 权限比较高,可以随意切换用户,不用输入密码;
- 查看所有的用户
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)。 有没有快捷键?
hi tab
alias h=history
end
|