liunx学习笔记之--认识与学习 BASH

本文详述了Bash Shell的功能,包括命令历史、补全、别名设定、工作控制、脚本编写及通配符使用。同时介绍了Bash的命令查看、变量功能、登录欢迎界面配置、初始化读取配置以及数据流重定向和管道命令的应用。通过实例解析了Bash在日常Linux管理中的重要性。
摘要由CSDN通过智能技术生成

度娘说:Bash(GNU Bourne-AgainShell)是许多Linux平台的内定Shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

也就是说,从linux系统的角度来刘,Bash是用户通过命令来管理操作系统的指令集合,是屏蔽内核实现细节而向用户提供管理系统的接口。

1        Bash shell的基本功能

1.1        命令编修能力(history):

通过【上、下】键可以翻看曾经执行过的指令;此项指令记录保存在~/.bash_history文件中,通过history命令可以进行管理查看。

1.2        命令与档案补全功能: ([tab] 按键的好处):

[tab]键可以在输入相关命令或者文档名的时候,自动进行补全或者快速查看:

1)  [Tab] 接在一串指令的第一个字的后面,则为命令补全;

2)  [Tab] 接在一串指令的第二个字以后时,则为『文档名补齐』!

比如说:我们想输入history命令,当我们输入到hist时不记得后面怎么拼,则可以hist[tab][tab],即输入两次[tab]键,系统则自动填充,如果此时有同样前缀的命令,则在屏幕列出。再者,如查我们输入cd  /ho[tab] [tab],系统则会自动补齐为:cd  /home/

1.3        命令别名设定功能: (alias):

命令别名,即指我们可以用简短的几个字符表一串我们常用的命令长串,比如我们用到的history命令,如果觉得太长,难记,则可以设成alias hy=’history’来进行设定,那么,我们在命令行输入hy即等于输入history命令了。

1.4        工作控制、前景背景控制: (job control, foreground,background):

即可以将当前正在进行的工作放置到背景执行,从而可以继续其他操作;

1.5        程序化脚本: (shell scripts)

以程序编写的方式进行指令集的编写。

1.6        通配符: (Wildcard):

此项功能有点类似于正则表达式,比如我们想查/home/目录下以a开头的文件夹,则可以输入命令:ls –l /home/a*,*代表0或多个字符。

2        Bash Shell的部分介绍

2.1        命令查看指令:type

用法是type 批令名

可以查看批令的来源是外部还是系统内建等其他信息。

2.2        指令下达

输入指令后按[Enter]键则可以执行并返回结果,如果指令较长,相换行输入则可以在行末输入”\[Enter]”,即可以继续输入指令。

2.3        Shell 的变量功能

1) 变量的设定:

用『等号(=)』连接变量与他的内容:如name=keyingbo

有些设定规则需要注意:

l  变量与变量以一个等号“=”来连接,且等号两端不能有空格;

l  变量名称只能是英文字母与数字但是开头字符不能是数字,如12name是非法的;

l  变量内容若有空格符可使用双引号或单引号将变量内容结合起来,但是双引号类的特殊字符如$等,可以保留原本特性;单引号类的特殊字符则仅为一般字符(纯文本);

l  可用转义字符“\”将特殊符号变成一般字符,如”\Enter”代表命令另起一行继续输入,而不是执行。

l  在遗传命令中,还需要通过其他的命令提供的信息,可以使用反单引号`命令`或“$(命令)”

l  若该变量为了增加变量内容时,则可使用“$变量名称”或${变量}累加内容,如”$name”” helloWorld”,$name会增加后面的”helloWorld”内容;

l  若该变量需要在其他子进程中执行,则需要以export来使变量变成环境变量;

l  取消变量的方法为使用“unset变量名称”;

2) 变量的显示与取用

l  变量的显示命令:echo,比如要显示变量name则可以输入echo $name或echo ${name};

l  变量的取用:像显示一样,只是不需要echo指令,直接$name 或者 ${name}即可取用已设定好的变量name;

3) 变量的范围

l  局部变量,即在打开的命令shell中定义却没有export的变量;只能用于打开的shell的范围,如果打开shell子程序,是不可能访问得到的;

l  全局变量,即在打开的命令shell中定义并且已经export的变量;env及export命令可以显示所有定义的全局变量(环境变量),常见的环境变量及功能:HOME(用户家目录)、SHELL(当前用户所用的shell)、HISTSIZE(历史命令记录的最大数)、MAIL(用mail命令而读取的档案资料)、PATH(执行文件的搜寻路径)、LANG(语系设定变量)

l  set命令:可以显示或设定全部的变量(包括局部及全局)。其他比较重要的系统变量:

PS1(命令提示符的设定):

\d :可显示出『星期月日』的日期格式,如:"Mon Feb 2"

\H :完整的主机名称。

\h :仅取主机名称在第一个小数点之前的名字,如主机则为『www』后面省略

\t :显示时间,为24 小时格式的『HH:MM:SS』

\T :显示时间,为12 小时格式的『HH:MM:SS』

\A :显示时间,为24 小时格式的『HH:MM』

\@ :显示时间,为12 小时格式的『am/pm』样式

\u :目前使用者的帐号名称,如『root』;

\v :BASH 的版本资讯;

\w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以~ 取代;

\W :利用basename 函数取得工作目录名称,所以仅会列出最后一个目录名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值