一.什么是Shell

1.Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户

图所示用户、shell和操作系统的关系:

用户、shell和操作系统的关系

2.Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令。

3.一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的

cat /etc/shells命令

二.Shell的种类

1.操作系统内核(kernel)与shell是独立的套件,而且都可被替换:

  • 不同的操作系统使用不同的shell;
  • 同一个kernel之上可以使用不同的shell。

2.常见的shell分为两大主流:

sh

  • Bourne shell(sh) ,Solaris,hpux默认shell
  • Bourne again shell(bash) ,Linux系统默认shell

csh

  • C shell(csh)
  • tc shell(tcsh)

3.查看使用Shell

查看使用Shell

三.Shell环境定义

1.临时环境变量

所谓临时变量是指在用户在当前登陆环境生效的变量,用户登陆系统后,直接在命令行上定义的环境变量便只能在当前的登陆环境中使用。当退出系统后,环境变量将不能下次登陆时继续使用。

临时环境变量

2.将环境变量永久生效

通过将环境变量定义写入到配置文件中,用户每次登陆时系统自动定义,则无需再到命令行重新定义。定义环境变量的常见配置文件如下:

/etc/profile 针对系统所有用户生效,此文件应用于所有用户每次登陆系统时的环境变量定义

$HOME_name/.bash_profile 针对特定用户生效,$HOME为用户的宿主目录,当用户登陆系统后,首先继承/etc/profile文件中的定义,再应用$HOME/.bash_profile文件中的定义。

3.系统预定义的环境变量

系统环境变量对所有用户有效,如:$PATH、$HOME、$SHELL、$PWD等等

如下用echo命令打印上述的系统环境变量:

系统预定义的环境变量

csh shell_Shell基础知识相关推荐

  1. shell基础知识总结

    1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对 ...

  2. Bash的基础知识man手册

    Bash的基础知识man手册 由于基于Android类设备的渗透测试都是通过各类终端实现.所以掌握Shell相关操作就显得尤为重要.Bash是一个为GNU计划编写的Unix Shell本文选自基于An ...

  3. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  4. 一、Linux基础知识

    ######虚拟机控制###### rht-vmctl start desktop ##开启desktop虚拟机 rht-vmctl view desktop ##显示desktop虚拟机 rht-v ...

  5. c #include如何找到文件_UNIX系统上程序员需要掌握的C编程环境的基础知识

    ​ 这是一份非常简短的文档,可以帮助你熟悉UNIX系统上C编程环境的基础知识.它不是面面俱到或特别详细,只是给你足够的知识让你继续学习. 关于编程的几点一般建议:如果想成为一名专业程序员,需要掌握的不 ...

  6. 【图文教程】Shell基础知识

    Shell基础知识 1. shell介绍 2. history命令 history主要参数示例: 3. 命令补全和别名 4. 通配符 5. 输入输出重定向 6. 管道符和作业控制 管道符: 作业控制: ...

  7. 码农之路从入门到放弃之:计算机基础知识

    从入门到放弃 计算机基础知识 计算机概述 计算机组成部分 1.硬件部分: 2.软件部分 操作系统(OperatingSystem) 1.windows 简介 1.1.windows--优点 1.2.w ...

  8. 基础知识---认识shell和各种sh以及更新bash到高等级的bash5.0

                                      基础知识---认识shell和各种sh以及更新bash到高等级的bash5.0 一,什么是shell?什么是bash? 管理计算机硬 ...

  9. 什么是Shell?Shell脚本基础知识详细介绍

    这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 ...

最新文章

  1. 【大数据】SparkSql 连接查询中的谓词下推处理 (一)
  2. Struts2 JSON
  3. ASP.NET AJAX(开发代号:Atlas)的相关问题请在本帖中提出
  4. Sql Server 清除日志的存储过程 Procedure of cleaning sql server's log
  5. VUE基本语法1-插值 属性绑定
  6. ODPS主备集群双向数据复制导致主备中心网络打爆问题
  7. 哪里学php开发,哪里学web开发
  8. 解决办法: error: passing ‘const VideoFrame’ as ‘this’ argument discards qualifiers [-fpermissive]
  9. Linux内核编程《一》
  10. 人人开源代码生成器启报错
  11. 《2021爱分析·中国RPA应用趋势报告》正式发布
  12. Altium Designer 9 学习笔记(一)基础操作
  13. Phoenix创建Hbase二级索引_尚硅谷大数据培训
  14. jq-ui-multiselect插件的使用
  15. Flume 的使用场景详解
  16. SWUSTOJ82编写一个函数,求从n 个不同的数中取r 个数的所有选择的个数。
  17. 2022年linux面经必备(持续更新中)
  18. 官方AI语音系统电销机器人系统搭建|AI智能|电话机器人源码|2022最新电销外呼系统多服务器版本七牛科大免费识别阿里免费识别科大识别阿里识别
  19. 2021年低压电工及低压电工证考试
  20. 礼盒抖动动画(CocosCreator)

热门文章

  1. 【绝对原创】最新研究成果,EFS加密文件真的可以解密!各位不要放弃哈~
  2. JAVA 支付宝退款接口
  3. STP的根端口与指定端口
  4. 【Android】activity-alias的使用
  5. GridView模板问题
  6. [导入]实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除...
  7. 第7章 比高斯更快的计算
  8. 【工程项目经验】多个静态库打包成一个静态库
  9. java resource放入的文件没有生成在classes中_JAVA程序员学习笔记----mybatis深入剖析...
  10. MyBatis-Plus 学习笔记