【Linux笔记】理解shell

1. shell的类型

  • bash tcsh dash
  • 默认的系统shellsh,一般软连接到bash(也有软连接到dash
  • 用户登录系统的默认shell在/etc/passwd文件的第7个字段中记录(这里说的shell与sh不同)

2. shell的父子关系

  • 在一个shell中继续运行shell,可以形成shell间的嵌套关系(父子结构)
  • exit退出当前shell
  • 可以在一行中指定一系列的命令,多个命令用;隔开(命令列表)
  • 将命令列表用()括起来,则构成进程列表(系统会创建子shell运行进程列表)
    • $BASH_SUBSHELL环境变量可以看到当前shell的层级(0父shell,1子shell,2孙子shell…)
    • 进程列表可以嵌套
  • 命令后面加&可以后台运行(进程列表也可以加)
  • jobs显示后台作业信息
    • -l显示进程pid
  • 协程(在后台生成一个子shell,并在这个子shell中执行命令)
    • 默认名写法coproc sleep 10
    • 自定义名写法coproc My_Job { sleep 10; }

3. 理解shell的内建命令

  • 外部命令会创建一个子进程运行(衍生),内建命令不会,所以内建命令效率更高
  • which用来查找一个命令的绝对路径
  • type查看一个命令是否为内建命令
    • -a如果该命令有多个版本则都显示
  • history历史命令列表
    • ~/.bash_history历史命令保存文件
    • -a强制刷新文件
    • -n强制读取文件
    • !!最近一条命令 !-n最近第n条命令 !n第n条命令
  • alias用来设置指令的别名
    • 例:alias ll=‘ls -l’
    • -p查看当前可用的别名
    • 使用绝对路径的命令则不会被alias
  • unalias解除别名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值