
linux基础与进阶,shell脚本编写实战
文章平均质量分 95
大厂数千台linux服务器管理经验加持,以生产实战为根基,从零基础开始,一步步讲解linux各种命令使用方法,linux操作系统优化方案,多场景shell脚本应用编写技巧等等,一起探索,共同进步,全程答疑,绝对干货。
景天科技苑
Python全栈技术专家,Golang全栈开发专家,Rust全栈资深工程师。华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者。Golang开发,Python全栈开发,tkinter,PyQt5桌面应用开发,微信小程序开发,人工智能,爬虫等领域多年深耕,深谙js逆向,网络系统安全等领域。积累了大量linux,shell脚本实战,云原生K8S,Prometheus系列监控系统,数据库,数据分析,Django,fastapi,flask,Sanic等框架实操经验。独学而无友,则孤陋而寡闻。与良师益友一起交流学习,进步更快!
展开
-
【ELK】最新版ELK日志搜集,过滤与展示,手把手教你搭建企业级ELK日志平台
ELFK是一套完整的日志集中处理方案。E:ElasticSearck ES 分布式索引型非关系数据库 存储logstash输出的日志 全文检索引擎,保存的格式是json格式L:logstash 基于java语言开发的,数据收集引擎。日志的收集,可以对数据进行过滤,分析,汇总,以标准格式输出K:Kiabana 是es的可视化工具。对es存储的数据进行可视化展示,分析和检索。F: FileBeat是一个轻量级日志采集器,Filebeat属于Beats家族的6个成员之一。原创 2025-04-17 07:15:00 · 23990 阅读 · 48 评论 -
【linux】linux中如何通过Logstash处理、结合logrotate分割日志
Logstash是一个功能强大的日志处理工具,它可以通过配置输入、过滤和输出来实现对日志的收集、转换和发送。虽然Logstash本身不直接提供日志切割功能,但你可以通过配置过滤器来切割日志中的关键信息,并结合Linux系统的logrotate工具来实现日志文件的滚动切割。通过合理使用Logstash和logrotate,你可以轻松实现对Linux系统中各种日志文件的收集、处理和存储。原创 2024-09-27 17:45:00 · 37148 阅读 · 19 评论 -
【linux】linux中如何通过stress进行压力测试,原理解析与应用实战
在Linux系统管理和开发过程中,了解系统的稳定性和性能瓶颈是非常重要的。为了模拟各种高负载场景,测试系统在各种压力下的表现,我们可以使用`stress`这一强大的压力测试工具。`stress`可以对CPU、内存、IO和磁盘等资源进行压力测试,帮助系统管理员和开发人员找到潜在的性能问题。本文将详细介绍`stress`的安装、使用方法,并结合实际案例来展示其具体应用。原创 2024-09-06 16:37:53 · 48199 阅读 · 32 评论 -
【kafka】在Linux系统中部署配置Kafka的详细用法教程分享
Apache Kafka是一个开源的分布式流处理平台,由Scala和Java编写,最初由LinkedIn开发,之后捐赠给Apache软件基金会。Kafka被广泛应用于构建实时数据管道和流应用程序,如消息队列、日志收集、监控、实时分析等。本文将结合实际案例,详细介绍在Linux系统中部署和配置Kafka的步骤,包括前置环境准备、安装、配置以及测试。原创 2024-09-02 17:29:24 · 34188 阅读 · 12 评论 -
【linux】Linux中网络管理工具--nmcli的详细用法实战
在Linux系统中,网络管理是一项基础且重要的任务。随着NetworkManager的普及,nmcli(NetworkManager的命令行接口)成为了管理网络连接的强大工具。`nmcli`不仅支持配置网络接口、连接和设备,还能报告网络状态,极大地简化了网络配置和管理过程。本文将结合实际案例,详细介绍nmcli在Linux中的用法。原创 2024-08-22 15:43:04 · 19267 阅读 · 17 评论 -
【linux】linux中如何通过systemctl来创建和管理服务
Linux系统作为服务器和桌面操作系统的主力军,其稳定性和高效性得到了广泛认可。在Linux系统中,systemd是一个用于集中管理和配置类UNIX系统的守护进程、工具和库的集合,而systemctl则是systemd的主要工具,用于控制这些系统和服务。本文将详细介绍systemctl的用法,并结合实际案例帮助读者更好地理解和应用。原创 2024-08-15 11:12:12 · 24220 阅读 · 7 评论 -
【linux】深入解读linux中进程的生命周期
在Linux操作系统中,进程是资源分配和调度的基本单位。了解进程的生命周期及其相关概念对于深入理解Linux系统至关重要。本教程将结合实际案例,详细讲解Linux中进程的生命周期,包括进程的创建、运行、等待、退出及特殊状态(如僵尸进程)等阶段。原创 2024-08-13 13:09:36 · 25212 阅读 · 5 评论 -
【linux】linux中特殊权限管理--FACL详细用法教程与应用实战
在Linux系统中,文件权限是确保系统安全性的重要组成部分。传统的文件权限(如读、写、执行)通过chmod和chown等命令进行设置,但这些权限管理相对简单,无法满足所有复杂场景的需求。为了更精细地控制文件访问权限,Linux引入了访问控制列表(Access Control Lists,简称ACL)的概念。本文将详细介绍如何在Shell脚本中使用FACL(File Access Control Lists)权限,并提供具体的Shell脚本案例。原创 2024-08-08 11:21:53 · 29466 阅读 · 5 评论 -
【linux】企业级linux内核优化方案,助你构建出高效、稳定且安全的Linux系统环境
Linux系统因其开源、灵活和强大的性能而广泛应用于服务器、嵌入式系统、云计算等多个领域。然而,随着系统负载的增加和应用的复杂化,Linux系统的性能优化变得尤为重要。本文将结合实际案例,详细介绍Linux内核的优化方案,涵盖内存管理、进程调度、文件系统、网络性能等多个方面。原创 2024-08-06 13:57:27 · 31526 阅读 · 2 评论 -
【linux】linux中定时任务的巧妙运用,让你轻松解放双手
在Linux和Unix系统中,定时任务是一项非常实用的功能,它允许用户安排脚本或命令在特定的时间自动执行。这对于系统维护、数据备份、日志清理等任务尤为关键。在Linux中,最常用的定时任务工具是`cron`。本教程将详细介绍如何在shell脚本中使用`cron`来设置定时任务,包括基本语法、高级特性、实例案例以及常见问题的解决方法。原创 2024-08-05 13:59:06 · 26048 阅读 · 5 评论 -
【linux】Shell脚本中正则表达式的详细教程与应用实战
正则表达式(Regular Expression,简称Regex或Regexp)是计算机科学中的一个重要概念,它用于描述字符串的搜索、匹配和替换等操作的规则。在Shell脚本中,正则表达式常用于文本处理任务,如查找、替换、过滤等。本文将详细介绍Shell脚本中正则表达式的用法,并通过具体案例来加深理解。原创 2024-07-31 10:38:40 · 28866 阅读 · 5 评论 -
【linux】Linux中环境变量相关操作的详细教程及实战案例
环境变量(Environment Variables)是在操作系统中用于指定操作系统运行环境的一些参数。它们通常以键值对(K/V)的形式存在,其中“键”是环境变量的名称,而“值”则是该环境变量对应的具体数据。环境变量在程序运行时扮演着重要角色,比如指定程序的查找路径、用户的主目录、语言设置等。原创 2024-07-29 18:17:43 · 29417 阅读 · 8 评论 -
【linux】Shell脚本三剑客之grep和egrep命令的详细用法攻略
在Linux和Unix系统中,grep(Global Regular Expression Print)是一个非常强大的文本搜索工具,能够根据用户指定的模式(由正则表达式和文本字符组合而成)对目标文件进行逐行搜索,并显示匹配到的行。而egrep(Extended Grep)则是`grep`的扩展版本,支持更多的正则表达式语法。尽管egrep在较新的系统中被`grep -E`选项所取代,但了解其用法对于理解和使用正则表达式仍然具有重要意义。原创 2024-07-25 11:33:48 · 24773 阅读 · 4 评论 -
【linux】Shell脚本三剑客之awk命令的详细用法攻略
在Linux和Unix系统中,awk是一种强大的文本处理工具,广泛应用于数据提取、分析和报告生成。它基于模式匹配和条件执行,能够逐行读取输入文本文件,并对每行数据执行指定的操作。本教程将详细介绍`awk`在shell脚本中的用法,包括其基本语法、常用选项、内置变量、高级特性以及结合shell脚本的实际案例。原创 2024-07-24 14:04:35 · 18518 阅读 · 6 评论 -
【linux】Shell脚本三剑客之sed命令的详细用法攻略
在Shell编程中,对文本进行处理和转换是一项常见的任务。`sed`(Stream Editor)作为一种强大的流式文本编辑器,提供了丰富的文本处理能力,通过简单的命令即可实现复杂的文本操作。掌握`sed`命令的基本用法,可以极大地提高文本处理的效率和灵活性。本文将从`sed`命令的基本概念和语法开始介绍,然后通过丰富的实例演示其常见用法,帮助读者快速上手并灵活运用`sed`命令。原创 2024-07-23 14:28:02 · 19191 阅读 · 2 评论 -
【linux】Shell脚本中basename和dirname的详细用法教程
Shell脚本是Linux和Unix系统中非常重要的一部分,它允许用户将多个命令组合成一个可执行的文件,从而提高工作效率和自动化水平。在Shell脚本编程中,basename和dirname是两个非常实用的命令,它们分别用于获取文件的基本名称(不带路径)和文件所在的目录路径。本文将详细介绍这两个命令的用法,并通过实际案例展示如何在Shell脚本中使用它们。原创 2024-07-22 16:55:13 · 19691 阅读 · 2 评论 -
【linux】Shell脚本中While循环的详细用法教程
Shell脚本是Linux和Unix系统中自动化任务的重要工具,而循环结构则是脚本编程中的核心部分之一。while循环是Shell脚本中最常用的循环之一,它允许脚本在满足特定条件时重复执行一组命令。本文将详细介绍Shell脚本中`while`循环的用法,并通过几个详细的案例来展示其实际应用。原创 2024-07-18 17:15:48 · 20699 阅读 · 5 评论 -
【linux】Shell 脚本中的 For 循环详细用法教程
Shell 脚本是 Linux 和 Unix 系统中一种强大的自动化工具,通过编写脚本,用户可以自动执行复杂的任务,提高工作效率。在 Shell 脚本中,循环是一种常用的控制结构,用于重复执行一组命令直到满足特定条件。本文将详细介绍 Shell 脚本中的 For 循环的用法,并通过多个实例来展示其应用。原创 2024-07-12 17:16:02 · 15585 阅读 · 46 评论 -
【linux】shell脚本中设置字体颜色,背景颜色详细攻略
在编写Shell脚本时,我们经常需要在终端中以不同的颜色和样式显示文本,以增加可读性或突出重要信息。本文将介绍如何在Shell脚本中实现彩色显示,并提供相应的代码示例。在Shell中,可以使用ANSI转义序列来控制终端的颜色和样式。ANSI转义序列是以"\e["开头的特殊字符序列,后面跟着一些参数,用于控制终端的显示效果。原创 2024-06-22 07:15:00 · 26752 阅读 · 26 评论 -
【linux】linux中免交互命令expect原理与应用实战
Expect 是基于 Tcl 的相对简单的一个免费的脚本编程工具语言,用来实现自动和交互式任务程序进行通信,无需人的手工干预。比如 SSH、FTP 等,这些程序正常情况都需要手工与它们进行交互,而使用 Expect 就可以模拟人手工交互的过程,实现自动的和远程的程序交互,从而达到自动化运维的目的。原创 2024-05-20 09:02:22 · 17514 阅读 · 73 评论 -
【linux】shell脚本中的set的巧妙运用,可以避免很多意想不到的坑
linux中,set 命令作用主要是显示系统中已经存在的 shell 变量,以及设置 shell 变量的新变量值。使用 set 更改 shell 特性时,符号 + 和 - 的作用分别是打开和关闭指定的模式。原创 2024-05-17 09:12:21 · 11667 阅读 · 48 评论 -
【linux】unzip解压乱码或者报错处理办法
unzip命令是一种常用的解压工具,可用于解压.zip、.tar.gz、.rar等压缩文件,常用选项有:-p解压到标准输出并显示进度;-q静默模式不显示详细输出;-v查看压缩文件详细信息;-t测试压缩文件是否有效;-d指定解压目录;-j跳过目录结构将文件解压到当前目录。同时,需要注意文件权限、文件损坏和安全性问题,并可选择WinRAR、7-Zip等替代工具。原创 2024-04-30 09:57:53 · 11157 阅读 · 40 评论 -
linux系统下如何使用nginx作为高性能web服务器
Nginx是一个开源且高性能、可靠的http web服务、代理服务、负载均衡。开源:直接获取源代码。高性能:支持海量并发。可靠:服务稳定。轻量:占用资源少。原创 2024-03-21 08:30:00 · 3208 阅读 · 26 评论 -
linux系统下,配置开机自启脚本常见的5种方法
Linux开机自启是指在Linux系统启动时,自动运行一些指定的程序或服务。这些程序或服务可以是系统自带的,也可以是用户安装的第三方软件。开机自启可以方便用户管理系统,提高效率。在Linux系统中,开机自启的方式有多种,下面介绍几种常用的方法。原创 2024-03-11 14:27:08 · 4154 阅读 · 36 评论 -
多年总结,倾情奉献,手把手教你如何从零开始写出优雅的shell脚本(完结篇)
shell脚本精炼总结,本章包含linux随机数常见的生成方式,循环结构的控制命令。shell中数组的使用。linux信号量,以及借助信号量实现跳板机功能。Expect自动化处理方式等。原创 2024-01-30 13:53:23 · 12320 阅读 · 0 评论 -
多年总结,倾情奉献,手把手教你如何从零开始写出优雅的shell脚本(三)
本章的shell主要包含read使用技巧,shell中字体颜色设置,while,for,util等循环用法等等技巧总结原创 2024-01-29 14:21:44 · 16884 阅读 · 0 评论 -
多年总结,倾情奉献,手把手教你如何从零开始写出优雅的shell脚本(二)
多年总结,倾情奉献,手把手教你,如何从零开始写出优雅的shell脚本。shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入结果给操作系统,并处理各种各样的操作系统的输出结果, 输出到屏幕反馈给用户。这种对话的方式可以是交互式的(从键盘输入命令,可以立即得到shell的回应),例如输入pwd,屏幕会返回相应结果原创 2024-01-27 09:00:00 · 10333 阅读 · 0 评论 -
多年总结,倾情奉献,手把手教你如何从零开始写出优雅的shell脚本(一)
多年总结,倾情奉献,手把手教你,如何从零开始写出优雅的shell脚本。shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入结果给操作系统,并处理各种各样的操作系统的输出结果, 输出到屏幕反馈给用户。这种对话的方式可以是交互式的(从键盘输入命令,可以立即得到shell的回应),例如输入pwd,屏幕会返回相应结果原创 2024-01-25 13:57:48 · 10494 阅读 · 0 评论 -
ansible自动化部署(playbook)
上一章单个模块分别写命令使用的是Ad-Hoc命令,这其实就是一个概念的名字,是相对于写Ansible playbook来说的。类似于在命令行敲入。shell命令和写shell脚本的关系。我们敲入一些命令去比较快地完成一些事,而不需要将这些命令特别保存下来,这样的命令就叫做Ad-Hoc命令。原创 2024-01-12 15:15:24 · 10465 阅读 · 0 评论 -
ansible自动化部署(一)
ansible是redhat公司开发的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。原创 2024-01-08 11:01:25 · 10245 阅读 · 0 评论 -
linux文件查找find和locate,解密更加便捷的查找方式
find 精确查找,实时查找,通过遍历指定路径下文件系统的层级结构来完成查找原创 2024-01-04 16:58:39 · 9750 阅读 · 0 评论 -
linux正则表达式使用方法(awk,grep,sed三剑客)
正则表达式 regular expression,RE是一种字符模式用于在查找过程中匹配指定的字符。在大多数程序里,正则表达式都被置于两个/之间。在正则表达式中,元字符是最重要的概念。原创 2024-01-04 15:54:50 · 10328 阅读 · 0 评论 -
linux磁盘及文件系统管理
文件系统是用来存储文件的,硬盘是不能直接存放文件或数据,通过将硬盘格式化后,指定格式化后的文件系统,才可以存放数据原创 2024-01-04 11:15:33 · 10327 阅读 · 0 评论 -
linux系统中lvm的使用技巧
LVM 是 Logical Volume Manager(逻辑卷管理)的简写,它是 Linux 环境下对磁盘分区进⾏管理的⼀种机制。安装 Linux 操作系统时遇到的⼀个常⻅的难以决定的问题就是如何正确地评估各分区⼤⼩,以分配合适的硬盘空间; 普通的磁盘分区管理⽅式在逻辑分区划分好之后就⽆法改变其⼤⼩; 随着 Linux 的逻辑卷管理功能的出现,这些问题都迎刃⽽解,⽤户在⽆需停机的情况下可以⽅便地调整各个分区⼤⼩,即动态调整磁盘容量,从⽽提⾼磁盘管理的灵活性。原创 2024-01-03 11:09:17 · 10167 阅读 · 0 评论 -
linux系统权限管理
linux中的文件和目录权限和用户和用户组关联很大,linux中每个文件和目录都有一组供9个权限位,每三个字符被分为一组,分别是属主权限,属组权限,其他用户权限。比如 rwxr-xr-x原创 2024-01-03 09:31:15 · 10054 阅读 · 0 评论 -
linux系统用户管理
linux创建用户默认会读取/etc/default/useradd的配置文件,如果创建用户时指定参数,则使用指定的参数创建,不指定就会用默认的。sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。普通用户 newgrp 用户组 当用户属于那个组时,直接切换,不属于时 回车输入用户组密码切换分组 再创建文件时,所属组就是切换后的组。私有组:创建用户时如果没有指定基本组,系统会创建和用户同名的私有组,默认是基本组。原创 2024-01-02 10:38:11 · 10208 阅读 · 0 评论 -
linux软件防火墙--firewalld
在CentOS 7之后有几种防火墙共存:firewalld、iptables、ebtables。默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。原创 2024-01-02 09:21:16 · 10431 阅读 · 1 评论 -
linux内核启动过程详细分析
systemd就是为解决这一问题而诞生的,它的设计目标是:为系统的启动和管理提供一整套解决方案。根据linux管理,字母d是守护进程daemon的缩写,systemd 就是它守护整个系统。守护进程是一直执行的,人为关不了使用了systemd,就不需要init了,systemd取代了init,成为系统第一个进程,其他进程都是它的子进程原创 2024-01-01 11:00:34 · 10624 阅读 · 0 评论 -
linux基础03(inode,软硬链接,各种压缩打包工具)
inode包含很多的文件元信息,但不包含文件名 文件名存放在目录当中,但Linux系统内部不使用文件名, 而是使用inode号码识别文件。对于系统来说文件名只是inode号码便于识别的别称原创 2024-01-01 10:45:26 · 9601 阅读 · 0 评论 -
linux基础02(Bash+vim用法)
VI和VIM是linux中强大的文本编辑器,由于linux中一切皆文件,配置一个服务器就是修改其配置文件参数,vim就是很好的修改工具原创 2024-01-01 09:30:45 · 10608 阅读 · 0 评论