一、认识BASH
bash是GNU计划中的重要的工具软件之一 LInux发行版本的标准shell
bash兼容于sh
命令记忆功能,存放在家目录的.bash_history中(是个隐藏文件),只记录前一次登录以前执行过的指令,这一次登录执行的指令都暂存在内存中,成功注销系统后指令才会记录到.bash_history
别名设定功能
alias 查看当前所有的别名
alias lm='ls -al'设置别名
type 查询指令
是否为Bash shell内建指令
几个快捷键:
Ctrl + u 向前删除指令 Ctrl + k 向后删除指令
Ctrl + a 光标移动到整个指令最前 Ctrl+e最后
二、shell的变量功能
定义:以一组文字或符号等来取代一些设定或者是一串保留的数据
变量的取用:echo
echo ${PATH}或者 echo $PATH
在变量设定当中单双引号的用途的不同:
双引号仍然可以保有变量的内容但单引号内仅能是一般字符,而不会有特殊符号
反单引号(`)的意义:
`内的指令将会被先执行,而其执行出来的结果将作为外部的输入信息
可以通过设定变量来简化目录输入,用简单的单词代表很长的一段绝对地址
观察环境变量和常见环境变量说明:env
生成0-9的随机数
declare -i number=$RANDOM*10/32768 ; echo $number
观察所有变量(包括环境变量和自定义变量):set
修改命令提示字符:PS1='[\u@\h \W \A]$'
查看上个命令的返回值:echo $?
将自定义变量转换为环境变量:export
语系文件都放置在:/usr/lib/locale/
查看当前语系环境:locale
环境变量=全局变量 自定义变量=局部变量
变量键盘读取:read
-p 可以接提示字符 -t后面可以接等待的秒数
宣告变量的类型:declare
-a 将变量定义成数组类型 -I 定义成整数数字
-x 变成环境变量 -r 将变量设定成readonly,不可被修改也不能unset
文件系统及程序的限制关系:ulimit
变量内容的删除、取代与替换(Optional)
三、命令别名与历史命令
别名设定:alias
取消别名:unalias
历史命令:history
-数字 最近几条 -w 立即写入.bash_history
四、Bash Shell的操作环境
修改进站信息:vim /etc/issue
修改欢迎信息 vim /etc/motd
login shell和non-login shell
前者是通过终端进入,后者图形界面,读取的配置文件数据并不一样
通配符和特殊符号
五、数据流重定向
标准输出:指令执行所回传的正确信息
标准错误输出:指令执行失败后所回传的错误信息
重定向信息输入一个文件:
1、这个文件若不存在则系统自动创建
2、若存在,清空后再将系统写入
3、若以>输出到一个已存在的文件中,那个文件就会被覆盖掉
使用>>可以在已有的文件上叠加
垃圾桶黑桶装置:/dev/null可以吃掉任何导向这个装置的信息
不考虑指令相关性的连续指令下达使用’;‘
&&与||
六、管线命令(pipe)
使用’|‘这个界定符号
仅能处理经由前面一个指令传来的正确信息
每一个管线后面接的第一个数据必定是【指令】,且是能接受standard input的数据
管线命令仅会处理standard output,对于standard error output会忽略
使用2>&1就可以让>2 变成 >1
撷取命令:cut,grep
cut
cut -d '分割字符' -f fields 例:echo ${PATH} | cut -d ':' -f 3,5
cut -c 字符区间 例:last | cut -c 12-
cut是将一行信息当中取出我们想要的部分
grep则是分宜一行的信息如果有我们所需的就拿出来
grep
-a 将bin文件以text文件的方式搜寻数据
-c 计算寻找字符串的次数
-I 忽略大小写
-n 输出行号
-v 反向选择
排序命令:sort,wc,uniq
sort
例:cat /etc/passwd | sort -t ':' -k 3
以':'为分割第三个部分排序
last | cut -d ' ' -f1 | sort
输出数据仅取账号,并加以排序
uniq
-I 忽略大小写 -c计数
wc
-lwm 分别是行、字、字符 默认三个都输出
双向重定向:tee
tee [-a] file
-a 是以累加的方式
字符变换命令:tr、col、join、paste、expand
删除一端讯息当中的文字:tr
将[tab]按键取代为空格: col -x
两个文件当中,有相同数据的那一行将它们加在一起:join
将两行贴在一起,用[tab]间隔:paste
将tab键转换为空格:expand -t数字
分区命令:split
参数代换:xargs
xargs可以读入stdiin的数据,并以空格或断行字符作为分辨,将stdin的资料分隔成为arguments
列出/etc/passwd中前三个ID的信息