shell命令格式和特殊字符

1. shell简介
shell可直译为“贝壳”,贝壳是动物作为外在保护的一种工具。 可以理解为:linux中的 shell就是 linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。
命令是用户向系统内核发出控制请求,与交互的文本流。 而 shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互。 当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控制语句,编辑成为 shell脚本文件,交给 shell批量执行。
最初的 unix shell经过多年的发展,由不同的机构、针对不同的目录,开发出许多不同类型的 shell程序,目前流行的 shell主要有以下几种:
bourne shell(sh):由 at&t的 steve bourne开发,是第一个流行的 shell,是 unix上的标准 shell。 不过 sh的作业控制功能薄弱,且不支持别名与历史记录等功能c shell(csh):sh之后另一个广为流传的 shell,由柏克莱大学的 bill joy设计,语法有点类似 c语言,其内部命令有52个,较为庞大。 但目前使用的不多korn shell(ksh):由at&t 的david korn开发,语法与 sh相同,同时具备 csh的易用特点。 许多安装脚本都使用 ksh,有42条内部命令,但与 bash 相比有一定的限制性bourne again shell(bash):由 gnu组织开发,保持了对 sh的兼容性,是各种linux发行版默认配置的shell。 能够提供环境变量以配置用户 shell环境,支持历史记录,内置算数功能,支持通配符表达式,将常用命令内置简化2. shell命令格式
2.1 shell命令提示符
shell提示符标识了命令行的开始。 用户在提示符后面输入一条命令并按 enter键,完成向系统提交命令。 通常 shell命令提示符采用以下格式:
username@hostname:direction$用户名 主机名 目录名username:用户名,显示当前登录用户的账户名(执行命令 whoami)hostname:主机名,显示登录的主机名(执行命令 hostname)direction:目录名,显示当前所处的路径,根目录下显示为“/”,主目录下显示为“~“(执行命令 pwd)2.2 shell命令格式
通常一条 shell命令包含三个要素:命令名称、选项、参数。 命令名称是必须的,选项和参数都可选项。 格式如下:
$ command [-options] argument1 argument2... 指令 选项 参数1 参数2 ...:shell提示符,若为超级用户,提示符为“#”,其他用户的提示符均为“”command:命令名称,shell命令或程序,严格区分大小写options:命令选项,用于改变命令执行类型,由“-”引导,可同时带多个选项argument:命令参数,指出命令作用的对象或目标,允许带多个参数一条命令的三要数之间用空格隔开; 若将多个命令在一行书写,用分号(;)将各命令隔开; 如果一条命令不能在一行写完,在行尾使用反斜杠()表明该条命令未结束。
2.3 shell命令初体验
使用shell命令,关闭或重启系统
sudo shutdown -h now #系统立即关机sudo shutdown -r now #系统立即重启sudo reboot now #系统立即重启sudo shutdown -h +45 that is all! #系统45分钟后关机sudo shutdown -r +60 #系统60分钟后重启3. shell中的特殊字符
3.1 shell中的通配符
当需要用命令处理一组文件,例如 file.txt、file2.txt、file3.txt…,用户不必一一输入文件名,可使用 shell通配符。 shell命令的通配符含义如下表
3.2 shell中的管道
管道可以把一系列命令链接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。 就像通过使用“|” 符连成一个管道。
ls /use/bin | wc -w1249以上操作中,借助管道“|”,将 ls的输出直接作为 wc命令的输入。 使用管道可以巧妙的将一些命令联合使用,得到单个命令所无法实现的效果。 例如使用以上的命令组合,得到的是/usr/bin目录下文件的个数。
3.3 输入输出重定向
输入输出重定向是改变 shell命令或程序默认的标准输入输出目标,重新定向到新的目标。 linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。 用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输出来源为外部文件
cat命令功能为在标准输出上显示文件。 下面通过一个实例,可以更好地理解重定向的功能:
an@ubuntu:~/di$ cat #使用标准输入/出设备hello world! #用户使用标准输入设备键盘,键入字符串,并按enter键hello world! #系统在标准输出显示器上,显示用户刚刚输入的字符串an@ubuntu:~/di$ cat > file1.txt #输出重定向,将输出定向到文件file1.txthello world! #用户使用标准输入设备键盘,键入字符串,并按enter键 #用户输入的字符串被保存在file1.txt文件中an@ubuntu:~/di$ cat < file1.txt #输入重定向,将cat的输入指定为file1.txthello world! #系统在标准输出显示器上,显示cat命令从文件中读出的字符串3.4 命令置换
命令替换是将一个命令的输出作为另一个命令的参数。 命令格式如下所示:
command1 `command2`其中,命令 command2的输出将作为命令 command1的参数。 需要注意,命令置换的单引号为esc键下方的“`”键
linux@ubuntu:~$ ls `pwd`desktop examples linux andyxipwd命令用于显示当前目录的绝对路径。 在上面的命令行中,使用命令置换符,将 pwd的运行结果作为 ls命令的参数。 最终,命令执行结果是显示当前目录的文件内容。

贝塔射线扬尘监测仪助力城市空气质量改善
OpenHarmony支持HDMI接口声卡适配说明
铭普光磁推出低成本、双速率数据中心全系光模块产品
好用的国产开源Linux可视化管理工具悄然崛起!
一种新的单目视觉里程计深度学习系统
shell命令格式和特殊字符
不同的电路对薄膜电容器容差的要求
win10份额预计将在明年12月之前超过Win7
判断DP总线是否正常的方法分享
智能座舱进入大模型时代,语音遥控器的交互即将成为过去式
Facebook发巨资收购脑机技术公司,致力于开发增强现实智能眼镜
浅谈XUNWEI智能中控系统五大特性
怎么区分二极管的极性和正负?
当代用电行为大赏:有人心疼电费,有人靠屋顶光伏“理财”
中国手机纷纷强化创新研发,小米缺乏创新
荣耀V20采用麒麟980芯片并将搭载三大手机吓人技术
LabVIEW转子动平衡测控系统解决方案
传东芝考虑分拆半导体业务 出售20%股份给西数
CES瑞芯展示安卓4.0搭载Flash11
DS26303短程线路接口单元与IDT82V2048的比较