学习笔记之《Linux与UNIX Shell编程指南》.doc_第1页
学习笔记之《Linux与UNIX Shell编程指南》.doc_第2页
学习笔记之《Linux与UNIX Shell编程指南》.doc_第3页
学习笔记之《Linux与UNIX Shell编程指南》.doc_第4页
学习笔记之《Linux与UNIX Shell编程指南》.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux与UNIX Shell编程指南学习笔记学习笔记之Linux与UNIX Shell编程指南第1章 文件安全与权限用户组,权限,文件的关系图属主(u)同组(g)其它组(o)文件或文件夹(+/-) r w x(+/-) r w x(+/-) r w x所有(a)查看文件权限#ls lTotal xx-rwxr-xr-x 1 root root 3245 Aug 5 09:12 msgrwx:文件属主权限这是前面三位r-x:同组用户权限这是中间三位r-x:其他用户权限这是最后三位1 该文件硬链接的数目root 文件的属主。root 文件的属主root所在的缺省组(也叫做r o o t )3578 用字节来表示的文件长度,记住,不是K字节Aug 5 09:12 文件的更新时间msg 文件名1.1 符号模式chmod who operator permission filenamewho的含义是:u 文件属主权限。g 同组用户权限。o 其他用户权限。a 所有用户(文件属主、同组用户及其他用户)。operator的含义:+ 增加权限。- 取消权限。= 设定权限。permission的含义:r 读权限。w 写权限。x 执行权限。s 文件属主和组set -ID。t 粘性位*。l 给文件加锁,使其他用户无法访问。u,g,o 针对文件属主、同组用户及其他用户的操作示例:chmod o+w admin1.2 绝对模式chmod 命令绝对模式的一般形式为:chmod mode fileR(读)W(写)X(执行)4210400 文件属主可读 0010 同组用户可执行0200 文件属主可写 0004 其他用户可读0100 文件属主可执行 0002 其他用户可写0040 同组用户可读 0001 其他用户可执行0020 同组用户可写示例:chmod 400 xxchmod 755 xx1.3 其他命令chown: 转交属主 chgrp: 转交用户组id: 查看用户组 umask: 设定文件创建时的缺省模式1.4 小结了解并熟悉了文件的基本权限、用户、组之间的一些区别与联系,文件与文件夹之间对执行与读权限的细微区别,对文件安全有了充分的认识。第2章 使用find 和 xargs1.1 find 命令参数名称解释备注-name按照文件名查找文件-perm按照文件权限来查找文件-prune不在指定的目录中查找不能与-depth同用-user按照文件属主来查找文件-group按照文件所属的组来查找-mtime -n +n按照文件的更改时间来查找- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前-nogroup查找无有效所属组的文件该文件所属的组在/e tc/groups中不存在-nouser查找无有效属主的文件该文件的属主在/etc/passwd中不存在-newer file1 ! file2查找更改时间比文件file1新但比文件file2旧的文件-type查找某一类型的文件b - 块设备文件 d - 目录 c - 字符设备文件p - 管道文件 l - 符号链接文件 f - 普通文件-size nc查找文件长度为n块的文件带有c时表示文件长度以字节计-depth在查找文件时,首先查找当前目录中的文件,然后再在其子目录中找-fstype查找位于某一类型文件系统中的文件-mount查找文件时不跨越文件系统m o u n t点-follow如果f i n d命令遇到符号链接文件,就跟踪至链接所指向的文件-cpio对匹配的文件使用c p i o命令,将这些文件备份到磁带设备中1.2 find 与 exec当匹配到一些文件以后,可能希望对其进行某些操作,这时就可以使用 exec 选项。exec选项后面跟随着所要执行的命令,然后是一对儿 ,一个空格和一个,最后是一个分号。如: find . type f exec ls l ;1.3 find 与 xargsxargs 命令同find命令一起使用是为了避免 exec与find 一起使用时产生“参数列太长”或“参数列溢出”错误.如: find . name “*.jsp” print | xargs echo “” result.txt;1.4 小结find命令是一个非常优秀的工具,它可以按照用户指定的准则来匹配文件。使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令而避免去写shell命令。第3章 后台执行命令1.1 前言cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月 中的不同时段运行。At at 使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时间段或 高峰负荷时间段运行。& 使用它在后台运行一个占用时间不长的进程。Nohup 使用它在后台运行一个命令,即使在用户退出时也不受影响。1.2 cron和crontab 每一个用户都可以有一个crontab文件, crontab的命令允许用户提交、编辑或删除相应的作业。crontab 的格式:分时日月星期要运行的命令,其中表示空格。示例: 30 21 * * * /apps/bin/cleanup.shCrontab -u user -e -l -r-u 用户名-e 编辑crontab文件-l 列出crontab文件中的内容-r 删除crontab文件 提交任务命令: crontab 任务文件 备份任务文件: crontab -l $HOME/mycron(文件具体路径)建议:不要直接编辑crontab文件,而是编辑该文件的一个副本,然后重新提交新的文件1.3 at命令向cron提交作业,在稍后的时间运行.At格式:at -f script -m -l -r time date其中,-f script 是所要提交的脚本或命令-l 列出当前所有等待运行的作业。-r 清除作业。需提供相应的作业标识(ID)-m 作业完成后给用户发邮件time at命令的时间格式可以是H、HH.HHMM、HH:MM或H:M,其中H和M分别是小时和分钟。还可以使用a.m.或p.m.。date日期格式可以是月份数或日期数,而且at命令支持today、tomorrow关键词。如: at 9am tomorrow1.4 &命令在后台运行作业,它不会占据终端, 结果会输出到屏幕上,应该使用重定向输出如: find /usr -name *.asp -print asp.txt 2&1 &1.5 nohup命令此命令的好处是: 在退出帐户时该进程还不会结束,还可以继续执行作业nohup格式:nohup command &1.6 小结了解并熟悉了有关后台运行作业的一些命令,掌握了各种命令之间的联系与区别,特别是在不同的情况下,应该使用不同的命令。对与批量的作业应该使用shell脚本来执行,对于大工作量的任务应该在系统负荷较低时进行执行。第4章 文件名置换此章的重点主要为掌握 ./*/?/./!. ,鉴于之前的正则表达式基础,此章就此带过。第5章 shell输入与输出此章的重点为: echo, read,cat,tee,管道与文件重定向1.1 echo命令echo命令可以显示文本行或变量,或者把字符串输入到文件常用功能:c 不换行f 进纸t 跳格n 换行示例:# echo -e what is you name: c # read name注意unix与linux系统的区别,linux系统需要带-e参数把字符串输入到文件:# echo what is you name a.txt追加:# echo my name is jack a.txt1.2 read命令使用read语句从键盘或文件的某一行文本中读入信息,并将其赋给一个变量,类似C语言中的scanf函数.示例: 读入一个值到变量name中# read name# jack# echo $jack /进行输出# jack1.3 cat命令用它来显示文件内容,创建文件,显示控制字符cat命令的一般形式为:cat options filename1 . filename2 .示例: 显示a.txt(b.txt)?里面的内容# cat a.txt b.txt将 a.txt 内容加到b.txt中# cat a.txt b.txt1.4 管道可以通过管道把一个命令的输出传递给另一个命令作为输入一般形式为:命令1 |命令2示例: # ls |grep httpd将ls 查找到的结果输给grep当作输入,进行查找httpd关键字1.5 tee命令te命令作用:能在输出的同时,将其存入一个文件它的一般形式为:tee -a files其中,- a表示追加到文件末尾结合上面的几个命令给出一个示例:# find /usr/jsp -name a-z0-9.jsp -printl |tee -a jsp.data1.6小结对输入输出的命令还需进一步熟悉与练习,特别是它们之间的联系,对文件重定向方面的知识目前还不是很清楚,还得多看些资料。第6章 第6章命令执行顺序1.1 &左边的命令(命令1)返回真(即返回0,成功被执行)后,&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&那么执行这个命令”此命令和C,C+,java中的命令是一制,要区别的地方是高级语言中真为1,假为01.2 |的作用有一些不同。如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2);或者换句话说,“如果这个命令执行失败了| 那么就执行这个命令,如果这个命令执行成功了| 那么就不执行这个命令”此命令和高级语言中有些区别1.3 ()和 通过()和,可以把几个命令合在一起执行,如:(命令1;命令2;命令3)或 命令1;命令2;命令3如果使用来代替(),那么相应的命令将在子shell而不是当前shell中作为一个整体被执行,只有在 中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子shell中执行,否则在当前shell执行1.4 小结由于拥有高级语言的基础,此类伪命令比较容易理解与记忆第7章 正则表达式介绍1.1 前言 正则表达式使用范围很广,在javascript,java等高级语言中,甚至编译器,算法学中也经常使用,功能非常强大。1.2 学习方法体会由于正则表达式比较庞大,在此就不一一的介绍用法,在学习过程中我推荐几个学习资料和网址及工具资料: jdk1.6API中类java.util.regex.Pattern

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论