Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell。鸟哥说shell是linux的任督二脉。查看/etc/shells文件,该文件列出了当前可用的shell。在登录的时候系统会分配一个shell来让我工作,而这个登录取得的shell就记录在/etc/passwd中。
cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash
type命令可以查看命令是外置命令还是shell内置命令。
type [-tpa] name
加入-t参数时候,会以file外置命令;-p name为file时会显示全路径;-a 会有PATH变量定义的路径中将所以包含name的命令都列出来,包括别名的。
type -t mkdir file type -a mkdir mkdir 是 /bin/mkdir
unset 取消变量的设置
命令中还需要其他命令提供信息可以使用`命令`(为单反引号)或者$(命令)
若变量需要在其他子进程执行则需要使用export使变量变成环境变量
可以通过转义字符\转义特殊符号
双引号内的内容保持原有的特性,但是单引号中的内容为纯文本
等号之间不能有空格