
shell
文章平均质量分 91
01Byte空间
做过开发,创过业,踩过坑。从Java后台开发,PL/SQL开发,Pro*C开发,到shell脚本,再到兼职开发的MySQL DBA。
为人友善诚恳,工作踏实,吃苦耐劳,富有朝气,激情,以及团队合作意识。
专注后端技术:Java、Shell、Socket、MySQL、Oracle、Linux、中间件、分布式、微服务。偶尔扯扯淡、分享技术干货。
https://github.com/zhouxx1055
https://zhouxx.blog.youkuaiyun.com/
展开
-
科普文:Linux服务器磁盘的 I/O 性能优化思路
这里需要注意的是,对同步 I/O 来说,由于 I/O 提交和 I/O 完成是一个动作,所以 slat 实际上就是 I/O 完成的时间,而 clat 是 0。应用程序处于整个 I/O 栈的最上端,它可以通过系统调用,来调整 I/O 模式(如顺序还是随机、同步还是异步), 同时,它也是 I/O 数据的最终来源。记住,磁盘和文件系统的 I/O ,通常是整个系统中最慢的一个模块。所以,在优化 I/O 问题时,除了可以优化 I/O 的执行流程,还可以借助更快的内存、网络、CPU 等,减少 I/O 调用。原创 2024-07-27 22:22:17 · 1069 阅读 · 0 评论 -
科普文:【Linux内核设计思想】之三Linux内核启动过程
zImage适用于小内核的情况,它的存在是为了向后的兼容性。第三步,把 head.o,misc.o 和 piggy.o 链接生成 arch/i386/boot/compressed/vmlinux,这一步,链接的是arch/i386/boot/compressed/head.S。setup执行完毕,跳转到vmlinux.bin中的startup_32()是arch/i386/boot/compressed/head.S中的startup_32()这是一段自解压程序,过程和内核生成的过程正好相反。原创 2024-07-23 08:53:27 · 1055 阅读 · 0 评论 -
科普文:【Linux内核设计思想】之二内核编译及内核开发的特点
在三选一的情况下多了一个 module 选项,如果选择 module 选项,表示该配置项已被选定,但编译的时候这部分功能的实现代码是以模块(一种可以动态安装的独立代码段)的形式生成,而 yes 选项表示把代码编译进主内核映像,而不是作为一个模块。但是内核栈的大小是固定的,它和体系结构有关,在 x86 上,栈的大小在编译时配置,可以是4KB或8KB,一般来说,内核栈的大小是两页,在32位机器内核栈大小为8KB,在64位机器内核栈大小为16KB,这是固定的,每个处理器都有自己的栈。例如下面一个条件选择语句。原创 2024-07-23 08:49:59 · 941 阅读 · 0 评论 -
科普文:【Linux内核设计思想】之一Linux内核概念梳理
Linux系统的基础包括内核、C库、编译器、工具集和系统的基本工具,比如登陆程序和shell。当我们说到Linux这个词时,一般指的是Linux内核。对于Linux系统来说,操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括内核、设备驱动程序、启动引导程序、命令行shell或者其他用户界面、基本的文件管理工具和系统工具。用户界面是操作系统的外在表现,而内核是操作系统的内在核心。操作系统的其他部分必须依靠内核所提供的服务,而内核实质也是一个软件。内核也叫做超级管理者或者操作系统核心。原创 2024-07-23 08:48:39 · 983 阅读 · 0 评论 -
科普文:5种Linux下软件部署方式说明
Snap最大的特点是它的自包含性,每个Snap包都包含了运行该软件所需的所有依赖和库,这意味着Snap软件可以在几乎任何Linux系统上运行,而不会受到系统库版本冲突的影响。从传统的RPM包管理,到便捷的YUM软件仓库,再到颠覆性的Docker容器技术,Snap,源码安装,每一种方法都有其独到之处,适应不同的场景需求。RPM数据库记录了系统中所有已安装RPM包的信息,便于管理和跟踪。安全性:虽然Docker提供了隔离环境,但容器内的安全漏洞仍需关注,合理配置Docker的运行参数,使用安全的基础镜像。原创 2024-07-22 07:43:46 · 940 阅读 · 0 评论 -
规范:Linux服务器程序规范
除了网络通信外,服务器程序还必须考虑许多其他细节问题,零碎,但基本上都是模板式的。———引言Linux服务器程序一般以后台形式运行。后台程序又称守护进程。它没有控制终端,因而也不会意外接受用户输入。守护进程的父进程一般是init进程(pid=1)。Linux服务器程序通常有一套日志系统,它至少能输出日志到文件,有的高级服务器可以输出日志到专门的UDP服务器。大部分后台进程都在/var/log下有自己的日志目录。Linux服务器程序一般以某个专门的非root身份运行。原创 2024-07-21 09:47:47 · 654 阅读 · 0 评论 -
实战:shell编程之全量命令练习
全网shell命令最全整理,28个大项,近千条shell命令。反之,若系统中并没有指定软件包的较旧版本,rpm 命令并不会安装此软件包。find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录。原创 2024-07-21 07:10:44 · 856 阅读 · 0 评论 -
实战:shell脚本练习
问题:没有注释的脚本难以理解,特别是在团队协作中,其他成员可能难以快速上手。问题:不进行调试可能导致脚本在实际运行时出现未预料的错误,影响系统的稳定性。问题:不立即退出可能导致后续命令基于错误的前提执行,造成更严重的错误。问题:使用未声明的变量可能导致不可预测的行为或错误的输出。好处:确保变量按照预期的方式被引用,防止意外的单词分割。多写注释:在脚本中添加注释,以帮助理解脚本的不同部分。好处:提前发现潜在的错误,避免在生产环境中出现问题。好处:避免使用未初始化的变量,减少潜在的bug。原创 2024-07-19 14:23:58 · 1482 阅读 · 0 评论 -
科普文:一文搞懂Vim
这些是 Vim 的基本概念和一些常用命令,Vim 具有丰富的功能和命令,允许用户高效地编辑文本。要充分发挥 Vim 的威力,需要不断练习和学习,并逐渐掌握更高级的功能和定制选项。是一款非常流行的文本编辑器,尤其在Linux系统中,它以其高效的编辑能力和可定制性而著称。以下是一些关于Vim的详细教程,帮助你更好地理解和使用Vim:。通过上述教程,你可以更好地理解和使用Vim编辑器,无论是进行基本的文本编辑还是进行更高级的操作,Vim都能提供强大的支持和灵活性。原创 2024-07-18 14:57:36 · 1112 阅读 · 0 评论 -
实战:Linux下静默安装DM达梦数据库
静默安装DM达梦数据库,提前编写好安装脚本、下载好软件、配置好服务器的内核参数信息。原创 2024-07-13 04:15:00 · 791 阅读 · 0 评论 -
科普文:Shell编程三剑客:grep+sed+awk
shell三剑客是grep、sed和awk三个工具的简称,因功能强大,使用方便且使用频率高,因此被戏称为三剑客,熟练使用这三个工具可以极大地提升运维效率。grep擅长查找过滤快速查找过滤sed擅长取行和替换需要快速进行替换/修改文件内容awk擅长取列、统计计算文件取列、数据切片、对比/比较和统计。原创 2024-07-11 19:55:00 · 1365 阅读 · 0 评论 -
科普文:一天学会shell编程
shell是一个用C 语言编写的程序,它是用户使用Liunx的桥梁。shell既是一种命令语言,又是一种程序设计语言。shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问Liunx内核服务。在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。原创 2024-07-11 13:59:01 · 868 阅读 · 0 评论 -
科普文:jvm笔记
场景:隔离加载类(中间件,不同的环境避免类的冲突,实现隔离),修改类加载的方式(根据需要去加载非核心的类库),扩展加载源(从数据库等其他地方加载字节码),防止源码泄漏(对字节码文件进行加密,在加载的时候解密)自定义的步骤:继承ClassLoader 重写findClass() ,读入二进制字节流如果没有复杂的需求,可以继承ClassLoader 子类URLClassLoader 不用编写findClass() ,读入二进制字节流7款经典的垃圾收集器串行回收器:Serial、 Serial Old。原创 2024-07-11 05:30:00 · 1248 阅读 · 0 评论 -
科普文:看懂Linux日志分析
日志文件是Linux系统中极为重要的一部分,它们记录了系统和应用程序的各种活动信息。通过日志文件,系统管理员可以监控系统的运行状态、发现潜在的问题,并进行故障排除。在介绍具体的日志分析命令之前,首先了解一下Linux系统中常见的日志文件。它们通常位于/var/log:记录系统的通用日志信息,适用于大多数Linux发行版。:记录系统的通用日志信息,通常在Red Hat系的发行版中使用。:记录身份验证相关的日志信息,如登录尝试、sudo命令使用等。:记录内核相关的日志信息。:记录系统启动时的内核消息。原创 2024-07-10 10:16:49 · 2239 阅读 · 0 评论 -
Java web应用性能分析之【CPU飙高分析之MySQL】
在上面文章中,我们从整体上描述了Linux服务器性能监控分析,下面我们将通过sysbench模拟mysqld的cpu飙高情况,同时进一步分析是那些sql导致cpu飙高。原创 2024-04-23 21:59:30 · 1836 阅读 · 0 评论 -
Java web应用性能分析之【Linux服务器性能监控分析概叙】
大多数场景,我们的Java web应用都是部署在linux环境,所以对linux服务器的性能指标需要有一个比较清晰的认识。Linux服务器的性能指标无非就5个方面:CPU、内存、磁盘、网络、文件系统。不同的性能指标都有对应的命令进行监控和查看(zabbix等监控工具,只是将服务器各个时间段的性能指标都收集起来,通过性能指标阈值进行告警,更容易也更直接,便于7*24分析;分析的指标也都是一样)。原创 2024-04-23 14:24:37 · 1734 阅读 · 1 评论 -
Hadoop环境----自动分区和挂载磁盘
前段时间用ambari搭建大数据环境,甲方购买了11台服务器,用于构建大数据环境,每台除了系统盘外,插了24块1.2T的磁盘,在我们接手后,发现这200多块盘真的是“插”上去的,啥都没干,如果一个人一块块的弄,每块3分钟,264块,那就要一天了。咨询了前同事小马哥后,只能自己写脚本挂载。原创 2017-03-20 10:44:38 · 2248 阅读 · 0 评论 -
牢骚,真的有点牢骚
没有搞懂,下面这么一大段代码,其实只要在源表上添加一个字段就可以。一上午就可以调试完的数据,我下午用了两个小时写下面这段代码,调试程序还没有做。#!/bin/shsource /etc/profilesource ~/.bash_profilemaster_ip='192.168.150.116 10.8.3.116'slave_ip='192.168.原创 2012-11-28 15:35:28 · 1045 阅读 · 1 评论 -
编译pro*c程序
[sms@db templet]$ [sms@db templet]$ cat compilation.sh #!/bin/shsource /etc/profilesource ~/.bash_profilefind ./ -empty -exec rm -rf {} \;rm -rf procmain.c proc procmain.pcgcc -o procmain原创 2013-11-01 15:52:38 · 1586 阅读 · 0 评论 -
shell命令curl抓取网页内容-下载xls文件
通过curl命令抓取网页内容,关键点如下:1.curl要模拟浏览器,最好是有个代理,因为很多站点都会搞个反爬虫什么的。2.我的需求很简单,就是在国家外汇管理局上下载各种货币对美元的汇率。http://www.safe.gov.cn/wps/portal/sy/tjsj_dmzsl3.主要命令:curl,grep,awk,xls2txt,msql(LOAD DATA )。cu原创 2015-04-15 17:12:34 · 4785 阅读 · 0 评论 -
awk逐行比较两个文件的内容
awk内置变量awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。Shell之awk命令" style="margin:0px; padding:0px; border:none!important; list-style:none">ARGC 命令行参数个数ARGV 命令行参数排列原创 2015-04-28 10:26:23 · 6477 阅读 · 0 评论 -
linux发送邮件和附件---mail,mailx
安装的包[root@DevelopServer ~]# rpm -qa|grep mailprocmail-3.22-25.1.el6_5.1.x86_64mailcap-2.1.31-2.el6.noarchlibreport-plugin-mailx-2.0.9-19.el6.centos.x86_64mailx-12.4-8.el6_6.x86_64[root@DevelopS原创 2015-06-19 10:49:25 · 27377 阅读 · 0 评论 -
Linux监控(OS,MySQL,Tomcat,Apache)
关于逐步脱离开发岗位的意见,老大已经批准了,接下来我的主要工作就是”运维+数据库管理“。感谢杰民兄和小马哥能接受我的骚扰,接下来还会去骚扰他们,同时也会去骚扰董大爷,小刚总,心灵哥,猪肉哥,谢谢你们。同时也要感谢吴老大,叶老大,落总,七总,橙子哥他们。 因为还没有学会玩zabbix,所以先着手自己写脚本试试看。写好的脚本到时候回分享出来,欢迎大家批评指点。=============原创 2015-07-10 11:27:41 · 1549 阅读 · 2 评论 -
Linx监控分享--网络状态监控+邮件提醒
网络状态监控 网络状态:netstat 各个状态的总计,详情;以及重点端口的详细连接情况(22,25,80,3306,8080),打印客户端连接数最多的ip。邮件报告当前状态。在手机上安装网易的邮件客户端,就可以达到实时提醒的效果。关于mail的配置,见之前的文章:http://blog.youkuaiyun.com/rookie_ceo/article/details原创 2015-07-13 23:09:48 · 3514 阅读 · 0 评论 -
Linx监控分享--磁盘空间监控+邮件提醒
分享第一个监控脚本,挂载点磁盘空间使用监控:如果使用空间达到了75%则开始报警,发送告警邮件。在手机上安装网易的邮件客户端,就可以达到实时提醒的效果。关于mail的配置,见之前的文章:http://blog.youkuaiyun.com/rookie_ceo/article/details/46559195#!/bin/shsource /etc/profileIP=`/sbin/ifcon原创 2015-07-13 22:58:26 · 2061 阅读 · 0 评论 -
Linx监控分享--重点进程监控(mysqld)+邮件提醒
重点进程监控mysqld:进程退出了,报警。没有退出则监控mysqld的(cpu(>=100%)|| mem(>=80%))开始提醒,同时收集和分析mysql状态信息;连接数(>=max_connections * 0.8)开始提醒;打开的句柄数(>=8192*0.8?)开始提醒。待完善。。。如果是单机多实例的话,只需要增加一个for循环就好了。在手机上安装网易的邮件客原创 2015-07-13 23:23:36 · 1921 阅读 · 0 评论 -
shell中curl 用户详解
shell中curl 用户详解http://blog.youkuaiyun.com/gzh0222/article/details/8559595123456789101112131415161718192021转载 2015-07-21 16:49:06 · 1265 阅读 · 0 评论 -
shell小技巧--用“$$”和"$0"防止同一个脚本启动多次
在编写shell脚本通过crontab定时任务启动时,如果shell脚本执行时间超过了,crontab拉起脚本的时间间隔,这个时候可能就会出现同一个脚本同时启动多次的现象。这个时候可能会导致采集的数据有重复,计算不准确等等问题,在这种有明显先和顺序要求的时候,就会出问题。 需要采取一定手段,防止这种现象。刚好可以用“$$”和"$0",来实现这个需求,实现只有等当前脚本执行完成之后,才能启动第二次执行。好了,废话不多说,直接贴一个demo,只要稍加改动,就可以套用到自己的程序里面。同样稍加变通,就可原创 2015-08-02 19:23:50 · 3549 阅读 · 0 评论 -
linux shell 字符串操作(长度,查找,替换)详解
http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.htmllinux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部转载 2015-07-23 12:09:40 · 706 阅读 · 0 评论 -
shell检验日期格式
我不是码农,我是数据搬运工。年前最后一天上班,在搬数据。从北京IDC机房传数据到杭州IDC机房做分析处理,看了一下之前自己写的shell脚本,发现日期没有校验,感觉有点不爽,然后写了个校验。 废话不多说:1.校验YYYYMMDD格式的日期,只允许8位长度。2.校验YYYY-MM-DD格式的日期,长度随意。稍加修改,就可以去校验“YYYY-MM-DD HH24:mi:ss”了原创 2016-02-04 11:54:26 · 8204 阅读 · 1 评论 -
Shell编程笔记(日志文件、信号、trap捕捉信号、eval)
http://hi.baidu.com/apple_ynn/item/e7370ebbba0149c285dd7971Shell编程笔记(日志文件、信号、trap捕捉信号、eval)一.日志文件1.创建日志文件的重要性:记录重要的信息,如登录、运行情况、监控等。。为我们分析和排除错误非常有帮助2.以时间为标识的日志文件适用于长期存储的日志。举个创建以时间为标转载 2012-11-26 16:56:18 · 1185 阅读 · 0 评论