(一)命令行扩展、被括起来的集合
命令行扩展:$( ) 或 ``
把一个命令的输出打印给另一个命令的参数
echo "This system's name is $(hostname)”
This system’s name is server1.example.com
echo “i amwhoami”
i am root
括号扩展:{}
打印重复字符串的简化形式
echo file{1,3,5}
file1 file3 file5
rm –f file{1,3,5}
echo{1…10}
echo{a..z}
echo{000..20..2}
注意:“ ”只能识别变量,不能识别命令;‘ ’不能识别变量也不能识别命令只能输出字符串。``既能识别变量,也能识别命令,当一个命令要调用另一个命令的输出信息时,要把被引用的命令放在反向单引号里面。
tab 键
命令补全
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令。
用户给定的字符串只有一条准一对应的命令,直接补全,否则,再次Tab会给出列表。路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
如果惟一:则直接补全
否则:再次Tab给出列表双击tab键及调用历史参数
command 2Tab所有子命令或文件补全
string2Tab 以string开头命令
/2Tab 显示所有根目录下一级目录,包括隐藏目录
./2Tab 当前目录下子目录,包括隐藏目录
* 2Tab 当前目录下子目录,不包括隐藏目录
~2Tab 所有用户列表
$2Tab 所有变量
@2Tab /etc/hosts记录(centos7不支持)
=2b 相当于ls-A(centos7不支持)
命令行历史
- 保存你输入的命令历史。可以用它来重复执行命令
- 登录shell时,会读取命令历史文件中记录下的命令~/.bashhistory
- 登录进shell后新执行的命令只会记录在缓存中;这些命令会在用户退出时”追加”至命令历史文件中
- 重复前一个命令,有4种方法
重复前一个命令使用上方向键,并回车执行
按!!并回车执行
输入!-1并回车执行
按Ctrl+P并回车执行 - !:0 执行前一条命令(去除参数)
- Ctrl+n 显示当前历史中的下一条命令,但不执行
- Ctrl+j 执行当前命令
- !n 执行history命令输出对应序号n的命令
- !-n 执行history历史中倒数第n个命令
- !string 重复前一个以 “string”开头的命令
- !?string 重复前一个包含string的命令
- !string:p 仅打印命令历史,而不执行
- !$:p 打印输出!$(上一条命令的最后一个参数)的内容
- !:p 打印输出!(上一条命令的所有参数)的内容
- ^string 删除上一条命令中的第一个string
- ^string1^string2 将上一条命令中的第一个string1替换为string2
- !:gs/string1/string2将上一条命令中所有的string1都替换为string2
- 使用up(向上)和down(向下)键来上下浏览从前输入的命令
- ctrl-r来在命令历史中搜索命令
- (reverse-i-search)
- Ctrl+g:从历史扌叟索模式退出
- 要重新调用前一个命令中最后一个参数
!$表示
Esc点击Esc键后松开,然后点击.键)
Alt+.(按住Alt键的同时点击.键) - command !^ 利用上一一个命令的第一个参数做cmd的参数
- command !$ 利用上一个命令的最后一个参数做cmd的参数
- command !* 利用上一个命令的全部参数做cmd的参数
- command !:n利用上一个命令的第n个参数做cmd的参数
- command !n:^调用第n条命令的第一个参数
- command !n:$调用第n条命令的最后一个参数
- command !n:m调用第n条命令的第m个参数
- command !n:*调用第n条命令的所有参数
- command !string:^ 从命令历史中扌叟索以string开头的命令,并获取它的第一个参数
- command !string:$从命令历史中搜索以string开头的命令并获取它的最后一个参数
- command !string:n从命令历史中搜索以string开头的命令,并获取它的第n个参数
- command !string:*从命令历史中搜索以string开头的命令,并获取它的所有参数
命令history
history [-c] [-d offset] [n]
history -anrw [filename]
history –ps arg [arg...]
-c.清空命令历史
-d offset:删除历史中指定的第offset个命令
n:显示最近的n条历史
-a:追加本次会话执行的命令历史列表至历史文件
-r读历史文件附加到历史列表
-w:保存历史列表到指定的历史文件
-n:读历史文件中未读过的行到历史列表
-p:展开历史参数成多行,但不存在历史列表中
-s:展开历史参数成一行,附加在历史列表后(二)获得帮助
获取帮助的能力决定了技术的能力!
多层次的帮助
whatis
command --help
man and info
/usr/share/doc/
Red Hat documentation
其它网站和s搜索whatis
显示命令的简短描述
使用数据库
刚安装后不可立即使用
makewhatis|mandb制作娄划居库
使用示例
whatis cal或man—f cal命令帮助
内部命令:help COMMAND
man bash
外部命令:
(1)CPMMAND –help
COMMAND -h
(2)使用手册(manual)
man COMMAND
(3)信息页
info COMMAND
(4)程序自身的帮助文档
README
INSTALL
ChangeLog
(5)程序官方文档
官方站点:Documentation
(6)发行版的官方文档
(7)Google