首页 > 系统相关 >shell基础1

shell基础1

时间:2023-06-15 23:23:13浏览次数:38  
标签:bin 文件 解释器 shell python 基础 bash

shell基础1

什么是shell

centos ubuntu suse

具体实现了shell的软件 bash

shell 是一个壳(解释器,翻译官),通过c语言写的一个命令

  • 解释执行用户输入的命令或程序等
  • 用户输入一条命令,shell就解释一条
  • 键盘输入命令,linux给与响应的方式,称为交互式

image-20230615174204119

shell是一个包裹着操作系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入给操作系统,,然后处理操作系统的输出结果,输出到屏幕给与用户看到结果

image-20230615174628257

一个命令:通过c语言的一段代码进行编 译,

我们想要获取计算机的数据,不可能每次都编写程序,编译后,再运行,再得到我们想要的。例如你想要找到一个文件,可以先写一段c语言的代码,然后调用系统函数,通过gcc编译后,运行找到这个文件

因此有开发写出了shell解释器,能够 让我们方便的使用linux

gcc

GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、MacOS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台

什么是shell脚本

概念:把命令或程序语句写在文件中,执行文件,读取其中的代码,这就叫shell脚本 (非交互式方式)

  • windows的批处理文件.bat
  • linux中的.sh文件

小知识:linux的文件后缀没有实质的意义,但可以让人区分清楚文件的用途(白色是普通文件,绿色是可执行文件)

写shell脚本的规范

#! /bin/bash   Shebang
echo $SHELL  查看当前的shell解释器
hello.sh去执行时是去找path路径
./hello.sh  是在当前文件去运行脚本(文件需要可执行权限)
/bin/bash hello.sh   文件没有执行权限也可以运行这个脚本

Shebang

Shebang作为解释器的指令

  • 以#! /bin/sh开头的文件,程序在执行时会调用/bin/bash,也就是bash解释器
  • 以#! /usr/bin/python开头的文件,代表指定python解释器去执行
  • 以#! /usr/bin/env 解释器名称,是一种在不同平台都能正确找到解释器的方法

不指定,默认以当前shell去解释脚本

! /usr/bin/python会作为参数传递给解释器

如果指定的解释器没有执行权限,会报权限错误

需要写绝对路径,不会去path下去寻找解释器

编写一个python代码

#! /usr/bin/python
# coding:utf-8
print("111222")
运行这个python文件  /usr/bin/python hello.py

标签:bin,文件,解释器,shell,python,基础,bash
From: https://www.cnblogs.com/jiangxuling/p/17484466.html

相关文章

  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • 神经网络基础知识与实现
    目录神经网络是人工智能领域中的一个重要概念,它是指一种模拟人脑神经元的计算方法。神经网络通过从大量数据中学习,来预测未来的状态或执行特定的任务。本文将介绍神经网络的基础知识与实现,包括神经网络的基本概念、技术原理、实现步骤以及示例与应用。同时,本文还将探讨神经网络......
  • 基础语法-方法
    在Java中,方法用于封装可重用的代码块,它可以执行特定的操作并返回结果。方法通常用于将任务划分为更小的模块,以提高代码的可读性、可维护性和重用性。可以理解为python中的函数 方法的声明: 最简单的publicvoidsayHello(){System.out.println("Hello,World!");}......
  • 基础语法-main方法
    main方法是Java程序的入口点,也是程序执行的起始位置。当你运行一个Java程序时,JVM(Java虚拟机)会自动查找并执行包含main方法的类。在main方法中,你可以编写程序的逻辑代码,包括调用其他方法、处理输入输出、控制流程等。它允许你指定程序的初始行为,并定义程序执行的步骤和......
  • TesorFlow03-TesorFlow的基础
    1TesorFlow的数据结构list:[1,1.2,'Hello',(1,2)],这个list里面什么都可以存储,但是如果存储一个图片[64,32,32,3]里面全是数字的话,大小会很大,所以引入np.arraynp.array:可以很方便的做一些同类型的数据的运算,比如加、减、乘、除、转置。但是有一个致命的弱点,就是np是在深度......
  • opcenter camstar designer基础知识-- Tables
     “Queries”窗口分为左右两个窗格。左窗格包含一个用于显示以下查询类别的选择树:可以展开每个类别以显示该类别中的查询,也可以通过在左窗格中右键单击来访问快捷菜单。快捷菜单选项包括: • AddQuerydefinition添加查询定义• RenameQuerydefinition重命名......
  • Web基础与HTTP协议
    目录一、DNS与域名1.DNS2.域名3.域名小结二、HTML文档1.网页的概念2.HTML概述三、Web1.Web概述2.分布式3.Web1.04.Web2.05.静态页面与动态页面(1)静态页面(2)动态页面(3)小结四、HTTP协议1.HTTP协议简介2.HTTP1.13.HTTP2.04.HTTP请求格式(GET/POST方式)(1)GET方式(2)POST......
  • 12神经网络中的数学基础:梯度下降和反向传播
    目录1.引言2.技术原理及概念2.1基本概念解释2.2技术原理介绍2.3相关技术比较3.实现步骤与流程3.1准备工作:环境配置与依赖安装3.2核心模块实现3.3集成与测试4.示例与应用4.1实例分析神经网络中的数学基础:梯度下降和反向传播随着人工智能和机器学习的发展,神经网络已经......
  • 基础语法-条件
    if只写一个判断也是可以的 swichswitch是Java中的一种条件语句,用于根据表达式的值选择不同的执行路径。它可以用来代替一系列的if-else语句,使代码更简洁和易读。switch(expression){casevalue1://当expression的值等于value1时执行的代码......