什么是Linux Shell?

概念:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”

Shell的使用方式

交互式---命令行
--人工干预。智能化程度高
--逐条解释执行,效率底
非交互式---脚本
需要提前设计,智能化难度大
批量执行,效率高

方便在后台静悄悄地运行


常见的Shell环境
通过usermod,chsh更改Shell
手动执行目标Shell程序


shell与bash区别
shell(解释器)
bash(解释器的具体型号,版本)
在linux中可以使用的shell解释器的版本
[root@server0 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh


切换用户的Shell环境

若需要临时使用另一种Shell环境,可以直接执行对应的Shell解释器程序,比如只要执行Ksh可以切换Ksh命令行环境。


为什么lincx默认的shell的类型是bash?

bash基本特性的一些优点
快捷键,Tab键补齐
命令历史
命令别名
标准输入输出
重定向
管道操作
永久的更改解释器 usermod -s /bin/ksh zhangsan

 查看对应用户使用的解释器:grep ‘zhangsan’ /etc/passwd

代码解释:

[root@server0 ~]# useradd -s /bin/ksh zhangsan(创建zhangsan用户并为它设置默认解释器ksh)

[root@server0 ~]# grep 'zhangsan' /etc/passwd
zhangsan:x:1001:1001::/home/zhangsan:/bin/ksh

2.历史命令-history
默认记录了1000条
保存位置:/.bash_history
控制历史命令的数量:/etc/profile
内容中:HISTSIZE=1000是控制历史记录的条数,在工作中需要更改。避免信息泄露。



操作历史命令

history工具
history:查看历史命令列表
history -c 清空历史命令
ls ~/.bash_history


调用历史命令

!78 : 执行历史记录中的第78条命令
!str 执行最近一次以str开头的历史命令




I/O设备与重定向
交互式硬件设备
标准输入:从该设备接收用户输入的数据 
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行中的错误信息

错误的与正确的信息在屏幕上输出上是不一样的


重定向输入   < 将文本来源由键盘改为指定的文件
重定向输出 > 将命令行的正常执行输出保存到文件,而不是直接显示在屏幕上
                 >> 与>类似,但操作是追加而不是覆盖
      重定向错误           2>将命令行的执行错误信息保存到文件
                                2>> 与2>类似,但操作是追加而不是覆盖
混合重定向 &> 相当于>和2>,覆盖到同一个文件


GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