
linux
文章平均质量分 88
bandaoyu
这个作者很懒,什么都没留下…
展开
-
【linux】vmtouch文件缓存管理工具
vmtouch是用c语言编写的文件缓存管理工具,适用用于所有类Unix系统。作用:1,查看文件系统缓存情况2,将文件或目录加载到内存中,提高访问速度,并减少对磁盘的读取操作。预加载文件或目录到内存中:通过将文件或目录预加载到内存中,可以加快对它们的访问速度,减少读取延迟。管理文件系统缓存:可以使用vmtouch来管理系统的文件系统缓存,将需要频繁访问的文件保持在内存中,以提高系统性能。监控文件访问情况:vmtouch还可以用来监控文件的访问情况,包括文件的读取和写入操作。用法。原创 2024-05-11 02:31:28 · 1300 阅读 · 0 评论 -
【linux】主分区,扩展分区,逻辑分区,动态分区,引导分区,标准分区
相反,引导加载程序会加载操作系统内核文件(例如Windows的NTLDR或Linux的vmlinuz)和相关的初始化文件(如INITRD或initrd.img),这些文件通常存储在特定的文件系统分区上(可以是主分区或逻辑分区)。硬件启动,BIOS或UEFI固件会从引导分区读取引导信息,启动引导加载程序(如GRUB),引导记载程序加载数据到内存中,启动操作系统内核,操作系统内核并继续完成操作系统的启动过程,操作系统会访问硬盘上的其他分区(包括主分区和逻辑分区)主分区可以有多个(最多4个)主分区就是“C盘“,原创 2024-05-10 01:22:14 · 4753 阅读 · 0 评论 -
【linux】dd命令
需要注意的是,dd命令是一个强大而又危险的工具,因为它可以直接访问设备,所以在使用时要谨慎,避免误操作导致数据丢失。以从指定的磁盘分区、文件等读取数据,写入到指定的输出目标,可用于包括备份、恢复、数据转换和系统维护等。2,dd命令可以以指定的块大小从输入文件读取数据,再根据要求以相同或不同的块大小将数据写入输出文件。- bs=:块的大小,单位BYTES字节,可加上如K、M、G等。- iflag=:输入文件的选项,如direct、sync等。- oflag=:输出文件的选项,如direct、sync等。原创 2024-05-06 23:55:43 · 1077 阅读 · 1 评论 -
【Linux】nm命令|查看动态库包含的函数符号
nm来源于name的简写。该命令用来列出指定文件中的符号信息(如常用的函数名、变量等,以及这些符号存储的区域)。nm缺省情况下报告十进制符号表示法下的数字值。原创 2023-01-28 22:42:03 · 7935 阅读 · 0 评论 -
【Linux】CentOS、CentOS Stream、RedHat 和Fedora 之间的关系
CentOS Stream是一个滚动发行版,充当Fedora中最先进的软件包与Red Hat Enterprise Linux中可用的稳定长期软件包之间的中间地带。CentOS有两个主要版本,具体取决于您的需求,现在,有两种使用CentOS平台的方式,它们分别是CentOS Linux和CentOS Stream。CentOS Stream是一种中间发行版本,为参与创建下一版本的RHEL提供了明确的途径,请参阅CentOS Stream发行说明中的更多内容。原创 2023-01-17 10:29:47 · 6871 阅读 · 0 评论 -
【linux】内核模块管理:lsmod、insmod、rmmod、modinfo、modprobe、depmod命令
1、这些命令安装在“kmod”包中,系统通常已经安装了,如果没有安装请安装:2、CentOS中所有与内核模块相关的文件都存放在"/lib/modules/$(uname -r)/“下面(不管32位还是64位系统,都在/lib/...之下):二、命令介绍1、lsmod:查看内核已加载的模块2、modinfo:查看模块的基本信息3、insmod:将指定模块加载到内核,建议使用modeprobe命令4、rmmod:将已加载模块从内核中移除,建议使用modeprobe命令。原创 2023-01-06 17:52:01 · 12876 阅读 · 2 评论 -
【Linux】rc.local和rc.d/rc.local的区别|rc.local文件开机不执行
etc/rc.d/rc.local 用于添加开机启动命令/etc/rc.local是/etc/rc.d/rc.local的软连接。原创 2023-01-04 01:37:07 · 7241 阅读 · 1 评论 -
【shell】eval|参数中含参数
shell中的eval命令_51CTO博客_shell eval命令原创 2023-01-01 01:53:20 · 540 阅读 · 0 评论 -
【网络】/etc/sysconfig/network-scripts/下没有网口文件|network与NetworkManager差别
NetworkManager 以 key-file 格式将新网络配置保存到 /etc/NetworkManager/system-connections/从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。原创 2022-12-03 00:22:02 · 6283 阅读 · 1 评论 -
【linux】rpm和src.rpm、rpm和noarch.rpm的区别
这里关键字有“红帽”、“包”和“管理器”。“红帽”是linux操作系统服务商,“包”是一指包含完整特定功能的代码集合,“管理器”是用于管理“包”的工具。原创 2022-10-24 11:51:22 · 7960 阅读 · 1 评论 -
【linux】linux中fork()详解(实例讲解)|fork的运行机制
原文:https://blog.youkuaiyun.com/jason314/article/details/5640969#1536434-hi-1-50500-42d97150898b1af15ddaae52f91f09c2一、fork入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的...原创 2019-04-29 14:20:41 · 13310 阅读 · 4 评论 -
【linux】查看环境变量|getenv & setenv设置获取环境变量
查看系统环境变量:printenv查看进程的环境变量环境变量以name=value的形式来描述,彼此之间由null字符(\0)分割。原创 2022-09-23 14:25:37 · 3962 阅读 · 0 评论 -
【网络】bond技术和bond相关命令|nmtui配置bond
Bond0可以保证bond虚拟网卡和被bond的两张或多张物理网卡拥有相同的MAC地址,其中bond虚拟网卡的MAC地址是其中一张物理网卡的MAC地址,而bond虚拟网卡的MAC地址是根据bond自己实现的一个算法来选择的。Bond技术即bonding,它是Linux Kernel的一个模块,能将多块物理网卡绑定到一块虚拟网卡上,并通过修改网口驱动让多块网卡看起来是一个单独的以太网接口设备,外界看到的只有一个IP,一般用于解决网卡的单点故障或网卡负载较高的场景。图1 Bond网卡7种模式优缺点对比。原创 2022-09-02 21:36:07 · 14869 阅读 · 0 评论 -
【linux】修改arp_ignore、arp_announce、arp_filter、accept_local |内核调优
对网络接口上本地IP地址发出的ARP报文作出相应级别的限制。0:本机所有IP地址都向任何一个接口通告ARP报文。1:尽量仅向该网卡回应与该网段匹配的ARP报文。2:只向该网卡回应与该网段匹配的ARP报文。原创 2022-09-02 19:24:25 · 10528 阅读 · 6 评论 -
【网络】route和 IP route的区别|route 和 IP route 添加路由
route是一个相当简单的工具,非常适合创建静态路由。为了兼容性,它仍然存在于许多发行版中。ip route功能更强大,功能更多,并且可以创建更专业的规则。并非所有路由规则条目都可以用route 显示,route 只显示主路由表中的信息,而NAT路由信息以及和主路由表以外的其他路由表信息必须使用 ip route 工具单独管理和查看。IP route是用于 IP 管理的 iproute2 工具套件的另一部分,ip route 提供了用于操作任何路由表的管理工具。.......................原创 2022-08-31 17:12:23 · 7724 阅读 · 2 评论 -
【linux】posix是什么都不知道,还好意思说你懂Linux?
正规说明:POSIX 是 可移植操作系统接口(Portable Operating System Interface) 的缩写。它是一个 IEEE 1003.1 标准,其定义了应用程序(以及命令行 Shell 和实用程序接口)和 UNIX 操作系统之间的语言接口。遵循这个标准的好处是软件可以跨平台,所以windows也支持,当 UNIX 程序从一个 UNIX 平台移植到另一个平台时,遵守该标准可以确保其兼容性。POSIX 涵盖了以下内容:系统接口、命令和实用程序、网络文件访问,这里仅举几例(POSIX 的内原创 2022-06-09 14:16:17 · 6820 阅读 · 4 评论 -
【性能】什么是NUMA(Non-Uniform Memory Access)|什么是SMP
什么是NUMA(Non-Uniform Memory Access)NUMA VS. UMANUMA(Non-Uniform Memory Access)非均匀内存访问架构是指多处理器系统中,内存的访问时间是依赖于处理器和内存之间的相对位置的。 这种设计里存在和处理器相对近的内存,通常被称作本地内存;还有和处理器相对远的内存, 通常被称为非本地内存。UMA(Uniform Memory Access)均匀内存访问架构则是与NUMA相反,所以处理器对共享内存的访问距离和时间是相同的。由此可知,不论原创 2022-02-16 11:05:49 · 21498 阅读 · 5 评论 -
【linux】使用systemctl start xxx启动自己的程序|开机启动|守护进程
systemctl 的用途 有时我们将自定义程序注册为systemd service 进程管理,交由系统管理,可以方便启动停止,亦可以实现服务异常退出重启,开机自启动。 减少自定义程序服务管理的时间消耗。用法1、新增配置文件a.service(添chmod +x a.service),按要求里面写start、stop等对应要执行的操作。2、配置文件放到/usr/lib/systemd/system文件夹下3、可以用systemctl管理执行了:systemctl ...原创 2022-04-23 03:46:32 · 35217 阅读 · 0 评论 -
【Linux 】errno 错误码对照表和宏|error
目录错误对照表:错误码对应宏根据错误码打印错误信息错误对照表:errno0 : Successerrno1 : Operation not permittederrno2 : No such file or directoryerrno3 : No such processerrno4 : Interrupted system callerrno5 : Input/output errorerrno6 : No s.........转载 2022-04-22 17:13:00 · 23968 阅读 · 0 评论 -
【linux】linux环境变量|删除|添加|shell父子环境变量传递
查看环境变量printenv或envcoreutils包中包含printenv和env。yum -y install coreutils设置临时环境变量export PATH="${PATH}:/root/testPath"export命令来设置临时环境变量,这个变量是只存在于设定环境变量的会话中,其它会话窗口是不会有该变量的,一旦会话结束或者会话退出,重新连接会话,该环境变量就不存在了设置环境变量永久的--针对具体的用户在 ~/profile、~/.bash_profi原创 2022-04-22 14:59:58 · 4345 阅读 · 0 评论 -
【linux】主机名被改为bogon原理分析|修改主机名hostname的方法
博客原址:http://blog.youkuaiyun.com/weiwan721/article/details/48463371问题描述:操作系统为RHEL6.5,安装时使用的是默认主机名localhost,后来不知道怎么,在没有人修改的情况下,重启后就变成了bogon。导致我们的数据库等应用无法正常启动。在排除人为修改的原因后,检查了/etc/sysconfig/netw...原创 2016-12-22 23:44:47 · 5601 阅读 · 1 评论 -
【git】git的HEAD | detached HEAD 状态|reset和checkout的区别
HEAD 是一个指针,通常情况下,它指向当前所在分支,而分支又指向一个 commit 提交。HEAD 并不总指向一个分支,某些时候仅指向某个 commit 提交,这就形成 detached HEAD。切换到 detached HEAD 状态时,会有一个警告。提示我们可以任意的修改和提交,通过切换回分支时不影响任何分支的状态。在你没切走之前,可以创建一个新分支来保留所创建的提交,则可以通过在 switch 命令中使用 -c 来执行此操作:git switch -c <new bra原创 2022-04-03 22:08:40 · 462 阅读 · 0 评论 -
【make】make、make install 、clean和uninstall的区别|make install 定安装路径
目录简单概括详细说明扩展说明简单概括简单来说,make仅编译;make install编译并安装;make clean删除临时文件inux编译安装中configure、make和make install各自的作用 ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 make是用来编译的,它从Makefile中读取指令,然后编译。 make install是用来安装的原创 2022-03-31 16:32:20 · 12315 阅读 · 0 评论 -
【Linux】如何设置Centos启动默认使用的内核
目录修改方法原理说明报错处理修改方法 (1)主动修改:使用Linux下自带的grub工具 “grub2-set-default” 和 “grub2-reboot” 修改,其中后者真正设置的是next_entry参数,只在下次启动时有效。(可能需要先安装grub2和生成grub.cfgyum install -y grub2grub2-mkconfig -o /boot/grub2/grub.cfg) 修改步骤: ...原创 2022-03-30 15:18:01 · 6574 阅读 · 10 评论 -
【Linux】Linux的挂载原理 |MOUNT|挂载NAS|自动挂载
目录1、概念2、举例3、补充4、LINUX文件结构和WINDOWS的不同5、挂载文件系统6、mount结构与原理7、mount 和umount命令参考文献1、概念挂载:指的就是将设备文件中的顶级目录连接到Linux根目录下的某一目录,访问此目录就等同于访问设备文件。Linux系统中"一切皆文件",所有文件都放置在以根目录为树根的树形目录结构中。在Linux看来,任何硬件设备也都是文件,它们各有自己的一套文件系统。当在Linux系统中使用这些..原创 2022-03-28 21:57:18 · 10572 阅读 · 3 评论 -
【linux】linux内核问题记录
【linux】linux内核问题记录如何查看linux内核 cat /proc/versionuname -a一、查看linux内核版本号1:登录linux,在终端输入 cat /proc/version2:登录linux,在终端输入 uname -a即列出linux的内核版本号 。3: 在Linux终端输入 uname -a即可查看linux的内核版本号。二、查看linux版本信息1:登录到linux服务器执行 lsb_release-a 命令,即可查看所有版本信息。2:...原创 2022-02-26 17:59:45 · 589 阅读 · 0 评论 -
【vbox】Linux安装Virtual Box虚拟机实践记录--编辑中
一、安装1.进入virtualbox官网https://www.virtualbox.org/2.点击download方法一:3.点击Linux distributions4.向下翻至如图,并且进入同种框选页面5.在/etc/yum.repos.d/目录下新建virtualbox.repo并写入如下内容[virtualbox]name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - V.原创 2022-01-27 23:56:02 · 4008 阅读 · 0 评论 -
【Linux】crontab -- linux的定时任务
每5秒钟执行一次方法一由于 Linux 的 crontab 的定时命令格式如下:minute hour day-of-month month-of-year day-of-week commands意味着标椎定时任务中,最小定时周期是分钟。但是,由于实际应用中,可能需要每5秒就要求执行某个shell脚本。(必须是能把60整除间隔的秒数(也就是没有余数),例如间隔的秒数是2,4,5,6,10,12等。)该如何实现呢?本文中提供如下方式;间隔调用shell命令cron..原创 2022-01-21 16:04:59 · 4965 阅读 · 1 评论 -
【Linux】chmod、chown、chgrp区别和使用
查看文件属性查看文件属性:ll /run/rpcbind/a.txtdrwxrwxrwx 5 root root 40 Jan 15 12:23 /run/rpcbind/a.txt查看文件夹属性:ll -d /run/rpcbind[root@rdma58 /]# ll -d /run/rpcbinddrwxrwxrwx 2 root root 40 Jan 15 12:23 /run/rpcbind输出解释:drwxrwxrwx 2 root mygroup 40 Jan .原创 2022-01-17 15:50:43 · 862 阅读 · 0 评论 -
【ssh】xshell的替代--WindTerm|Mobaxterm使用笔记
WindTerm简介Windows下有没有xshell的更好的替代品? - 知乎WindTerm (窗口标签不能拖出拖入)下载:https://github.com/kingToolbox/WindTerm使用说明(外网太慢,把网页下下来,本地访问):GitHub - kingToolbox/kingToolbox.github.io: Blog of WindTerm and WindEdit原文链接:https://blog.youkuaiyun.com/bandaoyu/article/d.原创 2021-12-06 14:57:18 · 24124 阅读 · 2 评论 -
【linux】运行run文件显示cannot execute binary file
linux系统下遇到cannot execute binary file的问题,一般由以下情况造成:1. 非root用户或者无执行权限2. 编译环境不同(程序由其他操作环境复制过来)对于第一种情况,采用增加执行权限即可chmod +x program对于第二种情况,建议将该程序二进制包拷贝过来,重新编译程序。3. 硬件平台与软件不一致 , 例如: 32位系统,下载了个64位的软件,x86平台上传的却是arm平台。结果就无法执行 如果使用 file 命令检查的结果是 data, 而不是可执行文件,原创 2021-12-01 22:55:26 · 13334 阅读 · 0 评论 -
【linux】free和top显示可用内存不一致|free显示内存90%但是top却看不到谁用
free可用内存偏少是free相对top没有专门统计Slab。这也是导致两者差别的主要原因。可以使用cat /proc/meminfo看到内存的更具体的使用情况以MB为单位显示cat /proc/meminfo | awk '{print $1,$2/1024" MB"}'|column -t以GB为单位显示cat /proc/meminfo | awk '{print $1,$2/(1024*1024)" GB"}'|column -tfree和top显示可用内存不一致_寒夜.原创 2021-11-27 23:28:04 · 6528 阅读 · 0 评论 -
升级GLIBC至2.17及系统崩溃解决方案
1327784: __vdso_timeSegmentation fault (core dumped)除了cd 全不行。原因是:loader,pthread,ld-linux-x86-64.so.2,glibc…… 这些是配套的,只升级其中一个就容易出问题。linux - Segmentation fault after installing the glibc 2.7 - Stack Overflowc - __vdso_time missing from core utils...原创 2021-11-22 20:29:33 · 5000 阅读 · 0 评论 -
【gcc】高版本gcc编译出的程序在低版本glibc机器上运行
目录1.静态编译(多数场景不行)2.容器发布(部分场景可以使用)3.打包依赖的so发布(通用方案)3.1 方式1 在编译时设置rpath和dynamic linker3.2 方式2 直接修改二进制程序的rpath和interpreter比如我们用gcc 9.3.0编译程序,但需要发布的机器gcc版本是4.8.5,怎么办?你可能想到如下方法静态编译 容器发布 打包依赖的so,使用本地so运行程序1.静态编译(多数场景不行)其中静态编译是行不通的,libstdc++..原创 2021-11-22 18:00:14 · 13256 阅读 · 6 评论 -
GDB高级技巧:边Debug边修复BUG,无需修改代码,无需重新编译
【GDB高级技巧:边Debug边修复BUG,无需修改代码,无需重新编译 - 今日头条】https://m.toutiao.com/is/JqxBHJw/原创 2020-12-18 13:00:25 · 369 阅读 · 0 评论 -
【linux】Linux资源监控统计--sar|cpu+内存+换页+文件+IO队列+设备负载
即可即看输出CPU使用情况的统计信息简介sar属于sysstat 工具包,sysstat中包含两类工具:即时查看工具:iostat、mpstat、sar累计统计工具:sar也就是说,sar 具有这两种功能。因此,sar 是 sysstat 中的核心工具。实例sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、C.原创 2021-11-05 19:25:45 · 5122 阅读 · 0 评论 -
【Linux C】man查看C函数原型|定义
目录用法报错处理用法man 3 printf解释:man read,我想看的是ANSI C中stdio的read函数原型和说明,没想到出来的确是BASH命令的说明,这是怎么回事呢? 原来read本身是man命令的一个参数,这样输入man就会以为你要使用read的功能,而不是查看read函数,那么要怎样查看read函数呢? 答案是使用: man 2 read 或者是man 3 read中间的数字是什么意思呢?是man的分卷号,原来man分成很...原创 2021-10-21 10:44:50 · 956 阅读 · 0 评论 -
【GDB】GDB多线程查看堆栈|调试多线程总结
例子2021-09-29 16:37:17.931204 7fff637f7700 422708 59 ERROR RDMAStack in polling_start 2021-09-29 16:37:17.931227 7fff637f7700 422708 59 ERROR RDMAStack polling_start start polling thread:1 [New Thread 0x7fff4475f700 (LWP 423826)] 2021-09-29 16:3.原创 2021-09-29 16:58:26 · 9222 阅读 · 0 评论 -
【GDB】GDB调试总目录
【GDB】GDB 调试多线程和多进程总结报错记录(gdb) b mps_guide_db.c:1699No source file named mps_guide_db.c.可能是因为调用了动态库,要打断点的文件是动态库的可以通过 以下方式得到解决:(gdb) set breakpoint pending on(gdb) b db_subscr_no_lookupFunction "db_subscr_no_lookup" not defined.Breakpoint 1原创 2021-09-28 20:44:49 · 732 阅读 · 0 评论 -
【多线程】pthread_kill用法|判断线程是否在运行
即看即用1、向线程发送向线程发送signalint pthread_kill(pthread_t thread, int sig);线程内用signal()去抓信号并加上处理函数。2、判断线程是否在运行int kill_rc = pthread_kill(thread_id,0);if(kill_rc == ESRCH)printf("the specified thread did not exists or already quit\n");else if(kill_r原创 2021-09-26 16:00:34 · 1606 阅读 · 0 评论