Linux之Shell基础入门
什么是shell?Shell(外壳) 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。什么是脚本?脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑)。JavaScript(JS,前端),VBScr
什么是shell
什么是shell?
Shell(外壳) 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
什么是脚本?
脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑)。
常见的脚本:JavaScript(JS,前端),VBScript, ASP,JSP,PHP(后端),SQL(数据库操作语言),Perl,Shell,python,Ruby,JavaFX,Lua等。
为什么要学习和使用shell?
Shell属于内置的脚本
程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)
语法简单,代码写起来比较轻松,简单易学
常见的shell种类?
在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是**/bin/bash**,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。
- csh
C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。
- ksh
Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。许多安装脚本都使用 ksh ,ksh有42条内部命令,与bash相比有一定的限制性。
- tcsh
tcsh是csh的增强版,与 C shell 完全兼容。
- sh
是一个快捷方式,已经被/bin/bash所取代。
- nologin
指用户不能登录
- zsh
目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。
- bash
大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。
shell入门案例
编写规范:
- 代码规范:
- #!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器]
- Shell相关指令
- 文件命名规范:
- 文件名.sh .sh是linux下bash shell 的默认后缀
使用流程:
- 创建.sh文件 touch/vim命令
- 编写shell代码
- 执行shell脚本 脚本必须得有执行权限,权限相关可以看我这篇:
案例1:创建test.sh,实现第一个shell脚本程序,输出hello world.
输出命令:#echo 123
注意:输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。
#!/bin/bash
echo 'hello world'
[root@localhost aaa]# chmod +x test.sh
[root@localhost aaa]# ll
total 4
-rwxr-xr-x. 1 root root 31 Jul 20 14:24 test.sh
[root@localhost aaa]# ./test.sh
hello world
注意,这里在运行时一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.sh,Linux 系统会去 PATH(环境变量) 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
案例2:使用root用户帐号创建并执行test2.sh,实现创建一个shelltest用户,并在其家目录中新建文件try.html。
#!/bin/bash
useradd shelltest
touch /home/shelltest/try.html
脚本执行的另外一个方式:/bin/bash 脚本的路径
[root@localhost aaa]# chmod +x test2.sh
[root@localhost aaa]# /bin/bash test2.sh
Shell脚本分为简单的写法(简单命令的堆积
)和复杂写法(程序的设计
)。
本文内容到此结束了,
如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误❌疑问💬欢迎各位指出。
主页:共饮一杯无的博客汇总👨💻保持热爱,奔赴下一场山海。🏃🏃🏃
更多推荐
所有评论(0)