Linux和Shell简介

Linux是一套可免费使用和自由传播的类UNIX操作系统。Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并把它送入内核去执行。内核是Linux系统的核心部分,从开机自检时就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序存储在计算机的硬盘上,仅当需要时才被调入内存。Shell是一种命令解释程序,当用户登录Linux系统时,Shell就会被调入内存执行。Shell独立于内核,它是连接内核和应用程序的桥梁,并由输入设备读取命令,再将其转为计算机可以理解的机器码,Linux内核才能执行该命令。

第一个Shell脚本例子

新建一个文件,命名为log.sh:

#!/bin/bash
date
who

log.sh文件就是一个Shell脚本。log.sh文件中第1行是#!/bin/bash#!称为“Sha-bang”,是Shell脚本的起始符号,它表明该文件的执行需要一个解释器。#!之后是解释器的路径。一般而言,常见的Shell解释器是bash。Linux还存在其他的一些解释器,如sed和awk。指定为这些解释器就要将#!后的路径改为对应解释器的路径。

在我们创建一个Shell脚本后,我们可以运用sh filename来解释执行这个文件,但该文件是不能直接执行的,因为该文件没有可执行权限。在我们赋予它可执行权限后,就可以执行了。

$ sh log.sh
2017年 03月 14日 星期二 22:33:37 CST
jerring tty7 2017-03-14 21:40 (:0)
$ chmod u+x log.sh                    #赋予可执行权限
$ ./log.sh #执行脚本
2017年 03月 14日 星期二 22:35:11 CST
jerring tty7 2017-03-14 21:40 (:0)

最新文章

  1. zookeeper选举原理
  2. EL表达式Expression Language
  3. C语言编译链接
  4. Java 程序优化:字符串操作、基本运算方法等优化策略(二)
  5. C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
  6. 实践Scrum
  7. SpringMVC中@RequestBody引起的400异常处理,返回校验失败具体信息
  8. 出现Unreachable code问题的原因
  9. 基于 ReactJS 开发简单的可视化业务编辑器 01
  10. 对国内AR产业的预言
  11. CSS3之动画模块实现云朵漂浮效果
  12. python 钉钉机器人发送消息
  13. 如何在PDF中添加水印,PDF添加水印技巧
  14. EL表达式和JSTL的使用
  15. angular file change
  16. JS中,如何判断一个被转换的数是否是NaN
  17. Yii2 session的使用方法(1)
  18. Linux基础命令---fsck
  19. python 判断一个数字是否为4的幂
  20. BZOJ3836 [Poi2014]Tourism 【树形dp +状压dp】

热门文章

  1. python判断字符串是否为空的方法s.strip()=='' if not s.strip():
  2. “SYSTEM.DATA.SQLCLIENT.SQLCONNECTION”的类型初始值设定项引发异常---解决方案
  3. Enterprise Architect UML建模
  4. 开发人员需知的Web缓存知识(转)
  5. C、C++数据类型所占字节数
  6. vs git .vs12.suo
  7. cocos2d-X学习之主要类介绍:场景(CCScene)
  8. fastJson API
  9. SQLServer中计算周
  10. jd算法大赛 一个user_id只需映射到一个sku_id, 但是一个sku_id能否映射到多个user_id