文章分类 - linux
摘要:作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到,Linux以进程为单位组织操作,Linux中的线程也都基于进程。尽管实现方式有异于其它的UNIX系统,但Linux的多线程在逻辑和使用上与真正的多线程并没有差别。1. 多线程我们先来看一下什么是多线程。在Linux从程序到进程中,我们看到了一个程序在内存中的表示。这个程序的整个运行过程中,只有一个控制权的存在。当函数被调用的时候,该函数获得控制权,成为激活(active)函数,然后运行该函数
阅读全文
摘要:Linux strace命令简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars *
阅读全文
摘要:===============================================================================linux 路由表维护查看 Linux 内核路由表使用下面的 route 命令可以查看 Linux 内核路由表。# routeDestination Gateway Genmask Flags Metric Ref Use Iface192.168.0.0 * 255.255.255.0 U 0 0 0 eth0169.2...
阅读全文
摘要:第一种:使用命令修改(直接即时生效,重启失效)#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up说明:eth0是第一个网卡,其他依次为eth1,eth*192.168.0.1是给网卡配置的第一个网卡配置的ip地址netmask 255.255.255.0 配置的是子网掩码up是表示立即激活ifconfig的更多参数说明查看相关帮助 gateway: # route add default gw 192.168.30.1 eth0 dns:# vi etc/resolv.confnameserver 202.131.80.1nameser...
阅读全文
摘要:Linux系统的route命令用于显示和操作IP路由表(show/manipulatetheIProutingtable)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置
阅读全文
摘要:今天忙了一天,刚把nginx装在CentOS上,出现了好多问题,快大功告成了,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来是防火墙的问题。具体情况如下: 防火墙可以ping通虚拟机,虚拟机也可以ping通防火墙。 接着检查了服务器端的80端口是否可以访问的到:telnet 192.168.131.130 80, 结果访问不到,原来果真防火墙的问题。 做如下处理: -----#/sbin/iptables/ -I INPUT -p tcp --dport 80 -j ACCEPT 然后保存: -----#/etc/rc.d/init.d/iptables save 重启...
阅读全文
摘要:1 1. Sed简介 2 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。 3 2. 定址 4 可以通过定址来定位你所希望编辑的行,该地址用数字构成,用逗号分隔的两个行数表示以这两行为起止的行的范围(包括行数表示的那两行...
阅读全文
摘要:原文地址http://linux.chinaitlab.com/command/815732.html近期在工作中发现,许多同事,尤其是我们的PHP开发者,基本不会用Linux/unix下的快捷方式,严重影响工作效率,所以特撰写此文,每个用法后我会详细注释。 下述所有命令在Linux/unix的shell下有效,这里以bash为主。如有出入,以你自己的服务器为准。本文所指的Linux主要指RHEL/CentOS,unix指的是FreeBSD,这也是服务器中用得最多的版本。 Ctrl + a 切换到命令行开始 这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可...
阅读全文
摘要:linux awk命令详解简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式
阅读全文
摘要:.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -dFileName.gz压缩:gzip FileName.tar.gz和 .tgz解压:tarzxvfFileName.tar.gz压缩:tarzcvf FileName.tar.gz DirName———————————————.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip
阅读全文
摘要:有五台主机。其中一台主机装有linux ,安装了网桥模块,而且有四块物理网卡,分别连接同一网段的其他主机。我们希望其成为一个网桥,为其他四台主机(IP分别为192.168.1.2,192.168.1.3,192.168.1.4,192.168.1.5) 之间转发数据包。同时,为了方便管理,希望网桥能够有一个IP(192.168.1.1),那样管理员就可以在192.168.1.0/24网段内的主机上telnet到网桥,对其进行配置,实现远程管理。前一节中提到,网桥在同一个逻辑网段转发数据包。针对上面的拓扑,这个逻辑网段就是192.168.1.0/24网段。我们为这个逻辑网段一个名称,br0。首先
阅读全文
摘要:当设备驱动需要同时支持不同版本内核时,在编译阶段,内核模块需要知道当前使用的内核源码的版本,从而使用相应的内核 API。2.4 与 2.6 内核下,源码头文件 linux/version.h 定义有:LINUX_VERSION_CODE ― 内核版本的二进制表示,主、从、修订版本号各对应一个字节;KERNEL_VERSION(major, minor, release) - 由主、从、修订版本号构造二进制版本号。在同时支持2.4与2.6 内核的设备驱动程序中,经常可以看到以下代码段:#define LINUX_VERSION_CODE 132639#define KERNEL_VERSION(
阅读全文
摘要:主机:Windows7旗舰版,VMware7.1.2,Fedora9编译环境:arm-linux-gcc4.4.3Linux版本:linux-2.6.32.2busybox版本:busybox-1.19.4目标板:友善之臂micro2440编译使用内核模块的方法:编写一个简单的Linux内核模块HelloWorld,hello.c内容如下:点击(此处)折叠或打开#include<linux/init.h>#include<linux/module.h>MODULE_LICENSE("Dual BSD/GPL");staticinthello_init
阅读全文
摘要:1、将文件checkout到本地目录svn checkoutpath(path是服务器上的目录) 例如:svn checkoutsvn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件svnaddfile 例如:svnaddtest.php(添加test.php) svnadd*.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit-m"LogMessage"[-N][--no-unlock]PATH(如果选择了保持锁,就使用–no-unlock开关) 例如:svn commit -m&quo
阅读全文
摘要:Linux系统下如何设置IP地址?我们可以通过命令设定IP的方法,不过此方法的前提条件是用户需root权限。在linux系统的 /etc/sysconfig/network-script/ifcfg-eth0文件中存放着网卡IP地址配置的相关信息,它的具体格式为: [root@localhost network-scripts]# cat ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=IP地址 USERCTL=no PEERDNS=yes ...
阅读全文
摘要:每一天你都在使用大量的命令行程序,是不是感觉那些命令行参数用起来比较方便,他们都是使用getopt来实现的。在Linux下使用getopt写程序是一种比较cool的事情,下面来简单的介绍一下getopt的使用。=== getopt使用 ===在讨论参数处理之前,我们先明确两个概念:选项、选项参数gcc -g -o test test.c我们经常使用上面的命令来编译程序,这里g和o就是选项,其中test就是o的选项参数下面我们来看一下getopt:首先是函数声明:#include <unistd.h>extern char *optarg;extern int optind;exte
阅读全文
摘要:#include<stdio.h>#include<sys/types.h>#include<sys/ioctl.h>#include<unistd.h>#include<termios.h>int main(){ struct winsize size; ioctl(STDIN_FILENO,TIOCGWINSZ,&size); printf("%d\n",size.ws_col); printf("%d\n",size.ws_row); return 0;}
阅读全文
摘要:gcc/g++ 命令的常用选项格式(选项 && 解释 )linux gcc常用命令集合:-o FILE && 指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.-c && 只编译生成目标文件,不链接-m486 && 针对 486 进行代码优化。-O0 && 不进行优化处理。-w && 关闭所有警告,建议不要使用此项-Wall && 允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告-werror &
阅读全文
摘要:颜色如下:none = "\033["black = "\033[0;"dark_gray = "\033[1;"blue = "\033[0;"light_blue = "\033[1;"green = "\033[0;"light_green -= "\033[1;"cyan = "\033[0;"light_cyan = "\033[1;"red = "\033[0;"light_red =
阅读全文
摘要:# 建立debug/release两目录,分别在其中执行cmake -DCMAKE_BUILD_TYPE=Debug(或Release),# 需要编译不同版本时进入不同目录执行make即可# ${projectname_SOURCE_DIR}表示根源文件目录,${ projectname _BINARY_DIR}表示根二进制文件目录# SET(NAME, VALUE) 设置变量的值.# CMAKE_C_COMPILER 指定C编译器,通常,CMake运行时能够自动检测C语言编译器。# CMAKE_CXX_COMPILER 指定C++编译器# CMAKE_C_FLAGS 指定编译C文件时编译选项
阅读全文

浙公网安备 33010602011771号