![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux专栏
远去的栀子花
为了美好的未来,加油!!!
展开
-
linux--打印函数调用栈
1、示例程序#include <stdio.h>#include <stdlib.h>#include <execinfo.h>#include <unistd.h>int func1(){ printf("1234"); #define SIZE 100 void *buffer[1...原创 2020-04-25 16:13:28 · 224 阅读 · 0 评论 -
linux--inotify
1、inotify Inotify是Linux内核自带(2.6.13)的系统事件监控机制。Inotify优点之一是基于内核事件通知机制,无需定时主动探测文件状态,简单可靠。另一个好处是有文件变化时通知时候,可以记录当时的用户和事件进程。基于Inotify的工具有inotify-tools、sersync和lsyncd等。2、inotify-tools安装[root@loc...原创 2020-04-20 23:52:33 · 216 阅读 · 0 评论 -
linux--/etc/skel
1、/etc/skel /etc/skel/目录是用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。 通常该目录下的文件都是隐藏文件,如下所示。[root@localhost skel]# ll总用量 0[root@localhost skel]# ls -lah总用量 20Kdrwxr-x...原创 2020-04-20 23:23:42 · 505 阅读 · 0 评论 -
linux--创建镜像挂载
1、创建磁盘镜像文件[root@localhost tmp]# dd if=/dev/zero of=floppy.img bs=512 count=2880记录了2880+0 的读入记录了2880+0 的写出1474560 bytes (1.5 MB, 1.4 MiB) copied, 0.00571329 s, 258 MB/s[root@localhost tmp]# ll总...原创 2020-04-17 00:26:55 · 325 阅读 · 0 评论 -
linux--硬盘与分区
1、物理设备命令规则 在linux系统中一切都是文件,硬件设备也不例外,系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备的属性以及分区信息等。udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。2、分区 /dev/sda5的含义:/dev说明这是一个硬件设备...原创 2020-04-12 13:24:59 · 1147 阅读 · 0 评论 -
linux--smartctl
1、smartctlSmartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。2、安装[root@localhost dev]# yum -y install smartmontools已加载插件:fastestmirror3、示例...原创 2020-04-08 23:22:44 · 826 阅读 · 0 评论 -
linux--fsck
1、fsck 计算机系统难免会因为人为的误操作或系统的原因而出现死机或突然断电的情况,这种情况下非常容易造成文件系统的崩溃,严重时甚至会造成硬件损坏。fsck在系统无法启动或无法安装分区的情况下,可以使用该命令修复损坏的文件系统。2、常见使用参数-a:自动修复文件系统,不询问任何问题;-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;-N:...原创 2020-04-08 22:44:21 · 1742 阅读 · 0 评论 -
linux--gcc编译选项
1、安全编译选项 操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,包括DEP、ASLR等。在使用gcc进行编译时,可以使用gcc的编译选项来避免堆栈溢出、整数溢出等问题。2、checksec.shChecksec是一个bash脚本,用于检查可执行文件的属性(如PIE,RELRO,PaX,Canaries,ASLR,Fortify Source)。它...原创 2020-04-05 19:55:49 · 1078 阅读 · 0 评论 -
linux--centos搭建k8s集群
1、环境信息1)新安装三台cenos虚拟机,保证三台虚拟机可以互相ping通master:192.168.32.100node1:192.168.32.110node2:192.168.32.1202)关闭防火墙[lxw@localhost yum.repos.d]$ sudo systemctl stop iptables[sudo] lxw 的密码:Failed...原创 2020-04-05 18:14:25 · 323 阅读 · 0 评论 -
linux--centos虚拟机设置静态ip
1、设置为NAT模式2、更改配置3、重启网络4、测试原创 2020-04-04 19:26:01 · 110 阅读 · 0 评论 -
linux--nmap使用
1原创 2020-04-04 14:50:09 · 2079 阅读 · 0 评论 -
linux--tcpdump使用
1原创 2020-04-04 13:05:15 · 374 阅读 · 0 评论 -
linux--rpm包常用操作
1、rpm RPM原先被称为红帽包管理器(red hat package manageer)。rpm包主要有两种类型:二进制的rpm包和源码rpm包,二进制rpm包是为了特定的架构所编译出来的包,比如x86架构的包不能安装在ARM上;源码包提供了源码,可以在不同的架构上编译成二进制rpm包。2、安装#下载软件包一定去官网下载,防止第三方软件包被注入恶意的程序[root@V...原创 2020-04-04 09:13:29 · 674 阅读 · 0 评论 -
linux--看门狗
1、硬狗与软狗 Watchdog在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。在Linux 内核下, watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog 设备被打开后),如果在某一设定的时间间隔内/dev/watchdog没有被执行写操作, 硬件watchdog电路或软件定时器就会重新启动系统。 ...原创 2020-03-29 23:52:20 · 1522 阅读 · 0 评论 -
linux--gdb程序调试
1、安装gcc/g++/gdb[root@VM_0_11_centos Program]# yum -y install gcc[root@VM_0_11_centos Program]# yum -y install gcc-c++[root@VM_0_11_centos Program]# yum -y install gdb2、编译源码[root@VM_0_11_cen...原创 2020-03-29 23:12:45 · 170 阅读 · 0 评论 -
linux--内核同步
一、原子操作 原子操作可以保证指令以原子的方式执行,执行过程不被打断。它通过把读取和修改变量的行为包含在一个单步中执行,从而防止了竞争的发生,保证操作结果总是一致的。原子操作在Linux内核里分为原子整数操作和原子位操作,针对整数的原子操作只能对atomic_t类型的数据进行处理。二、信号量 信号量是包含一个非负整数型的变量,并且带有两个原子操作wait和si...原创 2020-03-29 17:05:50 · 145 阅读 · 0 评论 -
linux--内核数据结构
1、内核链表/kernel_source/linux/include/linux/list.h2、内核队列/kernel_source/linux/include/linux/kfifo.h3、内核hash/kernel_source/linux/include/linux/hash.h4、内核二叉树/kernel_source/linux/include/linux/...原创 2020-03-29 16:34:09 · 98 阅读 · 0 评论 -
linux--源码学习makefile
1、内核中的makefile内核中的每个模块下都存在makefile,用于编译内核模块,以sample/watchdog为例-rw-r--r-- 1 root root 127 Mar 27 13:41 Makefile-rw-r--r-- 1 root root 382 Mar 27 13:41 watchdog-simple.c[root@VM_0_11_centos watch...原创 2020-03-29 16:00:59 · 201 阅读 · 0 评论 -
linux--源码下载
1、源码官网https://www.kernel.org/可以直接下载,也可以使用git下载,git下载的好处是可以随时切换版本,查看提交历史,方便学习。2、git下载配置1)下载安装git[root@VM_0_11_centos home]# yum -y install gitLoaded plugins: fastestmirror, langpacksDete...原创 2020-03-28 07:32:02 · 3445 阅读 · 0 评论 -
linux--大页内存
1、什么是大页内存 大内存页”有助于 Linux 系统进行虚拟内存管理。顾名思义,除了标准的 4KB 大小的页面外,它们还能帮助管理内存中的巨大的页面。使用“大内存页”,你最大可以定义 1GB 的页面大小。2、为什么使用大页内存 如果在系统中使用了huge page,则内存页的数量会减少,从而需要更少的页表(page table),节约了页表所占用的内存数量,...原创 2020-03-25 23:25:04 · 961 阅读 · 0 评论 -
linux--gpg使用
对称加密方法:1、gpg -c file 生成一个file.gpg的加密文件2、gpg -d file.gpg > file 解密file.gpg并将输出存入file文件非对称加密方法:第一步:A机器:1、gpg –gen-key 生成公私钥对2、gpg -a –export Akey_name.pubkey3、scp Akey_name....原创 2020-03-25 22:29:12 · 978 阅读 · 0 评论 -
linux--线性地址、逻辑地址、物理地址
1、线性地址线性地址与逻辑地址是intel架构下的内存管理机制。2、逻辑地址3、虚拟地址ARM架构下没有线性地址与逻辑地址,只有虚拟地址与物理地址。4、物理地址 物理地址就是内存单元的绝对地址,比如你有一个4G的内存条插在电脑上,物理地址0x0000就表示内存条的第一个存储单元,0x0010就表示内存条的第17个存储单元,不管CPU内部怎么处理地址,最终访问的都是...原创 2020-03-22 11:26:32 · 331 阅读 · 0 评论 -
linux--安全配置hosts
1、/etc/hosts[root@VM_0_11_centos etc]# cat hosts127.0.0.1 VM_0_11_centos VM_0_11_centos127.0.0.1 localhost.localdomain localhost127.0.0.1 localhost4.localdomain4 localhost4::1 VM_0_11_centos V...原创 2020-03-18 22:26:04 · 1244 阅读 · 0 评论 -
linux--手动清除cache
1、查看系统中的cache[root@VM_0_11_centos log]# free total used free shared buff/cache availableMem: 1916008 340332 102432 572 1473244 ...原创 2020-02-24 23:02:56 · 549 阅读 · 0 评论 -
linux--uuid
1、UUID 通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准,亦为自由软件基金会组织在分散式计算环境领域的一部份。 UUID的目的,是让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。2、UUID意义...原创 2020-02-23 16:55:54 · 348 阅读 · 0 评论 -
linux--mountpoint
1、mountpoint mountpoint命令用来判断指定的目录是否是加载点,如果是挂载点返回0,如果不是就返回非0。设备总是挂载在某个指定的目录下,所以就可以使用mountpoint这条命令来确认某个目录是否“临时性”的被文件系统占用。2、语法SYNOPSIS mountpoint [-q] [-d] directory mount...原创 2020-02-23 15:58:39 · 1514 阅读 · 0 评论 -
linux--常用shell脚本
1、侦测程序句柄泄漏#对进程采样数据3000次,每次间隔10秒,监控进程打开句柄的情况,#若出现持续上升的情况,说明进程异常#!/bin/sh set -x echo "">total_handler psid=`ps -ef|grep $1|head -1|awk '{print $2}'` count=0 while [ $count -lt 3000 ] do...原创 2020-02-23 15:12:00 · 203 阅读 · 0 评论 -
linux--一个网卡设置多个ip
1、设置多个ip 一个网卡只能绑定一个ip,但是可以设置多个ip。2、作用 作用就是可以连接多个网段(就是可以访问多个网段),但前提是这些网段物理层是连接在一起。3、设置 网卡设置多个ip有两种方法,第一种是使用命令行动态添加ip,这样的好处是方便,但是重启后就无效;第二种方法是更改网卡配置文件,配置完文件后重启网络服务。4、实验1)查看网卡信...原创 2020-02-23 11:38:59 · 5120 阅读 · 0 评论 -
linux--日志转储logrotate
1、logrotate 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。 Logrotate是一个日志文件管理工具,它是Linux默认自带的一个日志切割工具。用来把旧文件轮转、压缩、删...原创 2020-02-22 23:31:23 · 864 阅读 · 0 评论 -
linux--perf
1、perf Perf 是用来进行软件性能分析的工具。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。2、perf安装[root@VM_0_11_centos seli...原创 2020-02-22 11:54:32 · 2580 阅读 · 3 评论 -
linux--selinux
1、Selinux SELinux(Security-Enhanced Linux,安全增强型Linux)是美国国家安全局(NAS)对于强制访问控制的实现,在这种访问控制体系的限制下,进程只能访问哪些在他的任务中所需的文件。SELinux在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的控制概念。 在SELinux中定义了许多类型(TYP...原创 2020-02-22 11:12:06 · 242 阅读 · 0 评论 -
linux--NTP配置
1、什么是NTP NTP(Network Time Protocol)是网络时间同步协议,就是用来同步网络中各个计算机的时间的协议。NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒...原创 2020-02-17 16:23:57 · 835 阅读 · 0 评论 -
linux--ssh配置使用
1、什么是SSH secure shell protocol简称SSH,是由IETF网络工作小组(network working group) 制定,在进行数据传输之前,SSH先对联级数据包通过加密技术进行加密处理,加密后在进行数据传输,确保了传递的数据安全.SSH是专门为远程登录会话和其他网络服务(例如:rsync,ansible)提供的安全性协议,利用SSH协议可以有效的防止...原创 2020-02-16 22:45:26 · 296 阅读 · 0 评论 -
linux--nfs配置使用
1、什么是NFS NFS:是NetworkFileSystem的缩写。最大的作用就是通过网络,让不同的机器、不同的作业系统、可以分享档案。通过将共享目录挂接到本地,就可以像操作本地目录一样去操作共享的目录。2、NFS原理简介 NFS包括两部分,服务端及客户端。由于NFS服务功能很多,会有很多端口,这些端口还有可能不固定,那么客户端就无法与服务器进行通信,...原创 2020-02-16 20:47:02 · 129 阅读 · 0 评论 -
linux--双网卡绑定bond
1、什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。可以通过以下命令确定内核是否支持 bonding:2、bond作用 bong可以将多个网卡绑定到一起,可以让两个或多个接口...原创 2020-02-16 18:34:52 · 313 阅读 · 0 评论 -
linux--LVM(逻辑卷管理)
1、什么是LVM(What) LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。2、为什么要有LVM(Why) 解决硬盘设备在创建分区后不易修改分区大小的缺陷,尽管对传统的硬盘分区进行强制扩容或者缩容从理论上来讲是可行的...原创 2020-02-16 16:07:17 · 214 阅读 · 0 评论 -
linux--RAID
1、RAID是什么 RAID(Redundant arrays of Independent Drives),有“独立磁盘构成的具有冗余能力的阵列”。磁盘阵是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提供整个磁盘系统效能。利用这个技术,将数据切割成很多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检车(parity check)的观念...原创 2020-02-16 11:28:11 · 138 阅读 · 0 评论 -
Linux--查看initrd内容
1、initrd格式2.6及以后内核中的initrd.img采用cpio压缩,不再是2.4内核使用的ext2格式,无法使用mount -o loop 挂载。需要使用gunzip解压缩,然后再使用cpio解包。[root@VM_0_11_centos tmp]# cp /boot/initramfs-3.10.0-1062.9.1.el7.x86_64.img ./initrd.img.g...原创 2020-02-15 22:00:06 · 1556 阅读 · 0 评论 -
Linux--vmlinuz、vmlinux、initrd
1、vmlinuzvmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,并且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解包vmlinuz。vmlinuz是一个统称。有两种详细的表现形...原创 2020-02-15 20:29:27 · 1630 阅读 · 0 评论 -
Linux通过Grub设置内核启动参数
1、linux内核启动时为其提供各种各样的参数。这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息。内核参数应在内核启动时通过引导装载程序,如GRUB或LILO传递给内核。2、在使用GRUB引导装载程序,想修改或添加内核参数,你可以编辑GRUB配置文件在配置文件中,找到描述默认使用的Linux映像的条目。找到默认的映像条目后,在以 “kernel /vmlinuz-” 开...原创 2020-02-15 19:41:31 · 3543 阅读 · 1 评论