摘要:简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能
阅读全文
随笔分类 - Linux/Unix
摘要:今天, 又在公司内听到大家争论 Buffer 与 Cache的差异了, 虽然差不多1个月前, 我们就已经在群组里面进行过激烈的争论, 我在网上搜索了下, buffer 与 Cache 区别, 找到下面这个链接, 给出的解释比较接近为维基百科上的说法, 抄录如下, 以为记.什么是Cache? 什么是Buffer? 二者的区别是什么?http://wenda.tianya.cn/wenda/thread?tid=595a1d68b3009fedBuffer和Cache的区别buffer与cache操作的对象就不一样。buffer(缓冲)是为了提高内存和硬盘(或其他I/0设备)之间的数据交换的速度而
阅读全文
摘要:UBUNTU下双网卡绑定非常简单,使用以下步骤:1.安装软件apt-get install ifenslave2.修改配置文件/etc/network/interfacesauto loiface lo inet loopbackiface eth0 inet dhcpiface eth1 inet dhcpauto bond0iface bond0 inet staticaddress 64.0.177.20netmask 255.255.255.0gateway 64.0.177.254up ifenslave bond0 eth0 eth1down ifenslave -d bond0
阅读全文
摘要:scripts 在运行之前,最怕的就是出现语法错误的问题了!那么我们如何 debug 呢?有没有办法不需要透过直接运行该 scripts 就可以来判断是否有问题呢?呵呵!当然是有的!我们就直接以 bash 的相关参数来进行判断吧![root@www ~]# sh [-nvx] scripts.sh选项与参数:-n :不要运行 script,仅查询语法的问题;-v :再运行 sccript 前,先将 scripts 的内容输出到萤幕上;-x :将使用到的 script 内容显示到萤幕上,这是很有用的参数!范例一:测试 sh16.sh 有无语法的问题?[root@www ~]# sh -n ...
阅读全文
摘要:bash 的环境配置文件你是否会觉得奇怪,怎么我们什么动作都没有进行,但是一进入 bash 就取得一堆有用的变量了? 这是因为系统有一些环境配置文件案的存在,让 bash 在启动时直接读取这些配置文件,以规划好 bash 的操作环境啦! 而这些配置文件又可以分为全体系统的配置文件以及用户个人偏好配置文件。要注意的是, 我们前几个小节谈到的命令别名啦、自定义的变量啦,在你注销 bash 后就会失效,所以你想要保留你的配置, 就得要将这些配置写入配置文件才行。底下就让我们来聊聊吧!login 与 non-login shell在开始介绍 bash 的配置文件前,我们一定要先知道的就是 login
阅读全文
摘要:function 功能什么是『函数 (function)』功能啊?简单的说,其实, 函数可以在 shell script 当中做出一个类似自订运行命令的东西,最大的功能是, 可以简化我们很多的程序码~function 的语法是这样的:function fname() { 程序段}那个 fname 就是我们的自订的运行命令名称~而程序段就是我们要他运行的内容了。 要注意的是,因为 shell script 的运行方式是由上而下,由左而右, 因此在 shell script 当中的 function 的配置一定要在程序的最前面, 这样才能够在运行时被找到可用的程序段喔!好~我们将 sh12....
阅读全文
摘要:while do done, until do done (不定回圈)一般来说,不定回圈最常见的就是底下这两种状态了:while [ condition ] <==中括号内的状态就是判断式do <==do 是回圈的开始! 程序段落done <==done 是回圈的结束while 的中文是『当....时』,所以,这种方式说的是『当 condition 条件成立时,就进行回圈,直到 condition 的条件不成立才停止』的意思。还有另外一种不定回圈的方式:until [ condition ]do 程序段落done这种方式恰恰与 while ...
阅读全文
摘要:条件判断式只要讲到『程序』的话,那么条件判断式,亦即是『 if then 』这种判别式肯定一定要学习的! 因为很多时候,我们都必须要依据某些数据来判断程序该如何进行。if .... then这个 if .... then 是最常见的条件判断式了~简单的说,就是当符合某个条件判断的时候, 就予以进行某项工作就是了。这个 if ... then 的判断还有多层次的情况!我们分别介绍如下:单层、简单条件判断式如果你只有一个判断式要进行,那么我们可以简单的这样看:if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的命令工作内容;fi <==将 if 反过来写,就成为 fi 啦..
阅读全文
摘要:什么是 Shell scripts什么是 shell script (程序化脚本) 呢?就字面上的意义,我们将他分为两部份。 在『 shell 』部分,我们在bash当中已经提过了,那是一个文字介面底下让我们与系统沟通的一个工具介面。那么『 script 』是啥? 字面上的意义, script 是『脚本、剧本』的意思。整句话是说, shell script 是针对 shell 所写的『剧本!』什么东西啊?其实,shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文字档,将一些 shell 的语法与命令(含外部命令)写在里面, 搭配正规表示
阅读全文
摘要:在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔:符号意义*代表『 0 个到无穷多个』任意字符?代表『一定有一个』任意字符[ ]同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』[ - ]若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的![^ ]若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例
阅读全文
摘要:什么是数据流重导向什么是数据流重导向啊?这得要由命令的运行结果谈起!一般来说,如果你要运行一个命令,通常他会是这样的:图 5.1.1、命令运行过程的数据传输情况我们运行一个命令的时候,这个命令可能会由文件读入数据,经过处理之后,再将数据输出到屏幕上。 在上图当中, standard output 与 standard error output 分别代表『标准输出』与『标准错误输出』, 这两个玩意儿默认都是输出到屏幕上面来的啊!那么什么是标准输出与标准错误输出呢?standard output 与 standard error output简单的说,标准输出指的是『命令运行所回传的正确的信息』,
阅读全文
摘要:变量的取用: echo[root@www ~]# echo $variable[root@www ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@www ~]# echo ${PATH}变量的配置[root@www ~]# echo $myname <==这里并没有任何数据~因为这个变量尚未被配置!是空的![root@www ~]# myname=VBird[root@www ~]# echo $mynameVBird <==出现了!因为这个变量已经.
阅读全文
摘要:fuser有的时候我想要知道我的程序到底在这次启动过程中开启了多少文件,可以利用 fuser 来观察啦! 举例来说,你如果卸载时发现系统通知:『 device is busy 』,那表示这个文件系统正在忙碌中, 表示有某支程序有利用到该文件系统啦!那么你就可以利用 fuser 来追踪罗!fuser 语法有点像这样:[root@www ~]# fuser [-umv] [-k [i] [-signal]] file/dir选项与参数:-u :除了程序的 PID 之外,同时列出该程序的拥有者;-m :后面接的那个档名会主动的上提到该文件系统的最顶层,对 umount 不成功很有效!-v :可...
阅读全文
摘要:关於程序的运行顺序我们知道 Linux 是多人多工的环境,由top的输出结果我们也发现, 系统同时间有非常多的程序在运行中,只是绝大部分的程序都在休眠 (sleeping) 状态而已。 想一想,如果所有的程序同时被唤醒,那么 CPU 应该要先处理那个程序呢?也就是说,那个程序被运行的优先序比较高? 这就得要考虑到程序的优先运行序 (Priority) 与 CPU 排程罗!CPU 排程与前一章的例行性工作排程并不一样。 CPU 排程指的是每支程序被 CPU 运行的演算守则, 而例行性工作排程则是将某支程序安排在某个时间再交由系统运行。 CPU 排程与操作系统较具有相关性!Priority 与 N
阅读全文
摘要:psps参数[root@www ~]# ps aux <==观察系统所有的程序数据[root@www ~]# ps -lA <==也是能够观察所有系统的数据[root@www ~]# ps axjf <==连同部分程序树状态选项与参数:-A :所有的 process 均显示出来,与 -e 具有同样的效用;-a :不与 terminal 有关的所有 process ;-u :有效使用者 (effective user) 相关的 process ;x :通常与 a 这个参数一起使用,可列出较完整资讯。输出格式规划:l :较长、较详细的将该 PID 的的资讯列出;j :工作的格..
阅读全文
摘要:作业管理举例来说,我们在登陆 bash 后, 想要一边复制文件、一边进行数据搜寻、一边进行编译,还可以一边进行 vi 程序撰写! 当然我们可以重复登陆那六个文字介面的终端机环境中,不过,能不能在一个 bash 内达成? 当然可以啊!就是使用 job control 啦!进行工作管理的行为中, 其实每个工作都是目前 bash 的子程序,亦即彼此之间是有相关性的。 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 bash !或许你会觉得很奇怪啊,既然我可以在六个终端介面登陆,那何必使用 job control 呢? 真是脱裤子放屁,多此一举啊!不要忘记了呢,我们
阅读全文
摘要:Boot loader: Grub进阶本文记录grub的一些进阶配置关於核心功能当中的 vga 配置事实上,你的 tty1~tty6 除了 80x24 的解析度外,还能够有其他解析度的支持喔!但前提之下是你的核心必须支持 FRAMEBUFFER_CONSOLE 这个核心功能选项才行。如何确定有没有支持呢?你可以查阅 /boot/config-2.6.18-92.el5 这个文件,然后这样搜寻:[root@www ~]# grep 'FRAMEBUFFER_CONSOLE' /boot/config-2.6.18-92.el5CONFIG_FRAMEBUFFER_CONSOLE=
阅读全文
摘要:Boot Loader: Grub在看完了前面的整个启动流程,以及核心模块的整理之后,你应该会发现到一件事情, 那就是『 boot loader 是加载核心的重要工具』啊!没有 boot loader 的话,那么 kernel 根本就没有办法被系统加载的呢!所以,底下我们会先谈一谈 boot loader 的功能, 然后再讲一讲现阶段 Linux 里头最主流的 grub 这个 boot loader 吧!boot loader 的两个 stage我们在第一小节启动流程的地方曾经讲过,在 BIOS 读完资讯后,接下来就是会到第一个启动装置的 MBR 去读取 boot loader了。这个 boo
阅读全文
摘要:内核与内核模块谈完了整个启动的流程,您应该会知道,在整个启动的过程当中,是否能够成功的驱动我们主机的硬件配备, 是内核 (kernel) 的工作!而内核一般都是压缩档,因此在使用内核之前,就得要将他解压缩后, 才能加载主内存当中。另外,为了应付日新月异的硬件,目前的内核都是具有『可读取模块化驱动程序』的功能, 亦即是所谓的『 modules (模块化)』的功能啦!所谓的模块化可以将他想成是一个『外挂程序』, 该外挂程序可能由硬件开发厂商提供,也有可能我们的内核本来就支持~不过,较新的硬件, 通常都需要硬件开发商提供驱动程序模块啦!那么内核与内核模块放在哪?内核: /boot/vmlinuz 或
阅读全文
摘要:启动流程概览在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯;init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行的作业环境 (如网络、时区等);init 运行 run-level 的各个服务之启动 (script 方式);init 运行 /etc/rc.d/rc.local 文件;init 运行终端机模拟程序 mingetty 来启动 login 程序,最后就等待使用者登陆啦;init,/etc/inittab,runlevel介绍在核心加载完毕、进行完硬件侦测与驱动程序加载后,此时你的主机硬件应该已经准备就绪
阅读全文