Linux基础-文本管理/bashshell/网络管理
文本编辑工具
目前常见的文本编辑工具
vi 所有unix系统都会自带vi文本编辑器,其他的文本编辑器不一定存在
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 编辑器之神
nano 在debian系列系统上比较常见 其他的linux发行版也可以安装
目前在linux系统中 vim使用是最多的 ,也是最推荐的
什么是vim?
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
vim是一个纯命令行文本编辑器,很多文本编辑的功能都是通过键盘快捷键的方式完成,所以我们需要记住常用的键位,在vim官方网站上我们可以找到vim键盘图的完整版,不过对于初学者来说,我们只需要知道常用的就可以了。
vim基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和末行模式(Last line mode)。这三种模式的作用分别是:
### 命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i切换到输入模式,以输入字符。
x删除当前光标所在处的字符。
:切换到末行模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠末行模式输入更多命令。
### 输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
### 末行模式
在命令模式下按下:(英文冒号)就进入了末行模式。
末行模式可以输入单个或多个字符的命令,可用的命令非常多。
在末行模式中,基本的命令有:
q退出程序
w保存文件
按ESC键可随时退出末行模式。
简单的说,我们可以将这三个模式的关系用下图来表示:
按下i进入输入模式(也称为编辑模式),开始编辑文字在命令模式之中,只要按下i,a,o等字符就可以进入输入模式了!
在编辑模式当中,你可以发现在左下角状态栏中会出现-- INSERT -- 的字样,那就是可以输入任意字符的提示。
这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。
假设我们编辑完毕以后 如何退出 按下键盘esc 会发现 --insert--不见了
此时可以输入:wq 回车 保存退出
vim按键说明
除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
下面将会列举出vim非常多的常用按键,初学者只需要浏览一遍,记住大概vim有哪些功能,等后面大量使用vim的时候,再来翻阅笔记,并且在多次使用中把这些功能记住。
初识bashshell
命令解释器 他能识别我们输入的各种命令 并传递给系统
类似于 windws当中的powershell cmd
在linux当中 shell 既是用户交互界面 又是控制系统的语言
在winodws当中 图形化是用户交互界面 shell是控制系统的语言
bashshell当中 文件通配符
* 匹配0次或无数次 所有 cp ./*
? 匹配任意单个字符
[0-9] 匹配数字
[abc] 匹配字母
[^abc] 匹配列表内除外的所有字符
~ 指向你的家目录
$ 表示参数
‘’ 输入一个命令 作为另一个命令的参数
如何变量赋值
username=wh
$username 引用这个变量
临时变量(仅在当前shell中有效 )
系统变量 (永久有效)
$PATH 用户可执行文件
$HOME 用户家目录位置
$UID 用户的UID
命令别名
alias 别名
which + 名称 可以查看这个名称的别名
别名只是当前有限 而且只是本次shell登录有效
alias dir=‘ls -al’ 讲ls -al 别名写成 dir 这样 dir就会执行ls -al的作用
如何永久写入别名:
编辑 /etc/bashrc
在文件最低端写入别名 alias showip=’ip addr’
bash 刷新
which dir 验证是否成功
which showip
/etc/bashrc 非常重要 关系到每次开机的bash环境
linux网络管理
ipv4地址
192.168.1.1/24
掩码:255.255.255.0
dns 动态域名解析 是一个服务器 通常我们需要给系统设置域名解析服务器的ip地址
114.114.114.114 安全洁净的dns服务器
8.8.8.8 谷歌dns
网关 gateway
通常指向本地路由器的接口ip
网络接口名称
linux系统网络接口名称 通常来说 传统一般叫做 eth0 eth1 eth2
RHEL7以上版本,一般默认都是给的ens33 ens160
接口类型:
以太网 ens
本地环回口 lo
桥接网口 virbr0
如何查看linux系统网络配置:
ip addr
ifconfig
如何进行网络管理:
• nmtui 图形化修改工具 不建议使用
• 直接修改配置文件 非常不建议使用 centos7以下系统强烈推荐
vim /etc/sysconfig/network-scripts/ifcfg-ens160
设备类型
TYPE=Ethernet
地址分配模式
BOOTPROTO=static
网卡名称
NAME=ens33
是否启动
ONBOOT=yes
IP地址
IPADDR=192.168.91.128
子网掩码
NETMASK=255.255.255.0
网关地址
GATEWAY=192.168.91.1
DNS地址
DNS1=114.114.114.114
systemctl restart network (红帽8这个命令已经被删除了)
3.ip 不建议使用
ip link show ens33
ip link set ens33 up/down
ip addr地址管理(不推荐)
ip addr show ens33 查看网络地址
4. nmcli 考试使用 RHEL8系统强烈推荐
nmcli device status 查看设备状态
nmcli device connect ens33 连接和断开设备
nmcli con show 查看配置文件状态
NAME UUID TYPE DEVICE
ens160 bf2e7e14-491d-42a7-aab3-ae366489d6dc ethernet ens160
virbr0 3048528f-7b83-4943-8deb-09a3ac565407 bridge virbr0
name: 网卡配置文件的连接名 随意取
device:指的是物理网卡名称 必须是真实的设备 一个device可以有多个配置文件有多个name
添加一块网卡配置文件
nmcli con add ifname ens160 type ethernet con-name eth160
ipv4.addresses 172.25.250.10/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.254 ipv4.method manual
修改网卡配置文件信息
nmcli connection modify eth160 ipv4.addresses 10.1.1.1/24 ipv4.gateway 10.1.1.254 ipv4.dns 8.8.8.8 ipv4.method manual
删除网卡
nmcli connection delete 网卡名字
vim /etc/sysconfig/network-scripts/ifcfg-ens33 查看是否写入配置文件
nmcli con up eth160 激活配置文件 (激活就断网了)因为我们给的地址不能用 实验环境是wifi专用的。
nmcli con reload 重新加载配置文件 有可能没成功
nmcli conn down 配置名称 关闭链接
nmcli con up 配置名称 开启链接
关机重启 也可以重新加载文件
标准端口服务
通信靠ip,服务靠端口
传输层协议 TCP UDP TCP是可靠连接 UDP 面向无连接
linux标准端口服务的配置文件 /etc/services
1.HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098
2.SOCKS代理协议服务器常用端口号:1080
3.FTP(文件传输)协议代理服务器常用端口号:21
4.Telnet(远程登录)协议代理服务器常用端口号:23
HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)
HTTPS(securely transferring web pages)服务器,默认端口号为443/tcp 443/udp
Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口)
FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口)
TFTP(Trivial File Transfer Protocol),默认端口号为69/udp
SSH(安全登录)、SCP(文件传输)、端口号重定向,默认的端口号为22/tcp
SMTP Simple Mail Transfer Protocol(E-mail),默认端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)
POP3 Post Office Protocol(E-mail),默认端口号为110/tcp
Webshpere应用程序,默认端口号为9080
webshpere管理工具,默认端口号9090
JBOSS,默认端口号为8080
TOMCAT,默认端口号为8080
WIN2003远程登录,默认端口号为3389
Oracle 数据库,默认的端口号为1521
Oracle XDB(XML 数据库),默认的端口号为8080
MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp
MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp
mysql 数据库默认端口 3306
ss 查看端口 常用选项
-n 显示接口和端口编号 而不是显示名称
-u 显示UDP端口
-l 仅显示侦听中的端口
-t 显示TCP
-p 显示使用端口的进程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?