shell 基础

1.shell介绍(内置脚本)

程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)

语法简单,代码写起来比较轻松,简单易学

(1)什么是shell

shell(外壳)是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。shell 既是一种命令语言,又是一种程序设计语言

shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务

(2)什么是脚本

脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(用记事本打开查看、编辑)。

常见的脚本: JS(前端),JSP,PHP(后端),SQL,Shell

(3)shell种类

Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh

bash是大多数linux系统默认的shell,可以通过help命令来查看帮助

2.shell入门

(1)规范

代码规范:

#!/bin/bash        指定告知系统当前这个脚本要使用shell解释器

#echo 内容          输出内容(输出的内容如果包含字母和符号(不包含变量),则需要用引号括起来,如果是纯数字可以包也可以不包)

运行文件(4种  )   ./文件名     /home/文件名      /bin/bash 文件名      /bin/sh 文件名

文件命名规范:

文件名.sh           .sh是linux下bash shell 的默认后缀

(2)使用流程

创建 .sh文件      touch/vim

编写shell代码

执行shell脚本

eg1:创建test.sh,实现shell脚本程序,输出hello world!

touch test.sh                   #创建文件

vim test.sh                      #编辑文件

#!/bin/bash                     #告知系统当前这个脚本要使用shell解释器(必写)

echo “hello world!”          #输出语句

chmod +x test.sh            #修改权限(添加执行权限)

./test.sh(/root/test.sh) #运行文件

注意:运行时一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,Linux 系统会去 PATH(环境变量) 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找或者/root/test.sh从根目录找

eg2:使用root用户帐号创建并执行test2.sh,实现创建一个shelltest用户,并在其家目录中新建文件try.html

touch  test2.sh                  #创建文件

vim  test2.sh                    #编辑文件

#!/bin/bash                      #指定shell解释器

useradd  shelltest                #添加用户

touch /home/shelltest/try.html    #在添加的用户下创建文件

chmod  u+x   test2.sh           #修改权限

./test2.sh                         #运行文件

自学linux——11.shell入门的更多相关文章

  1. Linux Bash Shell入门教程

    Linux 系统根据 "#!" 及该字串后面的信息确定该文件的类型,关于这一问题同学们回去以后可以通过 "man magic"命令 及 /usr/share/m ...

  2. (转)linux bash shell 入门教程

    Shell Script(bash)简介 众所皆知地,UNIX上以小工具著名,利用许多简单的小工具,来完成原本需要大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平台. 在众多的 ...

  3. 自学linux——12.shell进阶

    Shell进阶 当把在Windows中写好的脚本传到linux中使用时,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以会多出来\r,在linux中运行脚本时,需执行: sed - ...

  4. Linux之shell入门

    一.编写规范 代码规范: #!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器] shell相关指令 文件命名规范: 文件名.sh .sh是linux下bash shell 的默 ...

  5. Linux bash shell 入门

    https://www.cnblogs.com/cosiray/archive/2012/03/02/2377099.html

  6. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  7. 自学Linux Shell11.6-退出shell

    点击返回 自学Linux命令行与Shell脚本之路 11.6-退出shell shell运行的每一个命令都是使用 退出状态码 告诉shell它已经运行完毕.退出状态码是一个0~255的整数值,在命令结 ...

  8. linux shell 入门

    本文是本人学习linux shell入门收集整理,不完全原创. 参考博文: http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html ...

  9. Linux Shell入门(转载)

    From:http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用 ...

随机推荐

  1. Java并发之ReentrantLock源码解析(三)

    ReentrantLock和BlockingQueue 首先,看到这个标题,不要怀疑自己进错文章,也不要怀疑笔者写错,哈哈.本章笔者会从BlockingQueue(阻塞队列)的角度,看看juc包下的阻 ...

  2. 浙江大学计算机程序设计能力考试(PAT)简介

    计算机程序设计能力考试(Programming Ability Test,简称 PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学地评价计算机程序设计人才 ...

  3. JS里的异步实例化

    JS里的异步构造函数 众所周知,Js的构造函数是不能加上async/await来实现异步实例化的,一般当需要一个对象的属性是异步的结果时可以这样写: //! 一个需要指定时间后返回的异步函数 func ...

  4. 《机器学习Python实现_10_10_集成学习_xgboost_原理介绍及回归树的简单实现》

    一.简介 xgboost在集成学习中占有重要的一席之位,通常在各大竞赛中作为杀器使用,同时它在工业落地上也很方便,目前针对大数据领域也有各种分布式实现版本,比如xgboost4j-spark,xgbo ...

  5. vue 快速入门 系列 —— vue loader 下

    其他章节请看: vue 快速入门 系列 vue loader 下 CSS Modules CSS Modules 是一个流行的,用于模块化和组合 CSS 的系统.vue-loader 提供了与 CSS ...

  6. 22、部署drdb

    22.1.heartbeat部署规划: 本文的实验环境是虚拟机设备: 名称 接口 ip 用途 master-db(主) eth0 10.0.0.16/24 用于服务器之间的数据同步(直连) eth1 ...

  7. Vulkan移植GPUImage的安卓Demo展示

    演示Android apk下载 需要Android 8以上. 先看效果图,大约一百多种滤镜,有超过一半的滤镜有参数设置,其参数调整界面使用反射自动生成与绑定. 如下每种选择一些进行展示. 视觉效果 图 ...

  8. Docker:docker国内镜像加速

    创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 { "registry-mirrors": [ "https://registry.do ...

  9. SpringMVC(9)实现注解式权限验证

    对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servlet中的过滤器Filter来实现.但借助于Spring MV ...

  10. 一道内部ctf文件包含题

    拿到题目 在burp里看下 拿到源码 很明显是一道文件包含题目,包含cookie里的值,于是构造Cookie:language=chinese试试   文件变成中文的了,说明中文语言进行了包含并替换 ...