
Linux基础
ccskyer
这个作者很懒,什么都没留下…
展开
-
Ubuntu下安装sourcenav6.0
想在Ubuntu下装个能方便查看源码的工具,在网上搜了下,看到这个不错:使用一个shell文件,只需运行shell就可以了,相当方便啊。1在要安装的目录下,新建空文档:写入以下内容:#!/bin/bashwget http://svn.exactcode.de/t2/trunk/package/develop/sourcenav-ng/tk-lastevent.patchwget http://nchc.dl.sourceforge.net/sourceforge/sourcenav/sourcen原创 2010-07-10 12:42:00 · 1656 阅读 · 0 评论 -
errno的含义
strerror(int error):用于打印errorerrno.00 is: Successerrno.01 is: Operation not permittederrno.02 is: No such file or directoryerrno.03 is: No such processerrno.04 is: Interrupted system calle转载 2013-08-01 18:19:28 · 1397 阅读 · 0 评论 -
交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
一. 什么是ABI和EABI1) ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口.ABI涵盖了各种细节,如:数据类型的大小、布局和对齐;调用约定(控制着函数的参数如何传送以及如何接受转载 2013-11-21 17:28:02 · 14284 阅读 · 1 评论 -
GDB调试带参数的程序
一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中。使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点。如: > cc -g hello.c -o hello > g++ -g hello.cpp -o hello 如果没有-g,你将看不见程序的函数名、变量名,所代替的全是 运行时的转载 2013-12-27 18:15:41 · 933 阅读 · 0 评论 -
proc/sys/net/ipv4/下各项的意义
/proc/sys/net/ipv4/icmp_timeexceed_rate:这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exceeded消息的比率。/proc/sys/net/ipv4/igmp_max_memberships主机上最多有多少个igmp (多播)套接字进行监听。/proc/sys/net/转载 2014-04-14 20:48:40 · 766 阅读 · 0 评论 -
netlink简单介绍 (linux-3.14.2)
看了几遍关于netlink的文章:http://www.linuxjournal.com/article/7356原创 2014-04-30 17:49:16 · 5692 阅读 · 1 评论 -
O_EXCL
在open的时候常会使用O_CREAT|原创 2014-05-04 17:01:10 · 7575 阅读 · 0 评论 -
Ubuntu安装openssh开启ssh server
1 安装apt-get install openssh2 完成后,检查ssh server是否启动:ps -e | grep ssh如果只是有:ssh-agent说明没有启动server可以手动启动:sudo /etc/init.d/ssh start或者重启ubuntu3 现在就可以使用putty连接了原创 2014-03-21 12:06:55 · 23752 阅读 · 0 评论 -
ubuntu13.10开启root账户
1 为root账户设置密码:sudo passwd root2 vi /etc/lightdm/lightdm.conf.d/50-unity-greeter.conf最后添加:greeter-show-manual-login=true原创 2014-03-21 18:13:23 · 806 阅读 · 0 评论 -
linux IPC之消息队列
消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。Linux用宏MSGMAX和MSGMNB来限制一条消息的最大长度和一个队列的最大长度。原创 2014-05-04 15:07:22 · 787 阅读 · 0 评论 -
linux 设置send、recv超时
struct timeval timeout = {3,0}; setsockopt(socket,SOL_SOCKET,SO_SNDTIMEO,(char *)&timeout,sizeof(struct timeval));setsockopt(socket,SOL_SOCKET,SO_RCVTIMEO,(char *)&timeout,sizeof(struct timeval)原创 2014-04-04 15:28:35 · 6122 阅读 · 0 评论 -
交换机和路由器
交换机:二层(数据链路层)交换机,基于端口MAC映射表,发送数据;MAC地址学习:数据发送端发动数据:[源MAC地址][目的MAC地址][数据],交换机将源MAC地址及对应端口记录到映射表中,并查询映射表是否存在目的MAC地址与端口的映射;如果存在,就直接根据映射转发到目的端;如果不存在,需要向除源端口以外的端口转发(泛洪),并根据回应确定目的端MAC地址与端口,并加到映射表中。有时,原创 2014-03-27 10:52:09 · 774 阅读 · 0 评论 -
tar使用
解压tar –xvf file.tar //解压 tar包tar -xzvf file.tar.gz //解压tar.gztar -xjvf file.tar.bz2 //解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Zunrar e file.rar //解压rarunzip file.zip //解压zip总结1、*.t原创 2012-05-21 12:03:17 · 632 阅读 · 0 评论 -
makefile
1 wildcard 按条件展开 ALL_S_FILES := $(wildcard $(LOCAL_PATH)/$(TARGET_ARCH)/*.S) 2 addprefix 添加前缀 $(addprefix PREFIX,NAMES…) 为name的每一个文件添加前缀 3 filter-out 反过滤函数 $(filter-out ,) 以 模式过滤 字符串中的单词,去除符合模式 的单词。返回不符合模式 的字符串。如果 是 一样或者是其子集,那么返回空。 就是将后者原创 2011-05-31 14:07:00 · 768 阅读 · 0 评论 -
.bashrc和.bash_profile的区别
/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell 的设置.其中的设置对所有的用户有用; /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.其中的设置仅对当前用户有用; ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使转载 2010-07-12 23:04:00 · 1232 阅读 · 0 评论 -
U-boot的环境变量: bootcmd 和bootargs
u-bootcmd<br /> 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数。<br />u-bootargs<br /> bootargs是环境变量中的重中之重,甚至可以说整个环境变量都是围绕着bootargs来设置的。bootargs的种类非常非常的多,我们平常只是使用了几种而已,感兴趣的可以看看这篇文章说的很全:http://blog.chinau转载 2010-07-29 10:55:00 · 1018 阅读 · 1 评论 -
Linux编译内核详解(转)
Linux编译内核详解 一 内核简介 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明显的好处就是Linux修补漏洞的快速以及对最新软件技术的利用。而Linux转载 2010-08-10 22:56:00 · 773 阅读 · 0 评论 -
Linux常用命令(转)
http://hi.baidu.com/aokikyon/blog/item/1c972cd8717ea83b33fa1c88.html 1 su 用户切换 格式:su [选项][用户] 参数: -, -l, --login 完全切换,不加参数只切换用户权限,不切换环境。 -m, -p 执行时不切换环境 2 useradd 添加用户账号 格式:useradd [选项] 用户名 参数: -g 指定用户所属的群组 -m 自动建立用户转载 2010-11-27 09:33:00 · 603 阅读 · 0 评论 -
同一进程中的线程究竟共享哪些资源
<br />线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括:<br /> 1.线程ID<br /> 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标 识线程。 2.寄存器组的值<br /> 由于线程间是并发运行的,转载 2010-12-24 10:52:00 · 908 阅读 · 0 评论 -
进程间的通信(互斥锁、条件变量、读写锁、文件锁、信号灯)
<br /> 为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作。比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进行数据写入,那么怎么才能保证一个进程在写入的过程中不被其它的进程打断,保证数据的完整性呢?又怎么保证读取进程在读取数据的过程中数据不会变动,保证读取出的数据是完整有效的呢? <br /> 常用的同步方式有: 互斥锁、条件变量、读写锁、记录锁(文件锁)和信号灯.转载 2010-12-24 17:05:00 · 5824 阅读 · 0 评论 -
linux用户态和内核态切换理解
<br />1. 用户态和内核态的概念区别<br />究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:<br />1)例子<br />void testfork(){<br />if(0 = = fork()){<br />printf(“create new process success!/n”);<br />}<br />printf(“testfork ok转载 2010-12-24 09:44:00 · 1669 阅读 · 0 评论 -
U-Boot学习-第二阶段代码分析
U-Boot在完成stage1的工作后会跳转到第一个c语言函数start_armboot()函数中 1 在介绍该函数之前,我们需要看一看几个数据结构,这些是u-boot中几个重要的数据结构: 1)、gd_t该数据结构保存了u-boot 需要的配置信息,注释简单明了 typedef struct global_data { bd_t *bd; //与板子相关的结构,见下面 unsigned long flags; unsig原创 2010-12-29 12:34:00 · 1098 阅读 · 0 评论 -
linux软、硬链接的区别
<br /> <br /> <br />linux系统下提供ln指令来进行文件链接。文件链接主要分为硬链接和软链接。<br />硬链接:<br />由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配inode。每添加一个一个硬链接,文件的链接数就加1。<br /> 可以用:ln命令来建立硬链接。语法: ln [options] existingfile newfile ln[options] existingfile原创 2010-12-31 16:50:00 · 660 阅读 · 0 评论 -
vi替换字符串(zz)(转)
1. 基本的替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky (n 为数字,若 n 为 .,表示从当前行开始到最后一行) :%s/vivian/sky/(等原创 2011-02-24 17:37:00 · 760 阅读 · 0 评论 -
__attribute__((attribute-list))
__atrribute__(())机制keyishez原创 2014-05-22 15:52:12 · 1207 阅读 · 0 评论