
linux
zzxian
尘世中一个迷途小书童!
展开
-
inux僵尸进程产生及如何避免
任何程序都有僵尸状态,它占用一点内存资源(也就是进程表里还有一个记录),仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的转载 2014-08-09 10:00:34 · 1101 阅读 · 0 评论 -
Linux平台gcc和动态共享库的基础知识
对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。 一、GNU gcc的编译工具用法 我们先来写一个简单的C程序:hello.c C代码 #include void print_hello() { prin转载 2012-05-26 10:47:32 · 695 阅读 · 0 评论 -
linux shell 字符串操作(长度,查找,替换,匹配)详解
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串值表达式含义${var}变量var的值, 与$var相同转载 2012-05-25 13:55:35 · 19757 阅读 · 0 评论 -
bash 变量的前缀和后缀
使用${var%s*} / ${var%%s*} 和${var#*s} / ${var##*s}获取变量的最长/短前缀和最长/短后缀其中s为截断var的分割符表达式,可以使用正则表达式。这是一种简单的正则表达式匹配,提取变量的前后缀较方便。如果匹配规则较为复杂,应使用常规的正则表达式完成。原创 2012-05-25 11:27:59 · 1749 阅读 · 0 评论 -
linux下检测ip冲突
原理其实很简单,那就是广播一个arp包,然后recv,如果没有数据(这里要设置延时),那么说明这个ip是可用的,否则就检测这个数据是否为回复我们发出的arp的应答包.如果是则证明ip已被使用,否则继续等待. 这里可以看下busybox的dhcp中的检测程序。 networking/udhcp/arpping.c C代码 /* vi: set sw=转载 2012-05-28 12:26:01 · 1312 阅读 · 0 评论 -
Linux 信号说明列表
$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHL转载 2012-03-17 01:28:10 · 435 阅读 · 0 评论 -
常用进程的同步机制
一、原子操作所谓原子操作是指不会被线程调度机制打断的操作。通常所说的原子操作包括对非long和double型的primitive进行赋值以及返回这两者之外的primitive。原子操作不需要同步机制。P.S:volatile修饰的long和double型的赋值和返回是原子操作二、信号量机制转载 2012-03-17 01:37:26 · 1460 阅读 · 0 评论 -
定时任何和例行任务
定时任务新建一个定时任务1. at Time #执行at命令 #Time的格式有:HH:MM YYYY-MM-DD HH[pm;am] [Month] [Day] HH[pm;am] + number[hours;原创 2012-02-18 00:45:24 · 856 阅读 · 0 评论 -
各种自动运行
1.开机启动时自动运行程序 Linux 加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置 在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc /rc.d/rc.local 文件,在文件最末加上一行“xinit”或“转载 2012-02-18 00:52:26 · 590 阅读 · 0 评论 -
linux svn命令
原地址:http://www.rjgc.net/control/content/content.php?nid=4418 1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2、往版本库中添加新的文件转载 2012-07-11 19:33:09 · 752 阅读 · 0 评论 -
shell的startup文件
1. 登录非登录和交互非交互式shell 用户登录时(输入用户名密码后)启动的shell是登录shell,登录后仍可使用bash --login来启动一个登录shell 用户启动shell用来解释命令是交互式shell,启动shell用来执行脚本是非交互时shell2.非交互式shell的startup文件定义在BASH_ENV变量里,一般为空。3. 交互式登录shel原创 2012-07-14 17:02:07 · 5582 阅读 · 0 评论 -
一个ip执行一次程序
假设你有一堆可以是用的ip(对外ip),可改变本机ip进行网络连接执行一次程序。 比较幸运的是,我位于一个局域网内,而局域网的每个ip都是独立的ip,这样就可以侦测局域网可用ip来执行程序了。由于其他主机可能屏蔽ping,这里使用arp检测某一ip是否未被其他主机使用。下面给出bash脚本#!/bin/bashkeys="keywords.txt"jar="google.jar"原创 2012-07-14 10:45:07 · 1912 阅读 · 0 评论 -
win7下制作ubuntu系统安装启动盘和U盘安装ubuntu全过程
在我搞坏了两个系统之后,一切都得从头开始了,这回好了,电脑就是一台裸机了。没办法,重新下win7吧。这个要先做一个win7的启动盘,然后再安装,只能说我技术不行,没能把win7搞定。让大神给装的win7,他让我用wubi装ubuntu,但是自我感觉那样太没意思,所以就偷偷的把ubuntu装上了。某些人说我干什么都干不成,呵呵。。不感慨了,步骤如下:一.制作ubuntu的安装U盘 1.前期准转载 2014-05-10 16:09:32 · 24591 阅读 · 0 评论 -
tar 解压去掉顶层目录
查了两个小时的文档,还是没有找打好方法。原来tar不支持这个功能。妥协的办法是先解压出来再压缩(直接压缩顶层目录下的东西)再戒烟。要不然就是用另外一个命令:pax具体参数的含义还没查。原创 2013-01-03 20:27:06 · 5913 阅读 · 1 评论 -
find prune忽略文件夹
在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能。假如在当前目录下查找文件,且当前目录下有很多文件及目录(多层目录),包括dir0、dir1和dir2 ...等目录及dir00、dir01...dir10、dir11...等子目录。1. 在当前目录下查转载 2012-12-28 11:21:59 · 2611 阅读 · 0 评论 -
Linux系统启动过程
内容提要 本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。 阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启动这部分的源码转载 2012-10-23 00:19:34 · 549 阅读 · 0 评论 -
tcpdump使用详解及评论摘要
第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src转载 2012-10-21 02:06:49 · 734 阅读 · 0 评论 -
linux top
%mem 内存使用率virt 是虚拟内存res是常驻内存shr是共享内存top命令下按f键可以看到详细说明* A: PID = Process Id* E: USER = User Name* H: PR = Priority* I: NI = Nice value* O: VIRT =转载 2012-10-14 17:37:27 · 648 阅读 · 0 评论 -
Linux的JCPU与PCPU
使用w命令查看用户登录信息时,会显示到PCPU与JCPU,这个概念是什么意思呢?JCPU - the CPU time used by all processes and their children on that terminal (in minutes:seconds)PCPU - the CPU time used by the currently active pro转载 2012-10-14 17:17:22 · 21724 阅读 · 0 评论 -
linux系统日志
Part I:syslogd & klogd ---------/etc/syslog.conf/var/log/secure:登录到系统存取资料的记录;FTP、SSH、TELNET.../var/log/wtmp:记录登录者讯录,二进制文件,须用last来读取内容/var/log/messages:杂货铺/var/log/boot.log:记录开机启动讯息,dme转载 2012-08-25 01:42:13 · 19552 阅读 · 2 评论 -
linux-gcc 编译时头文件和库文件搜索路径
一、头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH ※再找内定目录/usr/include /usr/local/include/usr/lib/gcc-lib/i386-linux/2.95.转载 2012-08-18 10:51:44 · 1421 阅读 · 0 评论 -
用UNetbootin安装Puppy Linux到U盘
很少玩Linxu系统,但今天看到了Puppy Linux的介绍,于是也凑凑热闹弄一个到U盘玩玩,顺便当移动系统。用本身自带的Puppy universal installer嫌太麻烦了,还要自己刻盘。用Flashboot制作结果又启动不了,最后还是使用UNetbootin搞定。准备工作:下载UNetbootin:http://unetbootin.sourceforge.net/转载 2012-02-13 16:05:04 · 8232 阅读 · 0 评论 -
ubuntu 软件包分类
Ubuntu 根据软件包的开发组组织对该软件的支持程序,以及遵从的开源程序,划分为如下4类。见一更新源代码:deb http://mirrors.163.com/ubuntu/ lucid main universe restricted multiversedeb-src http://mirrors.163.com/ubuntu/ lucid main universe restr转载 2012-02-13 14:35:21 · 1640 阅读 · 0 评论 -
/etc/passwd和etc/group中每条记录个字段的含义
/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(分隔为7个字段,其格式和具体含义如下: 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell 1)“用户名”是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连转载 2011-12-30 00:27:09 · 10732 阅读 · 0 评论 -
linux sort
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplepe转载 2012-01-14 03:48:52 · 645 阅读 · 0 评论 -
文本处理命令—sort、uniq、wc、expand、unexpand、iconv、dos2unix、unix2dos
sort命令 功能说明:以行为单位对文件进行排序。 命令格式:sort [参数] [ …] 常用参数: -b:忽略前导的空格。 -d:只考虑空格、字母和数字。 -f:忽略字母的大小写。 -i:只考虑可打印字符。 -M:排序月份,(未知词) -n:根据字符串的数值进行排序。 -r:逆向排序。 -u:对相同转载 2012-01-14 03:46:54 · 2888 阅读 · 0 评论 -
linux uniq
uniq [选项] 文件说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。该命令各选项含义如下:、– c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。转载 2012-01-14 03:27:09 · 17760 阅读 · 0 评论 -
Grep学习笔记
1. grep简介grep(global search regular expression(RE) and print out theline,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,转载 2012-01-10 01:31:57 · 809 阅读 · 0 评论 -
ubuntu安装MySQL
安装MySQL sudo apt-get install mysql-server 这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。 配置MySQL 注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:默认的My转载 2012-01-08 00:10:37 · 595 阅读 · 0 评论 -
var目录
var目录/var 包括系统运行时要改变的数据。其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。有些目录还是可以与其他系统共享,如/var/mail, /var/cache/man, /var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件转载 2011-12-24 18:56:28 · 9511 阅读 · 0 评论 -
安装samba-3.0.24
<br /> 安装samba-3.0.24 本文系作者原创,转载请注明出处:http://marion.cublog.cn此安装的系统平台是Redhat 9.0 一、安装 #tar zxvf samba-3.0.24.tar.gz<br />#cd samba-3.0.24/source<br /> #env CPPFLAGS="-I/usr/local/openldap/include" LDFLAGS="-L/usr/local/openldap/lib" ./configure -转载 2011-02-25 00:22:00 · 994 阅读 · 0 评论 -
linux修改内核、添加系统调用过程
1. 修改内核1.1 修改内核源代码1.2 重新编译内核make /usr/src/linux-x.x/bzImage --重新编译1.3 重新配置grubcp /usr/src/linux-x.x/arch/i386/boot/bzImage /boot/vmlinuz cp /usr/src/linux-x.x/System.map /boot/System.map vi /boot/grub/menu.lst --添加kernel和root项原创 2011-01-22 13:58:00 · 1458 阅读 · 0 评论 -
tar
tar [-cxtzjvfpPN] 文件与目录 ....解压文件到指定目录:tar -zxvf /home/zjx/aa.tar.gz -C /home/zjx/pf参数:-c :建立一个压缩文件的参数指令(create的意思)-x :解开一个压缩文件的参数指令-t :查看tarfile里面的文件特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在!转载 2012-02-04 07:06:53 · 520 阅读 · 0 评论 -
wine安装+中文配置+使用总结贴
安装 WINE 安装完 Wine ,先要运行一下 winecfg英文 wine 官方用户指南中文 wine 用户指南一、自Ubuntu 软件库 进行 apt-get 安装不推荐sudo apt-get updatesudo apt-get install wine二、从Wine HQ 进行 apt-get 安装推荐 可以自动更新到 最转载 2011-12-31 00:46:10 · 22829 阅读 · 0 评论 -
apt-get remove 与 apt-get autoremove、aptitude remove的不同
apt-get remove 与 apt-get autoremove、aptitude remove的不同apt-get remove的行为我们很好理解,就是删除某个包的同时,删除依赖于它的包例如: A 依赖于 B, B 依赖于 Capt-get remove 删除B的同时,将删除A(很好理解,A依赖于B,B被删了,A也就无法正常运行了)先说明下apt-get autor转载 2012-02-04 16:45:07 · 13670 阅读 · 0 评论 -
shell中的一些特殊变量
在bash中会用到很多特殊的shell变量,熟练运用这些变量会对bash编程有很大帮助。 shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引转载 2012-02-13 00:20:02 · 597 阅读 · 0 评论 -
rdesktop参数
rdesktop -z -r sound:remote -g workarea -D -K -a 16 -u Soloman -p xxxxxx kingkong 下面详细说明一下各参数的意思: -z:启动网络数据的压缩,减少带宽,不过如果是 LAN,我觉得加不加都无所谓; -r sound:remote:将声音在远程的机器上播放,而不带到你的本机里。因为我的台式机连接上了音箱,而我如果从笔记本远转载 2012-02-12 17:50:15 · 4346 阅读 · 0 评论 -
linux系统状态及进程检测
一、1. hostname 主机名 (vi /etc/sysconfig/network)2. uname -a (uname -i -p -r -m)3. last 最近用户登陆信息4. lastlog5. /proc内核镜像文件 echo 1 >/proc/sys/net/ipv4/ip_forward (ip转发)6. free 查看内存信息7.转载 2012-01-04 13:47:13 · 1150 阅读 · 0 评论 -
Ubuntu下搭建C/C++开发环境
最近在VM中装了Ubuntu,为了开发程序,于是在网上找了些由于C/C++开发环境搭建的资料,供大家参考。以下文字主要讲如何搭建Code::Blocks+wxWidgets。搭建步骤:1.安装编译环境,C库、C++库和Boost库在终端中执行的命令:sudo apt-get install libc6 libc6-dbg libc6-dev glibc-doc libstdc+转载 2012-01-02 01:03:16 · 1515 阅读 · 0 评论 -
ubuntu安装jdk全过程
首先,从http://java.sun.com中下载jdk,我的版本是jdk1.6.0_12,我下载的是bin文件,我将下载的jdk1.6.0_12.bin文件置于/usr/lib/jvm/java中然后,在shell中执行:代码:sudo chmod u+x /usr/lib/jvm/java/jdk1.6.0_12.bin修改bin文件权限,使其可执行然后,执行转载 2012-01-03 01:44:29 · 443 阅读 · 0 评论