1.变量的取用与设定

●变量的取用:echo

●变量的设定规则

变量与变量内容以一个等号『=』来连结。

等号两边不能直接接空格符。

变量名称只能是英文字母和数字,但是开头字符不能是数字。

变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来。

2.环境变量的功能

●用env观察环境变量与常见环境变量说明。

●用set观察所有变量。

3.提示符的设定

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

● \H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』。

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

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

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

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

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

● \u :目前使用者的账号名称,如『root』。

● \v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅显示『3.2』。

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

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

● \# :下达的第几个指令。

● \$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 。

finlay@finlay-Lenovo-G470:~$ PS1='[\u\t\w\#]\$'
[finlay09:13:39~8]$pwd
/home/finlay
[finlay09:13:42~9]$who
finlay tty7 2013-07-13 09:06 (:0)
finlay pts/0 2013-07-13 09:12 (:0)
[finlay09:13:45~10]$cd

5.?(上一个指令的回传值)


6.export: 自定义发量转成环境发量


7.影响显示结果的语系变量 (locale)


8.变量键盘读取、数组与宣告: read, array, declare

●read

●declare / typeset

●array

finlay@finlay-Lenovo-G470:~$ var[1]="mornimg"
finlay@finlay-Lenovo-G470:~$ var[2]="afternoon"
finlay@finlay-Lenovo-G470:~$ var[3]="evening"
finlay@finlay-Lenovo-G470:~$ echo "${var[1]} : ${var[2]} : ${var[3]}"
mornimg : afternoon : evening

9.文件系统及程序的限制: ulimit


10.命令别名设定: alias, unalias


11.历史命令:history


12.bash 的进站欢迎讯息: /etc/issue, /etc/motd

除了 /etc/issue 之外还有 /etc/issue.net,这个是提供给 telnet 这个远程登录程序用的。 当我们使用 telnet 连接到主机时,主机的登入画面就会显示 /etc/issue.net 而丌是/etc/issue 呢!

至于如果想要让使用者登入后取得一些讯息,那么可以将讯息加入/etc/motd 里面去。

13.bash 的环境配置文件

●login 与 non-login shell

login shell:取得 bash 时需要完整的登入流程的,就称为 login shell。non-login shell:取得 bash 接口的方法不需要重复登入的举动。两个shell的配置文件数据不一样。

14.终端机的环境设定:stty,set


15.通配符与特殊符号

* 代表『 0 个到无穷多个』任意字符。
代表『 一定有一个』任意字符。
[ ] 同样代表『一定有一个在括号内』的字符(非任意字符)。
[ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』。
[^ ] 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』。

16.数据流重导向

●1> :以覆盖的方法将『正确的数据』输出到指定的档案或装置上。

●1>>:以累加癿方法将『正确癿数据』输出到指定的档案或装置上。

●2> :以覆盖癿方法将『错诨癿数据』输出到指定的档案或装置上。

●2>>:以累加癿方法将『错诨癿数据』输出到指定的档案或装置上。

●/dev/null 垃圾桶黑洞装置与特殊写法

[dmtsai@www ~]$ find /home -name .bashrc 2> /dev/null
/home/dmtsai/.bashrc <==只有 stdout 会显示到屏幕上, stderr 被丢弃了

●standard input : < 与 <<

finlay@finlay-Lenovo-G470:~$ touch dss
finlay@finlay-Lenovo-G470:~$ ll > ds
finlay@finlay-Lenovo-G470:~$ cat > ds < dss finlay@finlay-Lenovo-G470:~$ cat < ds <<"eof"
> I
> love
> you
> eof
I
love
you

17.命令执行的判断依据: ; , &&, ||

18.管线命令:pipe

●cut

●grep

●sort:排序

●uniq:将排序重复的删除

●wc:得到档案字数

●tee:双向重导向

[root@www ~]# last | tee last.list | cut -d " " -f1
# 这个范例可以我们将 last 的输出存一份刡 last.list 档案中
[root@www ~]# ls -l /home | tee ~/homefile | more
# 这个范例则是将 ls 的数据存一份到 ~/homefile,同时屏幕也有输出讯息

19.字符转换命令: tr, col, join, paste, expand

●tr:删除替换信息

●col:替换信息

●join

●paste:直接粘在一起,用tab隔开

●expand:将tab键转换位空格

20.分割命令:split

finlay@finlay-Lenovo-G470:~$ split -b 5k ds
finlay@finlay-Lenovo-G470:~$ cat xa*>>dss

21.参数代换: xargs

       就是在产生某个指令的参数的意思!xargs 可以读入 stdin 的数据,并且以空格符戒断行字符作为分辨,将 stdin 的资料分割成为 arguments

												

鸟哥Linux私房菜(基础篇)——第十一章:认识与学习Bash的更多相关文章

  1. 鸟哥linux私房菜基础篇

    1)注销:exit2)指令太长:命令太长的时候,可以使用反斜杠 (\) 来跳脱[Enter]符号,使挃令连续到下一行3)系统语言显示和设置命令:echo $LANG,显示当前系统语言:简体中文zh_C ...

  2. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

  3. 鸟哥Linux私房菜基础学习篇学习笔记2

    鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...

  4. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  5. 鸟哥Linux私房菜 基础学习篇读书笔记(10):Linux磁盘和文件系统管理(3)

    本文总结了Linux操作系统来管理我们的硬盘和文件系统需要使用命令.当我们在系统中增加一个硬盘驱动器.什么是我们需要去通过这个硬盘就可以真正使用步骤?下面步骤: (1)对磁盘进行分区,新建能够使用的分 ...

  6. 《鸟哥Linux私房菜基础学习篇》命令索引

    在学习的过程,由于很多命令平时都用不着,因此做这个索引方便需要时查找.这包括了前两部分.主要是按页码顺序. P118 date:显示日期与时间 cal:显示日历 bc:计算器 P121 [Tab]:命 ...

  7. 《鸟哥Linux私房菜》 全套视频和PDF资料—— 老段带你学鸟哥Linux视频课程

    <鸟哥的Linux私房菜-基础篇-服务器篇(第三版)>学习Linux极为经典的入门资料,但是还是很多同学难以坚持系统的看完整本书,最终以放弃而告终. 为了帮助大家更容易入门Linux,老段 ...

  8. 鸟哥Linux私房菜知识汇总8至9章

    一看最近<鸟哥Linux私房菜>. 这是一个基本的书,万丈高楼平地起,学. 这是我整理的一些知识点.尽管非常基础. 希望和大家共同交流. 第8章 Linux磁盘与文件系统管理 一.Linu ...

  9. 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)

    题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...

  10. 鸟哥linux私房菜第6章笔记

    鸟哥linux私房菜第6章笔记 文件权限 修改 chgrp [-R] groupname filename //修改文件所属组 chown [-R] ownername[:groupname] fil ...

