
本文内容精简、整理、摘抄、有感于《鸟哥的Linux私房菜 - 基础篇第四版》第十章 • 认识与学习BASH。
history。用户bash指令使用记录文件:~/.bash_historytabalias快捷键 | 说明 |
|---|---|
backspace | 向前删除指令 |
ctrl + u | 向前删除全部指令 |
del | 向后删除指令 |
ctrl + k | 向后删除全部指令 |
ctrl + a 或 home | 移动到指令串最前面 |
ctrl + e 或 end | 移动到指令串最末尾 |
a=b(不能以数字开头,等号两边不能有空格),那么可以使用echo指令取出值b:echo $a,这种设定仅对本次登录有效;$HOME、$PATH等,可用env、set或export命令查找已定义的变量;echo $$ echo $?(正常回传为0)unset a;命令 | 说明 |
|---|---|
alias | 设定别名 |
unalias | 取消设定别名 |
history | 查看历史命令。!number,执行第n个指令;!command,往前模糊搜索匹配的指令并执行;!!,执行上一个指令,相当于↑ + Enter |
ctrl + u | 提示符命令输入下可快速删除整行 |
ctrl + s | 暂停屏幕的输出 |
ctrl + q | 恢复屏幕的输出 |
bash特殊符号 | 说明 |
|---|---|
# | 批注符号:注释 |
\ | 跳脱符号:将特殊字符或通配符还原成一般字符 |
| | 管线:连接两个管线命令 |
; | 分隔多个连续性命令 |
~ | 当前用户的家目录 |
$ | 取用变量前导符 |
& | 工作控制:将指令设为后台工作 |
/ | 目录间的分隔符 |
! | 逻辑运算符:非,not |
>, >> | 数据流输出重导向,前者是覆盖追加,后者是累记追加 |
<, << | 数据流输入重导向 |
'xxx' | 单引号确保了当前引用的肯定为字符串 |
"xxx" | 双引号仍具有变量置换功能(如$可保留相关变量引用) |
`xxx` | 可执行的指令,亦可使用$() |
() | 中间为子shell的起始和结束 |
{} | 中间为命令区块的结合 |
cmd1 && cmd2 | cmd2仅在cmd1正确执行的情况下执行 |
cmd1 || cmd2 | cmd2仅在cmd1执行错误的情况下执行 |
< 或 <<> 或 >>2> 或 2>>/dev/nullcut [-dfc],将输入讯息的某一段切出来 (不适合处理多空格或无规则的数据)
d后接指定分隔符,与-f一起使用f分段后,这个代表第几段(以1开始,同时取出多段以,分隔),echo $PATH | cut -d ":" -f 4,5,6 c以字符为单位取出行的固定字符区间,后接区间范围,如10-表示取出第10个字符到最后,export | cut -c 12- grep [-acinv] [--color=auto] '搜寻字符串' filename
a将binary文件转成text文件后再搜索c计算出现次数i忽略大小写n输出行号v反向选择未搜索匹配到的sort [-fbMnrtuk] [file or stdin]
f忽略大小写b忽略前面的空格M按月份排序n按数字排序r反向排序u去重,相同数据仅出现一行t指定分隔符k按指定区间排序,cat /etc/passwd | sort -t ':' -k 3 wc [-lwm],数据统计
l统计行w统计英文单字m统计字符uniq [-c],去重,c代表统计次数tee [-a] file,用于同时将数据流分送到文件和屏幕,而类似>和>>只能输送到文件,-a参数代表追加tr [-ds],用于将删除或替换某一讯息中的文字
d后接某一字符用于删除s后接被替换的字符和待取代的字符col [-xb],将tab键转换成对等的空格键join -[til2] file1 file2,处理两个文字的数据paste [-d] file1 file2,以tab键分隔将两文件的对应每一行合并成一行,-d参数可以指定分隔符expand [-t] file,将空格键转换成对等的tab键,-t参数可以指定一个tab键代表多少个字符split -[bl] file [PREFIX],-b参数后接分区文件大小,可指定b,k,m,g等;-l参数为以行数进行分区;PREFIX指定分区文件名前缀xargs -[0epn] command,产生某个指令的参数减号-可用于连接一些特殊的stdin和stdout,像这个文件压缩和解压缩的示例:tar -cvf - /home | tar -xvf - -C /tmp/home。前面的-用于将stdout传到后面,而后面那个-则用于接收stdout,这样就可以免去要生成file的流程
