美文网首页
Shell(3)shell理解

Shell(3)shell理解

作者: 六亲不认的步伐 | 来源:发表于2019-07-25 16:22 被阅读0次

默认shell

  • 默认系统shell:存储查看位置在/bin/sh
  • 默认交互shell:存储查看位置在/etc/passwd

shell父子关系

  • 在第一个shell中输入bash即可打开新的shell,此时的新shell就作为老shell的子进程
  • 命令参数修改启动方式
  1. -c string 从string中读取命令并处理
  2. -i 启动能够接收用户输入的交互shell
  3. -l 以登陆shell形式启动
  4. -r 启动受限shell,限制在默认目录
  5. -s 从标准输入读取命令
  • ps --forest可以直观查看父子关系

进程列表

  • 使用(shell1;shell2 ;shell3 ;):开启子进程来执行这个命令列表
    例如:

(ls;pwd;cd ../;)

是否生成了子shell,使用环境变量的命令$BASH_SUBSHELL进行查询
结果为0则未生成子进程,为非0数字则生成子进程。
例如:

(ls;pwd;cd ../;($BASH_SUBSHELL))
结果输出2

后台模式

  • 可以高效的使用使用子shell,后台模式中运行命令可以在处理命令的同时让出CLI
  • 使用方式在命令后置&
    例如:

sleep 1000&
执行此命令后可用ps -f查看

  • 显示后台命令可以使用jobs
  1. -l:在默认的显示基础上可以显示PID

后台命令常用于文件解压
(tar -cf Rich.tar /home/rich ; tar -cf My.tar /home/christine)&

协程

  • 可以同时做两件事
  • 使用方法coproc command/command list
    例如:

coproc { sleep 300; }&

外部命令

  • 定义:文件系统命令,存在于bash shell之外,通常位于/bin、/usr/bin、/sbin或/usr/sbin
  • 可以通过which 和type进行查找
    which ps / type ps可查找ps命令
  • 执行过程:由父进程发出ps命令,子进程执行ps命令。(也成为衍生forking)

内建命令

  • 不需要子进程来进行执行 例如 cd , exit
  • 可通过type进行检验,返回 is a shell builtin
  • type命令参数:
  1. -a :可针对即是内建命令也是外部命令进行查看
  • 若干个内建命令

1.history 查询历史命令
命令历史记录被保存在隐藏文件.bash_history,当shell退出时才被写入到历史文件中。
-a :会强制进行写入到.bash_history
-n :强制重新读取.bash_history文件,更新终端会话的历史记录
2.!! 唤出刚用过命令来使用

!20:编号为20的命令从命令历史记录中被取出

命令别名

alias

  1. -p :查询当前可用的别名
    2.自定义别名创建
    例如:

alias li='ls -li'
注意:别名仅在它所被定义的shell进程中有效

相关文章

  • Shell(3)shell理解

    默认shell 默认系统shell:存储查看位置在/bin/sh 默认交互shell:存储查看位置在/etc/pa...

  • 第五章 理解shell

    本章内容: 1)探究shell类型2)理解shell的父/子关系3)别出心裁的子shell用法4)探究内建的she...

  • shell-01

    shell片段1 shell片段2 shell片段3

  • 3.shell 基本特性之~ shell展开详解

    第 3 章目录: 3.1 shell 语法3.2 shell 命令3.3 shell 函数3.4 shell 参数...

  • 4. shell基本特性之~ 重定向

    第 3 章目录: 3.1 shell 语法3.2 shell 命令3.3 shell 函数3.4 shell 参数...

  • Shell编程-13-子Shell和Shell嵌套

    什么是子Shell     子Shell的概念其实是贯穿整个Shell的,如果想要更好的理解和写Shell脚本则必...

  • Shell脚本基础

    1.Shell变量 2.Shell字符串 3.Shell数组 4.Shell注释 5.Shell参数传递 参数处理...

  • linux学习--week19--shell

    4天 Shell脚本大纲1.shell介绍2.shell变量3.shell 判断语句 if case gitjen...

  • Shell第一天

    Shell第一天 1.什么是shell? 2.什么是shell脚本 3.shell能做什么 4.学习shell脚本...

  • Shell脚本的简单介绍

    什么是Shell Shell应该是命令解释器,将Shell脚本解析成操作系统能理解的操作去执行。Shell脚本就是...

网友评论

      本文标题:Shell(3)shell理解

      本文链接:https://www.haomeiwen.com/subject/qkxhrctx.html