分类 Linux 中的文章

Linux下C语言计算文件的md5值(长度32)

概览 Google 了好久都没有找到合适的,其实我只需要一个函数,能计算文件的 md5 值就好, 后来找到了 md5.h 和 md5.c 的源文件,仿照别人的封装了个函数(他那个有问题,和 md5sum 计算出来的都不一样)。 废话少说,直接贴代码: (再废一句话,如果只想计算字符串的md5值,把字符串传给 MD5Update 函数一次就好,示例:github) 源码 (github 源码……

阅读全文

libcurl 使用的几个注意事项

注: libcurl 入门指南( the tutorial ): http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 0 为使用的 curl url 添加确定的协议头 原文: If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with “ftp.” curl will assume you want to speak FTP. 1 把 curl_easy_perform() 回调数据直接写到文件中(FILE *) 原文: libcurl offers its own default internal callback that will take care of the data if you don’t set the callback with CURLOPT_WRITEFUNCTION. It will then simply output the received data to stdout. You can have the default callback write the data to a different file handle by passing……

阅读全文

linux下串口调试工具/串口终端推荐: picocom

对于 picocom, kermit, minicom, picocom 最简单易用,也完全符合我的使用需求。 安装 (mint / ubuntu): sudo apt-get install picocom 使用: picocom -b 115200 /dev/ttyUSB0 (/dev/ttyUSB0 为串口设备文件,如果用的不是USB转串口,则为 /dev/ttyS*) (可以设置一个别名,如 alias pc='picocom -b 115200 /dev/ttyUSB0',这样在终端输入 sudo pc 就可以打开终端了) 退出: Ctrl-a 是转义键,按 Ctrl-a Ctrl-q 就可以退出终端。 效果: 对比 picocom 优点:简单……

阅读全文

Linux系统编程 | 访问文件夹及其文件属性

概览 文件夹操作:opendir, readdir, closedir 文件属性:lstat 实现功能:获取指定文件夹下所有的文件(使用递归),因此就能计算所有文件大小之类的啦。。。 代码示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71……

阅读全文

ubuntu/linux mint 创建proc文件的三种方法(四)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试。 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法。 方法一:使用 create_proc_entry 创建 proc 文件(简单,但写操作有缓冲区溢出的危险); 方法二:使用 proc_create 和 seq_file 创建 proc 文件(较方法三简洁); 方法三:使用 proc_create_data 和 seq_file 创建 proc 文件(较麻烦,但比较……

阅读全文

ubuntu/linux mint 创建proc文件的三种方法(三)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试。 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法。 方法一:使用 create_proc_entry 创建 proc 文件(简单,但写操作有缓冲区溢出的危险); 方法二:使用 proc_create 和 seq_file 创建 proc 文件(较方法三简洁); 方法三:使用 proc_create_data 和 seq_file 创建 proc 文件(较麻烦,但比较……

阅读全文

ubuntu/linux mint 创建proc文件的三种方法(二)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试。 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法。 方法一:使用 create_proc_entry 创建 proc 文件(简单,但写操作有缓冲区溢出的危险); 方法二:使用 proc_create 和 seq_file 创建 proc 文件(较方法三简洁); 方法三:使用 proc_create_data 和 seq_file 创建 proc 文件(较麻烦,但比较……

阅读全文

ubuntu/linux mint 创建proc文件的三种方法(一)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试。 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法。 方法一:使用 create_proc_entry 创建 proc 文件(简单,但写操作有缓冲区溢出的危险); 方法二:使用 proc_create 和 seq_file 创建 proc 文件(较方法三简洁); 方法三:使用 proc_create_data 和 seq_file 创建 proc 文件(较麻烦,但比较……

阅读全文

Linux rmdir 命令实现 | 特别版

在学习linux系统编程的时候,实现了rmdir命令的特别版本。 因为rmdir只能删除空文件夹,而我实现的功能相当于 rm -rf path… 实现的功能 递归删除指定文件夹的所有文件 程序说明 1. my_rmdir(): 即为递归删除动作的自定义函数。 2. opendir(), readdir(), closedir(): 读取目录信息。 3. rmdir(): 删除空的文件夹; remove(): 删除文件或文件夹。 程序编译运行 程序源码 1 2 3 4 5 6 7 8……

阅读全文

Linux ls 命令实现 | 简化版

在学习linux系统编程的时候,实现了ls命令的简化版本。 实现的功能 每种文件类型有自己的颜色 (- 普通文件, d 目录文件, l 链接文件, c 字符设备文件, b 快设备文件, p 管道文件, s socket文件。共7种) 支持的参数有 -hali (a: 显示隐藏文件, i: 显示inode节点号,l: 以列表形式显示文件的详细信息,h: 人类……

阅读全文

最近文章

分类

标签

其它