linux C语音
Linux系统下基础C或驱动相关知识总结
生命如歌,代码如诗
我来时愿翻山越岭,若遇你可四海为家!
展开
-
Linux环境变量的加载
以下是5个添加环境变量的位置,其作用时间和作用域有所不同。Linux环境变量的加载顺序。再打开的文件中添加路径。原创 2022-07-25 11:20:37 · 2760 阅读 · 1 评论 -
linux vi文件加密和文件解密
用cat或more查看文件内容,显示为乱码;用vim/vi重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码!进到编辑模式,输入完内容后按ESC,然后输入X(注意是大写的X),回车;保存后退出,现在这个文件已经加密了;注意文件加密后,千万别忘了密码!请再输入一次*******输入密码*******...原创 2022-07-25 11:17:36 · 1212 阅读 · 0 评论 -
C/C++glob函数遍历文件夹所有文件
在文件夹中有许多文件,需要一一选择,然后对文件进行操作。这个时候事先遍历文件夹的所有文件,等到获取到每一个文件的名字后,再读取文件的内容,然后进行操作。转载 2022-06-10 13:55:56 · 3244 阅读 · 1 评论 -
ftp操作命令
一、获取远程文件,下载到本地ftp登录ftp 远程ip 按提示输入账号、密码get获取文件到本地get 远程路径/文件 本地路径/文件这样就将远程/usr/bin目录下的tcpdump下载到本地/home/xxx/目录下了。...原创 2021-12-22 11:03:25 · 9976 阅读 · 0 评论 -
查看磁盘剩余空间大小
查看磁盘当前剩余空间和可用空间大小 #include <sys/statfs.h> #include <stdio.h> int main() { int averSize = 0; int availableSzie = 0; Char storagePath[256] = “/tmp”; struct statfs disk_statfs; if (statfs(storagePath, &disk_statfs) >=原创 2021-11-12 15:18:04 · 838 阅读 · 0 评论 -
update和upgrade的区别
update侧重的是更新,主要是为原有的东西增加新功能,或者对已有的部分做出更改等。比如,数据库更新数据,那么就是update,而不能用upgrade。upgrade侧重的的升级,是指从较低级版本升级到高级的版本,这种升级往往伴有新功能的增加,因此也有update的意思。比如,升级套餐,只能用upgrade,而不能用update。但是在计算机领域,软件、系统的更新和升级往往是同一个意思,在这种环境中update和upgrade是可以通用的。只是往细了说update是量上的变化,而upgrade质上的变化原创 2021-10-14 09:31:05 · 4917 阅读 · 2 评论 -
一看就懂的TCP三次握手原理
https://gank.io/post/5e5529c5efd6f28e2554f47c原创 2020-09-10 14:53:24 · 199 阅读 · 0 评论 -
tar使用命令详解
将/lib文件夹压缩为tmp_lib.tar: tar -cvf ./tmp_lib.tar ./lib/将tmp_lib.tar解压到当前的lib目录下: tar -xvf ./tmp_lib.tar -C ./lib/ 注: -C 文件解压到指定的目录下将tmp_lib.tar进一步压缩成lzma格式 lzma -9 tmp_lib.tar 生成对应lzma文件:tmp_lib.tar.lzma解压时去除目录结构 --strip-components N:比.原创 2021-05-24 16:18:46 · 1849 阅读 · 0 评论 -
ftp可以登录,但路径下只读不能修改的问题
权限问题,重新挂载。比如/usr/bin下需要读写权限,重新挂载: mount -o remount,rw /usr/bin/敲命令mount查看挂载情况:如上图所示,此时/usr/bin路径下已经有读写权限。原创 2021-05-19 16:26:01 · 1865 阅读 · 0 评论 -
linux常用命令
/opt/arm-hisiv500-linux/bin/arm-hisiv500-linux-uclibcgnueabi-strip xxx.so查看文件版本,是否被strip等 file *.so查看文件依赖readelf -d xxx.soreadelf -s xxx.soLD_TRACE_OBJECTS=1 xxx.so转载 2021-03-23 16:27:25 · 257 阅读 · 0 评论 -
ftpput与ftpfet的使用详解
ftpput将文件从本地路径推送到服务器对端路径下:ftpput -u admin-p admin123 -P 21 172.16.0.111 /usr/bin/123456.txt /tmp/123456.txt-u 用户名-p 密码-P 端口172.16.0.111 服务器ip/usr/bin//123456.txt 服务器路径+文件名/tmp/123456.txt 本地路径+文件名注:服务器与服务器路径之间需要空格ftpget将文件从服务器对端路径下载到本地路径:ftpget -原创 2021-01-08 15:24:23 · 3864 阅读 · 0 评论 -
ftpput: can‘t connect to remote host (172.26.1.100): Connection refused
出现这个问题是不正常的连接到远程ftp对应的端口,引起这种情况的一般有一下两种原因:ip不对,远程host地址填错自然而然的就连接不上了ftp权限没开,有一些设备的端口号的ftp权限没开,所以ftpput推送数据的时候报错,这时候开启ftp权限就可以了...原创 2021-01-08 15:15:40 · 4209 阅读 · 0 评论 -
linux下C语言获取eth0的IP地址
void getStbIP(char *ipBuf){ FILE *fstream=NULL; char buff[1024]; memset(buff,0,sizeof(buff)); if(NULL==(fstream=popen("ifconfig eth0 | grep \"inet addr:\" | awk \'{print $2}\' | cut -c 6-","r"))) { snprintf(ipB原创 2020-10-20 11:06:20 · 1200 阅读 · 4 评论 -
Linux tcpdump命令详解
转自: ggjucheng :https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。实用命令实例转载 2020-08-17 15:56:27 · 286 阅读 · 0 评论 -
linux及window系统分别获取系统时间
Linux系统获取系统时间:#include <stdio.h>#include <time.h>int main() { time_t tt; time( &tt ); tt = tt + 8*3600; struct tm* t= gmtime( &tt ); printf("%d-%02d-%02d %02d:%02d:%02d\n", t->tm_year + 1900,原创 2020-05-21 14:56:13 · 508 阅读 · 0 评论 -
#pragma pack(push,1)与#pragma pack(1)的区别
前言:今天看师傅的代码,我还以为是师傅写了个bug,兴致冲冲的改掉。结果细想之下发现我皮皮马就是个瓜皮,幸亏没跟师傅说他写了个bug,不然肯定得被笑死了。一、事情发生始末下面就先把涉及到的代码给大家看一下:typedef struct{ Uint16 wSerialId; Uint16 wProtocolFlag; Uint16 wMsgLen; ...原创 2020-04-26 18:50:27 · 1520 阅读 · 0 评论 -
C中运算符优先级及其结合性细解
C的运算符有以下几类:算术运算符:* - + /关系运算符: == != = =逻辑运算符:! && ||位运算符:<< ~ | ^ &赋值运算符:=及扩展赋值运算符条件运算符:?:逗号运算符:,8.指针运算符:*和&9.求字节数运算符:sizeof强制类型转换运算符:(类型)分量运算符:. ->下标运算符:[ ]...原创 2020-04-17 14:07:34 · 225 阅读 · 0 评论 -
-bash: yum: command not found
步骤如下第一步:http://mirrors.163.com/centos/6/os/x86_64/Packages/到上面这个网站去下载如下RPM包python-iniparse-0.3.1-2.1.el6.noarch.rpmyum-metadata-parser-1.1.2-14.1.el6.x86_64.rpmyum-3.2.29-69.el6.centos.noarch.r...原创 2018-09-26 10:44:33 · 7253 阅读 · 0 评论 -
CPU亲和性(affinity)sched_setaffinity() 和 sched_getaffinity() CPU_SET()与CPU_ZERO()
CPU亲和性(affinity)就是进程要在某个给定的CPU上尽量长时间的运行而不被迁移到其他处理器的倾向性。 linux内核进程调度器天生具有软CPU亲和性(affinity)的特性,着意味着进程通常不会在处理器之间频繁迁移。这种状态正是我们希望的,因为进程迁移的频率小就意味着产生的负载小。Linux内核还包含一些机制,它让开发人员可以编程实现硬CPU亲和性(affinity)。着意味着应...原创 2018-08-17 10:41:24 · 14041 阅读 · 0 评论 -
回车、换行、空格的ASCII码值—(附ASCII码表)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/songjinshi/article/details/7868866 回车、换行、空格的ASCII码值回车,ASCII码13换行,ASCII码10空格,ASCII码32Return &amp;amp;nbsp...原创 2018-09-30 11:24:10 · 22391 阅读 · 1 评论 -
sprintf()函数的用法
头文件: stdio.h函数原型: int sprintf( char *buffer, const char *format, [ argument] … );参数列表:buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]…:可选参数,可以是任何类型的数据。例子:Uint8 ...原创 2018-08-28 09:55:33 · 1114 阅读 · 0 评论 -
#ifndef _WINDOW_ else #endif
相信大家在看代码的时候经常看到下面的代码,一开始我也是一头雾水。不过在查找相关资料后,现在理解了其中的含义#ifdef __WINDOWS__#define _PLATFORM_PREFIX_ __declspec(dllexport)#else#define _PLATFORM_PREFIX_ #endif首先应该先明白#ifdef这个关键字的作用,我们可以用它区隔一些与特定头...原创 2018-08-17 16:15:07 · 1639 阅读 · 0 评论 -
#ifdef __cplusplus extern "C"{}
extern “C”的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern “C”后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般只包括函数名。extern “C”分为两个...原创 2018-08-17 14:06:21 · 472 阅读 · 0 评论 -
Linux:获取本地IP地址、子网掩码、广播地址
Linux:获取本地IP地址、子网掩码、广播地址:最近有个项目需求需要得到自己的广播地址从而发给在同一广播域的其他设备,在网上查找了一些资料,可以调用驱动接口获取。我设备有三个ip接口:eth0、eth1、和回环地址。下面是我的代码:char* ip;int fd,intrface;struct ifreq buf[INET_ADDRSTRLEN];struct ifconf i...原创 2019-07-02 11:30:58 · 1997 阅读 · 0 评论 -
socket.io的心跳机制是怎么用的
心跳是用于判断是否掉线的,只要连着的时候就会持续每个一小会发一个心跳包,服务器如果多久没收到就判断你已经掉线了,之所以需要心跳包而不是直接判断socket的联通状态是因为在网络上有大量的连接缓存设备(如电信局的交换机、一些硬件防火墙),这些设备会保存连接一段时间(几秒到十几分钟都有)。举个例子,A客户连着B服务器,但实际上是A->中间的网络设备C->B,如果A掉线了,实际上可能是A到C...原创 2018-12-11 15:12:37 · 9791 阅读 · 0 评论 -
Linux系统下普通用户与超级用户的 切换
普通用户显示符号位$超级用户显示符号位#一般进入时可以输入账号密码进入普通用户与超级用户普通用户进入超级用户:输入su,回车,再输入登陆密码超级用户切换到普通用户:su mwf (mwf是我的普通用户名)...原创 2018-09-27 18:19:41 · 10549 阅读 · 0 评论 -
密码输入时使用*代替
我们在账号输入时一般希望密码可以用*代码显示不被其他人看见,代码中正常使用scanf()函数输入时密码会显示出来,而_getch()函数在输入的时候不会显示输入的东西。使用_getch()函数,不用getch()函数的原因借鉴(https://blog.csdn.net/ma950924/article/details/82835381)版本一:#include<stdio.h>...原创 2018-09-25 11:18:51 · 4315 阅读 · 2 评论 -
Linux操作命令大全
Linux常用命令大全最近都在和Linux打交道,这方面基础比较薄弱的我只好买了本鸟哥的书看看,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。为了方便大家查找linux的相关命令,我就将我了解到的命令列举一下,仅供大家参考:系统信息 arch 显示机器的处理器架构(1) uname -m ...原创 2018-03-26 09:22:37 · 215 阅读 · 0 评论 -
#include后用库路径与相对路径的区别
include &lt;&gt; 和#include ” “的区别#include&lt;&gt;直接从编译器自带的函数库中寻找文件 #include""是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件如果是自己写的头文件 建议使用#include“” &lt; &gt;引用的是编译器的类库路径里面的头文件 " "引用的原创 2018-08-13 14:37:56 · 6573 阅读 · 0 评论 -
C中运算符及其优先级
C的运算符有以下几类: 1.算术运算符:* - + / 2.关系运算符: == != = = 3.逻辑运算符:! && || 4.位运算符:<< ~ | ^ & 5.赋值运算符:=及扩展赋值运算符 6.条件运算符:?: 7.逗号运算符:, 8.指针运算符:*和&9.求字节数运算符...原创 2018-08-01 15:43:50 · 502 阅读 · 0 评论 -
函数重载
用同一个函数名定义不同的函数当函数名和不同的参数搭配时函数的含义不同 函数重载至少满足下面的一个条件: 1、 参数个数不同 2、 参数类型不同 3、 参数顺序不同 函数返回值不是函数重载的判断标准#include <stdio.h>#include <string.h> int func(int x){ return x;} int func(...原创 2018-03-29 14:03:18 · 145 阅读 · 0 评论 -
#ifndef/#define/#endif使用详解
转载自:https://blog.csdn.net/abc5382334/article/details/18052757 想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入...翻译 2018-03-29 14:02:18 · 396 阅读 · 0 评论 -
#ifndef/#define/#endif使用详解
转载自:https://blog.csdn.net/abc5382334/article/details/18052757 想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入#...转载 2018-03-27 13:38:49 · 251 阅读 · 0 评论 -
数据结构2
定义 ●只允许在一端插入和删除的线性表; ●允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。特点 后进先出 (LIFO)栈的栈的主要操作栈的主要操作主要操作栈的主要操作:ADT Stack { //对象:由数据类型为StackData的元素构成原创 2017-07-22 15:05:54 · 473 阅读 · 0 评论