随笔分类 - linux_操作系统
摘要:最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100% 为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享: 首先
阅读全文
摘要:1.把一个文件里面所有包含 abc 的行里面的 abc 替换成 def,然后输出第一列和第三列cat abc.txt | grep abc | sed 's/abc/def/g' | awk '{print $1,$3}'awk '$0 ~ /abc/ {gsub("abc", "def", $0)...
阅读全文
摘要:在/etc/vimrc文件中进行设置。1. tab变空格set tabstop=4 #设置一个tab为4个空格set shiftwidth=4 #设置4个空格为一个tabset expandtab #将tab显示为空格
阅读全文
摘要:1. top命令结果解读23:31:27:系统时间up 8 days: 表示从开机到现在,一共运行了8天1 user:1个用户正在使用系统load average:系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。tasks:系统的任务状况,正在运行的程序1个,...
阅读全文
摘要:转自:http://gdcsy.blog.163.com/blog/static/12734360920130241521280/一、split 初始化和类型强制 awk的内建函数split允许你把一个字符串分隔为单词并存储在数组中。你可以自己定义域分隔符或者使用现在FS(域分隔符)的值。格式: ...
阅读全文
摘要:1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以...
阅读全文
摘要:phpmyfaq真是奇怪呀,官网上只能下载到当前的版本,无法下载以前的版本。官网为:http://www.phpmyfaq.de/ 官网上没有phpmyfaq的安装方法,我在网上找了下,这就个文章还比较有用:http://blog.webwlan.cn/wordpress/?p=7820。另外还参考
阅读全文
摘要:转自:http://www.cnblogs.com/fhefh/archive/2011/09/20/2182155.html如果你对SUID、SGID仍有迷惑可以好好参考一下!Copyright by kevintz.由 于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的 问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题, 文章中如果有不当之处,请广大网友指正。一、UNIX下关于文件权限的表示方法和解析SU
阅读全文
摘要:转自:http://leejia.blog.51cto.com/4356849/788902 grub.conf是grub的主配置文件,通过这个配置文件,grub才能找到kernel,系统才能正常启动。下面我们来解析一下这个文件中所有到的一下关键字的意思: default:定义默认启动的kernel或是操作系统 timeout:定义等待进入选择kernel或操作系统菜单的时间 splashimage:指定我们选择kernel或操作系统菜单后面那张图片。如果定义,这张图片需要用linux自带的软件xmp制作,在图形界面可以打开。图片的特点为: 1,必须是xpm的格式 2,必须用g...
阅读全文
摘要:1. cut命令cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出。截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field,并提取指定的fields。cut命令有5个参数,其中-c,-b,-f分别表示"character", "byte"以及"field"截取方式。当采用field模式截取时,需要用"-d"参数指定一个分隔符,分割符只能为单个字符。另外还有一个"-s",suppress,表示如果行中没有给出的分割符则不输出该
阅读全文
摘要:转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.htmlsort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplepearorange[rocrocket@rocrocket programming]$ sort seq.txtap
阅读全文
摘要:转自:http://www.cnblogs.com/shineshqw/articles/1978122.html功能说明:利用script来处理文本文件。 语 法:sed [-hnV][-e][-f][文本文件] 补充说明:sed可依照script的指令,来处理、编辑文本文件。 参 数: -e...
阅读全文
摘要:本文来自:http://coolshell.cn/articles/5426.htmlvim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。Vim the Six Billion Do
阅读全文
摘要:来自:http://blog.ddup.us/?p=176写C/C++程序经常要直接和内存打交道,一不小心就会造成程序执行时产生Segment Fault而挂掉。一般这种情况都是因为数组越界访问,空指针或是野指针读写造成的。程序小的话还比较好办,对着源代码仔细检查就能解决。但是对于代码量 较大的程序,里边包含N多函数调用,N多数组指针访问,这时想定位问题就不是很容易了(此时牛人依然可以通过在适当位置打printf加二分查找的方式迅 速定位:P)。懒人的话还是直接GDB搞起吧。神马是Core Dump文件偶尔就能听见某程序员同学抱怨“擦,又出Core了!”。简单来说,core dump说的是操作
阅读全文
摘要:1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。 假设我们有下面一个非常简单的源程序(hello.c): int main(int argc,char **argv){ printf("Hello Linux\n");} 要编译这个程序,我们只要在命令行下执行:gcc -o hello hello.c gcc 编译器就会为我们生成一个hello的可执行文件。执行。/hello就可以看到程序的输出结果了。命令行中 gcc表示我们是用gcc来编译我们的源程序,-o 选项表示我们要求编
阅读全文
摘要:Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。gcc 编 译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。 在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。而gcc则通过后缀来区别输入文件的类别,下面我们来 介绍gcc所遵循的部分约定规则。.c为后缀的文件:C语言
阅读全文
摘要:设置行号 set nu 设置自动缩进 set autoindent 设置tab占n个字符 set tabstop=n 设置以空格代替tab(因为有部分场合不允许使用tab) set expandtab 设置缩进字符数为n set shiftwidth=n 设置自动语法高亮 syntax on
阅读全文
摘要:转自:http://pengpeng.iteye.com/blog/8755210. 内存基本知识 我们通常称 linux的内存子系统为:虚拟内存子系统(virtual memory system),为何这样称谓呢? 其实这个是个很牛的设计。linux充分利用了程序的局部性原理,结合线性地址的概念(虚拟地址)使得运行于操作系统上的每个进程都可以使用所有用户空间主存。而且虚拟内存还解决了内存不连续和碎片的问题(因为在程序来说线性地址都是连续的);每个进程都有各自的页表,虚拟地址空间都各自独立,互补干扰; 那么我们的程序里申请的内存的时候,linux内核其实只分配一个虚拟内存(线性地址),并没有分
阅读全文
摘要:转自:http://pengpeng.iteye.com/blog/868643 从上篇文章的介绍我们知道linux内核根据TCP/IP网络模型,给我们隐藏了传输层以下的网络传输细节,我们的网络应用程序只需要针对socket编程即可。这篇我们立足网络数据包的I/O。谈谈linux的一些I/O知识。1. 基础知识 我们知道Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(简称:fd,文件描述符);我们通过 ls -l /proc/${p.
阅读全文
摘要:传统的每个进程中只有一个线程在执行,称作单线程方法。MS-DOS是一种支持单用户进程和单线程的操作系统,UNIX支持多用户进程,但只支持每个进程一个线程,WINDOWS 2000(W2K)、SOLARIS、 LINUX等支持多线程的多进程。在多线程的环境中,进程被定义成资源分配的实体(unit)和保...
阅读全文