一、什么是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/ksh2.历史命令-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>,覆盖到同一个文件