1.工作原理:
其实当一个用户以命令行的形式登录了Linux操作系统之后即进入了shell应用程序。shell的功能就是将用户驶入的命令翻译成Linux能够理解的语言,这样linux才能真正的操作计算机的硬件。
2.成长历程:
在linux和Unix操作系统上存在很多种的shell,这是应为参与Unix的开发人员很多,Bourn-Aggin shell简称bash,是由GUN项目开发的,也是标准的linux Shell,同时加入了csh ksh,和tcsh的一些有用的功能。
3.使用Type识别bash的内置命令
Linux操作系统中的命令分为两大类,一种是内部命令即内置在bash中的命令,另外一种是外部命令,以可执行文件的形式存储在linux文件系统中
type命令:用于查看命令的类型和相关的信息
-t :显示文件的类型,file为外部命令,alias为别名,builtin为内置命令
-a:列出所有包含命令名的命令,包括别名,即该命令所有可用的名称
-P:显示完整路径名
此时想要确定得到的完整路径名是否为可执行文件,可以使用file命令
4.利用通配符操作文件
linux操作系统提供了一下通配符
符号 | 作用 |
---|---|
* | 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * |
? | 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0 |
[abcd] | 匹配abcd中任何一个字符 |
[a-z] | 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 |
{..} | 表示生成序列. 以逗号分隔,且不能有空格 |
补充 | |
[!abcd] | 或[^abcd]表示非,表示不匹配括号里面的任何一个字符
|
5.利用tab键补齐命令行
例如whoani命令,输入who,按下tab键,会显示所有以who开头的命令
6.命令行中的~使用
1.如果~符号后面没有用户名,则该符号代表当前用户的家目录
2.如果~符号后面有用户名,则该符号代表这个用户的家目录
ls ~/wolf 表示列出当前用户home/wolf 下的所有文件
ls ~cat/wolf 表示列出cat用户下面的wolf文件夹中的所有文件
7.history命令与操作曾经使用过的命令
然后可以通过向上键查找对应的命令确认键执行
8.bash变量简介及{}的用法
shell变量就是内存中命了名的临时存储区:
1.按用户习惯定制shell所需的信息
2.使一些进程正常工作所需的信息
echo $PATH 列出PATH变量的值
{ } 原本我们创建问文件可以通过touch a b
用大括号可以这样表示: touch {a,b} touch baby{.dog,.cat}
9.将一个命令的输出作为另一个命令的参数
1.homehost显示主机名
echo "system name is `hostname`"
结果为:system name is localhost.localdomain 即将命令输出结果通过 `` 包含在中间
以上命令行可以通过echo "system name is $(hostname)" 替换
10.使用linux命令进行数学运算
1.先赋值变量
year1=1;year2=2;year3=3 注意不同变量以分号隔开
2.通过echo输出
[zhuhaitao@localhost ~]$ echo $year2
2
3.计算
echo $[$year1+$year2]
3
11.命令行中反斜杠\的用法
1.因为在linux中存在一些特殊字符,覆盖了原本的含义。要在这个特殊字符之前冠以反斜杠才能恢复元本含义
例如 echo "a dog's price is $6100" 将会输出 a dag's price is 100
因为linux系统认为$6是一个变量,但是实际没有值则输出为空
echo "a dog's price is \$6100"可以解决该问题
2.反斜杠放在命令行的最后表示他是一个续行符号
12.linux中引号的用法
1.单引号:禁止所有命令扩展功能
2.双引号:禁止所有命令扩展功能以下字符除外
$:用于输入shell 变量
``倒引号
``反斜线
!感叹号