- 博客(44)
- 收藏
- 关注
原创 FOR 和 SELECT 循环语句应用
select循环语句的主要作用可能就是创建菜单。在执行带select循环语句的脚本时,输出会按照数字顺序的列表显示一个菜单项,并显示提示符(默认是#?),同时等待用户输入数字进行选择。下面就来带大家看看生成菜单项的语法及具体案例实践。select 变量名 [ in 菜单取值列表 ]do指令...done此结构中“in 变量取值列表”可省略,省略时相当于使用in "$@",使用for i就相当于使用。
2025-12-11 00:30:00
824
原创 while 循环和 until 循环的应用
示例:读取/etc/hosts内容方式1:采用exec读取文件,然后进入while 循环处理。/bin/bashdoecho $linedone方式2:使用cat读取文件内容,然后通过管道进入while 循环处理。/bin/bashdoecho $linedone方式3:在while 循环结尾done处通过输入重定向指定读取的文件。/bin/bashdoecho $line方式4:定义shell分隔符为换行符/bin/bashIFS=$'\n'doecho $line。
2025-12-11 00:15:00
1003
原创 case 条件语句基础与应用
case 条件语句相当于多分支的if/elif/else条件语句,但是它比这些条件语句看起来更规范更工整,常被应用于实现系统服务启动脚本等企业应用场景中。
2025-12-11 00:00:00
717
原创 Shell 函数基础知识与应用
在讲解Shell 函数之前,先来回顾Linux系统中alias的作用。total 4total 4函数也有类似于别名的作用,例如可简化程序的代码量,让程序更易读、易改、易用。简单地说,函数的作用就是将程序里多次被调用的相同代码组合起来(函数体),并为其取一个名字(即函数名),其他所有想重复调用这部分代码的地方都只需要调用这个名字就可以了。当需要修改这部分重复代码时,只需要改变函数体内的一份代码即可实现对所有调用的修改,也可以把函数独立地写到文件里,当需要调用函数时,再加载进来使用。
2025-12-10 00:15:00
603
原创 IF 条件语句基础知识与应用
rsync是运维场景中最常用的数据同步软件,本例就是要完成一个类似系统的启动rsync服务的方法,即使用/etc/init.d/rsyncd{start|stop|restart}即可启动和停止rsync服务,这里是用if条件语句来实现相应效果的,其实通过case语句来实现效果最佳,不过由于还没讲解到case语句,因此这里主要练习if语句。根据传入的参数,进行判断,然后执行对应的启动和停止命令。明白开发需求,是完成程序的大前提,因此,分析需求至关重要,一切不以需求为主的程序开发,都是不倡导的!
2025-12-10 00:00:00
683
原创 Shell 条件测试基础知识
]和test中比较符号(())和[[]]中比较符号说明-eq==或=相等,全拼为 equal-ne!不相等,全拼为 not equal-gt大于,全拼为 greater than-ge>=大于等于,全拼为 greater equal-It小于,全拼为less than-le<=小于等于,全拼为 less equal和!也可在[]中做比较使用,但在[]中使用包含和的符号时,需要用反斜线转义,有时不转义虽然语法不会报错,但是结果可能会不对。也可以在[[]]中使用包含。
2025-12-06 21:55:27
713
原创 Shell 数值计算基础知识
实现原理是,利用以 expr 做计算时变量或字符串必须是整数的规则,把一个变量或字符串和一个已知的整数(非0)相加,看命令返回的值是否为 0。双小括号 (()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是企业场景运维人员经常采用的运算操作符。是UNIX/Linux下的计算器,因此,除了可以作为计算器来使用,还可以作为命令行计算工具使用。利用awk进行运算的效果也很好,适合小数和整数,特别是命令行计算,尤其是小数,运算很精确,好用。**示例6:**通过 (())运算后赋值给变量。
2025-12-06 21:53:45
801
原创 Shell 变量基础与进阶知识
简单地说,变量名是用一个固定的字符串(字符、数字和下划线的组合,不能以数字开头)代替更多、更复杂的内容,该内容里可能还会包含变量、路径、字符串等其他的内容。变量是暂时存储数据的地方及数据标记,所存储的数据存在于内存空间中,通过正确地调用内存空间中变量的名字就可以取出与变量对应的数据。使用变量的最大好处就是使程序开发更为方便,当然,在编程中使用变量也是必须的,否则就很难完成相关的程序开发工作。# 定义变量,名字为username,对应的内容Tom# 打印变量的值Tom。
2025-12-06 16:07:45
707
原创 awk 基础知识和进阶用法
awk 是一个强大的文本分析工具。awk 更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。awk 按行读取数据,根据给出的条件进行查找,并在找出来的行中进行操作。awk 有三种形势,awk,gawk,nawk,平时所说的awk其实就是gawk。awk 是其取了三位创始人 AlfredAho,PeterWeinberger, 和 BrianKernighan 的 Family Name 的首字符。文本处理生成格式化的文本报告运行一些简单的算术操作。
2025-12-05 00:00:00
1619
原创 sed 命令基础用法
sed,英文全称,是一种非交互式的流编辑器,能够实现对文本非交互式的处理,功能很强大。sed 是一个 70 后,诞生于 1973 - 1974 年间,具体时间未知。而出生地则是鼎鼎大名的贝尔实验室。sed 是麦克马洪 ( McMahon )老爷子在贝尔实验室时开发出来的。sed 的诞生使并不是那么的神秘,它的诞生只不过是麦克马洪 ( McMahon )老爷子想写一个行编辑器,谁知写着写着就写成了 sed 的样子。其实,在 sed 之前还有一个更古老的行编辑器,名字叫做ed 编辑器。大概是。
2025-12-04 00:15:00
920
原创 Nginx 服务器
Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll、kqueue、eventport最为网络I/O模型,在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。
2025-12-03 00:00:00
641
原创 Linux 正则表达式基础 & grep 匹配正则表达式
正则表达式分类:普通字符字符集.匹配除换行符(、)之外的任何单个字符,相等于。[…]匹配 中的任意一个字符。[a-z] [A-Z] [0-9],匹配所有小写字母。,匹配所有大写字母。,匹配所有数字。[^…]匹配除了 中字符的所有字符。\将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。 匹配换行符。序列 匹配 ,而 则匹配 。| 符号是扩展表达式中元字符,指明两项之间的一个选择。要匹配 ,
2025-12-02 03:30:00
928
原创 SMB 服务器
Samba 是在Linux和UNIX系统上实现SMB协议(Server Messages Block,信息服务块),是一种在局域网上共享文件和打印机的一种通信协议。曾用名CIFS(通用互联网文件系统 Common Internet File System), 公元1983年诞生于IBM。SMB协议是C/S架构,通过该协议客户机(包括Windows、linux、Unix系统)可以访问服务器(包括Windows、linux、Unix系统)上的共享文件系统、打印机及其他资源。
2025-12-02 03:15:00
1918
原创 VSFTPD 服务器
vsftpd(Very Secure FTP Daemon)是一个在 Linux 系统上广泛使用的 FTP 服务器软件,以其安全性、高性能和稳定性著称。vsftpd 设计理念注重安全,通过多种机制(如 chroot 隔离、PAM 认证、SSL/TLS 加密等)保护系统免受潜在攻击。
2025-12-01 02:00:00
1478
原创 MariaDB 数据库管理
*数据库,是一个存放计算机数据的仓库。**这个仓库是按照一定的数据结构来对数据进行组织和存储的,我们可以通过数据库提供的多种方法来管理其中的数据。数据结构,是指数据的组织形式或数据之间的联系。MariaDB数据库管理系统是MySQL数据库的一个分支,主要由开源社区维护,采用GPL授权许可。开发这个MariaDB数据库分支的可能原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此MySQL开源社区采用分支的方式来避开这个风险。
2025-11-27 00:00:00
714
原创 iSCSI 服务器
SCSI(Small Computer System Interface,小型计算机系统接口),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)连接标准。iSCSI(Internet Small Computer System Interface,Internet 小型计算机系统接口),又称为IP-SAN。
2025-11-23 22:30:00
828
原创 NFS 服务器
在计算机网络存储领域,NFS(Network File System,网络文件系统)是一种实现不同计算机之间文件共享的经典技术。它允许网络中的客户端计算机像访问本地文件一样,透明地访问远程服务器上的文件资源,极大地简化了跨设备的数据共享与管理流程。总之,NFS 作为一种成熟的网络文件共享技术,凭借其简洁、高效、跨平台等优势,在各类网络环境中得到了广泛应用。尽管存在一些局限性,但通过版本迭代和与其他技术的结合,NFS 仍然在网络存储领域发挥着重要作用。
2025-11-23 22:00:00
1022
原创 DHCP 服务器
确保不要同时在多个系统上使用同一个地址。部署新系统通常需要手动分配其IP地址。在云环境中,实例的网络是自动化配置的。动态主机配置协议(DHCP-Dynamic Host Configuration Protocol)提供了一种自动配置网络参数的方法,例如IP地址,默认网关,DNS服务器和域或NTP服务器。在网络中部署DHCP服务器,您可以集中控制这些参数。用于IPv4网络的DHCPv4。用于IPv6网络的DHCPv6。本课程只介绍DHCPv4。
2025-11-21 00:00:00
791
原创 Linux 防火墙管理
防火墙( FireWall ),工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件。基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,将希望外网访问的主机放在 DMZ(demilitarized zone)网络中。Firewalld 是 Red Hat 公司开发的防火墙软件,默认后端为 nftables。在 CentOS 7 之前的发行版中,默认使用 iptables 命令来管理防火墙。
2025-11-20 00:00:00
734
2
原创 Linux 系统启动原理
target还可以包涵其他target,例如graphical.target包涵multi-user.target,multi-user.target包涵basic.target,basic.target包涵sysinit.target。使用 /etc/grub.d/ 目录、/etc/default/grub 文件和 grub2-mkconfig 命令进行配置,以生成 /boot/grub2/grub.cfg 文件。/etc/grub.d/,该目录下存放多个数字开头的脚本,按照从小到大的顺序执行。
2025-11-19 00:00:00
1407
原创 Linux 交换空间管理
默认情况下,多个交换空间具有相同的优先级时,系统会按顺序使用交换空间,即内核先使用第一个已激活交换空间,直至其空间已满,然后开始使用第二个交换空间。简单地说,Linux Swap 空间就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。**虽然交换空间能够作为"虚拟"内存使用,但由于交换区位于磁盘上,它的速度比物理内存慢的多,因此如果需要更快的速度的话,最好的办法仍然是加大物理内存。
2025-11-18 23:00:00
683
原创 Linux RAID 存储技术
RAID级别最小磁盘数容错能力磁盘空间开销读取速度写入速度硬件成本RAID 02无0%高高低RAID 12单个磁盘50%高低中RAID 53单个磁盘1 / N中低中RAID 64两个磁盘2 / N中低高RAID 104多个磁盘50%高中高RAID 506单个磁盘1 / N高中高RAID 608多个磁盘50%高中高。
2025-11-17 00:30:00
944
原创 Linux 逻辑卷管理
管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。简单地说:卷组由多个物理卷组成,可以在卷组中创建多个逻辑卷,对逻辑卷创建文件系统给用户使用。如果卷组空间中有多余的物理卷或者物理卷容量小需要更换,则可以将物理卷从卷组中剔除。如果逻辑卷空间充足,希望将多余的空间缩减出来它用,也可以缩减逻辑卷空间。如果卷组空间不足,可以通过添加新的物理卷到卷组中,以扩展卷组容量。如果逻辑卷空间不足,在卷组空间充足的情况下,也可以扩展逻辑卷空间。删除物理卷前确保物理卷不在使用中。创建 raid1 逻辑卷。
2025-11-16 20:42:25
765
原创 Linux 硬盘分区管理
(GPT表头记录),记录了分区表自身的位置和大小,同时也记录了前面提到备份用的GPT分区所在位置(最后34个LBA),还放置了分区表的校验码(CRC32),校验码的作用是让操作系统判断GPT的正确与否,倘若发现错误则可以从备份的GPT中恢复正常运行。,记录分区信息,每个LBA可以提供4组的分区记录,默认情况下可以有4×32=128组分区记录。因为每个LBA都有512字节,所以每组分区记录所占128字节,除去每组记录需要的标识符和相关记录信息外,GPT在每组记录中提供了64位记载分区的扇区总数。
2025-11-14 00:15:00
1497
1
原创 Linux 文件系统基本管理
例如,一个分区可以包含用户目录,而另一个分区可以包含系统数据和日志。,例如:mode为764,则ugo必须同时满足的最小权限:user至少为7、group至少为6、other为4。,例如mode为764,则ugo只要有一个满足即可:user至少为7、group至少为6、other至少为4。通常,不会将整个存储设备格式化为一个文件系统中,而是将硬盘驱动器划分为多个逻辑存储单元, 这些单元称为。是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。(block)提供。
2025-11-14 00:00:00
663
原创 Linux 进程调度管理
在kernel.sched_rt_period_us内实时态进程可使用的共享CPU时间,默认值950000,也就是0.95秒。,在SCHED_RR调度下的进程每次轮询获取的CPU时间,单位ms,默认值100,也就是0.1秒,有效范围1-100。优先级最低的实时调度器进程的优先级高于优先级最高的非实时调度器进程的优先级。,CPU分配的周期时间,单位us,默认值1000000,也就是1秒。命令用于获取和设置实时调度器进程优先级,以及更改进程调度器。默认情况下,子进程将继承父进程的nice值,通常为0。
2025-11-12 23:45:00
821
原创 Linux 计划任务管理
在过去,/etc/anacrontab 由单独的一个进程anacron处理,在CentOS 7 及后续版本中,这个文件也由 crond 进程处理,目的是确保重要的工作总是被执行,即使系统关机或者其他重大事故。crond的配置文件比crontab命令定义的jobs多一个区域,在最后一个时间和command之间,指明使用哪个账户执行job。at不是一个单独的工具,包括系统后台进程(atd)和一系列与后台进程atd交互的命令(例如at atq等等)。at命令从标准输入中读取要执行的命令。
2025-11-12 19:14:03
803
原创 Linux 软件包管理
rpm 命令是一个管理软件包的工具,不适用于软件包存储库或自动解决来自多个源的依赖项。Yum(Yellowdog Updater Modified)旨在成为管理基于RPM的软件安装和更新的更好系统。yum命令允许安装,更新,删除和获取有关软件包及其依赖项的信息。Nginx是一个高性能的HTTP和反向代理web服务器。官方地址:https://nginx.org。
2025-11-12 00:00:00
974
原创 实验:Rsync + Sersync 实现文件实时同步
sersync 使用c++编写,类似于inotify,同样用于监控,但它克服了inotify的缺点。inotify 最大的不足是会产生重复事件,或者同一个目录下多个文件的操作会产生多个事件,例如,当监控目录中有5个文件时,删除目录时会产生6个监控事件,从而导致重复调用rsync命令。比如:vim文件时,inotify会监控到临时文件的事件,但这些事件相对于rsync来说是不应该被监控的。
2025-11-08 21:30:00
913
原创 Linux tar文档管理
归档和压缩文件对于创建备份和通过网络传输数据非常有用。用于创建和使用备份存档的最古老和最常用的命令之一是 tar 命令。tar可以将大量文件集合到一个文件(存档)中,还可以使用 gzip,bzip2或xz压缩来压缩存档。
2025-11-06 23:45:00
397
原创 Linux 网络管理
示例,enp0s1f0代表位于PCI总线0上插槽1中的以太网卡的功能0。**然而这种机制会引起一些问题,例如网络接口的增加和删除。主机名规范:短名称+域名,例如server.centos.cloud。主机名是server,域名是centos.cloud。网络配置是由 NetworkManager 服务管理的,确保该服务开机自启。以前使用 **netstat **查看网络状态信息,使用方法等效与。当访问其他主机的时候,名称也会映射为IP地址,与目标主机通信。**尽量不要通过手动修改配置,来配置网络。
2025-11-06 23:00:00
649
原创 Linux OpenSSH 服务管理
SSH 全称是,SSH协议是基于应用层的协议,为远程登录会话和其他网络服务提供安全性的协议。实现此功能的传统方式,如 telnet (终端仿真协议)、 rcp、ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH 提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。。帮助,禁止 root 用户登录。root用户权限不受限制。root用户存在每个linux系统,只需要猜密码就可以。
2025-11-04 23:00:00
681
原创 Linux 服务管理
CentOS 5 使用 Sys init 引导系统启动,启动速度最慢,采用串行方式启动,无论进程相互之间有无依赖关系。CentOS 6 使用 Upstart init 引导系统启动,启动速度快一点,有依赖的进程之间依次启动而其他与之没有依赖关系的则并行同步启动。CentOS 7 使用 Systemd 引导系统启动,速度最快,所有进程无论有无依赖关系则都是并行启动(很多时候进程没有真正启动而是只有一个信号或者说是标记而已,在真正利用的时候才会真正启动)。Systemd为了解决上文的问题而诞生。
2025-11-04 22:00:00
564
原创 Linux 进程管理
进程是已启动的可执行程序的运行中实例。已分配内存的地址空间安全属性,包括所有权凭据和特权程序代码的一个或多个执行线程进程状态本地和全局变量当前调度上下文分配的系统资源,如文件描述符和网络端口signal 是传递给进程的软中断。生成信号的事件可以是错误,外部事件或者使用信号发送命令或键盘序列。如果一个进程退出了,立马X状态,作为父进程没有机会拿到子进程的退出结果。
2025-11-04 00:45:00
801
原创 Linux 文件权限管理
Linux文件权限简单灵活,易于理解和应用,能够处理大多数权限使用情况。单个用户拥有者,通常是创建该文件的用户。单个组拥有者,通常是创建该文件的用户的主要组。除了用户拥有者和组拥有者之外的其他用户。
2025-10-30 19:55:18
637
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