linux基本操作
流水石板路
物联网 机器人 自动控制 嵌入式
展开
-
搭建TFTP服务
前言:可以在一台服务器(虚拟机)上搭建TFTP服务,将需要向其他客户端(开发板)共享的文件放在服务器的指定路径,客户端可以使用tftp命令从服务器路径下载文件。操作:1- 服务端(虚拟机)安装必要软件sudo apt-get install tftp-hpa tftpd-hpasudo apt-get install xinetd2- 服务端创建共享文件夹mkdir /var/tftpboot/chmod 777 /var/tftpboot/3- 配原创 2022-01-09 22:34:05 · 2874 阅读 · 0 评论 -
抛栈的寄存器RIP等是什么意思?
参考:https://blog.csdn.net/hit_shaoqi/article/details/108063166转载 2021-02-20 14:54:57 · 3026 阅读 · 0 评论 -
内核coredump
参考帖子:https://www.cnblogs.com/justin-y-lin/p/5598305.html转载 2021-02-20 14:29:45 · 213 阅读 · 0 评论 -
反汇编相关帖子
objdump:objdump命令参数简介转载 2021-02-20 11:51:59 · 87 阅读 · 0 评论 -
三次握手 四次挥手
参考:三次握手四次挥手盗图如下:原创 2020-12-26 16:24:38 · 107 阅读 · 0 评论 -
pid pgid sid关系
看这篇就够了:pid pgid sid关系原创 2020-12-24 09:22:39 · 690 阅读 · 0 评论 -
main函数传参、转化
参考:UNIX环境高级编程、linux man 示例#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/wait.h>#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \ } while (0)int main(int argc, c原创 2020-11-04 13:33:41 · 165 阅读 · 0 评论 -
linux man在线手册
http://www.tin.org/bin/man.cgi原创 2020-11-04 13:20:02 · 1702 阅读 · 0 评论 -
linux基础操作_gdb应用-2
查看这篇帖子linux基础操作_gdb应用,基本应用就会了。命令 描述 backtrace(或 bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或 f)帧编号 选择栈帧 info(或 i) locals 查看当前栈帧局部变量的值 list(或 l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号 列出从第几行开始的源代码 list 函数名 列出某个函数的源原创 2020-11-03 17:33:14 · 205 阅读 · 1 评论 -
哈希表-linux链表-7
哈希表是一种单链表,但是比单链表多了个pprev。这个pprev是二级指针,用于保存前一个节点->next的地址。这样就有点类似双链表了。姑且当做1.5链表吧。。。。pprev用法:*本节点->pprev = &前一节点->next理解了pprev,哈希表就很好理解了。也有哈希表初始化、添加、删除、移动、遍历等接口,类似于双向链表。...原创 2020-10-16 17:28:10 · 145 阅读 · 0 评论 -
经验贴-linux链表-8
看list.h时候,两次遇到不太理解的接口,百度搜到了同一个人的帖子。感觉这个人不简单啊,进了他的github空间。里面有很多内核API接口的例子list相关例子(双链表、单链表、哈希链表):list路径内核其他例子:其他例子...原创 2020-10-16 16:35:52 · 82 阅读 · 0 评论 -
接口列表-linux链表-6
linux内核里的字符串转换 ,链表操作常用函数(转)原创 2020-10-16 16:21:19 · 88 阅读 · 0 评论 -
list_cut_position-linux链表-5
注解:对于list_cut_position的用法不能理解,看了实际的例子才知道如何用的。主要是对于list、entry和head的关系没搞太明白。list:是一个空链表头,可以是head也可以不是entry:是head链表的任意一个节点这样就比较好理解了,加入我有个链表,链表头为head,下面有0-5,共5个节点。我现在初始化了一个新的链表头list,下面没有节点。我想把head下面的3-5号节点拿过来。调用接口传参为:list_cut_position(lis.原创 2020-10-16 15:02:56 · 715 阅读 · 1 评论 -
LIST_POISON1 LIST_POISON2-linux链表-4
static inline void list_del(struct list_head *entry){ __list_del(entry->prev, entry->next); entry->next = LIST_POISON1; entry->prev = LIST_POISON2;}摘录如下:删除就是把某一节点从链表中删除。entry->next = LIST_POISON1;entry->prev = LIST_POISON2; LIS..原创 2020-10-16 12:07:51 · 1699 阅读 · 0 评论 -
WRITE_ONCE-linux链表-3
在__list_del接口中使用了WRITE_ONCE接口,为何这样做,参考:WRITE_ONCE函数和list.h原创 2020-10-16 12:00:56 · 265 阅读 · 0 评论 -
链表初始化-linux链表-2
参考:链表初始化原创 2020-10-15 10:40:39 · 130 阅读 · 0 评论 -
初识链表-linux链表-1
目的:初始链表操作参考:linux 应用层编程之内核链表list的使用linux中链表的使用原创 2020-10-14 21:38:24 · 118 阅读 · 0 评论 -
打印函数调用栈
前言:我有时候对于程序调用不明显的时候,看程序很费劲,这时候我们希望把程序调用链打印出来。对于库函数提供了线程接口。backtrace()、backtrace_symbols()、backtrace_symbols_fd()可以在linux环境中通过manbacktrace查看其用法,man手册里面还附着了一个示例,可以参考下。其实网上的教程都是结合这个示例写的。我的也不例外。移植代码:直接上核心部分,如果你想看func_1的上级调用是谁,可以把这个接口放到这个函数里。..原创 2020-08-23 21:26:34 · 1290 阅读 · 0 评论 -
linux基础操作_GDB简单使用
学习目标:学习gdb的用法,包括常用的单步调试、设置断点。总结:gdb使用可执行文件进入调试模式,可执行文件生成过程加-g参数重点关注相关断点命令(break 行; info break; delet 断点号; clear 断点行)及查看变量值print。前言:gdb接触的少,这里只是简单了解下,知道用于调程序,像windows下的keil等可以设置断点调单片机...原创 2020-02-27 22:11:19 · 191 阅读 · 0 评论 -
vim常用命令
先学习下编辑(编辑:i、a;插入行o/O)、复制(yy、p)、删除(x、dd)、跳转行(^、$、gg、行号、0)https://www.jianshu.com/p/aea9276092ab原创 2020-02-21 09:08:25 · 120 阅读 · 0 评论 -
linux基本操作_2
学习目标:学习掌握基本的shell命令使用:ls文本查看:cat、more、less、tail、head搜索:find、locate正文1- lsa-查看当前目录下文件拓扑:ls -R。强烈推荐ls -Rb- 匹配用法ls *.c //匹配列出当前路径下.c后缀的所有文件名ls test[1,2].c //匹配列出当前路径下test1.c t...原创 2020-02-13 11:17:58 · 191 阅读 · 0 评论 -
查看当前进程的pid
ps -ef 可看到所有进程的PIDgetpid()可获取进程的pid号,参考:https://blog.csdn.net/u010743406/article/details/104238987杀死进程:kill -9 进程号原创 2020-02-09 19:26:26 · 1882 阅读 · 0 评论 -
设备驱动编程:查看函数所在头文件-5
在字符设备编程过程中,经常会出现没有包含头文件的告警,刚开始学习对linux也不熟悉,不能快速找到要添加的头文件,可这把我难坏了。。。不会问百度啊,果然找到了。言归正传,放大招:man 函数名没错就这么简单!!示例:我要在用户态程序中读写字符设备,需要用到read()函数,它在那个头文件中呢?没错就是在unistd.h中!参考:https://blog.csdn...原创 2020-02-07 16:56:44 · 290 阅读 · 0 评论 -
linux基本操作1
目的:学习cp;mv;创建用户;更改用户组、用户属组;1- 复制文件cp 文件路径 要复制的文件路径 //如果要复制文件夹使用-r参数2- 移动文件a- 移动mv 文件路径 要移动的文件路径 b- 更改文件名mv 原文件名 新文件名3- 创建用户a- 创建用户/*简单用法*/useradd 用户名 /*为用户指定家目录*/useradd...原创 2020-02-06 10:55:54 · 79 阅读 · 0 评论