PART3 Linux Shell 基础总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27022241/article/details/82150405

                          PART3 Linux Shell 基础总结

1 Shell是什么

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

    Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

2 Shell分类

    Linux 的 Shell 种类众多,常见的有:

        Bourne Shell(/usr/bin/sh或/bin/sh)
        Bourne Again Shell(/bin/bash)
        C Shell(/usr/bin/csh)
        K Shell(/usr/bin/ksh)
        Shell for Root(/sbin/sh)
        ……

    本教程关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。

    在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。

    #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。

3 Shell脚本

    打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。

    输入一些代码,第一行一般是这样:

     #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

    echo 命令用于向窗口输出文本。

4 运行Shell脚本

5 echo命令

    用于字符串的输出。

(1)显示普通字符串

(2)显示转义字符

(3)显示变量

(4)显示换行

(5) 显示不换行

(6)显示结果定向至文件


(7)原样输出字符串,不进行转义或取变量(用单引号)

(8)显示命令执行结果

6 命令别名与快捷键

当你输入alias时,会显示所有的别名:

别名书写格式(alias 别名='原命令'):

如果别名不写入环境变量配置文件,那么每次启动时就会别名就会消失:

vi ~/.bashrc (写到这个文件里面就可以了,不用每次开机都需要修改);

常用快捷键:

ctrl + C    #强制终止当前命令

ctrl + Z    #把命令放入后台,无终止功能,仍会占用系统资源

ctrl + L    #清屏,等价于clear

ctrl + R    #在历史命令中搜索

ctrl + A    #光标移动到命令行首

ctrl + E    #光标移动到命令行尾

ctrl + U    #从光标所在位置删除到行首

7 历史命令与命令补全

(1)history命令

history  [选项]  [历史命令保存文件]
选项:

-c:清空历史命令(不建议清空)

-w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

PS:单独输入命令history 会显示缓存中的历史命令,其比~/.bash_history中的命令多一些,因为~/.bash_history中仅保存上次登录正确注销后的命令,而history中显示的命令还包括重新登陆后新输入的命令。

历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中修改。

历史命令的调用:

(2)命令与文件补全

    在Linux命令行下,输入字符后,按两次Tab键,shell就会列出以这些字符打头的所有可用命令。如果只有一个命令匹配到,按一次Tab键就自动将这个命令补全。比如,想更改密码,但只记得这个命令前几个字母是pass。这时候,按Tab键,shell就自动输出 passwd 命令,非常方便。

    当然,除了命令补全,还有路径、文件名补全。这个在我们 cd 到特定目录时特别好用。

    命令补全实际上仍然是在PATH中查找。文件目前是在你输入的路径中查找。

8 输入输出重定向

    重定向指将输出至屏幕的内容改为输出至指定的文件中。

(1)标准输出重定向

    只能输出正确信息,错误信息不会输至文件中。

(2)标准错误输出重定向(仅输出错误信息)

(3)正确输出和错误输出同时保存

PS:常用:命令名  &> /dev/null    #将命令执行后的输出丢到黑洞中(相当于垃圾站),既不会显示至屏幕也不保存至文件。

(4) 输入重定向(使用较少)

以wc命令为例来说明输入重定向:

9 管道符

1. 多命令顺序执行

&& 和 || 组合可以判断命令是否正确,例如:ls  && echo yes  ||  echo no    #若ls命令正确,打印yes;否则打印no

2. 管道符

10 通配符

1. 通配符(主要用来匹配文件名和目录名)

2. Bash中其他特殊符号

(1)单引号和双引号

(2)反引号

(3)$()

(4)转义符

猜你喜欢

转载自blog.csdn.net/qq_27022241/article/details/82150405