




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux入门教程-之shell编程周华彬 研发三部2012.3掌城科技2022-5-23内容概述n Linux历史n 系统组成n Shell概要n 命令篇n 变量篇n 条件测试篇n 控制结构篇n 函数篇Linux历史n遵循POSIX(标准操作系统界面)标准的免费操作系统。它的版权所有者是芬兰籍的Linus B. Torvalds 先生。 1991.8月芬兰赫尔辛基大学的Linus Benedict Torvalds全新的版本。 最开始的Linux版本被放置到一个FTP服务器上供大家自由下载的,FTP服务器的管理员认为这是Linus的Minix,因而就建了一个Linux目录来存放这些文件,于是
2、Linux这个名字就传开了,如今已经成了约定俗成的名称了。 Linux的吉祥物,一只可爱的小企鹅(起因是因为Linus是芬兰人,因而挑选企鹅作为吉祥物) n分支CentOS,Red Hat,Ubuntu, Debian,Fedora ,Gentoo ,MandrivaLinux ,PCLinuxOS,Slackware Linux ,openSUSE,ArchLinux,Puppylinux,Mint等。 中国大陆的Linux发行版中标麒麟Linux(原中标普华Linux), 红旗Linux(Red-flag Linux) ,Qomo Linux(原Everest)Palmcity Confi
3、dentialLinux桌面长啥样?Palmcity ConfidentialCentOS6-kde CentOS5-gnome RedHat-kde ubuntu10-gnomeFedora Debian5Linux系统组成n文件系统、内核、 shell和应用程序nLinux文件系统支持:EXT2、 EXT3、 FAT、 FAT32、 VFATnLinux内核分为以下几个部分: 存储管理、CPU和进程管理、文件系统、 设备管理和驱动、网络通信、 系统的初始化和系统调用等nshell shell是系统的用户界面,提供用户与内核 进行交互操作的接口n应用程序 是一套程序集,它包括文本编辑器、编程
4、语言、桌面环境、办公套件、Internet工具和数据库等Palmcity Confidential内核2.6shell文件系统Ext3应用程序2022-5-23北京掌城科技北京掌城科技Shell概要n Shell是什么n 怎样写Shelln Cygwin简介n Linux黑洞2022-5-23北京掌城科技北京掌城科技综述篇Shell是什么n壳(Shell)保护其内部的核(Kernel) 2022-5-23北京掌城科技北京掌城科技综述篇Shell是什么nShell是一种具备特殊功能的程序, 它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。n为了对用户屏蔽内
5、核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳(shell)。用户向shell提出请求,shell解释并将请求传给内核。 n使用较广的shell有标准的Bourneshell(sh)、Korn Shell(ksh)、Cshell(csh)、Bourne Again Shell(bash)等。n查看当前环境所用shell:echo $SHELLnshell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一
6、个可执行的shell程序中。n本质上,shell脚本是命令行命令简单的组合到一个文件里面。Shell基本上是一个命令解释器,类似于DOS下的。它接收用户命令,然后调用相应的应用程序。2022-5-23北京掌城科技北京掌城科技综述篇怎样写Shelln利用vi编辑器编辑脚本,将脚本命名为脚本功能.shnShell脚本不是复杂的程序,它是按行解释的,脚本第一行总是以#!/bin/sh 开头,它通知系统以下的Shell程序使用系统上的Bourne Shell来解释。n第二行注释中写入脚本名,第三行注释开始写入脚本功能习惯。n以下行进入脚本正式编写n编写完后给脚本添加执行权限: chmod u+x Sc
7、ripNamen运行脚本:ScripName 或 ./ScripName:#!/bin/sh#!/bin/sh#ShowHello.sh#ShowHello.sh#To show hello to somebody#To show hello to somebodyecho -n“Enter Your Name:”echo -n“Enter Your Name:”read NAMEread NAMEecho “Hello,$NAME!”echo “Hello,$NAME!” 2022-5-23北京掌城科技北京掌城科技综述篇cygwin简介ncygwin在windows下开发linux程序! c
8、ygwin是一个在windows平台上运行的linux模拟环境,是cygnus solutions公司开发的自由软件。它把gcc、gdb、gas等开发工具进行了改进,使它们能够生成并解释win32的目标文件,开发者基于win32 api写了一个unix系统库的模拟层 ,只要把这些工具的源代码和这个共享库(cygwin dll )连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集 。 软件下载:cygwin的官方网站: 推荐下载:http:/ 软件安装:在安装的过程中可选择默认安装路径:c:cygwin 安装完后要修改cygwin目录下的cygwin.b
9、at文件,在echo off 后面加上set CYGWIN=title ntea,这是因为Cygwin的启动批处理 文件需要启动Unix文件系统模拟。2022-5-23北京掌城科技北京掌城科技综述篇Linux黑洞n /dev/null 是一个虚设的设备,俗称“Linux黑洞”,任何对/devdev/nullnull的写入都会成功,但数据会消失得无影无踪,没有任何反馈。所以经常把不想在屏幕显示的信息全部送到/devdev/nullnull中,在shell脚本中用得比较多。 如:ls l /dev/nulln还可以用来清空文件的内容:cat /dev/null FileName2022-5-23北
10、京掌城科技北京掌城科技命令篇n 用户管理n 目录管理n 文件管理n 权限管理2022-5-23北京掌城科技北京掌城科技命令篇用户管理n新建用户(user add) useradd UserName 新建用户后,会在/home目录下建立一个以UserName命名的文件夹,用户每次登录时自动定位到该文件夹下。n为用户添加密码(password) passwd UserNamen删除用户(user delete) userdel UserName 使用p选项可以删除用户目录下的文件及与用户相关联的其他文件。n新建组群(group add) groupadd GroupNamen删除组群(group
11、delete) groupdel GroupName2022-5-23北京掌城科技北京掌城科技命令篇用户管理n用户身份 whoami n查看登录用户 who 选项 -a 显示所有用户的所有信息 -H 显示列标题n查看用户的操作 w 某一时刻用户的行为n用户间切换(substitute user) su UserName 如:su 或su root 切换为根用户 su Haison 切换为名为Haison的用户2022-5-23北京掌城科技北京掌城科技命令篇目录管理n创建目录(make directory) mkdir DirecNamen删除目录(remove directory) rmdir
12、 DirecNamen显示工作目录(print working directory) pwdn显示目录内容(list) ls 选项 选项:-a 显示当前目录下的所有文件,包括以.开头的文件。 -l 以长列表的形式显示文件列表,如: -rw-r-r- 1 haison haison 18 Nov 2 10:10 haison.c 2022-5-23北京掌城科技北京掌城科技命令篇目录管理n改变当前目录(change directory) cd 或 cd 进入登录时的主目录 cd / 进入根目录 cd . 进入上一级目录 cd /home 进入系统的home目录 cd home 进入当前目录下的ho
13、me目录n目录重命名(move) mv SourceDirecName TargetDirecNamen目录拷贝(copy) cp SourceDirec TargetDirec -r 拷贝目录下的文件、子目录及子目录下的文件2022-5-23北京掌城科技北京掌城科技命令篇文件管理n新建文件 FileName 或 touch FileName 或 vi FileNamen删除文件(remove file) rm 选项 FileName 选项:-i 系统提示是否真要删除该文件 -f 删除文件之前不提示任何确认信息 -r 递归删除目录下所有子目录的内容n文件拷贝(copy) cp SourceFi
14、le TargetFilen文件链接(link) ln s SourceFile TargetFile 创建文件链接,用ls l查看,会看到TargetFile-SourceFile2022-5-23北京掌城科技北京掌城科技命令篇文件管理n显示文件内容 more FileName 一次一屏的显示文件内容,空格或回车显示下一屏 less FileName 一次一屏的显示文件内容,空格或回车显示下一屏 cat FileName 一次全部显示文件的内容 cat file1 file2file3 将file1、file2的内容写到file3,覆盖file3原内容 cat file1file2 将fil
15、e1的内容追加到file2,file2原内容不变 head FileName 只显示文件的前10行 head n FileName 显示文件的前n行 tail FileName 只显示文件的后10行 tail n FileName 显示文件的后n行 nl FileName 以编号的形式一次全部显示文件的内容,忽略空格2022-5-23北京掌城科技北京掌城科技命令篇文件管理n文件移动/重命名(move) mv SourceFile TargetFile 将一个或多个文件移动到另外一个目录下,或者将一个文件重命名为另一个文件。n文件查找(find) find 路径 选项 如:find / -nam
16、e “Linux” -print n文件内容查找(grep) 如:grep “main” 文件类型 命令ls l以长列表形式显示文件的类型等,如:-rw-r-r-2022-5-23北京掌城科技北京掌城科技命令篇权限管理n文件访问权限 一个文件一经创建,就具有三种访问方式 ugo类型 一个文件由1个类型和9个权限位来描述,9个权限位分为3组,每组3个权限位,具体表示如下所示:u:user,文件的属主g:group,文件的属主所在的组,属组o:other,其他的用户a:all,以上三种人2022-5-23北京掌城科技北京掌城科技命令篇权限管理n改变文件/目录的权限(change mode) chm
17、od u/g/o/a +/-/= 权限 FileName/DirecName 其中:+:增加指定的权限 -:去掉指定的权限 =:清除所选的权限并将其设置为制定的权限 chmod允许使用八进制符号作为模式,改变权限。 chmod PermissionCode FileName/DirecName 其中, PermissionCode 按如下方式计算4+2+1=74+2=64+1=5所以该文件/目录具有的权限为:7652022-5-23北京掌城科技北京掌城科技命令篇权限管理chmod命令示例假定haison.c最初具有这样的权限rwxrwxrwx,连续操作如下2022-5-23北京掌城科技北京掌城
18、科技命令篇权限管理 -rw-r-r- 1 haison haison 18 Nov 2 10:10 改变文件/目录的属主(change owner) chown Owner FileName/DirecName 如:chown Dave 改变文件/目录的属组(change group) chgrp Group FileName/DirecName 如:chgrp Dave 改变文件/目录的属主和属组 chown owner:group FileName/DirecName 如:chown Dave:Dave haison.c2022-5-23北京掌城科技北京掌城科技变量篇n变量可以定制用户本身
19、的工作环境,使用变量可以保存有用信息,使系统获知用户相关设置,也用于保存暂时信息。n变量一般都用大写字母表示n使用 echo命令可以显示单个变量的取值,要在变量名前面加$ 如:USER=“haison” echo $USERn如果设置变量时,不想再改变其值,可以将其设置为只读,只要在变量名前加readonlyn使用set命令可以显示所有本地定义的shell变量n使用unset 变量名可以清除对变量的定义2022-5-23北京掌城科技北京掌城科技变量篇本地变量:用户自定义的变量。环境变量:用于所有用户变量,用于用户进程前,必须用export命令导出。位置变量:$0(脚本名),$1-$9:脚本参数
20、。特定变量:脚本运行时的一些相关信息。2022-5-23北京掌城科技北京掌城科技变量篇n示例:#!/bin/sh#VarTest.sh#To test the variablesUSER=haisonecho Hello,$USER,the output of this script are as follows:echo The script name is :basename $0echo The first param of the script is :$1echo The second param of the script is :$2echo The tenth param of
21、 the script is :$10echo All the params you input are :$*echo The number of the params you input are:$#echo The process ID for this script is :$echo The exit status of this script is :$?2022-5-23北京掌城科技北京掌城科技条件测试篇n文件状态测试2022-5-23北京掌城科技北京掌城科技条件测试篇n字符串测试2022-5-23北京掌城科技北京掌城科技控制结构篇选择结构循环结构if语句: if then el
22、se 提供条件测试case 语句:允许匹配模式、单词或值for:每次依次处理列表内的信息,直至循环耗尽。until:不常用。条件在循环末尾,至少执行一次。while:条件在循环头部。2022-5-23北京掌城科技北京掌城科技控制结构篇if语句n格式1 if 条件 then 命令 fi 或2022-5-23北京掌城科技北京掌城科技控制结构篇case语句n格式 case 值 in 模式1) 命令1 ; *) 命令n ; esac取值后面必须为单词in,每一个模式必须以右括号结束。取值可以为变量或常数。取值检测匹配的每一个模式,一旦模式匹配,其间所有命令开始执行直至;。执行完匹配模式相应命令后不再继
23、续其他模式。如果无一匹配模式,使用*号捕获该值,再接受其他输入。#!/bin/sh#caseTest#to test the method of caseUSER=whoamicase $USER in root)echo “You can do all the operations” ; Dave)echo You can do some operations” ; *)echo Sorry,you can not do anything ;esac 2022-5-23北京掌城科技北京掌城科技控制结构篇for循环n格式for 变量名 in 列表do 命令done当变量值在列表里,for循环即
24、执行一次所有命令,使用变量名访问列表中取值。嵌套循环可以将一个for循环嵌在另一个for循环里 2022-5-23北京掌城科技北京掌城科技控制结构篇until循环n格式 until 条件 do 命令 doneuntil 执行一系列命令,直至条件为真时停止#!/bin/sh#untilTest#to test the mothod of untilIS_ROOT=who|grep rootuntil IS_ROOT do IS_ROOT=who|grep root sleep 5doneecho Watch it.root in!2022-5-23北京掌城科技北京掌城科技控制结构篇while循环n格式while 命令do 命令doneWhile循环用于不断执行一系列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 求职人员面试题及答案
- 航空航天复合材料 课件 知识点2 纳米复合材料
- 新疆村干部考试试题及答案
- 社会幼儿面试题及答案
- 中国烟草培训
- 2025年中国抛光块行业市场全景分析及前景机遇研判报告
- 醉酒窒息死亡病例分析
- 中班健康领域:会变暖的衣服
- 综合格斗培训
- 肿瘤登记质量控制
- 北京市2025学年高二(上)第一次普通高中学业水平合格性考试物理试题(原卷版)
- 2025年高考河北卷物理高考真题+解析(参考版)
- 中医老人保健讲座课件
- -2024-2025学年统编版语文二年级下册 期末复习练习题(含答案)
- 2025至2030中国室内滑雪场行业项目调研及市场前景预测评估报告
- 2025四川绵阳市平武县兴帮农业发展集团有限公司招聘10人笔试参考题库附带答案详解
- 西南林业大学《算法分析与设计》2023-2024学年第二学期期末试卷
- 征集和招录人员政治考核表
- 2025年中国融通农业发展有限集团有限公司招聘笔试冲刺题(带答案解析)
- 年中国鹦鹉养殖市场发展策略及投资潜力可行性预测报告
- 弱电工证考试题库及答案
评论
0/150
提交评论