随机推荐

  1. XSS编码问题的个人总结

    XSS也太太太难了,主要也是因为自己没花时间集中. 文章脉络:根据我粗浅的理解,从开始学习XSS到现在,从一开始的见框就插到现在去学构造.编码,首先需要的是能看懂一些payload,然后再去深入理解. ...

  2. 单芯片DP108USB声卡/音频解决方案完全替代CM108/CM108AH

    简介 DP108是一种高度集成的单芯片USB音频解决方案.所有重要的模拟模块嵌入DP108,包括双DAC和耳机放大器,ADC和麦克风助力器,锁相环,调节器,和USB收发器.许多功能与跳线或外部EEPR ...

  3. C++ namespace 命名空间

    namespace即"命名空间",也称"名称空间" 那么这个 "名称空间" 是干啥的呢? 我们都知道,C/C++中的作用域可以由一个符号 { ...

  4. MAC设置开机启动

    mac将使用launchctl做为开机启动工具,launchctl将根据plist文件的信息来启动任务.plist脚本一般存放在以下目录: l /Library/LaunchDaemons --> ...

  5. TP3快速入门

    一.查询 D方法实例化模型类的时候通常是实例化某个具体的模型类,如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高. $map = arr ...

  6. MySQL REPLACE INTO 的使用

    前段时间写游戏合服工具时出现过一个问题,源DB和目标DB角色表中主键全部都不相同,从源DB取出玩家数据再使用 replace into 写入目标DB中,结果总有几条数据插入时会导致目标DB中原有的角色 ...

  7. Python Requests-学习笔记(9)-错误与异常

    遇到网络问题(如:DNS查询失败.拒绝连接等)时,Requests会抛出一个ConnectionError 异常. 遇到罕见的无效HTTP响应时,Requests则会抛出一个 HTTPError 异常 ...

  8. 二、Python2.7的安装并与Python3.8共存

    一:Python解释器为什么要2个版本? 众所周知,Python2.7是一个过渡版本. 很多公司写的项目并不是基于最新的Python3写的,在之后进行一些项目更改的时候,Python3的语法有一些并不 ...

  9. Linux C++ 网络编程学习系列(1)——端口复用实现

    Linux C++ 网络编程学习系列(1)--端口复用实现 源码地址:https://github.com/whuwzp/linuxc/tree/master/portreuse 源码说明: serv ...

  10. Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统

    Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统 作者: 深蓝色右手  来源: 博客园  发布时间: 2011-04-19 11:18  阅读: 1282 次  推荐: 0 ...