Linux Shell简介
shell
shell是一个命令解释器,他可以用来启动,挂起,停止程序,还允许用户编写shell命令组成的程序。
1.shell的种类
shell有很多不同的版本,在linux下/etc目录的shells文件中列出来可以接受的shell以及他们的路径。如下是我的系统版本以及系统所支持的shell:
bash指GUN的Bourne Again shell,是GUN操作系统默认shell。系统变量$SHELL记录现在正在使用的shell,可以用echo来查看。
2.shell命令的基本格式
shell命令可以分为两大类,一类是内置命令,即系统自带的命令,如ls,这是显示文件夹下文件的命令;另一类是外置命令,如vi,是调用vi编辑器的命令,而vi编辑器是一个软件,这类命令由独立的程序实现的命令,用于对linux的扩展,是外置命令。
shell命令的格式如下:
命令名 [选项] <参数1> <参数2>…
方括号内为可选的,命令可能有0个或者多个参数。
3.shell命令的基本使用
在命令行上输入正确的命令,按回车执行,如果有错误linux shell会显示出错误,有很多命令是没有反应的,一般来说没有反应代表运行正确并且成功。
4.shell自动补齐和历史记录
shell会在用户输入命令前几个字母后按 键自动补齐,如果有多个候选命令会显示出全部命令。
shell会自动记录用户使用的命令,用户可以按 上 下 键 来查看。
5.shell提示符
shell提示符有两种,一种是 $结尾,为普通用户权限下的提示符号,一种是#结尾,为管理员权限,用户可以用su命令切换用户,如下图:
6.输入输出重定向
shell命令是控制台命令,使用标准输入和输出设备,即从键盘接受输入,将结果显示在显示器上。重定向可以将shell的输入输出重定向到文件或设备。
输入重定向符号为”<”,输出重定向符号为”>”和”>>”。如果shell命令 “X”在执行过程中,需要从控制台获得数据,那么执行”X < file”可以从file文件中获得所需数据。如果X在执行过程中产生数据,可以用 “X > file”和”X >> file”将结果输入到文件。”>”为覆盖输入,”>>”为追加输入。
7.管道
linux系统中,管道是一种先进先出的单数据通道,利用管道符号”|”可以将多个命令组合到一起,把一个命令的输出传递给下一个命令作为输入,最终得到经过多个命令一次处理的结果。如,用ll和grep结合来查找当前目录是否有这个文件: