1、培训主题1、什么是Shell?2、使用Shell脚本的原因3、Shell简单脚本1.1什么是Shell?Shell是核心程序(kernel)之外的指令解析器,是一个程序,同时是一种命令和程序设计语言。Shell的类型ash、bash、ksh、csh、tcsh、sh/etc/shells echo$SHELLl程序在Shell中运行lShell中可运行子Shell1.1什么是Shell?本小节涉及的LINUX基础命令如下:ls 查询文件及目录 信息,并打印 echo$SHELL 显示 SHELL标准变量 cat/etc/shells 将/etc/shells文件全部打印lexit退出当前用户或退
2、出SHELL程序lhistory追踪当前用户所使用过的操作日志(默认记录1000条信息)1.2存取权限与安全 文件和目录的权限(-rwxr-r-)chmod ugo file chown和chgrp(chown user file/chgrp group file)umask(umask nnn)符号链接(ln-s source_path target_path)useradd username passwd username groupadd groupname1.2存取权限与安全本小节涉及的LINUX基础命令如下:chmod whooperatorpermission filename 改
3、变文件或目录访问权限lchown 和chgrpchown改变文件或目录的属主或属主和属组权限chgrp改变文件或目录的属组权限lln-s source_path target_path硬链接,占空间软链接,不占空间,相当windows快捷方式lumask配置环境文件及目录权限初始等级“/etc/profile”,系统默认umask 022luseraddl建立系统用户,”删除用户(userdel)”lgroupaddl建立用户组,”删除用户组(groupdel)”umask等级表Umask文件文件目录目录0671562453344235126017002.1使用Shell脚本的原因 功能强大
4、节约时间2.2shell脚本基本元素#!/bin/bash 第一行#表示注释 变量 流程控制结构2.3Shell脚本运行方式 例子:helloworld.sh vi helloworld.sh#!/bin/bash#这是一个打印“helloworld”的shell脚本 echo“hello world!”chmod u+x hellworld.sh./hellworld.sh2.4Shell特性 别名 管道 命令替换 重定向 后台处理 模式匹配 特殊字符 变量2.4.1别名 alias 查看当前用户所使用的别名 alias ls=ls-color=auto 添加ls别名 unalias ls
5、去除ls别名2.4.2管道 把一个命令的输出连接到另一个命令的输入(“|”)ls|sort 查询当前目录 及文件并进行排序lls-al|grep-查询当前目录下的文件2.4.3命令替换 ls cat myfile-al 显示myfile文件并赋于给ls命令的输出。ldirname cat wlh.txt|grep.java 显示wlh.txt输出.java文件的路径2.4.4重定向 cat myfile test.txt myfile文件内容重定向到test.txt文件中lsort myfilelmyfile文件内容重定向赋给sort命令2.4.5后台处理什么是后台?一个终端可以同时运行多个程
6、序nohup command&nohup tar-cvf opt.tar.gz opt/&后台处理Bank目录进行打包,包名是Bank.tar.gzljobs通过jobs命令进行查询后台运行的程序lps-aux|grep“opt.tar.gz”ps查看与opt.tar.gz相关的所有进程(aux参数:a是显示所有进程,并输出所有命令路径)lkill-9 command强制终止进程lkillall command强制终止所有指定进程2.4.6模式匹配 查找扩展名为txt的文件 例:ls*.txtl查找当前目录下所有*.sh的文件 find.name“*.sh”2.4.7特殊字符 双引号(“):用
7、来使Shell无法认出空格、制表符和其它大多数字符 单引号():用来使Shell无法认出所有特殊字符 反引号():用来替换命令 反斜杆():用来使Shell无法认出的特殊字符,使其后失去了特殊的含义,如David Medinetstouch David Medinetsls David Medinets2.4.7特殊字符(续)分号(;):允许在一行上执行多个命令&:命令后台执行 大括号:创建命令块 坚杆(|):管道表示符:表示重定向*?!:表示模式匹配$:变量名的开头#:表示注释 空格,制表符(t),换行符(n):当作空白3、Shell简单脚本 实例1:给当前目录下*.sh文件赋与”用户”读+
8、写+执行权限,”用户组”读+执行权限,”其它用户”读权限,并“查询”当前目录下*.sh文件,显示出来详细的文件信息。实例2:“查找”目录下的*.txt文件,显示其*.txt文件路径,并将*.txt文件内容显示出来。实例3:“显示”“hello world”字符,并将字符内容重定向到“aa.txt”文件中 实例4:建立“test用户”,显示“myfile”文件全部内容,将myfile里记录的文件赋于给test用户。3、Shell简单脚本 实例1:#!/bin/bash#在当前目录下给*.sh赋权限,并查询*.sh详细的文件信息 chmod 754./*.sh;ls-al./*.sh 实例2:#!/bin/bash#查找目录下*.txt文件,并将文件内容显示出来。find.-name*.txt-exec cat ;实例3:#!/bin/bash#显示“hello world”,并将字符内容重定向到“test.txt”文件中 echo hello world aa.txt 实例4:#!/bin/bash#建立test用户,显示“myfile”文件内容,将myfile里记录的文件赋于给test用户 useradd test;chown test cat myfile培训结束谢谢!
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。