![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
iteye_14216
这个作者很懒,什么都没留下…
展开
-
【zz】Vim的分屏
分屏启动Vim使用大写的O参数来垂直分屏。 vim -On file1 file2 ...使用小写的o参数来水平分屏。 vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏关闭当前窗口。 Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。 Ctrl+...原创 2012-04-26 11:13:20 · 89 阅读 · 0 评论 -
Linux系统编程学习笔记(十三)线程2
线程2线程1中我们介绍了线程和线程同步,本部分将学习线程控制的细节。我们将要看到线程属性、同步原语属性,线程私有数据。1、线程限制:Single Unix定义了一线线程操作的限制,和其他的限制一样,可以通过sysconf来查询。和其它的限制使用目的一样,为了应用程序的在不同操作系统的可移植性。一些限制:PTHREAD_DESTRUCTOR_ITERATIONS: 销毁一个线...2010-05-23 12:47:39 · 113 阅读 · 0 评论 -
Linux GUI脚本zenity
zentiy可以帮助你使用脚本创建常用的gtk+对话框。1、使用日历控件:szDate=$(zenity --calendar --text "Pick a day" --title "Medical Leave" --day 13 --month 5 --year 2010); echo $szDate2、创建一个Entry对话框:szAnswer=$(zenity...原创 2010-05-14 00:07:27 · 265 阅读 · 0 评论 -
awk的一个题目
同学问我一道awk的题目:[quote]给定用户的多维度信息:userID,userName,userAge,userLogTime给定文本数据userAccess.dat:userID,userName,userAge,userLogTime格式说明:userID--用户ID编号,采用32位数字编码;userLogTime--用户登录时间,采用YY-MM-DD格式,如(201...原创 2010-05-13 17:57:17 · 112 阅读 · 0 评论 -
Linux系统编程学习笔记(十二)线程1
线程1:线程和进程类似,但是线程之间能够共享更多的信息。一个进程中的所有线程可以共享进程文件描述符和内存。有了多线程控制,我们可以把我们的程序设计成为在一个进程同时做多个任务,每一个线程做一个独立的任务,这种方式可以有以下好处:1、通过把每一个事件分配给一个线程处理,可以简化异步事件处理的代码。每一个线程可以用同步编程模型,而同步编程要比异步编程简单的多。2、多个进程需要使...2010-05-07 14:54:28 · 100 阅读 · 0 评论 -
Linux系统编程学习笔记(十一)守护进程
守护进程:守护进程是生存时间比较长的一种进程. 它们常常在系统自举时启动, 仅在系统关闭时才终止. 因为它们没有控制终端, 所以说它们是在后台运行的. 先来介绍一些Linux系统常见的守护进程:init: 它的pid为1, 是系统守护进程, 负责启动系统服务, 这些服务通常自己也拥有守护进程. keventd: 为在内核中运行计划执行的函数提供进程上下文. kapmd: 对...2010-05-07 09:54:20 · 124 阅读 · 0 评论 -
Linux系统编程学习笔记(十)进程间通信IPC 1
进程间通信IPC:我们以前介绍过进程控制原语,看到怎么创建多个进程。但是进程之间交互信息的方式只介绍了通过fork或者exec继承父进程的打开文件或者通过文件系统。经典的进程通信方式有:管道、FIFOs,消息队列,信号灯和共享内存。1、管道:管道是Unix系统IPC最古老的形式,PIPE有以下限制:1)是半双工的,一些系统提供了全双工的管道,但是为了可移植性,我们最好不要作...2010-05-04 10:44:21 · 149 阅读 · 1 评论 -
Linux系统编程学习笔记(九)信号管理2
信号2:1、信号集合:信号集合以及其操作我们经常遇到,比如设置一些进程要阻塞的信号,进程的信号pending集合。以下是常用的信号操作:[code="cpp"]#include int sigemptyset(sigset_t *set);int sigfillset(sigset_t *set);int sigaddset(sigset_t *set, in...2010-05-03 22:26:17 · 224 阅读 · 0 评论 -
Linux系统编程学习笔记(八)信号管理1
第9章 信号1 信号是提供处理异步事件机制的软件中断。这些事件可以来自系统外部--例如用户产生中断符(通常是Ctrl+c),或者来自程序或者内核内部的活动,例如进程执行除以0的代码。作为一种进程间通信的基本形式,进程也可以给另一个进程发信号。 不光事件的发生是异步的,而且程序对信号的处理也是异步的。信号处理函数在内核中注册,收到信号时,内核从程序的其它部分异步地调...2010-05-02 16:19:09 · 164 阅读 · 0 评论 -
Linux系统编程学习笔记(七)内存管理
内存管理:对于一个进程来说,内存是最基本的也是最重要的资源之一。内存管理包括:内存分配、内存操作和内存释放。1、进程地址空间:Linux将物理内存虚拟化,内核为每一个进程维护一个特殊的虚拟地址空间。这个地址是线性的,从0开始,到某个最大值。1)页和页面调度虚拟地址空间由很多页组成。系统的体系结构和机型决定了页的大小,典型的页大小包括4kb(32位系统)和8k(64位系统...2010-05-01 22:36:08 · 128 阅读 · 0 评论 -
Linux系统编程学习笔记(六)进程管理2
进程管理21、用户和组:进程是和用户和组关联的,用户id和组id分别是C语言的uid_t和gid_t类型表示。数字表示和可读字符串之间的映射关系是通过用户空间的/etc/passwd和/etc/group两个文件完成的,内核只处理数字表示形式。在Unix系统中,一个进程的用户ID和组ID代表这个进程可以执行哪些文件操作以及向其他进程发送信号的能力。进程必须以合适的用户和组运行,...2010-04-30 23:44:16 · 112 阅读 · 0 评论 -
Linux系统编程学习笔记(五)进程管理1
进程管理(一)和文件一样,进程是Unix系统最基本的抽象之一。1、进程ID:每一个进程都有一个唯一的标示,进程ID。虽然进程ID是唯一的,但进程终止后,id会被其他进程重用。许多UNIX都提供了延迟重用的功能,以防止新进程被误认为是旧进程。有一些特殊的进程:id为0的进程--idle进程或者叫做swapper,通常是一个调度进程。id为1的进程--内核booting之后...2010-04-30 00:10:25 · 128 阅读 · 0 评论 -
Linux系统编程学习笔记(四)文件和目录管理
文件和目录管理:1、获得文件metadata的Stat家族:[code="cpp"]#include #include #include int lstat(const char * restrict path, struct stat * restrict buf);int stat(const char *restrict path, struct stat *...2010-04-25 08:42:33 · 107 阅读 · 0 评论 -
Linux系统编程学习笔记(三)高级文件I/O
高级文件I/O1、Linux提供的高级I/O操作:1)Scatter/gatter I/O:可以通过单个系统调用从多个buffer写到文件或者读到多个buffer中。2)Epoll:是poll()和select()的改进版。3)Memory-mapped I/O:将一个文件映像到内存,通过内存的操作来操作文件,操作更高效简单。4)File advice:允许进程向内核提供使用的...2010-04-24 22:45:00 · 323 阅读 · 0 评论 -
[zz]linux 常用命令总结:
linux 常用命令总结: 一。 通用命令: 1. date :print or set the system date and time 2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等) 3. passwd: print or set the system date and time (用passwd -h查看) 4. log...原创 2010-12-11 21:30:27 · 95 阅读 · 0 评论 -
[zz]关于xargs,你可能不知道的
如果你曾经花了许多时间在Unix命令行上,那么或许你已经见过xargs了,如果你还没听过xargs,那就先让我来解释下,xargs是一个从标准输入或许参数并执行命令的程序。常见使用我常常见到将find和xargs组合使用以对find返回的文件列表执行某些操作。更新:根据Twitter和hacker news上的反馈,find是个很强大的命令,它自己也有-exec和-dele...原创 2011-08-29 23:05:04 · 86 阅读 · 0 评论 -
bash的几种for循环
1、罗列式[code]for VARIABLE in 1 2 3 4 5 .. Ndo command1 command2 commandNdone[/code][code]#!/bin/bashfor i in 1 2 3 4 5do echo "Welcome $i times"done[/code]2、使用ran...原创 2012-04-26 11:13:05 · 2627 阅读 · 0 评论 -
[zz]服务器性能评估
工作这么久了,主要就是服务器端的开发,由于业务性质,对于性能的考虑是每天不得不面对的问题,每次出方案,都是以预估总pv、单机支持最大并发、预计机器资源。。。。。。等等一系列问题开始,所以程序运行中单个函数的耗时,上线后整体性能的观察都非常重要。经过一段时间的积累和同事的指点,把相关的内容记录下,也与有同样需求的同学分享,共同进步。 一:首先,可已从如下四个方面观察你的服...原创 2011-04-29 14:17:23 · 196 阅读 · 0 评论 -
[zz]Top命令VIRT,RES,SHR,DATA的含义
VIRT:virtual memory usage 1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等 2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量 RES:resident memory usage 常驻内存 1、进程当前使用的内存大小,但不包括swap out 2、包含其他进程...原创 2011-04-10 15:50:00 · 120 阅读 · 0 评论 -
[zz]一些shell命令
1.显示消耗内存/CPU最多的10个进程[code]ps aux | sort -nk +4 | tailps aux | sort -nk +3 | tail[/code]2.查看Apache的并发请求数及其TCP连接状态[code]netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'...原创 2011-04-10 15:35:39 · 97 阅读 · 0 评论 -
Linux下使用RTX腾讯通
在公司为了使用RTX,专门安装了一个XP的虚拟机,但是这个也不方便,每天得开个虚拟机,并且别人给你发的消息你很多时候不能立马看到。所以准备在Linux搞个RTX,这样就能解决我的问题。下面说一下安装的步骤,以及一些问题的解决方法:1、安装windows的软件,第一件事当然是安装个wine如果是Ubuntu,直接:$sudo apt-get install wine...原创 2011-03-03 22:46:38 · 1556 阅读 · 0 评论 -
【zz】几个简单选项让你的Readline(Bash)更好用
Reddit上的一位仁兄贴出了他的readline手册学习成果,只需要在.inputrc中加入几个简单的选项,就可以让你的readline(Bash)界面变得更好用。set completion-ignore-case on这个选项很直白,自动补全时忽略大小写:来看个例子:$ lslongFileNameLINUX-2.6.37-4 longFileNam...原创 2011-10-10 23:08:00 · 216 阅读 · 0 评论 -
pipe in -exec
一个简单的例子:将一堆的.txt文件,合并成一个文件,让每个文件的内容在合并的文件中占一行。可能想用以下的代码来解决:[code="bash"]find . -name "*.txt" -exec cat {} | tr -d '\n' \; -print[/code]但这是错误的,因为bash首先会解释|为管道,分割命令,即使加上\|也不行。一个解决方法时使用sh命令...2011-09-27 22:35:05 · 163 阅读 · 0 评论 -
Bash札记(二)
一、I/O File1、read指定分割[code]while IFS=: read user pass uid gid fullname homedir shelldo//process each linedone < /etc/passwd[/code]2、使用here document,作为读入内容:[code]#!/bin/bashcat /d...原创 2010-08-08 12:58:10 · 101 阅读 · 0 评论 -
Bash札记(一)
1、变量的扩展操作:${varname:-word}如果变量存在非空,返回其值,否则返回默认值wordfilename=${1:-/dev/tty},如果位置参数为空,则返回/dev/tty${varname:=word}如果变量存在非空,返回其值,否则赋值为word并返回其值${varname:?message}如果变量存在非空,返回其值,否则打印varname:message,...原创 2010-08-07 20:32:12 · 83 阅读 · 0 评论 -
Linux系统管理员应该知道监控工具
如果想监控Linux服务器的性能,请试一下内置的shell命令和一些附加的工具。很多Linux发行版都有“成吨”的监控工具。这些工具提供了可度量信息,用于观察系统的活动,找到导致系统性能的可疑之处。我们下面讨论的工具是一些最基本的命令,可以用来系统的分析和服务的调试:1、找出系统瓶颈2、找出磁盘瓶颈3、找出CPU、内存瓶颈4、网络瓶颈一、top 进程活动命令top提...2010-07-24 00:05:10 · 131 阅读 · 0 评论 -
[zz] GNU Screen
* 什么是GNU Screen常来我们版的,基本上就算没有自己用过也听说过screen的名字了,那么到底什么是screen, 它又是干什么的呢?为什么它能称得上是我们的镇版之宝?screen的手册上说了,screen是一个terminal multiplexer。但是对于普通人来讲,这个定义和没有定义差不多。我觉得最通俗的解释,应该说screen相当于文本界面下面的...原创 2010-07-19 11:54:21 · 100 阅读 · 0 评论 -
[zz]Unix调试的瑞士军刀:lsof
原文见:[url]http://heikezhi.com/2011/06/19/swiss-army-knife-of-unix-debugging-lsof/[/url]这是“你应该知道的Unix和Linux命令”系列的第三篇,在这篇文章中,我会介绍lsof这个工具,如果说netcat是进行网络诊断的瑞士军刀,那么lsof就是Unix调试的瑞士军刀。Lsof是遵从Unix哲学的典...原创 2011-08-31 10:33:39 · 117 阅读 · 0 评论 -
Ubuntu10.10解决Empathy无法链接MSN的问题
1.在Empathy中删除无法登录的MSN账户,并关闭Empathy2.应用程序->Ubuntu软件中心->已安装的软件3.找到Empathy,点击更多信息4.去掉 MSN connection manager for Telepathy 的勾选5.应用变更6.重新打开Empathy,建立MSN帐号...原创 2010-10-21 16:36:23 · 106 阅读 · 0 评论 -
[zz]Vim的分屏功能
分屏启动Vim使用大写的O参数来垂直分屏。vim -On file1 file2 ...使用小写的o参数来水平分屏。vim -on file1 file2 ...注释: n是数字,表示分成几个屏。关闭分屏 关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q分屏上...原创 2010-10-21 13:09:12 · 60 阅读 · 0 评论 -
sudo继承下来环境变量
今天启动tomcat,已经配置了JAVA_HOME,使用sudo启动,提示找不到JAVA_HOME,可以通过命令: sudo visudo 在Defaults env_keep添加JAVA_HOME就可以继承下来已有的环境变量了。 ...原创 2010-01-26 16:34:50 · 317 阅读 · 0 评论 -
Linux下的各种压缩文件
一般自带归档tar,gzip,compressrar需要安装:sudo apt-get install rar7zip需要安装:sudo apt-get install p7zip-full原创 2010-08-29 21:33:28 · 98 阅读 · 0 评论 -
Linux下的各种文件阅读器
.chm文件firefox插件chm reader:https://addons.mozilla.org/en-US/firefox/addon/3235xchm:sudo apt-get install xchm会有中文乱码问题chmsee:sudo apt-get install chmsee还可以,暂时没有发现什么问题.djvu文件sudo apt...原创 2010-08-29 21:27:55 · 1572 阅读 · 0 评论 -
Linux各种脚本对正则的支持汇总
符号edexvisedawkgrepegrep动作.•••••••匹配任一字符*•••••...2010-08-18 22:45:05 · 62 阅读 · 0 评论 -
rsync数据同步利器
对于系统运维人员来说rsync 应该是工具箱中的一个常用工具,其稳定,便捷,高效的特性一直为人所称道.rsync一般会配合cron工作,cron定时自动完成系统数据同步工作。1.决定使用哪种传输协议?在默认条件下,rsync可以用RSH协议与远程系统进行通信。通过调整参数还可以用SSH协议,这样就可利用所有的标准SSH认证方法,并实现加密的文件传输。建议用ssh协议2.基本...原创 2009-07-12 17:58:55 · 114 阅读 · 0 评论 -
Linux下flash乱码解决方法
今天去google听歌发现挑歌的泡泡和播放器的歌名都是乱码,在网上找到了解决的方法: 在Linux下用Firefox浏览有Flash的网页时,经常碰到有些文字不能正常显示,有些还可能显示乱码,比如Google 的在线音乐播放音乐时,完全显示不了文字。解决方法很简单,操作如下: sudo vim /etc/fonts/conf.d/49-sansserif.conf<?...2009-12-21 23:15:43 · 151 阅读 · 0 评论 -
工作告别win,完全使用Linux
今天把win给搁了,准备完全使用Linux,Linuxmint是个不错的版本,基于ubuntu的一个发行版,里面的默认安装的工具基本很全了,上网、聊天、邮件、文档、视频。中文支持也很好,绿色的主题给人一种清爽的感觉,UI有点mac的风格。Linux发行版一般都是上下两个栏,对于宽屏的笔记本还是有点界面过于扁的感觉,放在侧面又布局不过来,有点别扭,mint对此也做了考虑,像win类似...2009-12-20 23:02:28 · 74 阅读 · 0 评论 -
装了Chrome OS,失望了
今天用虚拟机搞了Chrome OS,装完之后无法最大化,速度相当之慢,提供的功能太弱,界面和Chrome浏览器无异。2009-11-23 15:34:30 · 1687 阅读 · 1 评论 -
pthread
编译的的时候需要加-lpthread选项,因为它不是linux默认的库。 #include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<pthread.h>#include<string.h>void * thread_function(v...2009-11-01 21:32:43 · 72 阅读 · 0 评论 -
crontab使用方式
基本格式 :* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令crontab文件的一些例子:30 21 * * * /usr/local/etc...原创 2009-10-17 19:29:20 · 142 阅读 · 0 评论