当前位置: 首页 > news >正文

建设银行造价咨询中心网站h5网页游戏

建设银行造价咨询中心网站,h5网页游戏,网站开发的五个阶段,wordpress对网站排名Shell 一、为什么学习和使用Shell编程二、Shell是什么1、shell起源2、查看当前系统支持的shell3、查看当前系统默认shell4、Shell 概念 三、Shell 程序设计语言1、Shell 也是一种脚本语言2、用途 四、如何学好shell1、熟练掌握shell编程基础知识2、建议 五、Shell脚本的基本元素… Shell 一、为什么学习和使用Shell编程二、Shell是什么1、shell起源2、查看当前系统支持的shell3、查看当前系统默认shell4、Shell 概念 三、Shell 程序设计语言1、Shell 也是一种脚本语言2、用途 四、如何学好shell1、熟练掌握shell编程基础知识2、建议 五、Shell脚本的基本元素1、基本元素构成2、Shell脚本中的注释和风格 六、Shell脚本编写规范1、脚本开头2、脚本中尽量不用中文注释3、多使用内部命令4、没有必要使用cat命令5、仔细阅读出错信息6、文件名以sh结尾7、代码缩进 七、shell脚本执行1、方法12、方法23、方法34、方法4**注意** 八、bash shell基本功能1、echo打印命令2、printf 命令3、history历史命令4、命令与文件名补全tab5、命令别名6、命令执行顺序7、管道符8、exit退出程序 一、为什么学习和使用Shell编程 简单易学解释性语言不需要编译即可执行对于一个合格的系统管理员来说学习和掌握Shell编程是非常重要的通过shell程序可以在很大程度上简化日常的维护工作使得管理员从简单的重复劳动中解脱出来 二、Shell是什么 1、shell起源 1964年美国ATT公司的贝尔实验室、麻省理工学院及美国通用电气公司共同参与开始研发一套可以安装在大型主机上的多用户、多任务的操作系统该操作系统的名称为Multics。 1970年丹尼斯•里奇和汤普逊启动了另外一个新的多用户、多任务的操作系统的项目他们把这个项目称之为UNICS。 1973年使用C语言重写编写了Unix。通过这次编写使得Unix得以移植到其他的小型机上面。 1979年第一个重要的标准UNIX Shell在Unix的第7版中推出并以作者史蒂夫•伯恩StephenBourne的名字命名叫做Bourne Shell简称为sh。 20世纪70年代末C Shell作为2BSD UNIX的一部分发布简称csh。之后又出现了许多其他的Shell程序主要包括Tenex C Shelltcsh、Korn Shellksh以及GNU Bourne-Again shellbash。 2、查看当前系统支持的shell [rootserver ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash3、查看当前系统默认shell [rootserver ~]# echo $SHELL /bin/bash4、Shell 概念 Shell外壳是一种命令解释器程序它能识别用户输入的各种命令并传递给操作系统结构图 真正能够控制计算机硬件CPU、内存、显示器等的只有操作系统内核Kernel图形界面和命令行只是架设在用户和内核之间的一座桥梁由于安全、复杂、繁琐等原因用户不能直接接触内核也没有必要需要另外再开发一个程序让用户直接使用这个程序该程序的作用就是接收用户的操作点击图标、输入命令并进行简单的处理然后再传递给内核这样用户就能间接地使用操作系统内核 用户界面和命令行就是这个另外开发的程序就是这层“代理”。在Linux下这个命令行程序叫做 ShellShell 是一个应用程序它连接了用户和 Linux 内核让用户能够更加高效、安全、低成本地使用 Linux 内核这就是 Shell 的本质。 Shell 本身并不是内核的一部分它只是站在内核的基础上编写的一个应用程序它和 QQ、迅雷、Firefox 等其它软件没有什么区别。然而 Shell 也有着它的特殊性就是开机立马启动并呈现在用户面前用户通过 Shell 来使用 Linux不启动 Shell 的话用户就没办法使用 Linux。 三、Shell 程序设计语言 1、Shell 也是一种脚本语言 任何代码最终都要被“翻译”成二进制的形式才能在计算机中执行。有的编程语言如 C/C、Pascal、Go语言、汇编等必须在程序运行之前将所有代码都翻译成二进制形式也就是生成可执行文件用户拿到的是最终生成的可执行文件看不到源码。这个过程叫做编译Compile这样的编程语言叫做编译型语言完成编译过程的软件叫做编译器Compiler。有的编程语言如 Shell、JavaScript、Python、PHP等需要一边执行一边翻译不会生成任何可执行文件用户必须拿到源码才能运行程序。程序运行后会即时翻译翻译完一部分执行一部分不用等到所有代码都翻译完。这个过程叫做解释这样的编程语言叫做解释型语言或者脚本语言Script完成解释过程的软件叫做解释器。编译型语言的优点是执行速度快、对硬件要求低、保密性好适合开发操作系统、大型应用程序、数据库等。脚本语言的优点是使用灵活、部署容易、跨平台性好非常适合 Web 开发以及小工具的制作。Shell 就是一种脚本语言我们编写完源码后不用编译直接运行源码即可。 2、用途 shell脚本的优势在于处理操作系统底层的业务 linux系统内部的应用都是shell脚本完成因为有大量的linux系统命令为它做支撑。2000多个命令都是shell脚本编程的有力支撑特别是grep、awk、sed等。例如一键软件安装、优化、监控报警脚本常规的业务应用shell开发更简单快速符合运维的简单、易用、高效原则。 PHP、Python优势在于开发运维工具以及web界面的管理工具web业务的开发等。处理一键软件安装、优化报警脚本。常规业务的应用等php/python也是能够做到的。但是开发效率和复杂比用shell就差很多了。 四、如何学好shell 1、熟练掌握shell编程基础知识 熟练使用vivim编辑器熟练掌握Linux基本命令熟练掌握文本三剑客工具grep、sed、awk熟悉常用服务器部署、优化、日志及排错 2、建议 掌握Shell脚本基本语法 形成自己的脚本开发风格 从简单做起简单判断简单循环 多模仿多参考资料练习多思考 学会分析问题逐渐形成编程思维 编程变量名字要规范采用驼峰语法表示 不要拿来主义特别是新手 五、Shell脚本的基本元素 1、基本元素构成 第1行的“#!/bin/bash”注释说明某些代码的功能可执行语句实现程序的功能 2、Shell脚本中的注释和风格 作用通过在代码中增加注释可以提高程序的可读性传统的Shell只支持单行注释其表示方法是一个井号“#”从该符号开始一直到行尾都属于注释的内容如 #comment1 #comment2 #comment3 ...多行注释使用冒号“:”配合here document语法如下 :xxxx comment1 comment2 comment3 …… xxxxxxxx 可以是字符或数字单引号可以不加但以防出现莫名其妙的意外发生比如发生字符扩展命令替换 六、Shell脚本编写规范 1、脚本开头 开头指定脚本解释器#!/bin/sh 或 #!/bin/bash 其他行#表示注释 程序段开头需要加版本版权等信息如 # Date:创建日期 # Author:作者 # Mail:联系方式 # Function:功能 # Version:版本脚本自动增加注释版权信息 [rootserver ~]# vim ~/.vimrc # 新建配置文件 autocmd BufNewFile *.py,*.cc,*.sh,*.java exec :call SetTitle()func SetTitle()if expand(%:e) shcall setline(1,#!/bin/bash)call setline(2,##############################################################)call setline(3, # File Name: .expand(%))call setline(4, # Version: V1.0)call setline(5, # Author: Andy_Sun)call setline(6, # Email: Andy_Sun163.com)call setline(7, # Organization: http://www.cnblogs.com/Andy_Sun/)call setline(8, # Created Time : .strftime(%F %T))call setline(9, # Description:)call setline(10,##############################################################)call setline(11, )endif endfunc例创建一个标准的脚本实现有注释信息版权信息内容任意并执行 [rootserver ~]# vim cmatrix.sh wget http://archive.ubuntu.com/ubuntu/pool/universe/c/cmatrix/cmatrix_1.2a.orig.tar.gz tar xvf cmatrix_1.2a.orig.tar.gz cd cmatrix-1.2a yum install -y ncurses-devel yum install -y gcc ./configure make make install echo Program installation complete ! echo Program installation complete ! echo Program installation complete ! [rootserver ~]# bash cmatrix.sh [rootserver ~]# cmatrix2、脚本中尽量不用中文注释 别吝啬添加注释必要的注释方便自己别人理解脚本逻辑和功能尽量用英文注释防止本机或切换系统环境后中文乱码的困扰单行注释可以放在代码行的尾部或代码行的上部多行注释用于注解复杂的功能说明可以放在程序体中也可以放在代码块的开始部分 代码修改时对修改的内容 3、多使用内部命令 无论碰到哪种情况请尽量考虑使用内部命令而不是外部命令内部命令执行的效率高性能好 4、没有必要使用cat命令 这是我们经常在论坛里讨论的话题之一。没有必要使用cat命令指的是在有些时候我们会发现根本没有必要使用cat命令。使用了多余的cat命令会让你的代码看起来很丑陋而且还会带来性能上的问题例如以下两条命令的结果一样 [rootserver ~]# cat /etc/passwd | grep root [rootserver ~]# grep root /etc/passwd 5、仔细阅读出错信息 程序员常犯的一个错误是当我们敲入的命令报错后我们中的大多数人只是对错误信息一瞥而过而不会去认真的读一读很多时候错误信息里就包含了解决办法有时候我们修改了某个错误并再次运行后系统依旧会报错。然后我们再次修改但系统再次报错。这可能会持续很长时间。但实际上旧的错误可能已经被纠正只是由于出现了其它一些新错误才导致系统再次报错。而我们依旧在怀疑为什么修改好的代码依然不能正常运行。因此请你养成仔细阅读错误信息的习惯。 6、文件名以sh结尾 shell脚本文件名应见名知义 扩展名位sh如backup_mysql.sh 7、代码缩进 shell没有强制要求但建议缩进这样可以提高阅读性程序更有层次感 例编写九九乘法表 [rootserver ~]# vim 99.sh#!/bin/bashfor((i1;i10;i)) doecho -ne $i\t done echo for((i1;i70;i)) doecho -n done echo for((i1;i10;i)) dofor((j1;ji;j))doecho -en $i*$j$[i*j]\tdoneecho done [rootserver ~]# bash 99.sh 1 2 3 4 5 6 7 8 9 1*11 2*12 2*24 3*13 3*26 3*39 4*14 4*28 4*312 4*416 5*15 5*210 5*315 5*420 5*525 6*16 6*212 6*318 6*424 6*530 6*636 7*17 7*214 7*321 7*428 7*535 7*642 7*749 8*18 8*216 8*324 8*432 8*540 8*648 8*756 8*864 9*19 9*218 9*327 9*436 9*545 9*654 9*763 9*872 9*981 七、shell脚本执行 1、方法1 使用sh或bash命令执行脚本不需要执行权限建议使用脚本中可以不指定解释器 [rootserver ~]# vim test.sh #!/bin/bash echo china[rootserver ~]# bash test.sh china [rootserver ~]# sh test.sh china可以使用bash -n 脚本名 进行语法检测且不执行脚本可以使用bash -x 脚本名 进行脚本执行跟踪逐条语句的跟踪执行 2、方法2 切换到脚本所在目录使用./执行脚本需要执行权限 [rootserver ~]# ./test.sh -bash: ./test.sh: 权限不够 [rootserver ~]# chmod x test.sh [rootserver ~]# ./test.sh3、方法3 绝对路径执行脚本需要执行权限 [rootserver ~]# vim /t1.sh #!/bin/bash echo china[rootserver ~]# /t1.sh -bash: /t1.sh: 权限不够[rootserver ~]# chmod x /t1.sh [rootserver ~]# /t1.sh china4、方法4 使用点.或者source 执行脚本不需要执行权限 [rootserver ~]# source /t1.sh china [rootserver ~]# . test.sh china注意 法1、2、3都是启动一个子shell在子shell中执行此脚本脚本中设置的变量在脚本执行完毕后不会保存法4 都是在当前shell进程中执行此脚本而不是重新启动一个shell 在子shell进程中执行此脚本并且脚本中设置的变量在脚本执行完毕后会保存下来。 八、bash shell基本功能 1、echo打印命令 格式echo -参数 内容参数 -n 取消输出后行末的换行符号-e 启用转义字符 可以输出带颜色的字体 格式echo -e \e[字体控制字体颜色或背景色 字符串内容 \e[0m\e[表示控制开始\e[0m表示控制结束字体控制选项1表示高亮4表示下划线5颜色闪烁颜色如下字颜色30-37 , 背景色40-47 [rootserver ~]# vim color.sh echo -e \e[30m 黑色字\e[0m echo -e \e[1;31m 紅色字\e[0m echo -e \e[32m 綠色字\e[0m echo -e \e[33m 黃色字\e[0m echo -e \e[34m 藍色字\e[0m echo -e \e[35m 紫色字\e[0m echo -e \e[36m 天藍字\e[0m echo -e \e[37m 白色字\e[0m echo -e \e[40;37m 黑底白字\e[0m echo -e \e[41;37m 紅底白字\e[0m echo -e \e[42;37m 綠底白字\e[0m echo -e \e[43;37m 黃底白字\e[0m echo -e \e[44;37m 藍底白字\e[0m echo -e \e[45;37m 紫底白字\e[0m echo -e \e[46;37m 天藍底白字\e[0m echo -e \e[47;30m 白底黑字\e[0m[rootserver ~]# bash color.sh 2、printf 命令 printf 命令模仿 C 程序库library里的 printf() 程序 由 POSIX 标准所定义因此使用 printf 的脚本比使用 echo 移植性好printf 使用引用文本或空格分隔的参数外面可以在 printf 中使用格式化字符串还可以制定字符串的宽度、左右对齐方式等。默认 printf 不会像 echo 自动添加换行符我们可以手动添加 \n格式 printf 格式控制字符串 参数列表例 [rootserver ~]# echo Hello, Shell [rootserver ~]# printf Hello, Shell\n [rootserver ~]# printf %d %s\n 1 abc [rootserver ~]# printf %d %s\n 1 abc # 单引号双引号效果一样 [rootserver ~]# printf %s abcdef # 没有双引号也可输出没有\n会续连下一个提示符 [rootserver ~]# printf %-10s %-8s %-4s\n 姓名 性别 体重kg# %s %c %d %f 都是格式替代符s 输出一个字符串d 整型输出c 输出一个字符f 输出实数以小数形式输出。 # %-10s 指一个宽度为 10 个字符- 表示左对齐没有则表示右对齐任何字符都会被显示在 10 个字符宽的字符内如果不足则自动以空格填充超过也会将内容全部显示出来。[rootserver ~]# printf %-10s %-8s %-4.2f\n 郭靖 男 66.1234 # %-4.2f 指格式化为小数其中 .2 指保留2位小数3、history历史命令 格式 history [参数] [历史命令保存文件]参数 -c 清空历史命令记录-w把缓存中的历史命令写入历史命令保存文件。如果不手工指定历史命令保存文件则放入默认历史命令保存文件~/.bash_history 中 修改默认记录历史命令条数 [rootserver ~]# vim /etc/profile HISTSIZE1000面试题显示history历史命令出现次数最高的top10 [rootserver /]# history | tr -s | cut -d -f3 | sort | uniq -c | sort -nr | head -10# 浏览历史命令 | 压缩为1个空格 | 截取以空格为间隔的第3列 | 排序 | 统计并去重 | 以次数为依据进行降序排序 | 取前10个面试题增加history显示的信息如历史命令的执行时间 [rootserver /]# vim ~/.bashrc # 编辑bash的配置文件最后一行后添加 export HISTTIMEFORMAT%Y-%m-%d %H:%M:%S: [rootserver /]# source ~/.bashrc # 刷新配置 [rootserver /]# history # 查看结果修改之后文件 4、命令与文件名补全tab 5、命令别名 格式alias 别名原命令 例 [rootserver ~]# alias hihistory [rootserver ~]# hi注意别名的优先级比命令高命令执行时的顺序如下 第一顺位执行用绝对路径或相对路径执行的命令。 第二顺位执行别名。 第三顺位执行 Bash 的内部命令。 第四顺位执行按照 $PATH 环境变量定义的目录查找顺序找到的第一个命令。为了让这个别名永久生效可以把别名写入环境变量配置文件“~/.bashrc”。 [rootserver ~]# cat ~/.bashrc # 在最下面增加6、命令执行顺序 顺序执行 [rootserver ~]# date ; ls -l /etc/passwd前面命令执行不成功后面的命令不执行 [rootserver ~]# mkdir /mnt/iso mount /dev/sr0 /mnt/iso前面命令成功后面就不执行如果前面不成功后面就执行 || [rootserver ~]# mkdir tt || ls / [rootserver ~]# mkdir tt || ls / # 可以再次执行7、管道符 符号| ,当在两个命令之间设置管道时管道符|左边命令的输出就变成了右边命令的输入。只要第一个命令向标准输出写入而第二个命令是从标准输入读取那么这两个命令就可以形成一个管道 面试题获取服务器的IP地址 [rootserver ~]# ip a | grep ens160 | grep inet | tr -s | cut -d -f3 192.168.48.130/24 # 查看IP信息 | 过滤包含esn160行 | 过滤包含inet行 | 压缩空格为1个 | 列向截取列[rootserver ~]# ip a | grep ens160 | grep inet | cut -d / -f1 | cut -d -f6 192.168.48.130面试题显示内存的剩余容量 [rootserver ~]# free -h | grep Mem | tr -s | cut -d -f48、exit退出程序 作用终止Shell程序的执行 格式exit 状态码 状态码该参数是一个整数值其取值范围为0~255 注意Shell程序的退出状态码储存在系统变量$?中因此用户可以通过该变量取得Shell程序返回给父进程的退出状态码 常见状态码 0----------------命令运行成功1----------------通知未知错误2----------------误用shell命令126-------------命令不可执行127-------------没有找到命令128-------------无效退出参数128x-----------linux信号x的严重错误130--------------命令通过CtrlC终止255--------------退出状态码越界演示在不同的情况下程序返回不同的状态码 [rootserver ~]# echo china china [rootserver ~]# echo $? 0 [rootserver ~]# ehco china bash: ehco: command not found... Similar command is: echo [rootserver ~]# echo $? 127
http://www.dnsts.com.cn/news/179438.html

相关文章:

  • 重庆网站到首页排名北京集团网站建设公司
  • 爱是做的电影网站吗怎么做网页赚钱
  • 网站建设费用 会计分录唐河网站制作公司
  • 网站设计论文题目参考wordpress的wap插件
  • 揭阳网站制作套餐大兴高米店网站建设
  • 体育网站建设的分析做电影网站用什么服务器
  • 一般网站的流量是多少建网站 南京
  • 织梦做的网站有点慢专业seo培训
  • 护肤品 网站建设策划书动画制作软件手机版
  • 万网主体新增网站备案需要是滴么太原做网站页面的
  • 企业网站建设与推广范文中企动力网站合同
  • 帝国小说网站模板自己做网站要买域名吗
  • 上海设计招聘网站长春网站建设首选网诚传媒
  • 网络营销网站建设我和你99谁做的网站
  • 免费申请一个网站产品研发
  • 做pc端网站讯息wordpress post提交表单
  • 深圳市专业制作网站公司吗推广普通话作文300字
  • wordpress建站教程视频阿里云是做网站的吗
  • 企业网站制作的公司lol做框网站
  • 个人网站建立策划书前言苏州有什么好玩的地方吗
  • 郑州网站外包公司简介网站开发维护岗位职责
  • 站酷网页版镇江网站制作服务
  • 惠阳建设局网站西安计算机培训班速成班
  • 国外建筑设计网站网站打开是别人的
  • 提供有经验的网站建设现代网站开发建设
  • 广告设计图网站电子商务网站建设的目的意义
  • 潮品服饰网站建设规划书wordpress 主题 家居
  • 镇江seo网站优化app研发费用
  • 什么叫网站建设方案书珠海网站建设公
  • 建设网站教程视频视频下载谁知道陕西省建设监理协会的网站