括号扩展{ }:
{ }:表示平级关系,内可有多个内容,用分号隔开。
命令补全:
直接补全:用tab键。(用户给定的字符串自由一条唯一对应的命令,否则再次
tab键给出列表)
获取命令的使用帮助:
内部命令:#help COMMAND
外部命令:(1)#COMMAND --help
(2)使用手册 #man COMMAND
(3) 信息页 #info COMMAND
(4)程序自身的帮助文档 README INSTALL CHANGELOG
date 显示时间
date [OPTION]...[+FROMAT] FORMAT:格式
%F年月日 %T时分秒 %c 星期、日、月、年、时分秒 PM CST
%H %M %S时分秒 %Y %m %d年月日
查询命令所属章节:
1.用户命令章节,所有用户都可以用。
2.系统调用章节命令。
3.c库调用。
4.设备及特殊文件。
5.配置文件的格式相关参数。
6.游戏。
7.杂项。
8.管理命令。
9.Linux 内核 API。
#man * COMMAND (*表数字)第*章节下的命令手册。
#whatis COMMAND 显示那个章节有COMAND.
man打开手册后的操作:
空格:向尾部翻一屏。
b键:向首部翻一屏。
Ctrl+d:向尾部翻半屏。
Ctrl+u:向首部翻半屏。
回车:向尾部翻一行。
k:向首部翻一行。
G:跳转到最后一行。
*G:跳转到第*行(*表数字)。
命令历史:shell进程会在其会话中保存此前用户提交执行过的命令。
用法:history [-c][-d offset][n]
history -anrw [文件名]
history -ps 参数
-c:清空命令历史。
-d:删除历史中指定的命令。
*:显示最近的*条历史。
-a:追加本次会话新执行的命令历史列表至历史文件。
-n:读历史文件中未读过的行到历史列表。
-r:读历史文附加到历史列表。
-w:保存历史列表到指定的历史文件。
-p:展开历史参数成多行,但不保存在历史列表中。
-s:展开历史参数成一行,附加在历史列表中。
调用历史参数:
#CMD !^ :利用上一个命令的第一个参数做CMD的参数。
#CMD !$ :利用上一个命令的最后一个参数做CMD的参数。
#CMD !* :利用上一个命令的全部参数做CMD的参数。
#CMD !:n :利用上一个命令的第n个参数做CMD的参数。
!n:^ 调用第n条命令的第一个参数。
!n:$ 调用第n条命令的最后一个参数。
!m:n 调用第m条命令的第n个参数。
!n:* 调用第n条命令的所有参数。
!string:^ 从命令历史中搜索以string开头的命令,并获取它的第一个参数。
!string:$ 从命令历史中搜索以string开头的命令,并获取它的最后一个参数。
!string:n 从命令历史中搜索以string开头的命令,并获取它的第n个参数。
!string:* 从命令历史中搜索以string开头的命令,并获取它的所有参数。
环境变量:
HISISIZE:命令历史记录的条数。
HISTFILE:指定历史文件,默认为~/.bash_history
HISTFILESIZE:命令历史文件记录的条数
HISTTIMEFORMAT="%F %T "显示时间
HISTIGNORE="str1:str2:..." 忽略str1,str2历史
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;连续且相同为“重复”。
ignorespace:忽略所有以空白开头的命令。
ignoreboth:=以上两者之和
erasedups:删除重复的命令
export 变量名="值"
存放在 /etc/profile 或 ~/.bash_profile