拜师鸟哥之linux学习体会(10)——认识与学习bash

在linux环境下,如果你不懂得bash,那么其他的东西也就不要学了。之前讲过linux的核心是内核,我们用户必须通过某个东西来与内核进行交互,这样才能操作linux。这个东西就是shell。shell其实就是个用户界面,这里我们主要介绍最常用的bash shell。他是linux预设的shell。

1.    首先介绍几个指令:

history:命令修改能力,可以列出使用过的指令,最多可达1000个。

tab键:命令与档案补全能力,之前有介绍过。

alias:命令别名设定功能,alias lm =‘ls -al’最常用

shell scripts:程序化脚本

wildcard:通配符,例如X*就表示以X开头的档案

type:类型指令,例如type name就会显示该name是外部指令还是bash内建的指令

echo:变量的取用,除了常用的echo $PATH,还有echo $HOME等

2.    变量也是一个很重要的内容,与c语言中变量的定义类似,在给变量赋值时等号两边不能直接接空格符,另外还有双引号和单引号的区别,举例来说:

var="lang is $LANG",则echo $var显示lang is en_US

var=‘lang is $LANG’,则echo $var显示lang is $LANG

3.    若要将变量在其他子程序中执行,就用export来使变量变成环境变量,即export PATH

如果要取消变量,就用unset,即unset myname

4.    env指令可以观察环境变量及其内容

5.    set指令可以观察所有变量,包括环境变量和自定义变量

6.    之前提到过history指令,下面举一个例子:

history 3就是列出最新的三个指令,可以看见是history,history和history3,前面的号码是编号,如果操作!1019就是执行history这条指令,!!就是执行上一条指令,即history 3,!al就会执行al开头的指令。

history -w就会将历史记录写入~/.bash_history中。

7.    好了下面正式介绍下bash。我们知道用户登陆linux时,有时会让你输密码和用户名,这种模式称为login shell,即获得bash需要完整的登陆流程,而不用输直接进入就是non_login shell咯。

其实login shell登录时会读取两个配置文件:

1)/etc/profile:这是系统整体的设定,最好不要修改

2)~/.bash_profile:属于用户的个人设定

8.    source指令读入环境配置文件,可以将配置文件的内容读到目前的shell环境中,用法为source filename

