第一部分: UNIX系统基础第一章:UNIX shell1. UNIX操作系统的核心称为内核,内核是处理用户软件和计算机硬件之间所有通信的一个软件.由内核决定如何同外围设备通信等等.UNIX用户是无法与内核直接交互的,而是经常同一个叫做UNIX shell的程序打交道.shell是一个命令解释器.shell接受用户的命令,解释它们并采取必要的动作去执行这个命令.这也为用户提供这些命令的输出.Shell是一个UNIX用户的命令解释器。
它从用户那里取得输入并根据输入完成一个动作。
内部命令内置在shell中而,外置命令以单独的文件保存。
如果你使用了一个长度大于8的口令,第8个字符以后的字符被忽略。
2. 在UNIX系统中,每一个用户都有一个独一无二的号码和用户名联系在一起,这个号码叫做User ID. Root 用户的ID是0 因此任何用户拥有了这个ID也就拥有了超级用户权限.3. $表示为普通用户. #表示为超级用户.4. 按ESC+K: 重新执行上一次的命令.5. History命令用来回调以前使用过的命令.History -3 :显示最近使用的三个命令.6. 别名: alias dir=ls 用dir来取代ls7.启动文件有两种:系统启动文件和用户启动文件.系统启动文件对系统中所有用户都是通用的,但用户启动文件可以为每一个用户定制.HP-UX系统的启动文件叫作profile 存放在/etc目录下用户的启动文件叫作.profile 存放在用户的主目录下.8. w命令会告诉你系统已经启动多长时间,当前的时间及登录的用户在做什么.9.命令链接是为了给频繁使用的命令提供一个较短的名字.10.打印标签: banner 字符 banner yujile.11.cal 显示日历12.shell允许用户在单独一行里输入多个命令.每个命令之间用冒号分隔.13.请注意口令长度必须为6~8个字符,并且同时包括字符和数字.口令中至少有两个字符是字母而且至少有一个是数字或特殊字符.(第八个字符以后的字符都会被忽略)第二章:管理文件和目录1.创建文件cat>文件名注意:在每一行的结尾按Enter, 完成文本的输入后按ctrl+d以结束文本输入过程并保存文件。
2.在UNIX里执行文件没有特殊的名字,文件权限显示哪个文件是可执行的,哪个是不可执行的。
3.ls –a 可以显示隐含文件包括以一个点(.)开头的隐含文件4.文件权限d 表示目录–表示常规文件5.ls –f 或 lsf 命令在显示目录时:在目录名结尾附加―/‖符号。
6.rm –rf 删除一个非空目录。
不会对用户有任何警告。
7.UNIX文件系统由目录和文件构成,顶级目录叫做根目录,用―/‖符号表示,所有其他目录和文件在根目录里面。
一个目录的上一级叫做父目录,而下一级目录叫做子目录。
8.无论何时创建一个新目录,两个条目自动创建在新目录里,它们是―.‖(参照于当前目录)和―..‖(参照于当前目录的父目录)―.‖字符是指当前目录的一个相对路径.9.两个或多个文件可以用mv命令同时移动,目标必须是一个目录名. mv –i 当目标文件已存在时,会有提示.10.通配符: *星号匹配零个或多个字符问号?只能匹配一个字符, []在方括号检查一定范围内的字符.11.grep –i 区分大小写grep –v 所有不匹配字符串模板的行会显示出来.grep –c 检测出字符在文件中出现的次数,但是不显示包含字符串的行.12. tail – n 3 /etc/passwd 显示文件的最后三行.13.软链接可以跨文件系统建立, 软链接是一个特殊类型的文件,:ln myfile abc 创建一个硬链接abc 到myfile文件ln -s myfile abc创建一个软链接abc 到myfile文件第3章环境变量1.用户一旦登录HP-UX系统,就会启动一个shell 并且等待用户输入命令,为了执行这些命令,shell需要知道一些所用环境的信息.shell在环境变量中存储环境信息.2.当shell执行一个命令时,UNIX在内存中为这个命令创建一个进程,这个进程叫做shell 的子进程,因为是shell 创建了这个进程,这个shell叫做该命令进程的父进程.3.所有子进程从父进程shell继承环境变量,另一方面,shell变量由shell在局部设置而且对于子进程是不可见的.每一个子进程取得一份环境变量的拷贝并且允许对这些变量进行修改.但是要记住这些变化只对子进程有限制而不会作用于父进程.这就意味着对环境变量的修改会随着子进程的结束而丢失.或者说子进程不能修改父进程的变量.环境变量(全局变量):被所有子进程继承,通常包括系统特殊信息Shell变量(局部变量):不被子进程继承,通常用于保存shell程序的临时值4.$符号作为变量名的开始,$符号告诉echo命令这个参数是一个变量,而不是简单的字符串.echo命令显示的是它的参数文本,变量的值.5.UNIX用户用{}括起一个变量名以避免混淆.在一个shell变量和一些其他文本共用时必须使用方括弧.6.单引号之间的一切原封不动地指定给了变量.7.当你只按下‖~‖键而不按shift键时就会显示反引号‖`‖ 它用于指定一个命令的结果给变量.8.HOME是在用户登录HP-UX时自动设置的,它包含了用户主目录的路径,参照你的主目录下的.profile文件,可以用$HOME/.profile作为这个文件的完整路径.9.TERM包含你的终端名或类型,它一般通过用tset 或ttytype 命令/etc/profile shell 启动文件设置.10.导出shell变量:Shell变量对地子进程是不可见的而环境变量是可见的,我们可以导出shell变量,这样它就对子进程有效了,export命令正是用于这个目的. 为了让子进程继承变量的正确值:如果你改变了一个环境变量,就要导出它.第4章输入/输出重定向和管道1.UNIX命令是以简单的文本(字母数字)数据和标点符号为输入.一般,输出也是简单文本.2.无论什么时候启动一个命令,它都会打开三个数据流:标准输入(stdin),标准输出(stdout)标准错误( stderr),每个unix命令从stdin获得输入数据而将正常的输出传送给出stdout,并且把错误消息交给stderr.这些数据流通常称为标准输入/输出.3.UNIX把所有打开的文件与一个称为文件描述符的数字联系起来,文件描述0用于标准输入,1用于标准输出.而2用于标准错误.4.UNIX shell可以按用户的需要把这些数据流重定向到一个文件,一个设备或其它命令上.这个过程叫做输入/输出重定向.5.管道:可以把一个命令的输出发送给另一个命令的输入.它经常用于处理和格式化一个命令的数据流程,并使它更易理解.6.UNXI也称为基于文件的操作系统,即任何类型的输入或输出设备都可以被认为是一个文件,所有连接到系统的设备通过设备驱动文件控制.当你想要打印时,只须将它定向到一个打印设备文件.7.> 命令输出重定向,覆盖原文件中的内容.>>命令输出重定向, 不覆盖原文件中的内容,追加到文件尾.< 输入重定向8.控制台的设备文件是/dev/console9.ls xyz 2>abc :现在没有任何显示,因为错误消息被保存在一个名为abc的文件中.可以用cat命令来查看abc文件.10.sort <xyz >sorted 2>error 这个命令的输出重定向到一个名为了sorted的文件却错误定向到名为error的文件的情况11.who | cut –f 1 –d ― ‖ |grep mike :cut命令从用空白字符分隔的域中读取输入并获取每一行的第一个域.12.tee 命令用于实现一个T接头功能,它从stdin得到输入并把同样的内容同时写到stdout和别的文件中. who | tee whofile13.标准I/O重定向:> 重定向stdout覆盖原文件中的内容< 重定向stdin>> 重定向stdout并追加或创建一个文件.2> 重定向stderr2>&1 发送stderr和stdout到同一个文件中.|& 连接prog1的stdout 和stderr到prgo2的stdin管道 . (prog1表示一个命令或可执行文件)第5章VI 编辑器在插入模式中,任何键入的字符都被插入到一个文件缓冲区中。
在命令模式中,每一个键入的字符被认为是一个命令。
剪切---粘贴在打开的文件缓冲中执行。
导入—导出是针对磁盘文件来完成的。
移动光标命令:I 右移一个字符 h 左移一个字符 j下移一行k 上移一行G 到文件最后一行, nG 到文件的第n行.H 到屏幕的第一行L到屏幕的最后一行 M到屏幕的中间一行:set number命令指示vi显示每一行的行号.:set readonly 设置当前文件为只读.插入:I 从当前行的开头开始插入文本 A 从当前行的结尾开始插入文本i 从当前的光标位置开始插入文本a 从当前光标位置的下一个字符处开始插入文本删除:x 删除当前光标所在位置上的字符. X从当前光标位置开始删除前一个字符nx 从当前光标位置开始删除n个字符 dd删除当前行 dG删除当前行一直到文件结尾替换:r 仍保持在命令模式替换当前字符 R 直到按下esc键才替换多个字符.s 替换当前字符并进入插入模式.撤消: u 命令或 . 点滚动:Ctrl +b 回滚一屏 ctrl +f 向前滚一屏Ctrl +u回滚半个屏 ctrl +d 向前滚半个屏幕查找和替换/text 从当前光标位置开始向前查找text?test 从当前光标位置开始向后查找test/ 向前重复前一次的查找 ? 向后重复前一次的查找7,23t25 将挎贝第7行至23行并把这引行的内容粘贴到第55行后面VI 编辑器有一个配置文件名为.exrc 它存放在每一个用户的主目录下.创建了这个文件后,无论什么时候启动编辑器,它会首先读取$HOME/.exrc文件并自动设置选项。
vi 编辑器命令状态:j,k,h,l:上下左右0:行首$: 行尾i,I :插入命令,i 在当前光标处插入I 行首插入a,A:追加命令,a 在当前光标后追加,A 在行末追加o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换数字s: 替换指定数量字符x: 删除光标处字符dd: 删除当前行d0: 删除光标前半行d$: 删除光标后半行ctrl+f :后翻页ctrl+b:前翻页G : 文件尾数字G: 数字所指定行/string 查找字符串n 继续查找N 反向继续查找% 查找对应括号u 取消上次操作ex命令状态:set number 显示行号:set smd 显示显示状态:0 文件首:1,5 copy 7 块拷贝:1,5 del 块删除:1,5 move 7 块移动:1,$s/string1/string2/g 全文件查找string1并替换为string2:wq! 存盘退出第六章正则表达式正则表达式包括字符串,定位符或锚字符以及有特殊特殊的元字符。