![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux 命令详解
仗剑天涯 回首枉然
青春已远去 转身无少年
展开
-
ptrace 调式详解
request:指定调试的指令,指令的类型很多,如:PTRACE_TRACEME、PTRACE_PEEKUSER、PTRACE_CONT、PTRACE_GETREGS等等,下面会介绍不同指令的作用。下面通过一个简单例子来说明 ptrace() 系统调用的使用,这个例子主要介绍怎么使用 ptrace() 系统调用获取当前被调试(追踪)进程的各个寄存器的值,ptrace() 系统调用是 Linux 提供的一个调试进程的工具,ptrace() 系统调用非常强大,它提供非常多的调试方式让我们去调试某一个进程,原创 2023-02-28 17:26:27 · 481 阅读 · 0 评论 -
怎么样更改inittab 文件使得console 免密码登录
我可以通过更改inittab 文件来 是的console 免密码登录。 ::respawn:-/bin/sh#::respawn:/sbin/getty -L ttyS0 115200 vt100原创 2022-12-06 16:57:20 · 290 阅读 · 0 评论 -
LD_PRELOAD pre load 动态库
LD_PRELOAD,是个环境变量,用于动态库的加载,动态库加载的优先级最高,一般情况下,其加载顺序为LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib。程序中我们经常要调用一些外部库的函数,以open()和execve()为例,如果我们有个自定义这两函数,把它编译成动态库后,通过LD_PRELOAD加载,当程序中调用open函数时,调用的其实是我们自定义的函数。原创 2022-11-17 17:30:05 · 586 阅读 · 0 评论 -
time 函数和 clock_gettime()函数的区别
在Linux中我们有好多读时间的函数 , 但有的函数取得时间是绝对时间 当我们系统时间改变时 计算时间差会有影响。 下面我们就time() 和clock_gettime函数来说一下函数"clock_gettime"是基于Linux C语言的时间函数,可以用于计算时间,有秒和纳秒两种精度。函数原型:int clock_gettime(clockid_t clk_id, struct timespec *tp);其中,cld_id类型四种: a、CLOCK_REALTIME:系统实时时间,随系统实时时间改原创 2022-06-29 19:48:38 · 852 阅读 · 0 评论 -
linux kernel 内存分配管理机制以及分配机制
其实计算机的核心就是运算, 但是为了复杂的运算毕竟只靠cpu 自带的寄存器 云算力毕竟有限,所以就有了内存的出现。 下面我们呢先见一下linux 中内存的分布情况。在内核空间中,内核 地址16~896M 其他有iomap 和dma一、内核空间1、页页(page)是内核的内存管理基本单位。(linux/mm_types.h)struct page {unsigned long flags; // 页标志符struct address_space *mapping; // 该页...原创 2022-04-24 09:05:09 · 1019 阅读 · 0 评论 -
LLDP 协议
LLDP(LinkLayerDiscovery Protocol,链路层发现协议)就是用于这个目的的协议。LLDP定义在802.1ab中,它是一个二层协议,它提供了一种标准的链路层发现方式。LLDP协议使得接入网络的一台设备可以将其主要的能力,管理地址,设备标识,接口标识等信息发送给接入同一个局域网络的其它设备。当一个设备从网络中接收到其它设备的这些信息时,它就将这些信息以MIB的形式存储起来。这些MIB信息可用于发现设备的物理拓扑结构以及管理配置信息。需要注意的是LLDP仅仅被设计用于进行信息通告,..原创 2022-02-26 21:51:04 · 1170 阅读 · 0 评论 -
GRE 协议详解
Generic Routing Encapsulation (GRE)通用路由封装协议,基于IP网络层协议封装以太网报文,可用于在IPSec VPN网络间传输多播路由信息报文,或者在PPTP协议中,承载PPP数据报文。其在数据帧中的位置如下: |-------------------|----------------|----------------------|------------------| | Outer IP Header | GRE Header | In...原创 2022-02-26 21:49:56 · 4395 阅读 · 0 评论 -
nand flash 为什么不能当作ram 使用 而 nor flash 可以
我们都知道nand flash 是不无法当做 ram 来使用的, 并且读写只能 以一个block 为单位来进行。但是为什么 nand 不能当作ram 来用呢。这里我们要知道 ram 就是运行地址。 什么样的 存储能满足运行地址,首先必须要能 按字节读取。应为我们的指令运行时 是以 字节为读取单位的。那为什么nand 的不能安字节读取呢。因为nand 为了成本 和速度 数据总线是复用的。...原创 2022-02-24 09:39:19 · 713 阅读 · 0 评论 -
wifi 802.1x 认证过程详解
Please Notes we need setup a tunnel server to triger the 802.1x client comminute with Radius server. now we used GRE for tunnel server. the GRE server also provide the DHCP server for 802.1x client. radius server only provide authentication and acco...原创 2022-02-23 14:25:04 · 588 阅读 · 0 评论 -
proc/cmdline 的作用和理解
这里的proc/cmdline 保存的是bootloader 启动linux kernel 时 的参数。如这个 例子,我们传入的有 console 相关信息 rootfs 相关信息 和 flash map 相关信息原创 2022-02-23 13:58:35 · 3054 阅读 · 0 评论 -
adduser 添加用户和mount 硬盘
我们user 管理的最基本的 动作就是 添加用户。这里我们讲一下adduser, 还有useradd 也是可以用的。adduser test 添加test 用户为用户添加sudo 权限, 1. chmod 777 /etc/sudoers 把test 用户的权限加进去。 加完记得回复文件权限 2. usermode -aG sudo test这样就有了一个基本账户。硬盘挂载: fdisk ...原创 2021-12-13 18:55:28 · 831 阅读 · 0 评论 -
optipng可以优化压缩PNG图片文件格式
更多optipng命令用法,查看帮助:man optipngoptipng 可以优化png 图片 的大小原创 2021-11-12 10:52:51 · 919 阅读 · 0 评论 -
arp timer and arptables
我试图配置ARP时间超时。我想我应该设置/ proc / sys / net / ipv4 / neigh / default / base_reachable_time_ms到所需的超时。但是,虽然我设置为30000ms(30秒),它仍然需要接近10分钟,一个条目从ARP缓存中删除。阅读几篇文章后,我看到有几个影响超时的设置:/proc/sys/net/ipv4/neigh/default/gc_interval/proc/sys/net/ipv4/neigh/default/gc_stale_tim原创 2021-09-25 12:49:30 · 141 阅读 · 0 评论 -
指针 浅析
c 的那点就在指针,它给user 的权限太大。以一个例子开始:strcut test_t{ int a; char b; int c;};char *p; int *p1; struct test_t *p2;printf("%d",sizeof(p)) ==> 输出为 4printf("%d",sizeof(*p) ==> 输出为 1printf("%d",sizeof(p1)) ==> 输出为 4pr...原创 2021-08-10 17:45:21 · 95 阅读 · 0 评论 -
ubi 详解 以及jffs2 squash fs ubifs
在linux 系统中 一切接文件, 因为系统操纵的时文件 那么我们 怎么和上层沟通呢。 这就离不开文件系统。 早期常见的文件系统 时jffs2 后期 有ubifs squash fs 等 下面我们聊一下 个文件系统的区别jffs2 直接和mtd 沟通,比较快捷 但是呢随着 flash 变大 jffs2 就无法满足这个要求了。 所以ubi 就会出现了ubi 不是一个文件系统, 他是一个对内存进行管理的 他直接和mtd 惊醒管理 模块,一些文件系统 就建立在ubi 之上。 比如ubifs 和s...原创 2021-08-01 14:24:49 · 1776 阅读 · 0 评论 -
DMA RDMA 技术详解
DMA RDMA原创 2021-07-25 22:39:10 · 1948 阅读 · 1 评论 -
linux 常用命令
time 可以查看程序运行所消耗的时间 kernnel 用户层chrt 改变程序运行有先级nice 也是改变程序运行优先级 但是他是动态的taskset 绑定程序cpu原创 2021-07-09 22:10:43 · 242 阅读 · 3 评论 -
linux 取系统相对时间和绝对时间
取绝对时间: sysinfo(),clock_gettime()取相对时间:time(),clock(),gettimeofday() 当ntp 或者手动date 更改日期 取出对的时间会变。clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别1. clock_gettime( ) 提供了纳秒的精确度int clock_gettime(clockid_t clk_id, struct timespect *tp);clockid_t ..原创 2021-07-07 22:47:41 · 3987 阅读 · 0 评论 -
tos cos dscp 区别和作用
谈到qos首先需要了解qos调度的几个重要过程,qos调度过程包括网络入口数据流量的分类和标记、骨干网设备上的拥塞避免和拥塞管理、网路出口的队列调度这几个重要过程.1、cos和tos的区别:通过acl对流量进行分类以后,紧接着就需要对报文进行标记,打标记可以在三层(ip)报文头上做,也可以在二层报文头上做.tos(type of service)就是指在三层报文头(即ip头)作标记,cos(code of service)则是在二层报文头作标记,tos与cos只是qos的一种标记机制。2、802.1原创 2021-07-07 22:34:01 · 1368 阅读 · 0 评论 -
linux ebtable iptable 用法
在网络的世界里 ebtable 和iptable 是非常重要的 二层 和三层 数据 管控 工具, 这两个 appliation 在busybox 中都有,可以在busybox 的manualconfig 中打开。ebtable 链路层 数据包策略 工具: 他又基本的三个表 和 六个链。 表 链 broute ...原创 2021-07-07 21:50:10 · 2044 阅读 · 0 评论 -
memory leak check tools 详解
memory leak 和头疼 下面我们介绍一个工具mtracke 他是追踪memory leak 的工具现在要追踪的code 中加入 include <mcheck.h> setenv("MALLOC_TRACE", "taoge.log", "1"); ...原创 2020-03-28 22:58:21 · 510 阅读 · 0 评论 -
xargs 的作用详解
再linux 中我们常常会看到script 中会出现xargs 的 命令, 那麽这个命令和管道有什莫区别呢。瞎买那我们就探讨一下这个用法例如 : echo '--help' | cat 输出的就是 --help echo '--help' | xargs cat 输出的就是 cat 的帮助命令这是怎解释呢 一般 linux 的输入主要有两类 意...原创 2020-03-28 22:49:20 · 469 阅读 · 0 评论 -
802.11 wireless 详解
wireless 是个广义的概念 这个 空气波形传播写以在1991年时就标准化了在后来一步步补充完善, 它包含短波传输 bluetooth nfc ,中场波wlan 和 zigbee .下来我们讲一下wlan 的相关概念;在开阔的空间两个设备要通讯 我们需要那些 东西呢,1. 我如何找到要通信的对向,2. 如何验证对方就是我要铜须的对象3. 如何保证通讯的安全性基于以上三...原创 2019-10-13 17:20:17 · 1013 阅读 · 0 评论 -
linux malloc calloc realloc 的区别
最近在做项目是遇到了 realloc 导致的问题,现在我就简单的将一些 这个memory 分配函数的区别。首先要明白一点 他们都是在堆中 分配空间,并且分配的都是连续的空间。malloc 没有什么特别的 就是分配一段连续的地址。calloc 和malloc 不不同的地方在于他分配完以后就会初始化为0realloc 就是在原来的基础上重新分配一段, 这里这主意 如果是减小mem...原创 2019-10-13 16:04:33 · 257 阅读 · 0 评论 -
Linux NAT 类型详解
什么是NAT? 为什么需要NAT? 下面我们就详细的了解一下。为什么需要nat 以为我们的IPv4 地址有限 不可能全世界的人没人分一个也没关系,如果够全世界每人一个 我们就不需要nat了你只要知道我的ip就可以找到我了。 正式给予这种ipv4的局限性,为了节省公网ip 就必须有一种个丝网和公网转换的方式,这种方式就是NAT. 因此大家也就明白了ipv6 为什么可以不走nat 而直接走 route...原创 2018-04-27 20:27:53 · 5726 阅读 · 1 评论 -
linux 中 error 处理函数详解
其实写程序不难 最难的是如何debug 程序,在linux 中有许多的debug 方式 下面我们讲一种比较常用的error 输出 方式。头文件 当我们在操做一些函数是会出现一些错误,例如我们用fopen 函数读写打开一个只读权限的文件。 我们先要知道 出错的局体原因。这是error 函数据派上用场了。三个函数如下:1. void error (int st原创 2017-10-11 15:28:09 · 2375 阅读 · 0 评论 -
加密解密及openssl 详解
说到加密 必然的 把他分成两类: 1. 对称加密; 2. 非对称加密:这两种加密的方式分类是根据加密解密时是否用同一密钥来命名的, 对称加密比较成熟,非对称加密是比较新的一种加密方式,他们各有优缺点。 下面我们就具体的分析一下两种加密方式。对称加密: 他的的加密过程如下图: 这种加密原创 2017-10-06 19:14:42 · 1182 阅读 · 0 评论 -
linux vim .bashrc 配置以及一些常用的linux 命令解析(下)
在上半篇幅中我们主要linux中的一些常用命令,下面我们介绍一下,linux的编辑器vim 和启动项的配置以及linux文件夹的介绍:vim之所以受人青睐主要是由于,他的可扩展性比较好,有许多的灵活的配置。 一般安装vim后在 /etc/vim/下有一个.vimrc 文件这就是vim的root用户配置文件,vim配置文件只对用户有效,因此在你的用户下也应该有一个.vimrc文件的。这个原创 2015-11-09 21:41:56 · 14050 阅读 · 0 评论 -
linux vim .bashrc 配置以及一些常用的linux 命令解析
linux 命令详解原创 2015-11-06 18:33:29 · 12419 阅读 · 1 评论