03 2011 档案

摘要:一 调试1.设置选项(1)bash -n scriptname 不会实际运行脚本,而只是检查标本的语法错误,也可以在脚本中添加 set -n 或者set -o noexec(2)bash -v scriptname在实际执行一个命令或者脚本前打印出这个命令或者脚本的内容,也可以在脚本中添加set -v 或者set -o verbose(3)bash -x scriptname 打印每个命令的执行结果,set -x or set -o xtrace2.$LINENO和caller(1)$LINENO 等同与vc中的 __LINE__(2)caller#!/bin/bashfunc(){calle 阅读全文
posted @ 2011-03-23 10:28 xdzone 阅读(1135) 评论(0) 推荐(0)
摘要:这主要是因为安装ubuntu时选择了UTC时间,则ubuntu一开机总是从Internet获取时间,写入Bios,然后在这个时间的基础上+8(根据当时选择的时区),就是此时系统中的显示的时间。但是win7就悲剧了,它总是从Bios中读取时间,而这个时间时ubuntu写入的UTC时间。所以就出现了这样的情况。解决办法:(1)sudo gedit /etc/default/rcSutc=yes 改成utc=no(2)将时间写入BIOS sudo hwclock --systohc 阅读全文
posted @ 2011-03-21 10:57 xdzone 阅读(662) 评论(0) 推荐(0)
摘要:一 函数1.在调用函数之前必须先要定义函数2.函数的嵌套,但是并不常用eg f1(){ f2() {echo "f2"}}f2 #在此处调用f2会出现错误。f1 #什么也不做,并不会调用f2f2 #此时可以正确调用f2了,因为之前调用f1使f2在脚本中变得可见了先面对比的看另一例子func(){ var=100}echo $var #nullfuncecho $var #1003. 向函数传递参数#!/bin/bashfunc(){ echo "$1" #这里并不是传递给该脚本的位置参数}func "nihao"exit 04.变量替 阅读全文
posted @ 2011-03-20 17:51 xdzone 阅读(1707) 评论(1) 推荐(2)
摘要:原文地址:http://os.chinaunix.net/a2010/1210/1136/000001136530_1.shtml熟悉快捷键不仅可以增加你操作电脑的速度,还可以帮助你减轻腕关节的疲劳。这里将为大家总结出鲜为人知的20个快捷方式,助你成为键盘大师。▲ Windows 7全局热键 Win+1、2、3、4等数字键:会启动任务栏上相应的程序。将你最常用的程序放在任务栏的起始任务框中,通过这个快捷键便可方面的打开对应的任务。同样适用于Vista系统。▲ Win键+ALt+1、2、3等数字键:可以打开任务栏上相应程序的跳转列表。你可以通过关标跳跃性的选择需要打开的程序。▲ Win键+T键: 阅读全文
posted @ 2011-03-20 14:57 xdzone 阅读(822) 评论(0) 推荐(0)
摘要:1.原文地址:http://www.ubuntu.com/desktop/get-ubuntu/windows-installer1.Download Ubuntu Desktop EditionClick the big orange button to download the latest version of Ubuntu. This Windows installer (Wubi) will help you to run Ubuntu within your current system.Wubi is an officially supported Ubuntu installe 阅读全文
posted @ 2011-03-19 20:19 xdzone 阅读(678) 评论(0) 推荐(0)
摘要:一 正则表达式1.在这里就不详细列举正则表达式中各种元字符的功能仅仅说一下,在看这一章遇到的一个小问题* 匹配前一个字符的任意多次(包括零次)eg "1133*",更明确的应该写成"113(3*)"可以理解它匹配113(0个3) 1133(1个3),但是为什么可以匹配111312?111312 因为它是这样匹配的此时匹配了1个3,并没有匹配开头和结尾,要想匹配开头和结尾的话,需要改成"^1133*$" ,此时就只能匹配以113开头,且后面有n(n>=0)个3的情况。二 通配下面介绍另一概念:通配。这是一个很容易跟正则表达式混淆的 阅读全文
posted @ 2011-03-19 15:26 xdzone 阅读(392) 评论(0) 推荐(0)
摘要:一 命令替换1.命令替换的两种形式(1)var=`basename $0`(2)var=$(basename $0)2.命令替换会调用一个subshell3.(1)command `echo a b` #2args: and b(2)command "`echo a b`" #1args:"a b"(3)dir=`ls -l`echo $dir #换行消失echo "$dir" #4.var1=`<file1`var2=`cat file2` #var1 and var2 分别是file1 和file2文件的内容5.变量替换允许 阅读全文
posted @ 2011-03-18 16:20 xdzone 阅读(354) 评论(0) 推荐(0)
摘要:一.通讯命令1.host 通过IP或者网址来搜索一个互联网主机的信息二。终端控制命令三数学计算命令1.bc linux中的计算器,输入bc后即进入计算模式也可在脚本中使用 var=$(echo "scale=9,express"|bc) eg.var=$(echo "scale=2,1/3."|bc)scale =2,小数点后两位四 混杂命令1.seqfor a in `seq 80` or for a in $(seq 80) or for a in 1 2 ...80五 系统与管理命令1.tty 显示当前用户终端的名字2.lsof 列出当前打开的所有 阅读全文
posted @ 2011-03-17 21:52 xdzone 阅读(344) 评论(0) 推荐(0)
摘要:一.内部命令与内建命令1.内建命令指的是包含在Bash工具包中的命令,从字面上看就是built in,主要是考虑到执行效率的问题。内建命令比外部命令执行的更快,一部分原因是外部命令通常都fork出一个子进程来执行,另一部分原因是特定的内建命令可以直接访问shell的内核部分。2.值得注意的是一个内建命令通常会与一个系统命令同名,但是Bash内部重新实现了这些命令,但是他们在大多数情况下是一样的3.关键字就是保留字,具有特殊含义,并用来构建shell语法结构。4.(1)echo -n "\v\v\v" #result: \v\v\v -n选项不换行(2)echo -e &qu 阅读全文
posted @ 2011-03-17 16:01 xdzone 阅读(497) 评论(0) 推荐(0)
摘要:方法一:.添加encoding支持(1)ubuntu的Applications菜单中默认没有配置编辑器选项,首先添加,系统-》首选项-》主菜单-》系统工具,选中配置编辑器(2)这是应用程序菜单中就有了配置编辑器apps——gedit-2——preferences——encodings。双击右边的“auto_detected”——点“添加”按钮——输入新列表值:“GB18030”并确定。并up到第一项,完成方法二 编写脚本 1 #!/bin/bash 2 <<HELP 3 The script is used to change a dos text file 4 to a unix 阅读全文
posted @ 2011-03-17 12:30 xdzone 阅读(805) 评论(0) 推荐(1)
摘要:原文地址:http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/Linux 文件系统剖析按照分层结构讨论 Linux 文件系统M. Tim Jones, 顾问工程师, Emulex Corp.简介:在文件系统方面,Linux® 可以算得上操作系统中的 “瑞士军刀”。Linux 支持许多种文件系统,从日志型文件系统到集群文件系统和加密文件系统。对于使用标准的和比较奇特的文件系统以及开发文件系统来说,Linux 是极好的平台。本文讨论 Linux 内核中的虚拟文件系统(VFS,有时候称为虚拟文件系统交换器),然后介绍将 阅读全文
posted @ 2011-03-16 22:16 xdzone 阅读(588) 评论(0) 推荐(0)
摘要:一:循环和分支1.for planet in "Mercury 36" "Venus 67"do set --$planet echo "$1 $2,000,000 miles from sun"doneexit 02.当一个for循环中忽略in [list]部分,将会使循环操作$@3.使用命令替换来产生循环的【list】NUMBERS=“9 8 7 5”for number in `echo $NUMBER`4.C风格for循环for ((a=1,b=1;a<LIMIT;a++,b++));doecho -n "$a 阅读全文
posted @ 2011-03-16 20:33 xdzone 阅读(251) 评论(0) 推荐(0)
摘要:该章从第九章变量访问开始一.内部变量1.内建变量 $FUNCNAME,当前函数的名字func(){echo "$FUNCNAME" #func}2.$IFS内部字段分割符当shell读取输入时,它给出来分割单词的一组字符,它通常是空格,制表符和换行符。$* 所有的参数用环境变量$IFS的第一个字符分割开$@则不是用$IFS中的字符分割变量。3.$LINENO表示在脚本中该变量出现时的所在的行数4.$SECONDS脚本已运行的秒数,sleep num ,程序停止num秒5.$TMOUT,经错$TMOUT后,shell提示符会超时,这将使此shell退出登录6.在使用$*时一定 阅读全文
posted @ 2011-03-15 21:49 xdzone 阅读(743) 评论(0) 推荐(0)
摘要:stty时一个用来改变并打印终端行设置的常用命令1,在命令行下,禁止输出大写的方法 stty iuclc #开启stty -iuclc #恢复2,在命令行下禁止输出小写stty olcuc #开启stty -olcuc#恢复3,打印出终端的行数和列数stty size4,改变ctrl+D的方法:stty eof "string"系统默认是ctrl+D来表示文件的结束,而通过这种方法,可以改变! 5,屏蔽显示stty -echo #禁止回显stty echo #打开回显测试方法:stty -echo;read;stty echo;read6,忽略回车符stty igncr # 阅读全文
posted @ 2011-03-15 15:56 xdzone 阅读(6719) 评论(0) 推荐(0)
摘要:1.eval命令将会首先扫描命令行进行所有的替换,憨厚再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。2.eval也可以用于回显简单变量,不一定时复杂变量。NAME=ZONEeval echo $NAME等价于echo $NAME3.两次扫描test.txt内容:hello shell world!myfile="cat test.txt"(1)echo $myfile #result:cat test.txt(2)eval echo $myfile #result:hello shell 阅读全文
posted @ 2011-03-15 15:46 xdzone 阅读(12299) 评论(0) 推荐(0)
摘要:1.我们可以使用trap命令来忽略或者回复系统信号对当前脚本的影响。忽略:trap "" SIGHUP SIGINT 或trap "" 1 2恢复:trap SIGHUP SIGINT 或 trap : 1 22.stty -a 可以列出中断信号与键盘的对应3.可以项C语言中的signal一样在shell中用trap定义我们自己的信号处理程序trap "echo 'recieve SIGINT'" SIGINTtrap funcname SIGINT4.Linux信号简介1) SIGHUP本信号在用户终端连接(正常或非 阅读全文
posted @ 2011-03-15 15:07 xdzone 阅读(4242) 评论(0) 推荐(0)
摘要:内容范围:第五章 引用开始1.echo $(ls -l)#输出结果没有换行echo "$(ls -l)"#不会去掉换行符2.退出码(1)exit num(num必须是一个0-255范围的十进制整数)(2)如果一个脚本以不带参数的exit命令结束,脚本的退出码将是执行exit命令前的最后一个命令的退出码(3)没有exit,exit 没退出码和exit $?三者时等价的(4)当一个函数返回时,$?保存了函数里最后一个命令的退出码,当一个脚本结束时,保存了脚本的退出码。3.逻辑非(!)! true ;echo $? #result:1 注意!后面的空格去掉空格后输出true4.( 阅读全文
posted @ 2011-03-14 21:45 xdzone 阅读(574) 评论(0) 推荐(0)
摘要:原文地址:http://dev.firnow.com/course/6_system/linux/Linuxjs/20071027/80454.htmlexec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。在说明exec和source的区别之前,先说明一下fork的概念。fork是l 阅读全文
posted @ 2011-03-14 20:55 xdzone 阅读(1796) 评论(0) 推荐(0)
摘要:1.cat /dev/null > messages 清空messages文件的内容。注意方向性。2.shell的执行(1)将scriptfile放到/usr/local/bin中,这样系统中的所有用户都可以使用了只要输入scriptfile即可。(2)sh scriptfile 运行bash脚本将会禁止所有bash的扩展特性。3.命令分割符【分号】,允许同一行里有多个命令。4.case语句天生具有break的特性。5.【点号】命令作为一个文件名的前缀时,使该文件具有了隐藏属性。除非用ls 加-a选项,不能显示。6.【双引号】里面的特殊字符能够被解释,【单引号】是更强的引用,不允许解释 阅读全文
posted @ 2011-03-14 11:35 xdzone 阅读(660) 评论(0) 推荐(0)
摘要:原帖地址http://blog.csdn.net/chinalinuxzend/archive/2007/08/27/1761202.aspxExpect 教程[目录] 1.摘要 2.关键字 3.简介 4.Expect综述 5.callback 6.passwd和一致性检查 7.rogue和伪终端 8.ftp 9.fsck 10.多进程控制:作业控制 11.交互式使用Expect 12.交互式Expect编程 13.非交互式程序的控制 14.Expect的速度 15.安全方面的考虑 16.Expect资源 17.参考书籍1.[摘要] 现代的Shell对程序提供了最小限度的控制(开始,停止,等等 阅读全文
posted @ 2011-03-14 10:57 xdzone 阅读(1269) 评论(0) 推荐(0)
摘要:本文主要总结了shell编程中一些值得注意的基础知识。1.#!/bin/bash 必须放在文件的第一行2.num=2,赋值时=两边不能有空格3.echo "this is ${num}nd",话括号的作用4.shell默认赋值是字符串赋值。eg var=100 var=$var+100 echo $var result:100+1005.整数运算var=100(1) let "var+=1" ; let 表示数学运算(2) var=$[var+=1];$[]将括号内的表达式先做数学运算再输出。(3)var=`expr $var + 1`;expr用于整数 阅读全文
posted @ 2011-03-11 13:40 xdzone 阅读(368) 评论(0) 推荐(0)
摘要:# ctrl + l - 清屏# ctrl + c - 终止命令# ctrl + d - 退出 shell,好像也可以表示EOF# ctrl + z - 将当前进程置于后台,fg还原。# ctrl + r - 从命令历史中找# ctrl + a - 光标移到行首# ctrl + e - 光标移到行尾# ctrl + u - 清除光标到行首的字符# ctrl + w - 清除光标之前一个单词# ctrl + k - 清除光标到行尾的字符# ctrl + t - 交换光标前两个字符# ctrl + y - 粘贴前一ctrl+u类命令删除的字符# ctrl + p - 上一条命令# ctrl + n 阅读全文
posted @ 2011-03-11 13:19 xdzone 阅读(9222) 评论(1) 推荐(3)
摘要:1 查找/xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示向上查找其中xxx可以是正规表达式,关于正规式就不多说了。一般来说是区分大小写 的, 要想不区分大小写, 那得先输入:set ignorecase查找到以后, 再输入 n 查找下一个匹配处, 输入 N 反方向查找*(#) 当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, 而是匹配包含该单词的所有字符串gd 本命令查找与光标所在单词相 阅读全文
posted @ 2011-03-11 11:55 xdzone 阅读(1310) 评论(0) 推荐(0)
摘要:原文地址:http://blog.chinaunix.net/space.php?uid=12077574文件状态测试-b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当pathname 存在并且是一个目录时返回真-e pathname : 当由pathname 指定的文件或目录存在时返回真-f filename : 当filename 存在并且是正规文件时返回真-g pathname : 当由pathname 指定的文件或目录存在并且设置了SGID 位时返回真 阅读全文
posted @ 2011-03-11 11:45 xdzone 阅读(427) 评论(0) 推荐(0)
摘要:1.xp下默认的远程桌面协议是rdp,默认端口3389,而ubuntu用的时vnc:默认端口59002.首先被访问的主机(windows/linux)都要设置为允许其他主机远程访问该主机。ubuntu下只要设置 System->Preferences->Remote Desktopwindows下右键我的电脑->属性->远程,进行设置即可。3.ubuntu10.10远程桌面windows(采用rdp协议)(1)用Application->Internet->Terminal Server Client远程桌面访问windows时,windows账户需要设置密 阅读全文
posted @ 2011-03-10 12:57 xdzone 阅读(59147) 评论(5) 推荐(6)
摘要:OS:ubuntu10.101.概述传统的远程登录(telnet,rlogin)时不安全的,他们在网络上用明文传输口令和数据,SSH则是安全的,openssh提供两种级别的验证方式。(1)基于口令的安全验证:知道服务器的帐号密码即可远程登录,口令和数据在传输过程中都会被加密。(2)基于密钥的安全验证:此时需要在创建一对密钥,把公有密钥放到远程服务器上自己的宿主目录中,而私有密钥则由自己保存。2.软件安装sudo apt-cache policy openssh-client openssh-server检查软件是否安装服务端:sudo apt-get install openssh-serve 阅读全文
posted @ 2011-03-09 15:59 xdzone 阅读(26476) 评论(2) 推荐(1)
摘要:OS:ubuntu10.101.首先介绍linux中的守护进程在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动。通过命令行可以给出inetd的配置文件,该配置文件列出了inetd所提供的服务清单。如果没有在命令行给出配置文件,那么inetd将从文件/etc/inetd.conf中读取它的配置信息。inetd的主要任务是为那些没有在系统初始化时启动的服务器进程监听请求,它在同配置文件中列出的服务相关联的TCP或UDP端口上监听请求,当有请求到达这些协议端口时,inetd启动相应的服务器进程。 阅读全文
posted @ 2011-03-09 12:43 xdzone 阅读(9000) 评论(0) 推荐(0)
摘要:OS:win7旗舰版1. 在Windows7中下载并安装EasyBCD_1.7.2。2. 将Ubuntu-10.010-desktop-i386.iso文件复制到C盘根目录,用压缩软件打开iso文件的casper目录,把initrd.lz、 vmlinuz二个文件解压到C盘根目录下。3. 运行EasyBCD_1.7.2添加引导项(该步骤可以在cmd中运行相应的命令代替)Add/Remove Entries->NeoGrub->Install NeoGrub->Configure4.点击Configure后出现menu.lst文件,更改内容如下root ker 阅读全文
posted @ 2011-03-08 15:42 xdzone 阅读(876) 评论(4) 推荐(0)
摘要:OS 版本:ubuntu 10.101.ubuntu10.10在新立得软件包管理中没有编辑--使用任务标记分组软件包菜单项INSTALL: sudo apt-get install tasksel有了该功能后,可以下载相关功能的一些列软件包eg:安装LAMP套件sudo tasksel install lamp-server ,也可以在新立得软件管理器中进行可视化安装2.(1)ubuntu 中apache的DocumentRoot 默认在/var/www下(2)首先值得注意的是在ubuntu下的apache的配置并不全是在apache2.conf中,而是将所有配置分类分别在不同的文件中配置,然 阅读全文
posted @ 2011-03-05 22:34 xdzone 阅读(1687) 评论(3) 推荐(0)
摘要:1.配置文件位置 /etc/vim/vimrc2.具体更改配置set nocompatible 不使用vi默认键盘布局,如果不配置,在编辑模式下按方向键会输入字符。set nu 显示行号set autoindent 自动对齐set smartindent 智能对齐set showmatch 括号匹配模式set ruler 显示状态行 set tabstop=4 tab键为4个空格set shiftwidth=4set softtabstop=4set cindent C语言格式对齐syntax on 语法高亮 阅读全文
posted @ 2011-03-04 21:26 xdzone 阅读(1749) 评论(0) 推荐(0)
摘要:(1)alt+f2,运行gconf-editor(2) /apps/metacity/general/(3)button_layout , 修改为 menu:minimize,maximize,close 阅读全文
posted @ 2011-03-02 22:35 xdzone 阅读(531) 评论(0) 推荐(0)
摘要:1.软件准备(1)grub4dos:http://sourceforge.net/projects/grub4dos/(2)Ubuntu10.10 ISOhttp://www.ubuntu.com/server/get-ubuntu/download2.安装准备(1)将grub4dos的grldr,ubuntu-10.10-desktop-i386.iso文件和ubuntu-10.10-desktop-i386.iso casper文件夹下面的vmlinuz和initrd.lz文件到C盘(其他盘亦可,但要与下面grub命令match)。(2)C盘下新建menu.lst,内容如下 title I 阅读全文
posted @ 2011-03-02 22:33 xdzone 阅读(413) 评论(0) 推荐(0)