Linux
文章平均质量分 69
翻身闹京城
安得广厦千万间,大庇天下寒士俱欢颜!
展开
-
vi /vim 键盘图
转载 2014-05-05 11:18:11 · 751 阅读 · 0 评论 -
Linux常用命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui转载 2014-09-16 08:56:58 · 361 阅读 · 0 评论 -
Linux平台查看某个进程的线程
之前因为线程内出现异常导致Python部分线程退出,程序以单线程方式运行了好几个星期,浪费了很多时间。如何查看当前进程有多少个存活线程呢?方法1)pstree -p 4761(进程ID)。如下截图所示: 方法2)cat /proc/4761(进程ID)/status。如下图所示: 方法3)top -p 4761(转载 2014-11-17 10:08:56 · 991 阅读 · 0 评论 -
linux mmap函数详解
linux mmap 详解谨以此文纪念过往的岁月一.前言mmap的具体实现以前在学习内核时学习过,但是对于其中的很多函数是一知半解的,有些只能根据其函数名来猜测其具体的功能,在本文中,一起来重新深入理解其具体的实现。二.mmap的用户层应用void *mmap(void *start,size_t length,int prot,int flags,int fd,o转载 2014-12-19 10:27:55 · 901 阅读 · 0 评论 -
交叉编译SQLite
SQLite3 (http://www.sqlite.org)是一个非常强大的小型开源数据库软件,特别嵌入到一些软件中存储数据,当然,移植到嵌入式系统上也是非常有必要的。众所周知的Symbian,Android, IOS这几大移动平台都是使用的sqlite作数据存储,使用SQLite的厂商包括Adobe, Airbus, Apple, Dropbox, Mozilla, GE, Google, M转载 2015-01-13 18:59:25 · 1540 阅读 · 0 评论 -
Linux bin和、sbin目录的区别
bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 /usr/bin: 主 要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、fr转载 2015-01-16 11:26:25 · 481 阅读 · 0 评论 -
Linux硬件时钟和系统时钟设置
Linux时钟分为系统时钟(System Clock)和硬件时钟(Real Time Clock,简称RTC)。系统时钟是指当前Linux Kernel中的时钟;而硬件时钟则是主板上由电池供电的时钟,硬件时钟可以在BIOS中进行设置。当Linux启动时,系统时钟会去读取硬件时钟的设置,然后系统时钟就会独立于硬件时钟运作。 Linux关于时间的设置的shell命令有date原创 2015-01-05 15:37:32 · 1305 阅读 · 0 评论 -
Linux运行错误:error while loading shared libraries: xxx.so.0:cannot open shared object file: No such fil
链接时可以通过-L和-l来指定自己的库,因此链接可以通过,但是运行时,系统仍无法找到指定的库,需要简单配置一下。解决方法1: 可以直接在将自己的库所在路径添加到/etc/ld.so.conf文件中。但一般这个文件中的内容都是一句“include /etc/ld.so.conf.d/*.conf”,因此最好在/etc/ld.so.conf.d/目录下新建一个文件 , 如“xxx.con原创 2015-03-06 10:54:16 · 3082 阅读 · 0 评论 -
Linux环境变量
一、Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1、永久的:需要修改配置文件,变量永久生效。 2、临时的:使用export命令声明即可,变量在关闭shell时失效。二、环境变量的查看 1、 使用echo命令查看单个环境变量。例如: $ echo $PATH 2、 使用env转载 2015-07-06 08:31:06 · 374 阅读 · 0 评论 -
awk
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred转载 2014-09-10 14:32:33 · 392 阅读 · 0 评论 -
Linux下用C语言设置和获取系统时间
一、Unix/Linux系统下有以下几种时间结构:1、time_t 类型:长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒;由函数time()获取; 该类型定义在头文件 /usr/include/sys/time.h 中: #define _TIME_T typedef long time_t;原创 2014-06-16 17:31:13 · 9396 阅读 · 0 评论 -
跟我一起写 Makefile
最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看完发现这篇文章和《Linux环境下的C编程指南》的makefile一章所讲述的惊人的相似,只是这篇文章从一个实例切入,在有些地方比转载 2014-04-02 21:40:26 · 563 阅读 · 0 评论 -
Linux的库文件(二)
先说说库文件是怎么来的吧。以C为例,我们写一个程序,一般都不会把所有的函数都写在一个文件里面,通常都是划分模块,然后一个模块若干个文件,然后在main文件里面调用这些模块。我这里用一个magic.c文件代替实际程序中的所有的文件,你就当这个magic.c文件非常神奇,你调用里面的magic()函数后,它会自动按你的想法把剩下的工作都完成。下面是两个文件:main.cin转载 2014-03-26 14:36:22 · 713 阅读 · 0 评论 -
交叉编译器安装
交叉编译版本很多,找个合适的交叉编译器,常用的含有eabi功能的4.1.2和4.3.2版本的。在这我以arm-linux-gcc-4.3.2.tgz为例。首先,将arm-linux-gcc-4.3.2.tgz放到samba服务器下,解压tar xzfv arm-linux-gcc-4.3.2.tgz -C/我们在解压过程中发现默认解压到usr/local/arm/4.3.原创 2014-03-24 14:40:38 · 508 阅读 · 0 评论 -
Linux的库文件(一)
一、lib类型: 与windows下静态库(.lib)和动态库(.dll)一样,linux同样存在静态库(static library 文件后缀为.a)和共享库(shared library 文件后缀为.so),在/usr/lib目录下同时存在一个库的静态版本和动态版本。 "An archive (or static library) is simply a collection转载 2014-03-26 11:04:54 · 627 阅读 · 0 评论 -
gdb调试
GDB十分钟教程作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的转载 2014-04-08 15:44:58 · 461 阅读 · 0 评论 -
select 函数使用方法
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等 待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。 可是使用Select就可以完成非阻塞(所谓非原创 2014-04-23 10:40:44 · 775 阅读 · 0 评论 -
Linux的库文件*(三)
一、为什么要使用库文件 我们在实际编程工作中肯定会遇到这种情况:有几个项目里有一些函数模块的功能相同, 实现代码也相同,也是我们所说的重复代码。比如,很多项目里都有一个用户验证的功能。 代码段如下: //UserLogin.h文件,提供函数声明 int IsValidUser(char* username, int namelen); /转载 2014-03-26 14:40:42 · 601 阅读 · 0 评论 -
stdin,stdout,stderr与STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO的区别
首先要知道 FILE *stdout 和 STDOUT_FILENO 的区别。stdin类型为 FILE*STDIN_FILENO类型为 int使用stdin的函数主要有:fread、fwrite、fclose等,基本上都以f开头使用STDIN_FILENO的函数有:read、write、close等操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN转载 2014-06-23 16:36:22 · 1958 阅读 · 0 评论 -
Linux的零拷贝技术(zero-copy)
如果应用程序可以直接访问网络接口存储,那么在应用程序访问数据之前存储总线就不需要被遍历,数据传输所引起的开销将会是最小的。应用程序或 者运行在用户模式下的库函数可以直接访问硬件设备的存储,操作系统内核除了进行必要的虚拟存储配置工作之外,不参与数据传输过程中的其它任何事情。直接 I/O 使得数据可以直接在应用程序和外围设备之间进行传输,完全不需要操作系统内核页缓存的支持。关于直接 I/O 技术的具体转载 2015-08-22 11:54:09 · 10201 阅读 · 1 评论