bash这个shell(笔记)
来源:互联网 发布:震惊国外网络购物视频 编辑:程序博客网 时间:2024/05/18 01:45
Shell的功能只是提供用户操作系统的一个接口 ,因此这个shell需要调用其它软件才好,包括 man , chmod , chown , vi,fdisk , mkfs等命令,这些命令都是独立的应用程序,但可以通过shell(命令行模式)来操作这些应用程序,让这些应用程序调用内核来运行所需的工作;
也就是说,只要能够操作应用程序的接口都能称为shell;
狭义的shell
命令行方面的软件;
广义的shell
包括图形界面,因为图形界面也能操作各种应用程序来调用内核工作;
Linux使用的shell版本: Bourne AgainSHell (bash)是 Bourne Shell的增强版本;
Shell的历史:
第一个流行的shell是由Steven Bourne发展出来的,为了纪念他就称为 Bourne shell,简称sh
后来另一个广为流传的shell是柏克莱大学Bill Joy设计依附于BSD版的UNIX版中的shell,这个shell的语法类似于c语言,得名 cShell , 简称csh
/etc/shells文件下可查看可以使用的shell;系统某些服务在运行过程中会去检查用户能够使用的shells , 而这些shell的查询就借助于/etc/shells这个文件;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bash shall的功能:
Bash是 GNU计划中重要的工具软件之一,也是Linux distributions的标准shell;bash主要用于兼容sh,并且依据一些用户需求而加强的shell版本;
bash的主要优点:
1 . 命令记忆能力(histroy)
命令行中按上下键就可以找到前/后一个输入的命令;这些命令放在当前用户主文件夹内的 .bash_history中;需要注意,~/.bash_history记录的是上一次登录所执行过的命令,这一次登录所执行的命令暂存在内存中,当成功注销后,命令记忆才会记录到 .bash_history中;
2 . 命令与文件补全功能(【tab】按键的好处)
3 . 命令别名设置功能(alias)
如 alias lm = 'ls -al'设置命令别名
4 . 作业控制、前台、后台控制(job control , foreground , background)
使用前后台控制可以让作业进行的更为顺利;
作业控制用途更广,可以随时将工作丢到后台中执行,而不怕不小心使用了 Ctrl+c来中断进程;
此外也可以在单一登录的环境中达到多任务的目的;
5 .程序脚本 (shell script)
Shell script可以将平时管理系统常需要执行的连续命令写成一个文件,该文件并且可以通过交互方式来进行主机的检测工作;
6 .通配符(Wildcard)
除了完整的字符串外,bash还支持许多的通配符来帮助用户查询与命令执行,加快用户操作 eg :查看/usr/bin 下有多少以X开头的文件 ls -l /usr/bin/X*
Dos下需要程序语言才可以写东西,而在Linux下使用简单的shell scripts就可以完成;
Bashshell内置命令:type
利用该命令可以查看某个命令是来自外部命令(其它非bash所提供的命令)或是内置在bash中,详细用man命令查看;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Shell的变量功能:
变量在bash环境占据非常重要的地位!
变量的显示与设置:echo(变量名前要加字符$)、unset(取消设置)
环境变量的功能:
env (environment)查看环境变量
Home:用户主文件夹,cd ~和 cd 命令就是使用这个变量;
Shell:环境使用的shell是哪个程序;默认/bin/bash;
Histsize:历史记录条数;
Path:执行文件查找路径;
Lang:语系数据,中文通常为 zh_CN.gb2312或 zh_CN.UTF-8
Random
set 查看所有变量(环境变量和自定义变量)
PS1:提示符设置
$:本shel的PID(Process ID)
?:上个执行命令的回传码(如果命令成功地执行,则会回传一个0值;如果执行过程发生错误,会回传“错误代码”)
export 自定义变量转换成环境变量
用法:“export变量名”(如果后面没有接变量,功能与env差不多,会把所有环境变量显示出来)
环境变量和自定义变量的区别在于,能否被子进程继续引用;子进程仅会继承父进程的环境变量,而不会继承其自定义变量;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
bash的登录与欢迎信息:
/etc/issue:登录界面显示信息;
/etc/motd:登录后用户取得的信息;
\d:\l:\m:\n:\o:\r:\t:\s:\v
日期:终端机:硬件等级:主机名:域名:OS版本(uname -r):时间:OS名:OS版本
bash的环境配置文件:
login与no-login shell
loginshell:取得bash时需要完整的登录流程,就称为login shell;
non-loginshell:取得bash接口的方法不需要重复登录的举动;
两者取得bash的情况中,读取的配置文件数据并不一样;
login shell登录系统会读取两个配置文件:
1、整体环境配置文件:/etc/profile,系统整体的设置,最好不要修改(每个用户登录取得bash时一定会读取的配置文件,且会调用其他的配置文件);
2、个人偏好配置文件:
~/.bash_profile或
~/.bash_login或
~/.profile
属于用户个人设置(按顺序读取,如果有第一个文件存在则不会继续向下读取);
- bash这个shell(笔记)
- Linux学习笔记 认识bash这个shell
- 认识 BASH 这个 Shell
- 认识Bash 这个Shell
- 认识bash 这个Shell
- shell(bash)学习笔记
- Bash Shell笔记
- bash shell学习笔记
- bash shell 学习笔记
- bash shell笔记
- linux bash shell 笔记
- bash shell 临时笔记
- bash shell 学习笔记
- [Bash Shell] Shell学习笔记
- [Bash Shell] Shell学习笔记
- 第十一章 认识 BASH 这个 Shell
- Bash Shell学习笔记一
- Bash Shell学习笔记二
- BIM与三维GIS结合
- 开源实时日志分析ELK平台部署
- android 5.1老版本用R16跑cts fail项解决方法
- NSDate和NSString转化
- python中的%s%是什么意思
- bash这个shell(笔记)
- Databus Clients
- oj Problem E: 链表的基本运算(线性表)
- 环信头像和昵称显示问题 (添加消息扩展)--本人已实现效果
- Android WebView 上传图片注意事项和完整代码参考
- 压缩与打包(笔记)
- 模板实参的转换
- RxJava系列—(一)RxJava基础
- Markdown入门指南