Linuxshell编程】的更多相关文章

Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的-n是为了用户输入和提示在同一行,不会换行 echo -n "请输入:" read input 2.echo打印有颜色的输出 #黑色 echo -e "\033[30m 要打印的内容或变量 \033[0m" #红色 echo -e "\033[31m 要打印的…
前言 如需使用本博文源码或者撰写文章,请注明博文来源:https://www.cnblogs.com/johnnyzen/p/10534386.html,劳动所得,侵权必究. 题目 設計一個shell腳本:判斷當前工作目錄下所有的文件類型,如果是目錄,顯示目錄名:如果是文件,查看文件內容:如果都不是,則顯示提示信息. 源码 #!/bin/bash # question:設計一個shell腳本:判斷當前工作目錄下所有的文件類型,如果是目錄,顯示目錄名:如果是文件,查看文件內容:如果都不是,則顯示提…
源码 #!/bin/bash str="Array - Demo Shell"; echo ${#str} #求字符串長度 #定義 arr=('a' 'b' 'c' 'd' 'e' 'f' 'girl') #數組能否執行,與shell版本相關,sh默認指向/bin/dash.執行時,可使用:. scriptFileName arr[7]='h'; #單獨指定數組元素值 #長度 echo array\'s length:${#arr[@]} #獲取數組元素的個數/長度,@符可換爲*符 e…
前言 复习shell编程知识,书中有此练习题,之前学习时便没有搞透彻,此次是非啃下不可. 但是,摸索许久,却屡碰南墙,于是查阅网络博客,结果有让人比学不懂知识更让生气的是:博文遍地,净是抄袭!连个截图都没有变,15年的博文,19年的新博文中连截图和文字都没有变,同一篇博文被三个人抄袭,而且博文中的代码根本无法运行出正确的结果!悲夫,这便是国内知识产权上的抄袭之风甚矣,赤裸裸的盗贼!抄袭的人,与我们还是同行,我完全不能与这类人共事. 故如续转载,请注明出处:https://www.cnblogs.…
一.编程原理: 1.编程介绍: 计算机只能识别二进制指令 程序=指令+数据 根据服务的重心不同,我们分为面向过程编程,面向对象编程: a) 面向过程:侧重于指令的编程语言 b) 面向对象:侧重于数据的编程语言 2.编程语言的分类: 高级语言.超高级语言需要翻译成计算机可读的语言(二级制指令) a) 解释型:逐行翻译,逐行执行(解释一行.执行一行)shell.python b) 编译型:一次编译,全部执行  C.C++.C# 3.编程语言的执行方式: a) 顺序执行 : 一行一行的执行 b) 循环…
SHELL 编程     shell 是一个命令解释器,侦听用户指令.启动这些指令.将结果返回给用户(交互式的shell)     shell 也是一种简单的程序设计语言.利用它可以编写一些系统脚本. 查看本机shell 信息:     cat /etc/shells        --查看本支持的shell           echo $SHELL        --查看当前支持的shell  shell 在执行命令时,各种命令的优先级:     别名 -> 关键字 -> 函数 ->…
==============常用命令 env echo $path export ------------- cp mv mkdir rm ------------- cd ls ll ------------- more cat tail vi ------------- ifconfig getconf LONG_BIT df -h ==============shell语法 #!/bin/bash #test1 echo "Hello shell" echo `who` echo…
重点回顾: 1.由于核心的内存中是受保护的区块,因此我们必须要透过“shell”将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作 2.学习shell的原因主要有:文字接口的shell在各大distribution都一样:远程管理时文字接口速度较快:shell是管理linux系统非常重要的一环,因为Linux内很多控制都是以shell撰写的 3.系统合法的shell均写在/etc/shells档案中 4.用户默认登入取得的shell记录于/etc/passwd的最后…
变量分类: 用户自定义变量:局部变量 定义格式:变量名=变量值(*等号左右不能有空格,加了空格会报错) 调用格式:echo $变量名(调用的是变量名等效的值) 变量叠加:$x=123,y="$x"123则y=123123 或者 y=${x}123 查看变量:set(会列出系统中所有的变量,包括环境变量和自定义变量) Set –u(设定当调用不存在时会提示错误) 删除变量:unset 变量名 系统环境变量:全局变量,但是对系统生效的环境变量名和变量作用是固定的 一般大写 预定义变量: $…
数组:存放多个元素的连续内存空间. 声明数组:bash-4以后支持除默认的0,1,2……还可以自定义索引格式,此类数组称之为“关联数组” 声明索引数组:declare -a NAME 声明关联数组:declare -A NAME 索引数组赋值: 索引方式赋值:ARRAY_NAME[INDEX]=value ARRAY_NAME=("value1"  "value2" ……) ARRAY_NAME=value([0]="value1"  [3]=&…
1.创建文件 touch myFirst.sh 2.编辑文件 vi myFirst.sh 点击键盘的字母 I 进行编辑,输入一下内容 #!/bin/bash # My First script ls -l * 3.保存文件 点击键盘的Esc键,退出编辑,执行:wq保存该文件 :wq 4.执行文件 默认情况下,Linux是不允许文件执行的,使用chrom命令来完成此操作,755会赋予读写和执行的权限 chmod 755 myFirst ./myFirst.sh 5.运行结果…
视频参考慕课网 如果修改了环境变量的配置文件,要使得修改的环境变量生效可以使用下面的两个命令 下面是点后面加上了一个空格然后再加上配置文件,这里一定要注意下 这里要注意和隐藏文件的区别: 在linux下,以点"."开头命名的文件在系统中被视为隐藏文件,因此如果想隐藏某个文件,一种简单的办法就是把文件名命名为点开头. 系统中场景的环境变量如下 ~/指的是当前用户的家目录 我们来解释下 对于root目录家目录就是/root [root@weiyuan rc.d]# cd ~/ [root@…
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习Shell,视频学习过程中做了笔记,留给大家参考. 第一部分 Shell基础编程 第一部分 Shell基础编程——第一章 Shell简介 http://blog.csdn.net/wentasy/article/details/8702846 第一部分 Shell基础编程——第二章变量和运算符 http:…
Windows8下安装配置WAMP        2013/12/28 最近这段时间一直在研究linuxshell编程,虽然还是初级水平,但比之前有了不小的进度,但是shell的命令很多,很难在短时间内记住,只有不断努力练习尝试总结,27号周五下午了,想换换思路,就把之前下载的有关wamp的文档拿出来了,想利用下午的时间在自己的dell-i5笔记本上搭建wamp开发环境.但是搭建工作并不顺利,从网上找了好多的帖子和文章学习来尝试,最好辅助文档是“Windows_8下安装配置Apache_2.2.…
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 底层依赖于 Lucene 库,而 Lucene 库完全是 Java 编写的,前面的文章都是发送的 RESTful API 请求,其实这些请求最后还是通过 Java 执行的.RESTful API 能做的 Java API 都能做,Java API 比 RESTful API 功能更强大. 1.1 Elasticsearch API 的简单使用方式 1)非客户端方式:通过 HTTP 方式的 JSON 格式进…
目  录 1. Linux入门篇.............................................................................................................. 3 1. 1 Linux操作系统简介......................................................................................... 3 1. 2 Linux发展趋…
在学习Linux-Shell脚本编程之前,我们需要学习一定的Linux基本命令,不然在后面学习Shell脚本编程的的时候,我们就呵呵了. 我学习所用的系统是Ubuntu 16.04版本 也没有什么规则,就是记录一下我所用到的基Linux命令,也没有什么大纲,就是想到什么写什么了,剩下的后面子在补充了.呵呵哒 1. 用户切换 su:当我们从普通用户切换到root用户是,需要输入root用户的密码,当我们从root用户切换到普通用户是,不需要输入密码 2.重置密码 password命令:可以重置当前…
在这章往后的学习中,我讲尽可能详细的讲书中讲到的都记录到这里,以便以后方便查看. 什么是函数,函数就是一段代码,这段代码可以在我们需要的位置调用,那么这段代码就叫做函数. 在Shell中,定义一个函数有两种方法. 1. 使用关键字 function function name { } #!/bin/bash function func1 { echo " this is a function" } count=1 while [ $count -le 5 ] do func1 coun…
国庆前期后国庆回来也都比较忙,把书一放下,在那起来,就难了,发现好多都开始忘记了,今天好不容易硬着头片看来两章,算是马马虎虎的把前面的基础性质的只是看完了吧. 后面讲开始学习Shell编程的高级阶段,其实在我前面的文章中,有几章的内容是没有写的,在Shell脚本编程的基础部分,处理用户输入和呈现数据及控制脚本都没有做介绍,这里我看的也比较粗糙,在后期开发中可以再次看一下.有机会补上我对这几个章节的理解. 在高级阶段我讲开始学习在 Shell脚本中创建函数 图形化桌面上的脚本编程 初步认识sed和…
if-then语句 if-then语句格式如下 if comman then command fi bash shell中的if语句可鞥会和我们接触的其他if语句的工作方式不同,bash shell的if语句会运行if语句后面的那个命令,如果该命令的退出状态码是0 那么执行位于then部分的的命令. 代码实例 #!/bin/bash #if-then test if date then echo "this is the if-then test" fi 这个脚本的功能就是,执行dat…
对于任何一种编程语言都很重要的特性就是操作数字的能力,遗憾的是,对于shell脚本来说,这个过程比较麻烦,在shell脚本中有两种途径来进行数学运算操作. 1.expr 最开始的时候,shell提供了一个特别的命令来梳理数学表达式,expr允许在命令行上处理数学表达式,但是特别笨拙. 使用expr运算加减还是可以,但是当遇到*号是,就会出现错误,需要用到转义字符 \来识别,同样,当你希望将数学算式的结果付给一个变量的时候,你需要使用反引号来获取ecpr命令的输出. 幸好,在这里,shell还有有…
前面两篇文章基本介绍了一部分linux下的基本命令,后面还需要大家自行了解下linux的文件系统的磁盘管理部分,这里就不在写了. 什么是shell编程,我也解释不来,什么是shell脚本了,我理解就是吧一堆shell命令放在一个文件中,再用一个bash来解析这个脚本. 首先创建一个脚本文件,剩下的就是写文件了. 可以看一下,这就是一个简单的脚本文件, 第一刚特殊,#!需要告诉shell要用那个shell来运行这个脚本,这里大家自行查看一下自己的系统中有那些脚本 $ cat /etc/shells…
1.for的使用 #! /bin/bash ` do echo $a done 表示:a初始值为1,然后a=a+2的操作,一直到a<=10为止 for((i=1;i<=10;i=i+2))do echo $idone for((i=1;i<=10;i++)) ========== 统计文件数目 #! /bin/bash i=0 for name1 in `ls /SYTest` do echo $name1 i=`expr $i + 1` done echo $i 2.while的使用…
1.数值比较 ! /bin/bash echo "enter a score:" read num1 ] then echo "Very Good" elif [ $num1 -lt -a $num1 -ge ] then echo "Good" else echo "Low" fi 其中: -eq 等于 -ne 不等于 -lt 小于 -le 小于等于 -gt 大于 -ge 大于等于 equal 等于 not equal 不等…
1.条件测试(test,[]) #! /bin/bash echo "请输入登陆的用户名:" read name1 if test "$name1" = "Jack" then echo "登陆成功" else echo "登陆失败" fi ================= 注意: if then else fi 的格式用法, then 要换一行来写 test 测试表达式, 返回 要么是 ture 或者…
1.变量和数值运算 Shell脚本的变量不需要声明的 对变量赋值有两种方式, 直接用“=” 或者用键盘输入值 #!/bin/bash name1="Jack" echo $name1 $name1abc当后面有其他字符 ,需要 echo ${name1}abc 键盘输入值 #!/bin/bash echo "请输入你的名字:" read name1 echo $name1 输出一些系统命令的值 echo date echo `date` 也等同于 echo $(da…
1.输入模式与命令模式的切换 按 [Esc]键 切换到 命令模式: 2.保存与退出 :w mytest.txt 保存文件名 :q 退出 :q! 强制退出 :wq  保存并退出 3.插入文本命令 i 在光标前 I 在当前行首 a 光标后 A 在当前行尾 4.删除命令 x 删除当前光标所在的字符 dd 删除当前整行 5.搜索命令 /pattern 从光标开始处向文件尾搜索pattern ?pattern 从光标开始处向文件首搜索pattern n 在同一方向重复上一次搜索命令 N 在反方向上重复上一…
这一片主要说test文件的比较,文件比较在日常使用的频率比较高,这里重点把每个部分都试着说说看 1. 检车目录 -d -d测试会检查指定的文件名是否在系统上以目录的形式存在,当我们要写文件到某个目录之前,或者是将文件放置到某个目录位置的时候,就需要使用-d来检测这个目录是否存在 #!/bin/bash #look before you leap if [ -d $HOME ] then echo " your Home directory exists" cd $HOME ls -a…
接上篇,接着学习Linux下的部分命令,后面的这些命令用到的频率可能没有那么多,不过也是经常需要的. 第一部分:程序监测部分,ps和top top命令可能比较眼熟,所以我们先说ps ps命令最烦人了,相当的复杂,而且还是由两个版本合并来的,具体详细的ps内容介绍,可以直接看ps的文档 man ps 下面就是介绍一下比较常用的ps组合命令,ps是用户使用命令组合 1. 查看系统上运行的所有进程 ps -ef -e表示显示所有进程 -f参数会扩展输出信息 2.ps -efH再后面的CMD列会有缩进输…
目录 sed命令基本用法 sed命令实例 命令选项 文本定位 编辑命令 awk编程模型 awk编程实例 1.awk模式匹配 2.记录和域 3.关系和布尔运算符 4.表达式 5.系统变量 6.格式化输出 7.内置字符串函数 8.向awk脚本传递参数 9.条件语句和循环语句 10.数组 小结 sed和awkLinux/UNIX系统中两大文本处理工具.sed是流编辑器(stream editor),是一个将一系列编辑命令作用于一批文件的理想工具.awk因其三位缔造者的名字而命名(Aho.Weinber…