
linux操作系统:常用命令
文章平均质量分 71
整理Linux操作系统各个子模块的命令,再次做个笔记,也方便各位各持所需
z_stand
远离颠倒梦想,究竟涅槃
展开
-
简单记录一下 我的 tmux conf
tmux 终端管理利器,记录一下我自己的tmux conf原创 2022-05-18 01:53:48 · 2131 阅读 · 2 评论 -
centos 自定义内核模块 编译运行
centos 自定义内核模块 编译运行记录原创 2022-01-14 23:45:29 · 1082 阅读 · 0 评论 -
blktrace 工具集使用 及其实现原理
blktrace,blkparse,btrace,btt,blkiomon,iowather 综合使用,及blktrace 如何通过linux 的trace_event追踪内核请求实现原理。原创 2021-04-30 15:39:03 · 4467 阅读 · 1 评论 -
git 对之前的commit 进行重新签名 Resign
Resign old commits原创 2021-04-26 20:52:37 · 5290 阅读 · 2 评论 -
git submodule 使用场景汇总
submodule 使用过程中的一些问题记录:包括 切换子分支,修改.gitmodules文件之后 更新不生效问题 等。原创 2021-02-05 18:00:35 · 1631 阅读 · 0 评论 -
vim 成“神“之路 (一)
当然打造自己的vim 感觉 就像是公元前1500年前后 印欧语系游牧的蛮族潜心打造的青铜器,青铜战车 ,马具马鞍,戴着他们横扫了整个欧亚大陆的古代文明,从尼罗河的埃及文明到地中海的米诺斯文明,到幼发拉底河和底格里斯河的美索不达米亚文明,到印度河文明和中国的商朝(北方的游牧民族)都被精良高效的战争民族所取代,颠覆了整个大陆的格局。vim所做的就是能够一统整个ide的大陆,用灵活的插件搭配强大的快捷操作实现 ,我们只需要在这个大陆上专注耕耘,建立自己的的伟大帝国。原创 2020-09-22 02:25:12 · 790 阅读 · 0 评论 -
一文带你看透 GDB 的 实现原理 -- ptrace真香
文章目录Ptrace 的使用GDB 的基本实现原理Example1 通过ptrace 修改 被追踪进程的内存数据Example2 通过ptrace 对被追踪进程进行单步调试Ptrace的实现GDB本身能够attach到一个运行的进程,实时获取运行中进程的内存数据,增加断点,函数变量值,甚至直接修改函数的变量。这个机制本身就很有趣,同时也很实用,接下来探索一下GDB以上过程的详细实现。GDB基本的调试功能都是通过一个系统调用ptrace来实现的。ps: 限于本人能力有限,对底层CPU 执行的正确逻辑原创 2020-09-05 17:35:22 · 6070 阅读 · 2 评论 -
Linux 下 进程运行时内部函数耗时的统计 工具:pstack,strace,perf trace,systemtap
简单记录一些 在linux下 统计进程内部函数运行耗时的统计工具,主要是用作性能瓶颈分析。当然以下工具除了pstack功能单一之外,其他的工具都非常强大,这里仅仅整理特定场景的特定用法,用作协同分析。以下工具需要追踪具体的进程,如果想要打印信息更全,建议编译的时候将符号信息都编译到二进制文件之中,-g选项stracestrace -tttT -f -p $pid -o $save_file_name 追踪指定进程内部所有线程调用到的系统调用运行耗时,单位是秒,将统计结果保存到save_file_原创 2020-08-08 17:00:14 · 6541 阅读 · 2 评论 -
git 的release-notes以及对应的changelog管理
我们在github 或者gitlab上做项目管理的时候需要对 对应的项目做历史版本的管理,同时包括每个版本中所做的一些改动:feature,bugfix,improv。如果我们能够有一个统一的自动化管理方式,那么对于我们后续的版本回顾就能提供巨大的便捷,同时能够提供每个commit对应的commit链接,那就更好了。最终的版本管理CHANGELOG.md文件的效果如下:同时在github对应的tags 处也能够看到一些release-notes的信息。创建仓库按照自己的方式或者根据github的原创 2020-07-08 23:54:17 · 6203 阅读 · 0 评论 -
g-git 相关命令 及其 基本原理探索(二):git 在工作中的常用命令操作 ,超级实用!!!
上一篇git 基本原理对git的使用以及文件分布已经有了一个整体的了解。本篇将对工作中常用的一些git 操作命令的操作进行总结归纳,方便今后查阅。原创 2020-07-05 13:32:27 · 912 阅读 · 0 评论 -
g-git 相关命令 及其 基本原理探索 (一)
后续将每天持续掌握git这个工具,从使用到内部原理,来避免工作中代码提交上的尴尬,同时也来学习优秀的分布式版本管理工具的实现,理解事务在分布式里面的原子性思想。原创 2020-06-28 21:15:52 · 494 阅读 · 0 评论 -
g-gdb 调试多线程
代码调试工具gdb是一个能够让我们在工作中高效排查代码异常根源的利器。在此将gdb针对多线程的调试方式做一个笔记,也方便后续回顾以及分享大家。本文采用的是一个简单的多线程代码示例,同时调试是在mac上进行的mac安装gdb brew install gdb即可基本命令介绍开始之前先简单介绍几个gdb调试多线程的子命令layout next 开启子窗口,显示当前程序运行所在的源码位置b xxx 在某一行,或者某一个函数处增加断点info b 查看断点信息r 运行程序info thread原创 2020-05-23 22:49:32 · 329 阅读 · 0 评论 -
shell --- awk规范 系统总结
文章目录awk和sed的区别awk脚本的流程控制awk 记录和字段字段的引用awk表达式赋值操作符算数操作符系统变量(awk本身自定义的系统变量)关系操作符布尔操作符awk 条件和循环条件语句循环awk 的数组数组的定义数组的遍历删除数组举例,编写awk脚本文件`avg.awk`命令行参数数组复杂数组的使用案例awk和sed的区别awk更像是脚本语言awk用于“比较规范”的文本处理,用于统...原创 2020-04-18 16:12:04 · 499 阅读 · 0 评论 -
网络故障排查命令
ping #检测目标主机是否畅通traceroute #追踪路由mtr #检查到目标主机之间是否有数据包丢失nslookup #查看域名并解析,获取IP地址telnet #检查端口链接状态tcpdump #细致分析数据包发送接收 的详细内容netstat #查看网络端口连接状态ss #另外一种各式的查看网络端口连接状态检测过程:ping www.baidu.com #...原创 2020-04-17 21:24:53 · 1511 阅读 · 0 评论 -
linux的 计划任务机制,自己带节奏
文章目录1. 解决问题2. 计划任务分类3. 一次性计划任务实现添加计划步骤注意事项4. 周期性计划任务实现`cron`和`crontab`命令5. 延时计划任务6. `flock`脚本加锁,保证单实例运行1. 解决问题环境中有脚本需求,周期性运行或者固定时间运行脚本,为了保证脚本的正常运行以及不会有冲突,可以增加计划任务来保证脚本在指定时间,正常顺利运行。2. 计划任务分类一次性计划任...原创 2020-04-17 21:29:02 · 264 阅读 · 0 评论 -
SHELL 技能树(持续更新)
相关xmind的原始文件已上传至mind-Mapping github,如有需要可自行下载,欢迎批评指正。原创 2020-01-05 10:53:06 · 329 阅读 · 0 评论 -
a-awk外部变量传入,内部变量传出,同时过滤空格及其他字符
变量传递外部变量传入lsblk|awk -v A=$A -v B=$B '{print A,B}'lsblk | awk '{print A,B}' A=$A B=$B内部变量传出eval $(lsblk|awk '{print "A='$1'"}')eval $(lsblk|awk 'printf("A=%s\n",$1)')同时过滤空格及其他字符df -Th|g...原创 2019-12-06 14:53:00 · 535 阅读 · 0 评论 -
b-btrace,blktrace,blkparse,btt工具使用图谱(持续更新)
以下为几个工具结合使用的图谱关于命令的使用,这里仅加入了基本分析命令原创 2019-11-28 22:12:01 · 648 阅读 · 0 评论 -
g-gdb工具使用图谱(持续更新)
如下为整个GDB的学习导图原创 2019-11-27 22:59:40 · 422 阅读 · 0 评论 -
shell脚本自动执行,top命令无输出
shell脚本在系统启动时推后台自动执行,发现其中/usr/bin/top -n 1 -c -b -u ceph 命令并无输出但是系统启动之后手动执行脚本,&推后台脚本中的top仍然能够正常输出,仅仅是系统发生重启,该功能就不生效了stackoverflow 推荐增加 -w 参数即/usr/bin/top -n 1 -c -b -u ceph -w 200 设置输出的命令宽度,在-b...原创 2019-11-25 14:33:28 · 1564 阅读 · 1 评论 -
s-systemtap工具使用图谱(持续更新)
整体的学习思维导图如下,后续持续更新完善原创 2019-11-19 21:58:05 · 1973 阅读 · 0 评论 -
t-top 命令详解
前言展示操作系统进程信息。动态得,实时得展示正在运行的操作系统进程信息。 所显示的系统摘要信息的类型以及为进程显示的信息的类型,顺序和大小都是用户可配置的,并且可以使配置在重新启动后保持不变。该程序为流程操作提供了一个有限的交互式界面,并为个人配置提供了更为广泛的界面-涵盖了其操作的各个方面语法格式top -hv | -bcHiOSs -d secs -n max -u|U user -p ...原创 2019-11-13 20:12:15 · 2557 阅读 · 0 评论 -
s-seq 生成序列化数字
前言seq命令用于产生从某个数到另外一个数之间的所有整数。命令格式seq [OPTION]... LASTseq [OPTION]... FIRST LASTseq [OPTION]... FIRST INCREMENT LAST支持将指定范围的数字打印出来,按照指定的递增规律-f, --format=格式 使用printf 样式的浮点格式-s, --separator=字符串...原创 2019-11-08 20:20:38 · 354 阅读 · 0 评论 -
linux 文件查找命令集:find,locate,wheres,which,type
前言在linux系统中一切皆文件,此时我们想要从海量的文件中快速定位中我们想要的文件来,需要指定的命令来操作。以下为收集的各个命令,以及其优劣,使用方式。find命令centos下:rpm包findutils-4.5.11-3.el7.x86_64find是最常用也是最强大的查找命令,它可以查找任何类型的文件。命令格式:find [-H] [-L] [-P] [-D debugopts...原创 2019-11-07 16:08:31 · 369 阅读 · 0 评论 -
r-route 命令 显示/配置ip路由表
文章目录前言语法格式命令使用输出含义使用实例前言route命令用于显示和配置IP路由表,在不同节点间的网络通信,想要实现同一局域网之间的通信就需要交换机,不同局域网之间的通信就需要路由器。而路由器的存在是为了提供NAT转换,即提供ip地址和物理地址之间的映射关系,因为不同局域网节点之间的通信是需要直到对方局域网的外网ip,此时数据包只能通过外网ip经过NAT(依赖ip 路由表)转换之后获取到局...原创 2019-11-06 21:03:50 · 1936 阅读 · 0 评论 -
n-netstat 查看网络状态命令
文章目录前言语法格式输出含义使用实例列出端口占用情况 (包括监听和未监听的)列出所有处于监听状态的 Sockets显示每个协议的统计信息在 netstat 输出中显示 PID 和进程名称在 netstat 输出中不显示主机,端口和用户名 (host, port or user)持续输出 netstat 信息显示系统不支持的地址族 (Address Families)显示核心路由信息查询进程运行端口...原创 2019-11-05 20:44:35 · 3138 阅读 · 0 评论 -
s-sed(stream editor) 文本填充和编辑 基本使用
文章目录前言语法格式sed 操作地址sed子命令sed正则表达式sed使用实例打印命令 p删除命令 d替换命令 s指定操作地址的范围 逗号 ,多重编辑命令 e下行插入命令 a上行插入命令 i修改命令 c获取下一行命令 n转换命令 y退出命令 q总结前言sed是一个“非交互”式的字符流编辑器,能够很好得完成对多个文件的一系列编辑工作。sed提供的功能好像是交互式脚本的自然延伸,它提供的查找和替换...原创 2019-11-02 17:30:11 · 388 阅读 · 0 评论 -
f-free 查看系统中空闲和使用的内存
文章目录前言语法格式以指定单位显示内存占用情况打印所有内存占用(RAM + SWAP)打印间隔以及次数打印所有的列(将buff和cache分开)free各个空间含义swap交换空间cache页高速缓存free 与 available前言free 支持查看空闲的和已使用的物理内存和交换分区所占用的系统内存情况,改信息是通过解析/proc/meminfo文件中的内容进行获取。这里简单描述一下展示...原创 2019-10-31 20:54:52 · 745 阅读 · 0 评论 -
s-stat 查看文件或者文件系统的状态信息
命令用法stat [OPTION]... FILE...-L 查看链接文件-f 查看文件系统信息,而非文件信息-c --format=%a 支持使用格式化字符串输出结果,支持\n,\t等转义字符,详细格式化情况使用man stat查看--printf=FORMAT 支持格式化输出-t 以简洁的方式输出结果常用命令stat file 查看文件状态输出,打印文件详细信息各个参...原创 2019-10-28 21:58:18 · 649 阅读 · 0 评论 -
s-sar命令(System Activity Reporter系统活动情况报告)
文章目录前言语法格式查看CPU使用情况保存统计结果到文件中查看磁盘平均负载和队列长度查看内存使用情况查看系统swap分区情况查看IO和传递速率查看磁盘使用情况输出inode、文件和其他内核表的信息统计网络信息查看网络接口信息网络设备通信失败信息统计socket连接信息TCP连接的统计使用总结前言sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为...原创 2019-10-26 17:02:48 · 477 阅读 · 0 评论 -
记一次shell脚本推后台stopped的问题
我们知道linux 下shell可以被分为交互式脚本和非交互式脚本。交互式脚本即 输入命令之后shell会等待你的输入,当你输入之后命令会被立即提交从而执行。这个时候我们常见的终端bash,以及login提示等都是交互式命令。非交互式脚本即shell解释器不需要等待终端的输入,自己去执行脚本中的命令,当遇到脚本中的EOF则结束。交互式脚本因为需要等待终端命令的输入,与终端进行交互,当将交互式...原创 2019-10-19 16:58:50 · 1570 阅读 · 0 评论 -
t-tcpdump
文章目录写入和读取数据包抓取数据包抓取指定网卡流量指定数据的输出格式数据包抓取的方向输出信息的详细程度的可控选项抓取指定协议的数据包表达式介绍逻辑连接符的使用type的确定写入和读取数据包在工作或者生活中的网络故障排除时最有力的方式就是抓包分析网络状况,从而找到网络故障的原因。所以将数据包保存到文件中,可以方便得进行分析取证。数据包的写入命令tcpdump -w test1.txt数据包...原创 2019-10-15 00:31:17 · 359 阅读 · 0 评论 -
v-valgrind搭配massif、vgdb分析ceph-mon内存
文章目录valgrind 搭配的相关工具安装massif-visualizer抓取massif分析Ceph-mon运行时内存数据massif的详细参数vgdb配合valgrind结合massif的相关monitor指令调试进程打开vgdb调试进行massif的monitor指令调试massif-visualizer 图形可视化massif format文件valgrind 搭配的相关工具环境...原创 2019-04-02 00:44:24 · 3116 阅读 · 0 评论 -
s-sgdisk源码分析 “--set-alignment=value分区对齐参数”
sgdisk命令是由gdisk-0.8.6-4.el7.x86_64程序包安装sgdisk源码路径 https://github.com/Shihta/gdisk边界对齐子命令使用本节主要描述sgdisk源码中关于命令-a --set-alignment=value的边界对齐逻辑描述,借此各位可以看到sgdisk命令集的其他参数源码白编写的逻辑该参数使用方式一般是在创建分区过程中...原创 2019-04-10 23:35:26 · 906 阅读 · 0 评论 -
s-sed替换或者修改文件指定行,同时匹配多个字符串,替换换行符为指定字符
最近需要在脚本中修改几个配置文件参数且不能影响其他参数,于是想到了sed的强大之处,拿来学学-i参数表示直接替换并修改文件 -i参数时直接修改文件sed -i 's/aaa/bbb/g' testfile将testfile文件中的aaa替换为bbb字符串删除文件指定行或者某行内容sed -i '/aaa/d' testfile 删除包含aaa字符串的行在指定文件内容...原创 2019-03-27 21:26:33 · 10163 阅读 · 0 评论 -
r-rpm常用命令集
rpm 安装rpm包rpm -ivh xxx.rpmrpm -ivh --nodeps --force xxx.rpm强行安装,不考虑依赖性rpm --nodeps --force -Uvh *同样强行安装,不考虑依赖性查看一个文件夹属于那个rpm包rpm -qf /path/filename查看文件属于哪个rpm包rpm -qf xxx.so或者yum whatprovides...原创 2019-03-27 21:23:51 · 669 阅读 · 0 评论 -
readelf 读取动态链接表命令
readelf -sV xxx 查看指定二进制文件运行时的加载库以及对应版本并依据该命令可以修改某一二进制文件依赖的glibc库函数的版本,从而让改二进制程序可以运行在低版本的操作系统readelf 读取链接表头readelf -h xxxELF文件介绍ELF(executable and linking format)是一个定义了目标文件内部信息如何组织的文件格式。内核会根据这些信息...原创 2019-03-27 21:22:52 · 1119 阅读 · 0 评论 -
l-lsblk查看设备可用块设备
lsblk命令(列出块设备)用于列出所有可用的块设备的信息,但是, 它并没有列出有关的RAM磁盘的信息。块设备的例子是硬盘,闪存驱动器,CD-ROM等等,一般可以和blkid命令搭配该命令存在于util-linux-2.23.2-26.el7.x86_64的包里lsblk默认是树形方式显示[root@node86 hcli]# lsblk NAME MAJ:MIN RM SIZE R...原创 2019-03-27 21:16:54 · 2591 阅读 · 0 评论 -
l-logger命令基本介绍
logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息logger语法:可以使用的相关命令-d, --udp 使用数据报(UDP)而不是使用默认的流连接(TCP)-i, --id 逐行记录每一次logger的进程ID-f, --file file_name 记录特定的文件-h...原创 2019-03-27 21:15:00 · 627 阅读 · 0 评论 -
h-hdparm打开关闭磁盘cache
查看磁盘型号hdparm -I /dev/sde查看磁盘缓存情况hdparm -W /dev/sdb打开或者关闭磁盘cachehdparm -W 0 /dev/sdb关闭hdparm -W 1 /dev/sdb打开原创 2019-03-27 21:13:55 · 2422 阅读 · 0 评论