9.    之前讲过通配符,我觉得比较重要的有以下几个:1)ll -d /etc/cron*显示cron开头的文件2)ll -d /etc/?????显示?????的文件3)ll -d /etc/*[0-9]*显示含有数字的文件名4)ll -d /etc/[^a-z]*显示开头字母非小写字母的文件

10.  /dev/null是垃圾黑洞装置,如果想将一些无用的文件删除,只要将其放入/null中即可,而且是不可恢复的,例如find /home -name .bahsrc 2>/dev/null就是将bashrc删除

之前介绍过截取,就是|,例如ls -al /etc | less的意思就是先用ls显示输出后的内容,然后利用less功能来翻页处理。

时间: 2024-12-18 19:14:19

拜师鸟哥之linux学习体会(10)——认识与学习bash的相关文章

拜师鸟哥之linux学习体会(1)——计算器概论

之前一段时间看了鸟哥的linux私房菜,觉得写得很好,是一本很好的初识linux系统的书籍.接下来的每一天我都会对这本书的每一章的重点知识进行叙述,也算是对学习这本书的一个体会吧.今天讲一下概述部分,鉴于linux是一个操作系统,所以有必要先介绍下计算机方面的知识. 1.    计算机主要由以下几部分组成:输入单元.输出单元.CPU内部的控制单元.算术逻辑单元和主存储器.可以通过下图来描述. 主要介绍下CPU部分,CPU有两种类别:精简指令集RISC和复杂指令集CISC. 2.    本章的一个

拜师鸟哥之linux学习体会(2)——Linux是什么

鉴于明天是年三十,可能没空开电脑,所以趁着晚上(现在也是第二天了)写下对第二章linux是什么的体会.用过linux的人都知道它是一个操作系统,并且有逐步取代windows的趋势.那么linux到底是什么呢?这就不得不提一个人——托瓦兹(脱袜子),linux的核心原型就是由他在1991年提出来的.具体的历史就不在这里讲了. 1.    linux其实就是一个操作系统最底层的核心及其提供的核心工具.目前市场上有很多版本的linux distribution,都可以从网络上下载得到.例如red ha

拜师鸟哥之linux学习体会(8)——档案与文件系统的压缩与打包

1.    对文件的另一个操作是压缩文件.压缩文件算是linux与windows少有的相似之处.一般常用的压缩文件的扩展名大多是.tar(tar程序打包的数据),.tar.gz(tar程序打包的数据,经过gzip压缩),.tgz,.gz(gzip压缩的文件),.Z(compress程序压缩的文件),.bz2(bzip2压缩的文件).其中gzip与bzip2最常用,而compress已经过时了.另外单纯的tar功能仅仅是打包而已,也就是将很多档案集结为一个档案,事实上他并没有压缩的功能. 2.  

拜师鸟哥之linux学习体会(9)——vim程序编辑器

1.    在linux下也是可以编程的哦,采用的是vim程序编辑器,如果你学会使用vim并能看懂一个vim程序,那就很了不得了.在介绍vim之前,我们先学习下他的前身vi.vi具有三种模式:一般模式.编辑模式和指令列命令模式.三者之间是这样转换的: 2.    一般打开一个vim程序就进入一般模式,之后输入o,O,a,A,i,I,r,R中的任何一个就进入编辑模式,之后左下方会出现INSERT或REPLACE.若要回到一般模式,就必须按下Esc来退出编辑模式.在一般模式下,输入:/?中的任意一个

拜师鸟哥之linux学习体会(5)——linux的档案权限与目录设置

上文曾经提到,linux的一个最大的特点是允许多人多任务,但是万一一个用户也能访问另一个用户的文件,不就存在安全隐患吗?鉴于此,为了让各个使用者具有较保密的档案数据,linux对档案的权限管理进行了处理,将档案可存取的身份分为owner/group/others,而三种身份各有read/write/execute三种权限. 1.    owner很好理解,就是档案所有者.这个档案是你生成的,那你就是owner. group从整体的角度,例如你是3班的,这样三班的其他学生就是和你属于3班这个组,他

拜师鸟哥之linux学习体会(3)——主机规划与磁盘分区

反正现在也睡不着,比赛还有一段时间才开始,那就熬夜再写点心得体会吧,主要针对第三章主机规划与磁盘分区. 一开始我也不太清楚,linux的操作不是只需要掌握一些重要的指令就行了吗?但是后来在项目中要移植一个linux系统到arm芯片上,才知道必须要掌握整个linux系统,就像我们需要掌握windows系统后才能对其进行操作. 1.    linux中所有的信息.数据等都是以文件的形式记录下来的,更加通俗的说,每个装置都被当成一个档案来进行访问,例如IDE接口的硬盘文件名是/dev/hda等.数据的

拜师鸟哥之linux学习体会(4)——首次登录与在线求助man page

这一节开始正式介绍一些linux 的相关指令,并介绍下图形界面与文字界面的区别. 1.    linux预设了6个terminal来让登入者登录,切换的方式是ctrl+alt+F1~F6,此外F7则进入图形界面,也就是我们一般安装Ubuntu或Centos会进入的界面.后面会详细介绍这几种terminal,总的可以分成图形界面和非图形界面,若想从非图形界面进入图形界面,可以在终端输入startx指令,即可. 2.    若要注销系统,指令为exit. 3.    在一行中输入指令如果太长的话,可

拜师鸟哥之linux学习体会(13)——linux账号管理与ACL权限设定

1.    这一章主要介绍linux的相关用户账号管理.每个登陆者至少都会取得两个ID,一个是使用者ID(User ID,UID),一个是群组ID(group ID,GID). 2.    当你输入账号和密码时,系统帮你做了什么呢? 1)先找寻/etc/passd里面是否有你的输入账号,若没有就跳出,如有则将该账号对应的UID和GID读出来,另外该账号家目录与shell设定也一并读出 2)核对密码表.这时Linux会进入/etc/shadow里面找出对应的账号与UID,然后核对一下你刚输入的密码

拜师鸟哥之linux学习体会(7)——linux磁盘与文件系统管理

1.    磁盘在linux系统中是占很重要的地位.系统管理员很重要的任务之一就是管理好自己的文件系统.首先介绍下磁盘的一些基本概念: 1)扇区为最小的物理存储单元,每个扇区为512字节 2)将扇区组成一个圆,就是磁柱,磁柱是分隔槽的最小单位 3)第一个扇区最重要,里面有主要开机区MBR和分割表,其中MBR占446字节,而分割表占64字节. 2.    磁盘分区后还要进行格式化,之后操作系统才能使用这个分隔槽,为什么要进行格式化呢?这是因为每种操作系统所设定的文件属性/权限并不相同,为了存放这些