数据同步写入磁盘:sync
惯用的关机命令:shutdown
重新启动,关机:reboot, halt, poweroff
切换运行等级:init
-
run level 0:关机
-
run level 3:纯文本模式
-
run level 5:含有图形接口模式
-
run level 6:重新启动
/etc/shells
-
/bin/sh (已经被/bin/bash 所取代)
-
/bin/bash (就是Linux 默认的shell)
-
/bin/ksh (Kornshell 由AT&T Bell lab. 发展出来的,兼容于bash)
-
/bin/tcsh (整合C Shell ,提供更多的功能)
-
/bin/csh (已经被/bin/tcsh 所取代)
-
/bin/zsh (基于ksh 发展出来的,功能更强大的shell)
Bash shell 的功能:
命令编修能力(history):
命令与文件补全功能:([tab] 按键的好处)
命令别名配置功能:(alias)
工作控制、前景背景控制:(job control, foreground, background)
程序化脚本:(shell scripts)
通配符:(Wildcard)
Bash shell 的内建命令:type
命令的下达:
如果命令串太长的话,如何使用两行来输出?
[vbird@www ~]# cp /var/spool/mail/root /etc/crontab \
> /etc/fstab /root
变量的取用与配置:echo,变量配置守则,unset
环境变量的功能:用env 观察环境变量与常见环境变量说明,用set观察所有变量(含环境变量与自定义变量),export:自定义变量转成环境变量
影响显示结果的语系变量(locale):
变量键盘读取、数组与宣告:read, array, declare
与文件系统及程序的限制关系:ulimit
变量内容的删除、取代与替换:
变量配置方式 | 说明 |
${变量#关键词} | 若变量内容从头开始的数据符合『关键词』,则将符合的最短数据删除 |
${变量%关键词} | 若变量内容从尾向前的数据符合『关键词』,则将符合的最短数据删除 |
${变量/旧字符串/新字符串} | 若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』 |
变量的测试与内容替换:
变量配置方式 | str 没有配置 | str 为空字符串 | str 已配置非为空字符串 |
var=${str-expr} | var=expr | var= | var=$str |
var=${str:-expr} | var=expr | var=expr | var=$str |
var=${str+expr} | var= | var=expr | var=expr |
var=${str:+expr} | var= | var= | var=expr |
var=${str=expr} | str=expr | str 不变 | str 不变 |
var=${str:=expr} | str=expr | str=expr | str 不变 |
var=${str?expr} | expr 输出至stderr | var= | var=$str |
var=${str:?expr} | expr 输出至stderr | expr 输出至stderr |
命令别名配置:alias, unalias
历史命令:history
bash 的进站与欢迎信息:/etc/issue, /etc/motd
bash 的环境配置文件:
终端机的环境配置:stty, set
通配符与特殊符号:
符号 | 意义 |
* | 代表『0 个到无穷多个』任意字符 |
? | 代表『一定有一个』任意字符 |
[ ] | 同样代表『一定有一个在括号内』的字符(非任意字符)。例如[abcd] 代表『一定有一个字符,可能是 a, b, c, d 这四个任何一个』 |
[ - ] | 若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如[0-9] 代表0 到9 之间的所有数字,因为数字的语系编码是连续的! |
[^ ] | 若中括号内的第一个字符为指数符号(^) ,那表示『反向选择』,例如[^abc] 代表一定有一个字符,只要是非 a, b, c的其他字符就接受的意思。 |
符号 | 内容 |
# | 批注符号:这个最常被使用在script 当中,视为说明!在后的数据均不运行 |
\ | 跳脱符号:将『特殊字符或通配符』还原成一般字符 |
| | 管线(pipe):分隔两个管线命令的界定(后两节介绍); |
; | 连续命令下达分隔符:连续性命令的界定(注意!与管线命令并不相同) |
~ | 用户的家目录 |
$ | 取用变量前导符:亦即是变量之前需要加的变量取代值 |
& | 工作控制(job control):将命令变成背景下工作 |
! | 逻辑运算意义上的『非』not 的意思! |
/ | 目录符号:路径分隔的符号 |
>, >> | 数据流重导向:输出导向,分别是『取代』与『累加』 |
<, << | 数据流重导向:输入导向(这两个留待下节介绍) |
' ' | 单引号,不具有变量置换的功能 |
" " | 具有变量置换的功能! |
` ` | 两个『` 』中间为可以先运行的命令,亦可使用$( ) |
( ) | 在中间为子shell 的起始与结束 |
{ } | 在中间为命令区块的组合! |
-
1>:以覆盖的方法将『正确的数据』输出到指定的文件或装置上;
-
1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上;
-
2>:以覆盖的方法将『错误的数据』输出到指定的文件或装置上;
-
2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;
/dev/null 垃圾桶黑洞装置与特殊写法
standard input :< 与<<
命令运行的判断依据:; , &&, ||
命令下达情况 | 说明 |
cmd1 && cmd2 | 1. 若cmd1 运行完毕且正确运行($?=0),则开始运行cmd2。 |
cmd1 || cmd2 | 1. 若cmd1 运行完毕且正确运行($?=0),则cmd2 不运行。 |
撷取命令:cut, grep
排序命令:sort, wc(统计),uniq(仅列出一个显示)
双向重导向:tee
字符转换命令:tr, col, join, paste, expand
分割命令:split
关于减号– 的用途:[root@www ~]# tar -cvf - /home |tar -xvf -