Linux
文章平均质量分 75
Qiuoooooo
这个作者很懒,什么都没留下…
展开
-
linux常用命令 (包括VIM的用法)
linux常用命令(ubuntu下):(1) ls(list,列表)作用:使用列表把当前文件夹下所有文件显示出来ls -a 显示所有文件,包括隐藏文件ls -l 以详细信息显示ls -a -l, ls -l -a, ls -la, ls -al四种方式都是可以的ls -l显示的详细信息中:-rw-r--r--drwxr-xr-x一共10个字符,第原创 2016-10-14 11:48:16 · 578 阅读 · 0 评论 -
FLASH介绍
常见的flash分为 NAND FLASH 和 NOR FLASH两种对比:1. NAND的写入速度比NOR快很多 2. NAND的擦除次数多,速度也比NOR快3. NAND容量大而且便宜3. 但是,NAND的读取速度远不及NOR4. 而且,NAND使用过程中容易出现坏块因此,NOR FLASH常用于存储程序,而大部分U盘都是NAND FLASH原创 2017-08-09 18:02:33 · 1088 阅读 · 0 评论 -
tmpfs介绍
tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。Swap是通过硬盘虚拟出来的内存空间,转载 2017-08-10 15:40:10 · 1467 阅读 · 0 评论 -
linux进程优先级、进程nice值(转载)
进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。一、先看系统进程:首先,我想用一个简单的命令来引起这个议题。 无论在linux或者unix系统中,用ps –l命令则会类似转载 2017-08-10 17:06:22 · 879 阅读 · 0 评论 -
Linux下通过源码编译安装程序
首先当然是先把某开源库的压缩包下载下来,然后解压\1. 配置./configure --host=arm-linux --prefix=/opt/xxx--host 指明交叉编译工具链前缀--prefix 指明最终生成的库的存放路径PS:当然还有其他很多参数,不过常用的就是这两个(最多还有个 CC)。configure执行后将生成MakeFile文件。2原创 2017-08-11 23:10:58 · 417 阅读 · 0 评论 -
getaddrinfo介绍
一. getaddrinfo函数原型:int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res);参数说明: node:主机名或域名(如:www.baidu.com) service:端口号,一般直接给NULL原创 2017-09-04 14:53:54 · 1083 阅读 · 0 评论 -
Linux下send、sendto、sendmsg函数分析
转至:http://blog.chinaunix.net/uid-20788636-id-1841431.html功能描述:发送消息,send只可用于基于连接的套接字,send 和 write唯一的不同点是标志的存在,当标志为0时,send等同于write。sendto 和 sendmsg既可用于无连接的套接字,也可用于基于连接的套接字。除了套接字设置为非阻塞模式,调用将会阻塞直到数据转载 2017-09-04 15:05:54 · 2261 阅读 · 0 评论 -
inet_pton()和inet_ntop()函数详解
转载至:http://blog.csdn.net/zyy617532750/article/details/585957001.把ip地址转化为用于网络传输的二进制数值int inet_aton(const char *cp, struct in_addr *inp);inet_aton() 转换网络主机地址ip(如192.168.1.10)为二进制数值,并存储在struc转载 2017-08-30 14:28:19 · 848 阅读 · 0 评论 -
sscanf 与 正则表达式
sscanf 作用:从一个字符串中读取转载 2017-09-20 09:25:19 · 966 阅读 · 0 评论 -
linux coredump介绍
在程序异常退出时,内核会生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可以限制core文件转载 2017-11-27 09:52:28 · 759 阅读 · 0 评论 -
Linux awk和sed命令详解
http://blog.csdn.net/SeeTheWorld518/article/details/48630271转载 2017-12-04 17:13:09 · 433 阅读 · 0 评论 -
/etc/inittab,/etc/init.d/rcS和/etc/profile分析
在kernel挂载根文件系统后,运行的第一个程序是根目录下的linuxrc,实际是一个指向/bin/busybox的链接, 也就是说系统起来后运行的第一个程序是busybox本身。busybox首先解析/etc/inittab这个进行初始化的配置文件, 里面内容如下:# Boot-time system configuration/initialization script.::sy原创 2018-02-09 17:52:29 · 2808 阅读 · 0 评论 -
system命令需要注意的地方
子进程终止或者停止时,会将SIGCHID信号发送给其父进程,但是系统默认是忽略此信号。如果父进程希望被告知其子系统的这种状态,则应捕捉此信号。执行system函数时,SIGCHLD信号,最好被显示,因为system函数中,使用到了fork(),waitpid.如果父进程忽略了SIGCHID信号,waitpid就没有不能得到子进程的SIGCHLD信号,那么处理的返回值就会有问题。system的返原创 2018-03-06 10:24:34 · 1517 阅读 · 0 评论 -
linux编译so库
一、动态库so的编译以一个例子来说明。 这里有三个so_test.h, test_a.c, test_b.c#ifndef _SO_TEST_H_#define _SO_TEST_H_void test_a();void test_b();void test_c();#endif /* _SO_TEST_H_ */#include #include "so_test.h"原创 2018-03-29 08:50:54 · 13169 阅读 · 0 评论 -
socket查询存在的网卡接口
#include <stdio.h>#include <string.h>#include<sys/ioctl.h>#include<sys/types.h>#include<sys/socket.h>#include<net/if.h>#include "errno.h"int main(void){原创 2018-07-06 18:50:31 · 694 阅读 · 0 评论 -
linux搭建telnet登录
一、 文件系统支持telnetbusybox默认是把telnet和telnetd功能编进去了的,所以这一步一般都省了。二、 挂载devpts文件系统需要在dev目录下建立pts文件夹,并将它挂载成devpts类型。mkdir /dev/ptsmount -t devpts devpts /dev/pts三、 开启telnetd服务telnetd -l /bin/原创 2017-08-09 14:10:14 · 794 阅读 · 0 评论 -
linux下 /proc 和 /sys 详解
概要:/proc 正在运行的内核信息映射 主要输出: 进程信息 内存资源信息磁盘分区信息等等 /sys 硬件设备的驱动程序信息一、 /proc 文件系统/proc下文件基本都是只读的,除了/proc/sys目录,它是可写的(查看和修改内核的运行参数),详细介绍,查看《etc下sysctl.conf》/proc下数字命令的目录就是对于原创 2017-08-09 12:39:08 · 13320 阅读 · 1 评论 -
undefined reference问题总结
转载自:http://ticktick.blog.51cto.com/823160/431329最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会转载 2016-11-09 15:41:36 · 386 阅读 · 0 评论 -
_IO, _IOR, _IOW, _IOWR 宏的用法与解析
今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:转载 2016-11-09 16:26:56 · 359 阅读 · 0 评论 -
linux ioctl()函数
一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下: int ioctl(int fd, ind cmd, …); 其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至于后面的省略号,那是一些转载 2016-11-09 16:35:44 · 430 阅读 · 0 评论 -
gdb调试学习(一)
一.gdb常用命令:命令描述backtrace(或bt)查看各级函数调用及参数finish连续运行到当前函数返回为止,然后停下来等待命令frame(或f) 帧编号选择栈帧info(或i) locals查看当前栈帧局部变量的值list(或l)原创 2016-11-21 15:11:26 · 518 阅读 · 0 评论 -
C中使用正则表达式验证email地址和IP地址
C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),C语言中使用正则表达式一般分为三步:编译正则表达式 regcomp()匹配正则表达式 regexec()释放正则表达式 regfree()本篇文章主要是通过regcomp()、regexec()、regerror()、regfree()函数在c中的应用,复习转载 2017-02-13 16:23:05 · 2980 阅读 · 0 评论 -
查看、关闭登录到linux的终端
平时通过SSH,telnet等登录到linux系统时,就会生成一个PTS表征某一登录用户。 (至于什么是tty,什么是pts 自行百度)下面是相关常用的命令:1. 列出当前登录到系统的用户 whoroot@ubuntu:/# whoroot pts/0 2017-03-01 09:51 (192.168.3.151)root pts/1原创 2017-03-01 18:20:05 · 2597 阅读 · 0 评论 -
__attribute__((packed))的作用
__attribute__ ((packed)) 的作用 告诉编译器,取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。 这个功能是跟操作系统没关系,跟编译器有关,gcc编译器为提高效率,默认是4字节(32位)对齐原创 2017-03-02 10:18:15 · 447 阅读 · 0 评论 -
linux下的route命令详解
什么是路由表?路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表,表中包含的信息决定了数据转发的策略。分为:静态路由表和动态路由表route命令作用:route命令用于显示和操作IP路由表。 (原创 2016-12-05 09:18:23 · 1573 阅读 · 0 评论 -
IPC之共享内存详解
一、linux共享内存介绍二、预备知识 1. ftok函数 2. shmid_ds 结构体三、共享内存函数 (shmget、shmat、shmdt、shmctl)原创 2017-03-01 11:26:49 · 1136 阅读 · 0 评论 -
IPC之信号量详解
一、信号量介绍作用:实现进程间的同步和互斥。信号量,确切地说是信号量集,集合里有≥1个信号量成员。可以把信号量集比作数组,信号量当做数组用的元素。但是,常用的信号量集都只有一个信号量成员。所以,平常说的信号量一般都指只有1个信号量成员的信号量集。个人理解:信号量类似标志位。平常的标志位是这样的,初始flag =1. 如果flag=0则去执行某些操作,在程序的某些地方使flag置0。原创 2017-03-06 11:40:02 · 1468 阅读 · 0 评论 -
IPC之管道详解
管道(无名管道)(1)管道通信的原理:内核维护的一块内存,有读端和写端(管道是单向通信的)(2)管道通信的方法:父进程创建管理后fork子进程,子进程继承父进程的管道fd(3)管道通信的限制:只能在父子进程间通信、半双工(4)管道通信的函数:pipe、write、read、close有名管道(fifo)(1)有名管道的原理:实质也是内核维护的一块内存,表现形式为一个有名字的原创 2017-03-07 09:37:03 · 623 阅读 · 0 评论 -
mtd和mtdblock的区别
https://my.oschina.net/shelllife/blog/123482mtdN 是字符设备,mtdblockN 是块设备通过proc文件系统查看mtd设备的分区情况:/ # cat /proc/mtd dev: size erasesize namemtd0: 00100000 00010000 "boot"mtd1: 00400000 0001转载 2017-03-30 15:02:09 · 820 阅读 · 0 评论 -
Linux下查找输出文本中特定的内容
下面的例子是查找ARP缓存列表中的IProot@ubuntu:~# cat /proc/net/arp IP address HW type Flags HW address Mask Device192.168.77.24 0x1 0x2 38:d4:38:29:76:19 *原创 2017-05-12 15:42:14 · 8526 阅读 · 0 评论 -
/etc/sysctl.conf介绍
/etc/sysctl.conf这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。cat /etc/sysctl.conf 内容大概是如下格式:fs.file-max = 3145728fs.suid_dumpable = 1kernel.core_uses_pid = 1kernel.printk = 4 4 1 7ker原创 2017-08-09 12:37:49 · 16818 阅读 · 2 评论 -
关于linux移植碰到Resetting CPU ...的问题
今天做wifi移植,更改kernel后重新编译烧录运行,发现板子一直重启,报Resetting CPU ...的错误,如下:## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-3.18.20 Image Type: ARM Linux Kernel Image (uncompress...原创 2018-07-25 18:11:16 · 1866 阅读 · 0 评论