
LINUX
举世无双勇
这个作者很懒,什么都没留下…
展开
-
UNIX系统种如何确认系统默认登录用户使用哪个shell解析命令行
根据隔开的最后一个字段可确认当前用户执行的是哪个shell。原创 2022-09-02 13:58:03 · 347 阅读 · 0 评论 -
锁问题的分析-有什么类型的锁,为什么需要锁,如何选择锁,死锁是怎么产生的,如何检测死锁
同理我们可以使用pthread_cancel与pthread_exit函数强行结束线程,其中第一个函数是外部线程结束该线程,而pthread_exit是自己结束自己。线程创建完成执行thread_entry操作,count作为entry函数的传入参数,此时内核会将对应的thread_struct结构体的flag标志位置为1.在内核之中没有所谓的线程,线程是有类似与task_thread类的结构体链表存储,线程资源。1.线程执行语句时的步骤:如Int a;pthred_id为传出参数,标识线程的唯一ID。..原创 2022-08-20 19:53:33 · 382 阅读 · 0 评论 -
去除git diff 时出现的 ^M
去除git diff 时出现的 ^M。原创 2022-08-11 17:58:55 · 771 阅读 · 0 评论 -
Linux下使用gdb调试core文件-且有动态库该如何加载
一、core文件当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行,并产生core文件。core文件是程序运行状态的内存映象。使用gdb调试core文件,可以帮助我们快速定位程序出现段错误的位置。当然,可执行程序编译时应加上-g编译选项,生成调试信息。(这句重点理解三个地方,1.core文件是程序运行状态的内存映像 2.我们可以使用gdb调试core文件 3,前提是你编译的时候必须使用了-g选项生成的core文件才能调试)当程序访问的内存超出了系统原创 2022-04-15 10:35:06 · 5836 阅读 · 0 评论 -
Asterisk拨号方案中变量的应用
Asterisk拨号方案中变量的应用在拨号方案中使用变量可以减少打字、增加清晰度,也有助于在拨号方案中加入逻辑,这里的变量有全局变量,通道变量和环境变量。1.全局变量全局变量应该在extension.conf文件的开始利用[globals]这个context定义或利用SetGlobalVar()应用。如:[globals]80000=Zap/1或[internal] exten =>123,1,SetGloable(8000=Zap/1)全局变量是将会一直存在的,无论拨号与否。2.通道变量原创 2022-04-14 23:28:04 · 253 阅读 · 0 评论 -
如何测试当前服务器内存存储的方式是大端还是小端
大端:高字节序存储在低地址(即起始地址)小端:低字节序存储在低地址(即起始地址)#include <stdio.h>int main(int argc, char **argv){ union { short s; char c[sizeof(short)]; } un; un.s = 0x0102; //注:0x表示十六进制的存储方式和,我们都知道short占两个字节,一原创 2022-04-14 08:34:09 · 331 阅读 · 0 评论 -
Asterisk-通道与桥接基础
引言:通话离不开我们的生活,但通话究竟是如何建立的是我们很少去关注的。比如说,我们拨打中国移动的电话10086,一开始听到的是智能客服,我们根据提示音进行如何,选择自己想要的功能,如果我们想要联系人工客服则会输入0进行等待转接,即使接通之后,这个人工还可能会帮我们转接到另一个人工客服,这一系列的操作对拨号的我们来说都只是按键的操作,但想要知道其内部原理,是一个十分复杂的过程。我们以现在使用最多的通话系统Asterisk为例,具体讲述一下通话是如何建立与进行的。一、关键概念:1.1:通道(Channel原创 2022-04-04 16:28:49 · 4005 阅读 · 2 评论 -
C语言灵活数组的使用
struct flex_array_struct { size_t num; int data[]; };void func(void) { struct flex_array_struct *flex_struct; size_t array_size = 4; /* 动态分配灵活数组成员的内存 */ flex_struct = (struct flex_array_struct *)malloc(原创 2022-03-22 09:09:21 · 1240 阅读 · 0 评论 -
linux中使用tail -f指令实时追踪日志,并且控制行数,grep对应数据,并读取grep上下行数
tail -f -n 1000 ./messagesF4B549F214A7 | grep upgrade:1 -A 10 -B 10-f 表示实时追踪-n 1000 表示从末尾开始计算先死1000行./messagesF4B549F214A7 改成自己的文件路径| grep upgrade:1 表示只匹配有upgrade:1的行-A 10 表示同时显示grep的行的前十行-B 10 表示同时显示grep的行的后十行...原创 2022-03-16 16:41:23 · 7364 阅读 · 0 评论 -
LINUX C 使用getopt函数以及其相关变量opterr optopt optind optarg
头文件unistd.h.函数及功能int getopt (int argc , char *const * argv , const char * options )该函数从argv和argcgetopt参数指定的参数列表中获取下一个选项参数。通常这些值直接来自接收到的参数 。options参数是一个字符串,它指定对该程序有效的选项字符。此字符串中的选项字符可以后跟冒号 (’:’) 表示它需要一个必需的参数。如果选项字符后跟两个冒号 (’::’),它的参数是可选的;这是一个 GNU 扩展。getop原创 2022-03-15 09:27:45 · 775 阅读 · 0 评论 -
Linux系统启动时的初始化脚本-inittab文件
我们都知道U-BOOT的最终目标是启动内核,而内核的最终目标是启动应用程序。当LINUX系统启动时,完成了内核加载后,就需要读取inittab文件进行系统的初始化了。在初始化过程中,会加载各个设备的驱动,并且运行一系列的系统服务。另外,Linux的运行级别也在这个文件中设置。inittab文件的具体含义:etc/inittab是一个非常重要的文件,因此掌握它对于很好的使用Linux有很大的帮助。其各部分的含义如下:0-halt(Do Not set initdefault to this) 关机,原创 2022-02-24 13:52:07 · 892 阅读 · 0 评论 -
LINUX-挂载(如U盘挂载)
Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。如果不挂载,通过Linux系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目原创 2022-02-24 11:38:38 · 663 阅读 · 0 评论 -
软件扫描出rsh漏洞,但是并无安装rsh服务,原因是为何?
1.首先要在/bin下看是否有rsh的可执行文件,理论上可实现rsh服务/bin下会有对应的应用程序2.检测rsh的服务端口,netstat -anp |grep 514,端口是否监听,有则会认为开启了rsh服务3.接着查看vi /etc/inetd.conf 里面是否有相应的配置4.查看起机脚本vi /etc/rc.local 使用|grep 确认是否有在起机脚本处直接开启rsh服务...原创 2022-02-22 08:34:07 · 4406 阅读 · 0 评论 -
使用VMware 安装Ubuntu20.04界面显示不完整无法找到下一步图标
按住 win键+鼠标左键,把窗口往左上方拉,图标会显示出来。。。。真不知道这是怎么设计的原创 2022-02-18 13:30:11 · 1565 阅读 · 0 评论 -
ubuntu16.04安装asterisk16使用pjsip协议栈以及基础功能配置
前言有一说一,asterisk的环境是开源项目中难得比较好搭的环境,不必担心,错啥少啥搜索一下补齐就好,有的包版本编译出错,也别深究换个版本重新编就完事了。个人环境ubuntu16.04(桌面版) 装的是asterisk16 pjsip2.6安装步骤1.基础包安装(就照着官方文档装,一个都别漏,装不成功一直搜原因,千万别跳步,一般ubuntu自带的软件库都会有,只是名字需要变一下比如包的名字后面加个-dev)官方需要包:https://wiki.asterisk.org/wiki/display原创 2022-02-08 15:31:46 · 1966 阅读 · 0 评论 -
MYSQL5.7基本指令教学
https://www.cnblogs.com/memory9770/p/6944018.html转载 2022-01-06 09:20:54 · 116 阅读 · 0 评论 -
OVS上的VM与主机互传文件方法
在br-int桥上添加一个internal口ovs-vsctl add-port br-int test – set Interface test type=internal添加流表将vm口上的流量倒入到该test口这里的vhuxxxx为你想要访问虚机的端口ovs-ofctl add-flow br-int in_port=“test”,actions=output:“vhuxxxxx”ovs-ofctl add-flow br-int in_port=“vhuxxxxx”,actions=o原创 2021-04-07 13:40:33 · 492 阅读 · 0 评论 -
Linux 查看文件属于哪个rpm/deb安装包
Linux 查看文件属于哪个rpm/deb安装包rpm:rpm -qf /文件路径/文件名deb:#安装apt-filesudo apt install apt-file#升级apt-fileapt-file upgrade#查找apt-file search /文件路径/文件名原创 2021-04-06 15:41:53 · 1213 阅读 · 0 评论 -
如何使用vim将整个文件中的一串字符替换为另一串字符
极其简单,一条指令即可:如将文件中的vhu 都变为 Ot::1,$ s/vhu/Ot/g原创 2021-04-06 14:10:37 · 408 阅读 · 0 评论 -
ARTEST&NDTEST
[root@localhost ~]# cat arptest.py# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport osimport timedef ping4(ipv4addr): cmd = "ping -c 10 " + str(ipv4addr) result = os.popen(cmd) final = result.read() print final if not "10 packe原创 2021-04-02 16:14:21 · 175 阅读 · 0 评论 -
CentOS ssh登陆慢、等待时间长、
原创 2021-03-26 14:11:03 · 473 阅读 · 0 评论 -
利用python写的简单ping4/6测试脚本
# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport osimport timedef ping4(ipv4addr): cmd = "ping -c 10 " + str(ipv4addr) result = os.popen(cmd) final = result.read() print final if not "10 packets transmitted, 10 received, 0% pack原创 2021-03-15 14:02:52 · 718 阅读 · 0 评论 -
手动添加路由与指定ipPING
手动添加路由:route add -net 9.9.9.0 netmask 255.255.255.0 gw 172.18.131.1指定ipPING:ping -I 172.18.241.245 9.9.9.9源ip(172.18.241.245)目的ip(9.9.9.9)原创 2021-03-15 10:41:11 · 1532 阅读 · 0 评论 -
git指令生成patch
git format-patch HEAD^原创 2021-03-10 13:54:13 · 218 阅读 · 0 评论 -
Linux操作系统 如何通过time计算shell的执行时间
举例:time neutron --help >> /tmp/test.txt原创 2021-03-08 14:29:20 · 150 阅读 · 0 评论 -
网络虚拟化工程师知识图谱
计算机网络:https://space.bilibili.com/360996402/channel/detail?cid=85151参考链接:https://feisky.gitbooks.io/sdn/原创 2021-03-03 14:32:57 · 294 阅读 · 1 评论 -
查看邻居表 ip -6 neighbor show 对应的表项最后有DELAY 和 PROBE的含义
这种情况一般出现在nd代答的场景中。虚机ping同网段一个虚机时,发送ns报文到网关,网关应答自己的mac地址,此时生成图一中的表项。但是改表项是个假的表项,因为是网关代答的mac地址,因此,只有当地址真正ping通时,才可以认为该表项正常,因此需要进行probe探测。当然该功能是由na报文的配置生成的。...原创 2021-02-24 15:10:58 · 2728 阅读 · 0 评论 -
vim写错东西了如何撤回
编辑状态撤销操作,需要从编辑状态用键盘上的Esc键切换到“一般模式”在一般模式中,按下一次字母U键就可以撤销一次上次的输入。提示:编辑模式是无法执行命令的先点击ESC 再点U原创 2021-02-24 12:47:50 · 2937 阅读 · 0 评论 -
recvmsg()函数 参数 详解
原函数声明如下:ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);该函数的作用是接收来自于套接字的信息messages,无论其是否面向连接。参数解析如下:int sockfd 表示socket()函数返回的文件描述符,struct msghdr *msg 指向struct msghdr该结构体的作用是为了减少函数的参数的数量而设计的,结构体原型如下:struct msghdr { void原创 2021-02-23 09:15:40 · 7091 阅读 · 0 评论 -
结合网络字节序与主机字节序的转换,详细讲述大端与小端的差异,htonl与inet_ntop
看了很多篇博客,都是将主机字节序网络字节序,大端小端拆开,导致两者都看得模棱两可。大端与小端假设有这是一栋没有地下室的楼房,最底层是一层,最顶层是四层。在这里,一层就是所谓的低地址,四层就是所谓的高地址。(int a = 0x12345678)而现在,有一间公司要入住这栋楼房。该公司一共有8个人:他们按照身份高低依次排序是1 2 3 4 5 6 7 8.也就 1 身份最高 称之为高位 8身份最低称之为低位现在要求每两个人住一层。小端法:高位存高地址,低位存低地址利用小端法入住,高位存高地原创 2021-02-20 14:02:28 · 455 阅读 · 0 评论 -
网络编程:socket套接字通俗理解
首先从英文单词解析socket:socket指的是插座。在现实生活中插座的使用类似如下:我们需要将左边的插头插入右边的插板中,机器才能正常工作。而在通信过程中也类似,左边的插头属于一个套接字,右边的插板也属于一个套接字,只有两者插在一起,才能正常通信。因此双方要想完成通信,必须要有两个套接字,通信双方各一个。切记:一个文件描述符指向一个套接字,每个套接字借助内核指向两个缓冲区实现。...原创 2021-02-20 10:41:48 · 706 阅读 · 0 评论 -
如何理解协议以及ftp协议的由来
协议的其实就是:一组规则通信双方根据这个规则进行数据包的封装与解封装比如A 与 B之间进行通信二者必须制定协议:1.先传送文件名2.传送文件大小3.传送文件的内容发送者必须按以上的规则发送数据,与此同时接收者也必须按照以上规则解析数据,任何一方没与按协议制定的规则执行,那么就会出现数据传输的错误。而1 2 3所举例的顺序正是来源于贝尔实验室 也就是ftp协议(文件传输协议的起源)...原创 2021-02-20 09:45:56 · 202 阅读 · 0 评论 -
关于新增dnsmasq --help的option选项
在拉起dnsmasq进程时,可以根据需要使能option选项,这些option选项并不是随心所遇的字符串,而是在dnsmasq代码中已经定义好的一部分,因此如果你想增加新的option选项,必须修订dnsmasq的相关代码。举个例子:当你执行dnsmasq --help时可以看到类似如下配置root@iZbp1f4tnw2sehghtpe5zpZ:~# dnsmasq --helpUsage: dnsmasq [options]Valid options are:-a, --listen-add原创 2021-02-19 09:03:16 · 1015 阅读 · 0 评论 -
arping指令即其参数对应的功能
arping命令功能:用于使用arp数据包,结合ping命令测试网络此命令可查看ip地址是否被使用,同时获取更多的设备信息arping命令注意事项:arping命令基于ARP广播机制即arping可测试同一网段或子网的网络主机的连通性 arping命令的语法格式: arping [参数] -----常用参数说明------ -A:更新邻近主机的ARP缓存( 使用ARP应答数据包代替ARP请求数据包) -b:只发送MAC级广播 -c:发送指定个数ARP请求数据原创 2021-02-16 20:55:15 · 1165 阅读 · 0 评论 -
看ip link 与 ifconfig的差异 strace使用很重要
ifconfig 是从 /proc/ 里捞数据 即读文件ip link 是从 内核里捞数 是基于netlink socket 内核通信机制 即请求消息命令前面加strace 可以跟踪strace ifconfigstrace ip link原创 2021-02-07 15:29:54 · 556 阅读 · 1 评论 -
如何更改Linux系统的开机界面
有两种方式:1.直接编辑/etc/motd文件 Welcome to Alibaba Cloud Elastic Compute Service ! _.._ ,------------. ,' `. ( Hello Boy ! ) / __) __` \ `-,---------原创 2021-02-03 13:42:00 · 1555 阅读 · 0 评论 -
Linux Poll函数基础介绍
三种多路IO的操作 select poll epoll通过man poll可见其基本概述int poll(struct pollfd *fds, nfds_t nfds, int timeout);函数介绍int poll(struct pollfd *fds, nfds_t nfds, int timeout);第一个参数fds: 监听的文件描述符数组 如下 struct pollfd { int fd; /* file descriptor原创 2021-02-01 17:22:01 · 857 阅读 · 0 评论 -
阿里云ssh自动掉线解决
#vim /etc/ssh/sshd_config找到下面两行#ClientAliveInterval 0#ClientAliveCountMax 3去掉注释,改成ClientAliveInterval 30ClientAliveCountMax 86400这两行的意思分别是1、客户端每隔多少秒向服务发送一个心跳数据2、客户端多少秒没有相应,服务器自动断掉连接重启sshd服务#service sshd restart...原创 2021-01-25 09:29:41 · 336 阅读 · 0 评论 -
LINUX 如何对文件的内容进行grep匹配
grep -ri “172.29.63.235” /etc/""引号之间为匹配的内容/etc/为路径原创 2021-01-19 10:55:35 · 734 阅读 · 1 评论 -
Centos更新yum源,已经替换了安装包为何还是没有更新的原因
yum源更新后的一条龙服务如下:yum clean allyum makecacheyum update更新完后发现软件包还是异常 得注意:/etc/yum.repos.d 路径下的repo是否为一个,为多个的话会产生冲突,因此多余的要删掉原创 2021-01-07 17:43:30 · 1074 阅读 · 0 评论