
Linux之杂乱知识积累
LudyYuen
孤苦伶仃学Java~
展开
-
boa源码分析(3)--代码结构
[cpp] view plaincopy1 boa.c 主程序: ----1) 关闭文件 for(i=3;i close(i); ----2) 设置进程权限掩码 umask(~0600); rw- --- ---; ----3) 打开黑洞,并将标准输入输出指向它,转载 2015-03-19 15:11:12 · 799 阅读 · 0 评论 -
GDB调试程序(一)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879用GDB调试程序GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更转载 2015-08-09 16:24:30 · 540 阅读 · 0 评论 -
GDB调试程序(二)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Cop转载 2015-08-09 16:25:52 · 415 阅读 · 0 评论 -
GDB调试程序(三)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已转载 2015-08-09 16:27:53 · 376 阅读 · 0 评论 -
GDB调试程序(五)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print print /转载 2015-08-09 16:29:59 · 325 阅读 · 0 评论 -
GDB调试程序(六)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地转载 2015-08-09 16:31:01 · 377 阅读 · 0 评论 -
理解linux系统负荷
一、查看系统负荷如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了。在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行)。(另外,它们在苹果公司的Mac电脑上也适用。)你在终端窗口键入uptime,系统会返回一行信息。这行信息的后半部分,显示"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从转载 2015-08-02 13:44:25 · 386 阅读 · 0 评论 -
理解inode
inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。下面就是我的inode学习笔记,尽量保持简单。===================================理解inode作者:阮转载 2015-08-02 14:10:52 · 308 阅读 · 0 评论 -
Linux 的启动流程(Debian发行版)
半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关转载 2015-08-02 16:07:05 · 628 阅读 · 0 评论 -
关于提高应用库的平台可移植性
最近review图像处理ISP的API接口代码,看到3A库里面时,发现应用通过3A库的接口向库注册Linux平台的memcpy, memset, printf等常用的C库函数,当时不太理解为什么3A有这样的需求,后来在看代码时恍然大悟——3A库是一个很通用的图像处理库,很多时候会被应用到多个平台,比如Linux,RTOS等其他操作平台,C库函数虽然变化不大,但为了避免移植时发生不兼容,干脆直接提供原创 2016-05-13 11:12:29 · 717 阅读 · 0 评论 -
总线flash和spi flash
flash一般都是spi接口的,所以Uboot里面的操作命令用的是sf。SPI:serial peripheral interface串行外围设备接口,是一种常见的时钟同步串行通信接口。外置flash按接口分有总线flash,SPI flash。总线flash需要你的MCU上有外部总线接口,SPI flash就是通过SPI口对flash进行读写。速度上,总线flash比SPI的快,但是S原创 2016-05-16 13:27:41 · 2778 阅读 · 0 评论 -
对于linux下system()函数的深度理解
本篇文章主要介绍了"对于linux下system()函数的深度理解(整理)",主要涉及到对于linux下system()函数的深度理解(整理)方面的内容,对于对于linux下system()函数的深度理解(整理)感兴趣的同学可以参考一下。这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入sys转载 2016-05-09 22:46:56 · 1315 阅读 · 0 评论 -
RTSP中摘要认证
rtsp认证分为2种,基本认证(basic authentication),摘要认证(digest authentication)基本认证是http1.0的认证方案,另一个是1.1针对1.0的改进版本,1.0的由于存在未加密直接传送有安全隐患,1.1的经过MD5转换,具备更高的安全性.在rtsp交互中OPTIONS rtsp://192.168.1.104:8554/tes转载 2016-05-09 23:10:36 · 5898 阅读 · 0 评论 -
Linux创建用户后涉及到的文件及目录以及完全删除用户
进入系统后,首先我们创建一个用户账号。这里我创建一个账户是ycc,使用useradd ycc就完成了。然后使用ls /home,就可以查看刚刚我们创建的用户账户。以及创建用户账号时对/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件的修改,在文件中添加了该用户和组的相关信息。删除一个用户,#userdel -r ycc#完全删原创 2017-02-22 15:35:33 · 2350 阅读 · 0 评论 -
GDB调试程序(七)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。转载 2015-08-09 16:32:13 · 370 阅读 · 0 评论 -
GDB调试程序(四)
转载于:http://blog.youkuaiyun.com/haoel/article/details/2879查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB转载 2015-08-09 16:28:56 · 379 阅读 · 0 评论 -
boa源码分析(1)--Makefile
[javascript] view plaincopy# Generated automatically from Makefile.in by configure. # $Id: Makefile.in,v 1.59 2002/03/24 22:20:19 jnelson Exp $ //本makefile 由autotools生成 .SUFFI转载 2015-03-19 15:05:04 · 492 阅读 · 0 评论 -
boa源码分析(2)--关于Boa和CGI
1.2 Boa的特点 在μClinux中常用的Web服务器有:Boa,thttpd,httpd,其中httpd只支持静态页面,显然不适合高级应用,thttpd和 Boa所提供的功能基本一样,但是thttpd在运行过程中所需要的资源要远大于Boa,因此使用Boa作为该嵌入式系统的Web服务器。系统的软件开发模型选用B/S模型。 Boa是一个高性能的单任务型Web服务器,可以运行在转载 2015-03-19 15:08:25 · 1193 阅读 · 0 评论 -
修改终端输出字符颜色
给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。颜色: 1.#define NONE "\033[m" 2.#define RED "\033[0;32;31m" 3.#define LIGHT_RED "\033[1;31m" 4.#define GREEN "\033[0;3转载 2015-03-20 16:07:30 · 574 阅读 · 0 评论 -
UNIX高手的20个习惯
不良的使用模式会降低您的速度,并且通常会导致意外错误。养成这些好习惯是加强您的 UNIX 命令行技能的积极步骤。Unix 下要采用的20个好习惯为:1) 在单个命令中创建目录树。2) 更改路径;不要移动存档。3) 将命令与控制操作符组合使用。4) 谨慎引用变量。5) 使用转义序列来转载 2015-04-03 17:52:37 · 481 阅读 · 0 评论 -
Linux开发已知进程名字获取PID号(C语言)
最近需要实现一个功能,即在一个Linux C程序中,已知其他进程的名字,需要获得该进程的PID,经过一番上网搜索,找到两种可行的方法:1.通过popen创建一个管道,执行shell命令并得到返回结果2.通过搜索/proc文件夹下的文件内容,得到进程PID(顺带演示一下Linux C中如何读取一个文件夹中的内容) 为了方便进行测试,首先随便写了一段代码如下:#转载 2015-04-03 16:45:18 · 6510 阅读 · 0 评论 -
设置内核printk打印级别
有时调试内核模块,打印信息太多了,可以通过修改/proc/sys/kernel/printk文件内容来控制。默认设置是7 4 1 7# cat /proc/sys/kernel/printk7 4 1 7该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息,请查阅syslo转载 2015-04-08 14:00:28 · 1831 阅读 · 0 评论 -
编译器编译过程详解
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织形成最终生成可执行代码的过程。过程图解如下: 从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的转载 2015-03-20 14:59:50 · 1911 阅读 · 0 评论 -
Linux系统目录权限chmod误操作权限修复方法
Linux中,如果意外误操作将/目录权限批量设置,比如chmod -R 777 / ,系统中的大部分服务以及命令将无法使用,这时候可以通过系统自带的getfacl命令来拷贝和还原系统权限,若是其他系统目录被误操作,同样可行。修复的方法如下:1、通过一台权限正常的Linux(最好内核版本和故障服务器相同) 通过getfacl -R / >systemp.b转载 2015-04-28 09:30:33 · 13081 阅读 · 1 评论 -
Linux招聘技术面试题
一.填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 空闲块表 等重要转载 2015-04-28 11:36:10 · 449 阅读 · 1 评论 -
ubuntu中配置tftp服务
1、安装sudo apt-get install tftpsudo apt-get install xinetd 2、创建共享目录sudo mkdir /tftpboot3、把共享目录修改为最大权限sudo chmod 777 tftpboot4、修改配置文件(/etc/inetd.conf)1、我们看下我们默转载 2015-04-28 09:39:10 · 320 阅读 · 0 评论 -
grep不查找隐藏文件夹的方法
默认的grep会搜索所有文件,包括隐藏文件夹下的文件。例如,使用如下命令搜索MediaButton字符串,搜索结果包含隐藏文件夹下的文件。grep -nr MediaButton *如果是用svn管理的代码,每个文件夹下都有一个.svn的隐藏文件夹,包含对代码版本的控制信息,日积月累会越来越庞大。所有如果只是默认搜索的话,很多搜索结果都是svn目录下的,对我们来说,是没转载 2015-05-05 20:21:19 · 495 阅读 · 0 评论 -
Ubuntu开启telnet服务
1.安装telnet服务[plain] view plaincopysudo apt-get install xinetd telnetd 2.编辑/etc/inetd.conf,在任意位置添加以下内容[plain] view plaincopytelnet stream tcp nowa转载 2015-06-23 21:16:29 · 7211 阅读 · 0 评论 -
Linux的时间设置与同步(NTP)
摘要:GMT/UTC/CST;/etc/localtime,/usr/share/zoneinfo/*时区文件,/etc/profile加TZ变量;硬件时间RTC,系统时间;date,hwclock,tzselect;ntp relay server;rpm –ivh ntp-*;ntpdate 0.uk.pool.ntp.org ;ntpq –p,watch n转载 2015-07-09 19:31:38 · 3229 阅读 · 0 评论 -
nohup-真正的Shell后台运行
转自:http://blog.chinaunix.net/uid-446337-id-94446.html&方式:Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe --user=mysql &n转载 2017-02-24 15:24:34 · 3656 阅读 · 0 评论