【Java从0到架构师】Linux 管理 - Vi 编辑器、权限管理、系统服务管理、网络管理

Java 从 0 到架构师目录:【Java从0到架构师】学习记录

Vi 编辑器

Vi 编辑器的三种模式

  • 编辑模式(命令模式):所有输入的字符都会理解为编辑整个文档的操作,默认为编辑模式
  • 输入模式:大部分输入的字符都会理解为输入文本字符
  • 末行模式:可以输入很多文件管理命令,例如保存退出

模式之间的相互转换:

  • 编辑 —> 输入
    i:在光标所在字符前开始插入
    a:在光标所在字符后开始插入
    o:在光标所在行的下面另起一新行插入
    s:删除光标所在的字符并开始插入

    I:在光标所在行的行首开始插,如果行首有空格则在空格之后插入
    A:在光标所在你行的行尾开始插入
    O:在光标所在行的上面另起一行开始插入
    S:删除光标所在行并开始插入

  • 输入 / 末行—> 编辑:ESC

  • 编辑 —> 末行::
    在这里插入图片描述

打开文件:vi hello.txt
关闭文件:在末行模式下输入 wq(保存退出) 或 q!(强制退出)

光标移动

逐个字符移动:
	h: 左移
	l: 右移
	j: 下移(记住'下贱','下j')
	k: 上移

行内跳转:
	0: 跳转到行首
	$: 跳转到行尾

行间跳转:
	:'num': 跳转到num行
	G: 跳转到最后一行
	gg: 跳转到第一行

翻屏: 
	ctrl + f: 向下翻页
	ctrl + b: 向上翻页

在末行模式下执行以下代码可以在编辑器内显示行号:

set nu
set number

文本操作指令

撤回:
	u: 撤回上一步
	ctrl + R: 前进下一步

删除: 
	dd: 删除光标所在行
	3dd: 从光标所在行开始删除3行
	:1,3d: 删除第1行到第3行
	:1,$d: 删除第1行到最后一行
	x: 删除当前光标的字符
	X: 删除当前光标前面的字符

复制粘贴:
	yy: 复制光标所在行
	2yy: 从光标所在行开始复制2行
	D: 从光标开始剪切到行末
	p: 粘贴复制的内容

文本查找: 
	/pattern: 从前往后查找
	?pattern: 从后往前查找
	n: 下一个匹配的字符串
	N: 上一个匹配的字符串

文本替换: 注意下面命令中的's'容易被忽略,代表替换的意思
	:1,2s/pattern/string/gi # 第1行到第2行的内容进行替换
	:1,$s/pattern/string/gi # 第1行到最后一行的内容进行替换
	:%s/pattern/string/gi # 所有行的内容忽略大小写进行替换
		% - 所有行
		s - 替换
		g - 全局替换,不加这个只会替换每行找到的第一个
		i - 忽略大小写

权限管理

权限:用来描述用户对资源的访问能力,包括读权限 (r)、写权限 (w)、执行权限 (x)

root 用户不受权限的约束

用户管理

# 创建用户
useradd [用户名]

# 创建用户并分配一个组
useradd -G [组名] [用户名]

# 添加用户组
groupadd [组名]

# 修改用户组属性
usermod -G [组名] [用户名]

# 删除用户
userdel [用户名]
	-f: 强制删除用户,即使用户已登录 
	-r: 删除与用户相关的所有文件

# 删除用户组
groupdel [组名]
# 查看系统用户
cat /etc/passwd

# 查看系统用户组
cat /etc/group

*文件基本权限

拥有权限的对象

  • u - 用户(文件所有者,属主)
  • g - 用户组(属组)
  • o - 其他用户(既不是属主,也不是属组)

文件的权限

  • r - 可读,可以执行类似 cat 命令的操作
  • w - 可写,可以编辑或者删除此文件
  • x - 可执行

目录的权限

  • r - 查询目录下面的文件数据列表
  • w - 创建目录 / 文件,删除目录 / 文件
  • x - 具有进入目录的权限,例如执行 cd

文件权限解释
在这里插入图片描述

权限的数字表示
在这里插入图片描述

权限的数字表示
r		4
w		2
x		1

rwx
111 --> 7  --> rwx
110 --> 6  --> rw-
100 --> 4  --> r--

示例:
rwx r-x r-x
111 101 101
 7	 5   5
-rwxr-x---	700
-rwxr-xr-x	755
-rw-r--r--	644
-rwx------	600

常用权限:777 - 所有权限,774 - 其他用户只读


修改权限的方式

chmod [选项] 模式 文件名
	选项
		-R		递归
	模式
		[guoa] [+-=] [rwx]
		[mode=421]

示例: chmod u+x
# 给当前用户添加指定文件的x执行权限
chmod u+x 文件

