linux系统
hnsncxy
为之疯狂
展开
-
开放式WEP和共享式WEP的区别
开放式系统验证和共享密钥验证两种模式中,每个移动客户端都必须针对访问点进行验证。开放式系统验证其实可以称为“无验证”,因为实际上没有进行验证——工作站说“请求验证”,而AP也不管是否密钥是否正确,先“答应了再说”,但最终ap会验证密钥是否正确,决定是否允许接入——这种验证方式的ap,往往你随便输入一个密码,都可以连接,但如果密码不正确,会显示为“受限制”。共享密钥验证稍微强大一些,工作站请求验证,转载 2012-12-04 09:54:50 · 6192 阅读 · 0 评论 -
Linux netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q转载 2013-03-13 08:54:33 · 652 阅读 · 0 评论 -
TCP校验和详细讲解和计算
TCP校验字段占两个字节如0x62,0x0d,实际上是这样计算来的:对方IP+我方IP+报文长度+信息长度+0x06(协议类型)+TCP各字段长度以及数据各字段和(注意此时将对应的校验和字段--TCP的第17,18位,实际对应数组下标的16,17位--都设为0x00.同时每两个字节组合为一个数值如0x01,0x02组合为0x0102,数据abc对应为0x61,0x62,0x63,则组合转载 2013-03-15 17:14:12 · 15894 阅读 · 1 评论 -
mips 平台linux系统软浮点
嵌入式领域,为了节省成本和减少功耗,很多芯片都是没有浮点运算模块的,一般该模块叫做FPU(float process unit)。这种情况下,linux内核有一个模块叫math-emu的软件模块,就是用整数运算模拟浮点数运算,一般位于arch/mips/目录下。那么在应用空间的程序是怎么跑到该内核空间的模块呢。简单说就是,用工具链编译含有浮点运算的文件时,编译器并不知道目标板上没有FPU,所以遇到转载 2013-03-30 12:37:26 · 1601 阅读 · 0 评论 -
gcc 交叉编译错误 line 1: syntax error: word unexpected (expecting ")")
在交叉编译过程中,比如arm平台 arm-linux-gcc -c hello -o hello编译出来的程序在arm平台上运行时,将导致line 1: syntax error: word unexpected (expecting ")")错误,这是由于 在编译目标hello的时候 使用了选项-c ,导致生成的hello 不是可执行文件,可通过file hello 来查看其属性原创 2013-05-26 23:22:12 · 31925 阅读 · 3 评论 -
doesn't contain a valid partition table 解决方法
输入 fdisk -l 可以看到 输入 fdisk /dev/xvdb 跟着向导一步步做下去(如果不知道该输入什么,就输入“m”并回车,可以打印出菜单):Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle th转载 2013-05-28 14:34:39 · 14307 阅读 · 0 评论 -
linux elf文件构造
ELF文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型:可重定位的目标文件(Relocatable,或者Object File)可执行文件(Executable)共享库(Shared Object,或者Shared Library)共享库留到第 4 节 “共享库”再详细介绍,本节我们以例 18.2 “求一组数的最大转载 2013-06-20 23:25:53 · 1351 阅读 · 0 评论 -
Linux进程间通讯之消息队列
1. 基本概念消息队列的最佳定义是:内核地址空间中的内部链表。消息可以顺序地发送到队列中,并以几种不同的方式从队列中获取。当然,每个消息队列都是由 IPC标识符所唯一标识的。2. 内部和用户数据结构要完成理解象系统 V IPC这样复杂的问题,关键是要彻底熟悉内核的几个内部数据结构。甚至对那些最基本的操作来说,直接访问这些结构中的某几个结构也是必要的,而其他的结构则停留在一个转载 2013-07-09 00:31:06 · 1088 阅读 · 0 评论 -
十分钟掌握diff&patch用法
作为程序员,了解diff&patch命令是非常必要的。比如说我们发现某个项目有bug代码,而自己又没有svn的提交权限,那么此时最合适的解决方法就是用diff命令做一个补丁发给项目成员。项目成员通过patch命令可以立刻知道你的意图。有人会说直接传一个新文件不是更简单?不要忘了,一个patch文件尺寸更小传输更快,而且可以明显的看到都做了哪些修改。保证当前目录是demo名录:# m转载 2013-07-19 00:01:55 · 619 阅读 · 0 评论 -
diff补丁文件解析
@@ -1,3 +1,9 @@+This is an important +notice! It should +therefore be located at +the beginning of this +document! + This part of the document has stayed the same from version to转载 2013-07-19 00:16:30 · 1166 阅读 · 0 评论 -
linux中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。本文结构如下:find命令find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令grep命令的一般形式 grep正则表达式元字符集(基本集) grep命令的常用选项及实例 1、fin转载 2013-07-22 23:51:34 · 576 阅读 · 0 评论 -
开源软件下载
第三方工具:http://ftp.gnu.org/gnu/原创 2013-07-25 00:07:04 · 639 阅读 · 0 评论 -
虚拟磁盘挂载错误(fsck.ext3:no such file directory while trying to open /dev/xxx)
错误如图中FAILED所示,这种错误一般因挂载了没有建立分区的磁盘所致,只要进入系统之后对新建的磁盘分区(见后续内容),重新加载即可,现在的问题是如何重新进入系统,对新建的磁盘建立分区。 重新进入系统的方法: 系统加载失败之后将进入维修系统,按理来说我们可以在维修系统下修改磁盘挂载配置文件/etc/fstab, 去掉加载失败磁盘对应的配置选项,但是由于系统刚启动时,以只读方式加载根原创 2013-07-27 23:15:26 · 21168 阅读 · 0 评论 -
samba服务器配置及window网络磁盘映射
1、smb.conf文件配置Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,该文件中记录着大量的规则和共享信息,samba服务器的搭建大部分是对该文件进行操作。 Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果原创 2013-08-05 00:32:03 · 26892 阅读 · 0 评论 -
Linux ruid、euid和suid区别
看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解。今天好好区分了一下这几个概念并总结如下。说白了这几个UID引出都是为了系统的权限管理。下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用户ID。另外用户ID是个整型数,为了说明方便真接使用了用户名来代表不同的UID。先解释一下这几个ID的作用:RUID,转载 2013-08-14 00:00:26 · 2151 阅读 · 0 评论 -
shell中read参数
1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是read命令的最简单形式::#!/bin/bashecho -n "Enter your name:" //参数-n的作用是不换行,echo默认是换行read name //从键盘输入echo "hello $name,welcom转载 2013-08-15 00:14:35 · 1465 阅读 · 0 评论 -
管道技巧-while read line
在Bash Shell中,管道的最后一个命令都是在子Shell中执行的。这意味着在子Shell中赋值的变量对父Shell是无效的。所以当我们将管道输出传送到一个循环结构,填入随后将要使用的变量,那么就会产生很多问题。一旦循环完成,其所依赖的变量就不存在了。 /> cat > test8_1.sh #!/bin/sh #1. 先将ls -l命令的结果通过管道转载 2013-08-16 11:00:05 · 21270 阅读 · 2 评论 -
cp命令参数 ---总结
cp 命令用于复制文件或目录。注意,默认情况下,该命令只复制文件内容,文件属性不会被复制。如果您复制文件时需要保持其属性值也不变的话,请使用-p选项,详情见下。介绍几个比较实用的参数选项:常用选项:-a, –archive与同时指定 -dpR 这三个选项效果一样,用于复制整个目录,包括目录中的子目录等都递归的复制,而且还要保持文件的访问模式,所有者,时间戳等属性与原转载 2013-05-14 09:42:22 · 2492 阅读 · 0 评论 -
iptables 原理及应用详解
iptables 原理及应用详解iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅。首先要说转载 2013-09-12 16:58:20 · 1989 阅读 · 0 评论 -
linux命令行高效操作方法
引言:文本界面操作linux系统,对初学者来说,显的很吃力,但如果掌握了一定的方法,熟练了,命令行下linux操作效率远高于桌面linux系统,接下来将从以下几个方面简要阐述命令行下的linux。1、目录切换通用的目录切换命令:cd, 如果在好几个目录下频繁切换,cd 显得很繁琐,当然如果是两个目录之间来回切换,大家可以试试这条命令:cd - ,如果是三个以上的目录来回切换,大家可以尝原创 2013-09-15 00:37:15 · 1374 阅读 · 0 评论 -
Make 命令传递及常用的环境变量
1、Make命令传递make 命令中传递的参数作用当前的Makefile文件以及子Makefile文件,如果当前Makefile中定义的参数和传递的参数相同,那参数的值将被命令行传递的值所替换,例如Makefile文件export TEST=12345678all: @echo $(SHELL) @echo $(CURDIR)原创 2013-10-16 23:14:13 · 9767 阅读 · 0 评论 -
shell中内建命令exec、source解析
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。 在说明ex转载 2013-12-10 23:45:14 · 1212 阅读 · 0 评论 -
pkg-config的用法及库搜索路径设置
一、编译和连接 一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的 不同,造成了用 -I 参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统一。如果使用 -L 参数,也会造成连转载 2013-12-16 19:40:00 · 10305 阅读 · 0 评论 -
Linux 下将sd格式化成ext2并挂载
sd卡在windows下格式化,只能格式化为FAT文件系统格式的,但是FAT文件系统在linux下不支持软链接。所以又必要将其格式化成linux下的文件系统格式,例如EXT2。使用嵌入式linux中自带的工具命令mkfs.ext2。root@target:~# mkfs.ext2 /dev/mmcblk0 mke2fs 1.41.5 (23-Apr-2009)Filesystem转载 2013-12-31 11:23:22 · 4619 阅读 · 0 评论 -
login shell和non-login shell环境配置
一、测试场景1、login shell 场景: 当系统启动时或你开启一个新到终端登录系统时,系统通过调用/bin/login程序处理登录并在一个shell中显示命令行提示符,这个shell就是login shell,也就是说通过用户名和密码登录的shell,例如:ssh远程登录以及图形界面登录(输入用户名和密码)2、non-login shell 场景: 当用户直接在shell窗口中通过b原创 2013-12-17 17:18:34 · 2041 阅读 · 0 评论 -
Ubuntu下使用Vi使方向键变乱码 退格键不能使用的解决方法
一、编辑/etc/vim/vimrc.tiny由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改。很简单,这个文件里面的倒数第二句话是“set compatible”,如下所示:将“compatible”改成“nocompatible”(不要使用vi键盘模式,而是使用vim自己的)非兼容模式就转载 2014-01-07 21:01:36 · 1678 阅读 · 0 评论 -
Makefile中常用的函数
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $()或是 ${}这里,就是函数名,make支持的函数不多。是函数的参数,参数间以逗转载 2014-01-15 17:22:39 · 760 阅读 · 0 评论 -
linux无线驱动接口简介
Linux无线驱动接口有两种标准接口,wext(Wireless Extensions无线扩展接口)和nl80211接口。 在linux-2.6.18版本之前,linux内核代码中并没有提供无线驱动接口以及无线驱动协议栈。wext是由开发者Jean Tourrilhes (惠普实验室软件工程师)定义的一套供用户层软件访问无线驱动以及驱动事件通知用户层的接口。当时无线驱动的协议栈软件比较多转载 2014-03-01 23:23:02 · 2425 阅读 · 0 评论 -
pdflush的工作原理及cache介绍
大家知道,在linux操作系统中,写操作是异步的,即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上,在下面几种情况下,系统会唤醒pdflush回写脏页:1 、定时方式: 定时机制定时唤醒pdflush内核线程,周期为/proc/sys/vm/dirty_writeback_centisecs转载 2014-02-10 23:52:39 · 2342 阅读 · 0 评论 -
结合Wireshark分析DNS 协议
摘要: 本文简单介绍了DNS协议理论知识,给出URL解析步骤,详细讲述了DNS报文各个字段含义,并从Wireshark俘获分组中选取DNS相关报文进行分析。一、概述1.1 DNS 识别主机有两种方式:主机名、IP地址。前者便于记忆(如www.yahoo.com),但路由器很难处理(主机名长度不定);后者定长、有层次结构,便于路由器处理,但难以记忆。折中的办法转载 2014-03-18 23:55:37 · 61095 阅读 · 5 评论 -
busybox中sendmail命令使用
1、busybox 只支持sendmail命令发送邮件,暂不支持mail命令(mail调用sendmail命令发送邮件)2、sendmail用法cat mail.txt Subject: TestCC:To: to@163.comFrom: from@163.com /*邮件格式头和内容之间一定要有空行*/ xxxxxx原创 2014-04-14 19:46:48 · 3839 阅读 · 0 评论 -
linux内核抢占及配置
早期的Linux内核是不可抢占的,但支持用户抢占它的调度方法是:一个进程可以通过schedule()函数自愿地启动一次调度。非自愿的强制性调度只能发生在每次从系统调用返回的前夕以及每次从中断或异常处理返回到用户空间的前夕(这种强制性调度又叫用户抢占)。但是,如果在系统空间发生中断或异常是不会引起调度的。这种方式使内核实现得以简化。但常存在下面两个问题:如果这样的中断发生在内核中,本次中转载 2014-04-30 09:44:12 · 4779 阅读 · 0 评论 -
linux命令echo和cat比较
当前主要比较echo 和 cat的重定向功能1、echo 1 > /proc/xxx解析: echo 进行重定向的时候,仅仅是将字符“1” 输出到 /proc/xxx文件中2、cat /tmp/vmlinux.bin > /dev/mtdblock2 解析: cat 进行重定向的时候,将/tmp/vmlinux.bin中的内容输出到/dev/mtdblock2中结论:原创 2014-03-26 15:37:25 · 5641 阅读 · 0 评论 -
无插件Vim编程技巧
vim 目录:你会看到下面这样的界面: 这个界面中,你可以用 j, k 键上下移动,然后回车,进入一个目录,或是找开一个文件。你可以看到上面有一堆命令:【 – 】 到上级目录 【D】删除文件(大写) 【R】改文件名(大写) 【s】对文件排序(小写) 【x】执行文件 当然,打开的文件会把现有已打开的文件给冲掉——也就是说你只看到了一个文件。如果你要改变当前浏览的目录,或是查看转载 2014-04-23 00:44:34 · 1258 阅读 · 0 评论 -
GCC 4.7.0 开始支持 LTO(链接时优化)
1、LTO优势:使整个程序在链接过程中实现二进程优化原创 2014-05-21 18:17:29 · 10945 阅读 · 0 评论 -
Linux 技巧:让进程在后台可靠运行的几种方法
们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。nohup/setsid/&场景:如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证转载 2014-05-14 16:38:33 · 513 阅读 · 0 评论 -
修正问题 “警告:检测到时钟错误。您的创建可能是不完整的"
为什么工程make后,会出现"make: 警告:检测到时钟错误。您的创建可能是不完整的"的警告?转载 2014-06-05 10:26:45 · 4550 阅读 · 0 评论 -
Linux主分区,扩展分区,逻辑分区的联系和区别
记得刚开始安装Linux操作系统时,了解过一些Linux磁盘分区的知识,可是随时光流逝,一段时间不用,基本全忘记了,依稀记得好像曾经知道有这么回事。人的记忆力就是这样,所以一旦选择了一个行业,最好不要轻易转行,因为很多知识需要不断的重复才能真正的掌握,而一个行业又需要很多真正掌握的知识,有人称这是积累的过程。不管怎么说,不论哪个行业都不是熬几个通宵就搞定的。而你的积累也就变成想转此行别人的壁垒,你转载 2014-05-23 12:39:27 · 1552 阅读 · 0 评论 -
/etc/rc.local 中部分命令无法执行
大家都知道,在linux发行版本中,如果要添加随系统原创 2014-06-06 20:47:33 · 13560 阅读 · 0 评论 -
uClibc 交叉编译方法
在嵌入式开发中,常用uClibc库,可单独对其进行交叉编译,具体步骤如下:原创 2014-06-11 19:32:03 · 7765 阅读 · 0 评论