Sheel----Linux的用户接口

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

Sheel----Linux的用户接口


一、Sheel是什么

1.Sheel概念

  • Shell为用户提供了输入命令和参数,并且可以得到命令结果的环境。
  • Sheel为操作系统的外壳,为用户提供使用操作系统的接口,是命令语言、命令解释程序及程序设计语言的统称。
  • Sheel是用户和Linux内核之间的接口程序。

2.Sheel怎么执行命令

  1. Sheel执行命令时,会首先检查该命令是否是内部命令。
  2. 如果不是,则检查是不是一个应用程序。
  3. 应用程序可以是Linux本身的实用程序,比如mkdir和ls命令,也可以是购买的商业程序。
  4. 然后可以在搜索路径(由环境变量$PATH指定,可执行echo $PATH 查看)查找应用程序。
  5. 找到程序后,Shell的内部命令或者应用程序将被分解成一系列的系统调用,进而传递给Linux内核。

3.Sheel命令行

  • 格式为:

command [flags] [argument1] [argument2] …

  • 命令行的各单词由一个或者多个空格隔开。
  • 其中flags以-开始,多个flags可以用一个-连接起来,如#ls -s -a# ls -sa一样。
  • 在bash中超级用户的提示符是#,普通用户的提示符是$

4.命令和文件的自动补齐功能

  • 在命令涉及路径、目录、文件名的时候使用。
  • 使用tab键使用该命令。
  • 使用自动补齐命令后,若有多种补齐的选项则会在命令下面列出,进行进一步选择;若只有一种情况则直接补齐命令。

二、历史命令与通配符的使用

1.历史命令

  • bash通过历史命令保存了一定数量的已经在Sheel里输入过的命令。
  • 这个数量取决于环境变量HISTSIZE(默认为1000,可以修改)。
  • bash的历史命令不是立即保存的,而是先存放在内存的缓冲区(称为历史命令列表),等到bash退出时再将历史命令写入历史命令文件。
  • 当然可以执行history -w命令要求bash立即保存。
  • 历史命令文件的文件名由环境变量HISTFILE指定,默认名字是.bash_history(以.开头的文件是隐藏文件)。

2.怎么显示和编辑历史命令

  • 语法一:history [n]当没有参数n时,显示全部命令,n代表显示n条历史命令。
  • 语法二:history [-a|n|r|w] [filename]
    各个选项及其功能见下表:
选项 功能
-a 把当前的历史命令记录追加到历史命令文件中
-c 清空历史命令
-n 将历史命令文件中的内容加入到当前命令列表中
-r 将历史命令文件中的内更新(替换)到当前历史列表
-w 把当前历史命令列表的内容写入到历史命令文件中,并覆盖原先的内同
filename 如果filename没有被指定,history将使用HISTFILE默认指定的文件名

3.通配符的使用

  • 常用的通配符
通配符 含义
* 匹配任何字符和任何数目的字符组合
匹配任何单个字符
[] 匹配包含在括号里面的字符

三、输入/输出重定向与管道

1.输入重定向

  • 把命令或可执行程序的标准输入重定向到指定的文件。
  • 也就是说输入可以不来自命令行,而来自一个文件。
  • 输入重定向改变了输入源。
  • 格式为:

命令<文件名

2.输出重定向

  • 将一个命令的输出 重定向到一个文件中,而不是显示在屏幕上。
  • 一般用于输出很多的命令,在屏幕上不能完全显示。
  • 先保存到文件中,再使用文本编辑器查看。
  • 格式为:

命令>文件名

3.管道

  • 背景:将一个程序或命令的输出作为另一个程序或命令的输入。
  • 实现这个由两种方法,一是上面介绍的输入重定向和输出重定向,二是管道。
  • 管道将一系列的命令连接起来。
  • 第1个命令的输出会通过管道传送给第2个命令,作为第2个命令的输入,第2个命令的输出通过管道传送给第3个命令,作为第3个命令的输入,以此类推。
  • 而管道行中最后一个命令的输出才会显示在屏幕上。

时间:2018年10月19日21:27:53


-END-

猜你喜欢

转载自blog.csdn.net/mylovewanzi/article/details/83188099