# 给该文件用户组,其他人添加指定文件的w写的权限
chmod g+w,o+w 文件

# 给该文件的当前用户,当前组,其他人, 添加rwx可读可写可执行的权限
chmod a=rwx 文件
chmod 777 文件

# 给该文件用户组-可读可写可执行,其他用户-可读可执行
chmod g+wx,o+x 文件
chmod 675 文件

# 给所有用户添加该文件的可读权限
chmod a+w 文件
# 修改文件的所有者
chown 用户名 文件名

# 修改文件的所属组
chgrp 组名 文件名

sudo

sudo 的操作对象是系统命令

通过 visudo 编辑 /etc/sudoers 文件中的内容:(使用 sudo 的前提)
在这里插入图片描述
表示 zhangsan 用户可以使用 sudo 执行超级用户才能执行的命令

# 假设 hello.txt 的权限是: ----------.
cat hello.txt # 无权限
sudo hello.txt # 可以查看,第一次使用sudo需要输入密码确认身份

系统服务管理 - systemctl

systemctl 的全名是:system control

启动服务: systemctl start <服务名>
关闭服务: systemctl stop <服务名>
重启服务: systemctl restart <服务名>
查看服务状态: systemctl status <服务名>
添加开机启动项: systemctl enable <服务名>
禁止开机启动项: systemctl disable <服务名>
查看开机启动项: sysetmctl list-unit-files 

进程查看 ps:用于报告当前系统的进程状态,可以搭配 kill 随时中断不必要的程序

# 查看所有进程信息,并格式化显示
ps -ef
	显示
	UID		用户ID
	PID		进程ID
	PPID	父进程ID
	C		CPU占用率
	STIME	开始时间
	TTY		开始此进程的TTY---终端设备
	TIME	此进程运行的总时间
	CMD 	命令名

# 显示网络相关信息, 也可查看 PID
netstat -ntlp

# 杀死进程
kill -9 pid

网络管理

网络相关知识可以参考 《网络协议从入门到底层原理》笔记

网络的基本概念

  • IP 地址:在网络通信中主机的标识符(好比手机号码)
  • mac 地址:主机的物理网卡的唯一标识符(好比身份证号码)
  • 子网掩码:用于区分主机的 IP 地址中的网络地址和主机地址,并确定该主机的 IP 地址的网段
  • 网关:就是一个网络中的主机连接到另一个网络的主机的关口
  • DNS:域名解析服务器,把域名解析成对应的 IP 地址

查看本机地址:

ip addr

在这里插入图片描述

  1. 机器A 给 机器B 发送消息
  2. 检查是否在同一网段,通过目标 IP 192.168.48.129 和子网掩码 255.255.255.0 进行与运算
  3. 在同一网段(网络号:192.168.48.0)直接使用 MAC 地址进行消息通信

在这里插入图片描述

  1. 机器A 给 机器D 发送消息
  2. 检查是否在同一网段,通过目标 IP 192.168.38.129 和子网掩码 255.255.255.0 进行与运算
  3. 不在同一网段(网络号 192.168.48.0 和 192.168.38.0)把数据发送到网关 (192.168.48.1)
  4. 网关接收到数据,根据路由表信息找到对应的目标网关 (192.168.3.1)
  5. 目标网关接收到数据,判断是否在同一个网段
  6. 如果在同一个网段,使用 MAC 地址进行数据发送
  7. 如果不在同一个网段,发送到下一个路由

ifcfg-eth 概念与配置

ifcfg-eth 解释
/etc/sysconfig/network-script 这个目录下存放的是网络接口(网卡)的脚j本文件(控制文件),其中 ifcfg-eth0 是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推 ifcfg-eth1ifcfg-eth2ifcfg-eth3 …(这里的文件相当重要,涉及到网络能否正常工作)

ifcfg-eth 文件配置

TYPE=Ethernet # 网卡类型
DEVICE=eth0 # 网卡接口名称
ONBOOT=yes # 系统启动时是否自动加载
BOOTPROTO=static # 启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11 # 网卡IP地址
NETMASK=255.255.255.0 # 网卡网络地址
GATEWAY=192.168.1.1 # 网卡网关地址
DNS1=8.8.8.8 # 网卡DNS地址
BROADCAST=192.168.1.255 # 网卡广播地址,可不配

VMware -> 编辑 -> 虚拟网络编辑器:
在这里插入图片描述

防火墙

使用云服务以后,防火墙相关命令基本可以不用管了,这里不记录相关指令了,用到时再查阅资料

如果是本机测试环境,建议直接关闭防火墙(会拦截某些端口)

# 停止防火墙服务
systemctl stop firewalld

# 禁止防火墙开机自启
systemctl disable firewalld

# 查看防火墙状态
firewall-cmd --status
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌宅鹿同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值