
Linux
xunzhaoxusanduo
这个作者很懒,什么都没留下…
展开
-
hexdump的用法
有时候需要查看一些二进制文件的内容,比如二进制文件中包含的某些字符串。这个时候可以用hexdump工具看查看。常用参数: hexdump -C -n length -s skip file_name-C 定义了导出的格式,-s skip 指定了从文件头跳过多少字节,或者说是偏移量,默认是十进制。如果是0x开头,则是十六进制。-n 指定了导出多少长度如果是寻找文本内容,则经常在后转载 2014-07-29 20:40:28 · 4185 阅读 · 0 评论 -
Windows远程桌面访问Ubuntu 12.04 之安装XRDP
为了解决Windows远程桌面访问Ubuntu 12.04 之一 中提到的VNC远程桌面的缺点(见http://www.linuxidc.com/Linux/2012-07/64801.htm),我们采用第二种方法XRDP,该方法支持多用户登录并远程桌面。1、首先参考Windows远程桌面访问Ubuntu 12.04 之安装VNC中提到的安装GNOME桌面方法(点击这里);2、进入转载 2015-05-11 12:21:25 · 457 阅读 · 0 评论 -
getopt函数的使用
每一天你都在使用大量的命令行程序,是不是感觉那些命令行参数用起来比较方便,他们都是使用getopt来实现的。在Linux下使用getopt写程序是一种比较cool的事情,下面来简单的介绍一下getopt的使用。=== getopt使用 ===在讨论参数处理之前,我们先明确两个概念:选项、选项参数gcc -g -o test test.c我们经常使用上面的命令来编译程转载 2015-06-16 18:50:03 · 592 阅读 · 0 评论 -
信号“未决”与“阻塞”
信号状态: 信号的”未决“是一种状态,指的是从信号的产生到信号被处理前的这一段时间;信号的”阻塞“是一个开关动作,指的是阻止信号被处理,但不是阻止信号产生。 APUE例题在sleep前用sigprocmask阻塞了退出信号,然后sleep,然后在sleep的过程中产生一个退出信号,但是此时退出信号被阻塞过,(中文的”阻塞”在这里容易被误解为一种状态,实际上是一种类似于开关的动转载 2015-06-20 10:34:24 · 521 阅读 · 0 评论 -
Linux信号(signal) 机制分析
原文地址:http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安转载 2015-06-20 16:37:54 · 556 阅读 · 1 评论 -
sigsuspend() 用法
这个函数的用法困扰了我很久,虽然有部分原因是apue列子没看明白,但经过一番摸索也加深了我对sigsuspend的理解。1、关于pause()和sigsuspend()函数,但是不懂他们究竟有些什么区别,在什么时候可以相互替换,什么时候又不可以呢?简单的说, sigsuspend = unblock + pause sigsuspend 函数是用于需要先接触 某个信号的阻塞状态转载 2015-06-21 10:11:47 · 785 阅读 · 0 评论 -
实际用户ID,有效用户ID及设置用户ID
实际用户ID:有的文章中将其称为真实用户ID,这个ID就是我们登陆unix系统时的身份ID。有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。 一、文件的访问权限包括读写和执行。判断某个进程对文件有何权限时,内核会将非超级用户进程的有效ID与文件的所有者ID进行比较,当然,也可能需要比较有效组ID,这关系到具体的权限测试方法,先不在这里说明。转载 2015-05-23 18:30:04 · 1043 阅读 · 0 评论 -
fork()两次不同返回值的实现
原文地址:http://www.cnblogs.com/hongzg1982/articles/2152093.html【NOTE4】首先必须有一点要清楚,函数的返回值是储存在寄存器eax中的。其次,当fork返回时,新进程会返回0是因为在初始化任务结构时,将eax设置为0;在fork中,把子进程加入到可运行的队列中,由进程调度程序在适当的时机调度运行。转载 2015-05-23 07:45:25 · 1074 阅读 · 1 评论 -
exec函数族理解
exec簇函数,最后,都是调用了execve这个函数!这个函数的作用,就是去执行一个文件!典型的用法,就是在shell中,执行一个文件,比如说,一个编译好的文件,叫做helloworld,那么,在shell下执行./helloworld的时候,shell就去fork()一个子进程,然后在子进程里面execve("./helloworld",NULL,NULL);这样,就执行了这个文件!转载 2015-05-23 07:55:34 · 647 阅读 · 0 评论 -
对于Linux内核tty设备的一点理解
原文地址:对于Linux内核tty设备的一点理解 作者:tekkamanninja虽然一直做嵌入式Linux,宿主机和开发板通信天天都在用tty设备通信,但是其实自己对TTY设备及终端的概念认识几乎是0。对于Linux内核的终端、tty、控制台等概念的认识很模糊。由于在学习的时候碰到了重定向console的问题,所以借机学习下tty的知识。以下是我对tty的认识总结,信转载 2015-05-24 11:55:49 · 1352 阅读 · 0 评论 -
Linux Shell 通配符、元字符、转义符使用实例介绍
原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例:1 1234转载 2015-07-08 15:54:32 · 406 阅读 · 0 评论 -
Linux中如何复制删除带有特殊字符的文件
1. 删除带“-”的文件名的方法2. 删除包含其它特殊字符的文件3. 删除系统打不出的乱码文件名[@more@]1. 删除带“-”的文件名的方法大部分是由于误操作的原因,产生了一些 特殊字符的文件 如 -foorm --help用法:rm [选项]... 目录...Remove (unlink) the FILE(s).-d, --directo转载 2015-07-08 16:33:26 · 1197 阅读 · 0 评论 -
linux下read系统调用剖析
原文地址:http://blog.chinaunix.net/uid-24899673-id-125307.html简介:大部分程序员可能会有这样的疑问:当在程序调用库函数read时,这个请求是经过哪些处理最终到达磁盘的呢,数据又是怎么被拷贝到用户缓存区呢?本文介绍了从read系统调用出发到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用转载 2015-07-02 19:39:46 · 604 阅读 · 0 评论 -
Linux 的虚拟文件系统(强烈推荐)
1 引言Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行。如图 1 所示,我们可以使用 cp 命令从 vfat 文件系统格式的硬盘拷贝数据到 ext3 文件系统格式的硬盘;而这样的操作涉及到两个不同转载 2015-07-02 19:37:26 · 463 阅读 · 0 评论 -
resolv.conf文件配置
原文地址:http://blog.sina.com.cn/s/blog_85998e380101bjr9.htmlresolv.conf是resolver类库使用的配置文件,每当一个程序需要通过域名来访问internet上面的其它主机时,需要利用该类库将域名转换成对应的IP,然后才可进行访问。resolv.conf文件的配置选项不多,从man文档中看了半天,不理解domain和se转载 2015-07-15 11:30:10 · 3073 阅读 · 0 评论 -
几种开放源码的TCPIP协议栈概述--LwIP,uIP,TinyTcp和uC/IP
转自http://blog.youkuaiyun.com/angle0615303/article/details/77172561、BSD TCP/IP协议栈 BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP 栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些转载 2015-04-13 18:48:08 · 816 阅读 · 0 评论 -
在Linux中创建静态库.a和动态库.so
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。 1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为转载 2015-01-16 13:54:50 · 698 阅读 · 0 评论 -
IS_ERR()说明
感谢fudan_abc的分享,本篇文章选自他的《Linux那些事儿之我是Hub(3)一样的精灵不一样的API》 人的无聊,有时候很难用语言表达.以下关于IS_ERR的文字仅献给无聊的你.如果你对内存管理没有任何兴趣,就不用往下看了,跳到下一节吧.要想明白IS_ERR(),首先你得知道有一种空间叫做内核空间,不清楚也不要紧,我也不是很清楚,曾经,在复旦,上操作系统这门转载 2014-10-21 14:00:36 · 1105 阅读 · 0 评论 -
linux ulimit命令
功能说明:控制shell程序的资源。语 法:ulimit [-aHS][-c ][-d ][-f ][-m ][-n ][-p ][-s ][-t ][-u ][-v ]补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。参 数:-a 显示目前资源限制的设定。-c 设定core文件的最大值,单位为区块。-d 程序数据节区转载 2014-09-09 20:50:27 · 492 阅读 · 0 评论 -
linux coredump配置与调试
Linux Core Dump 配置与调试1.core文件的生成开关和大小限制--------------------------------- 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2) 使用ulimit -cfilesize命令,可以限制core文件的大小(filesize的单位为kb转载 2014-09-09 20:49:35 · 707 阅读 · 0 评论 -
linux调试
ulimint -a 用来显示当前的各种用户进程限制Linux对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况,设置个Linux用户的最大进程数,一些需要设置为无限制:数据段长度:ulimit -d unlimited最大内存大小:ulimit -m unlimited堆栈大小:ulimit -s unlimited我们在用这个命令的时候主要是为了产转载 2014-09-09 20:52:56 · 511 阅读 · 0 评论 -
Ubuntu12.04详细安装步骤图解及vmtools、samba、ssh安装
我们在这里使用VMware player虚拟机,它是VMware Workstation的精简版,具有体积小,使用灵活,免费等特点。根据自己的爱好习惯选择。(VMware player 6.0.1版本下载地址:http://rj.baidu.com/soft/detail/13927.html?ald)一、安装VMware player,跟在windows安装其他软件一样。转载 2014-09-10 22:35:58 · 729 阅读 · 0 评论 -
使用nandwrite烧写yaffs2文件系统
说一下我的开发环境CPU: AT91SAM9G45原创 2014-09-25 20:29:47 · 4767 阅读 · 0 评论 -
为什么说LD_LIBRARY_PATH不好
对于一个Unix系统管理员来说,频繁使用LD_LIBRARY_PATH是不好的。LD_LIBRARY_PATH有什么用LD_LIBRARY_PATH是一个环境变量,它的作用是让动态链接库加载器(ld.so)在运行时(run-time)有一个额外的选项,即增加一个搜索路径列表。这个环境变量中,可以存储多个路径,用冒号分隔。它的厉害之处在于,搜索LD_LIBRARY_PATH所列路径的转载 2014-10-06 23:12:45 · 1919 阅读 · 0 评论 -
LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下: LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。 LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意转载 2014-10-06 23:10:13 · 641 阅读 · 0 评论 -
Linux Wifi共享上网脚本,类似win 7的Connectify工具
最近在Ubuntu找了很久,也找不到一个可以将无线网卡作AP的软件,就是类似win 7下的connectify工具,能将笔记本作为AP使用。试了网上很多方法都不行,有些是可以搜到热点,但我的Android手机连上去的时候获取不了ip地址。研究了几天,昨晚花了一晚时候,去写个脚本,成功的连上了。希望我这个脚本能帮到大家解决问题。主要是用到iwconfig这个无线配置工具,然后用iptable转载 2014-10-23 11:55:00 · 656 阅读 · 0 评论 -
嵌入式linux保存参数数据
大多数软件开发都会涉及到数据参数的保存与读取,小至运行的单片机的软件,大至操作系统级别的软件(如linux,windows,mac),均会有专门的子程序或者模块进行参数的保存和读取。不同的平台下开发,参数的保存与读取会存在一定的差异化,例如,单片机下,保存参数是写入eeprom或者 rom,windows和linux下的软件则会以配置文件的形式保存参数。下面以我以前在工作中所遇到情况,重点写写转载 2014-10-24 13:34:11 · 1084 阅读 · 0 评论 -
UNIX中信号量
信号量分有名和无名信号量。它们的区别和管道及命名管道的区别类似。有名信号量要求创建一个文件,而无名信号量则直接保存在内存中。一,Posix信号量Posex信号量接口总结(见下图):上面一行是有名信号量,可于fifo相类比,其值保存在文件中,可用于进程和线程同步;下面一行是无名信号量,可与pipe相类比,其值保存在内存中,可用于进程和线程同步;中间部分,是两者的公用接口。转载 2014-11-14 17:13:20 · 1195 阅读 · 0 评论 -
最全面的Linux信号量学习
信号量一.什么是信号量信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。二.信号量的分类在学习信号量之前,我们必须先知道——Linux提供两种信号量:(1)内核信号量,由内核控制路径使用(2)用户态进程使用转载 2014-11-14 17:32:47 · 891 阅读 · 1 评论 -
Linux curses库使用
相信您在网路上一定用过如 tin,elm 等工具, 这些软体有项共同的特色, 即他们能利用上下左右等方向键来控制游标的位置. 除此之外, 这些程式的画面也较为美观. 对Programming 有兴趣的朋友一定对此感到好奇, 也许他能在 PC上用Turbo C轻易地写出类似的程式, 然而, 但当他将相同的程式一字不变地移到工作站上来编译时, 却出现一堆抓也抓不完的错误. 其实, 原因很简单, 他转载 2014-10-04 22:31:09 · 1773 阅读 · 0 评论 -
Shell解释器DIY
Shell解释器DIY l 本文适合的读者对象 对linux环境上的c语言开发有一定经验;对linux环境编程(比如进程、管道)有一点了解。 一、概述:本章的目的是让大家了解shell的基本原理,并且自己动手做一个shell解释器。为此:首先,我们解释什么是shell解释器。其次,我们要大致了解shell解释器具有哪些功能;最转载 2014-10-14 18:53:59 · 838 阅读 · 0 评论 -
gcc或clang中消除特定警告的方法
一般在编译代码时会有相当多的警告信息,尤其当我们使用了-Wall选项的时候.-Wall绝不是像其字面意思一样打开所有警告.不过它打开的警告也相当多了.对于一些我们已知"无害"但仍然打印出来挤占可怜的控制台空间的警告,我们当然可以将其"屏蔽"掉. 就拿以下代码来说:[cpp] view plaincopyprint?#includ转载 2014-11-26 17:45:58 · 3534 阅读 · 0 评论 -
超级终端使用Xmodem协议传送文件
1. 数据包结构:| SOH | 信息包序号 | 信息包序号的补码 | 数据区段 | 算术校验和说明:SOH 帧的开头字节,代表信息包中的第一个字节 信息包序号:对 256 取模所得到当前包号,第一个信息包的序号为 1(而信息包序号范围 0~255)信息包序号的补码: 当前信息包号的补码 数据区段:数据区段的长度固定为 128 字节,其内容没有任何限制,可以是文本数据转载 2014-10-21 10:58:53 · 7805 阅读 · 0 评论 -
linux下挂载fat32格式的存贮设备不能创建大写文件夹或者磁盘中的原来的大写文件夹变成小写
公司的一个项目需要做文件浏览器,有创建文件夹和重命名文件的功能,测试的时候发现了一些问题,主要针对的是FAT32格式的SD卡或U盘。在Linux下挂载SD卡,用的命令是:mount -t vfat /dev/mmcblk0p1 /mnt/sdcard/然后出现了一下现象:1、所有原先在WINDOWS上全部是大写的文件夹全部变为小写了;2、在Linux上创建大写文原创 2015-08-04 15:06:34 · 1237 阅读 · 0 评论