Shell(3)shell理解

2019-07-25  本文已影响0人  六亲不认的步伐

默认shell

shell父子关系

  1. -c string 从string中读取命令并处理
  2. -i 启动能够接收用户输入的交互shell
  3. -l 以登陆shell形式启动
  4. -r 启动受限shell,限制在默认目录
  5. -s 从标准输入读取命令

进程列表

(ls;pwd;cd ../;)

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

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

后台模式

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

  1. -l:在默认的显示基础上可以显示PID

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

协程

coproc { sleep 300; }&

外部命令

内建命令

  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进程中有效

上一篇 下一篇

猜你喜欢

热点阅读