bash 中的“cd !$”是什么意思,我还可以使用哪些类似的替代方案?

bash 中的“cd !$”是什么意思,我还可以使用哪些类似的替代方案?

我见过有人这样做:

cp . yy/
cd !$

最后一行翻译为:

cd yy/

所以我认为!$意思是“上一行的最后一个参数”。

我对吗?

还有其他类似这样的替代品吗?

在哪里可以找到它们的文档?

答案1

!$是最后一个单词最后一条命令。

更多的:

!!- 上一个命令
!foo- 运行以 开头的最新命令foo(例如!ps!mysqladmin
!foo:p- 打印!foo将运行的命令,并将其作为最新命令添加到命令历史记录中
!$- 上一个命令的最后一个“单词”(/path/to/file在命令中ls -lAFh /path/to/file-uroot在 中mysql -uroot
!$:p- 打印!$将替换的单词
!*- 上一个命令除第一个单词以外的所有单词(-lAFh /path/to/file在命令中ls -lAFh /path/to/file-uroot在 中mysql -uroot
!*:p- 打印 !* 将替换的单词

^foo^bar- 将foo最后一条命令替换为bar,打印结果,然后运行。(mysqladmni -uroot,运行^ni^in,结果为mysqladmin -uroot

{a,b,c}将单词传递给命令,依次替换abccp file{,.bk}运行cp file file.bk

Ctrl + a- 跳转到行首
Ctrl + b- 向后移动一个字符
Ctrl + c- 终止命令
Ctrl + d- 从光标下方删除
Ctrl + e- 跳转到行尾
Ctrl + f- 向前移动一个字符
Ctrl + k- 删除至 EOL
Ctrl + l- 清除屏幕
Ctrl + r- 向后搜索历史记录
Ctrl + R- 向后搜索多次出现的历史记录 - 将
Ctrl + t当前字符与前一个字符调换
Ctrl + u- 从光标处向后删除
Ctrl + w- 向后删除一个单词
Ctrl + xx- 在 EOL 和当前光标位置之间移动
Ctrl + x @- 显示可能的主机名补全
Ctrl + z- 暂停/停止命令
Ctrl + x; Ctrl + e- 在您喜欢的编辑器中编辑行

Alt + <- 移动到历史记录的第一行
Alt + >- 移动到历史记录的最后一行
Alt + ?- 显示当前完成列表
Alt + *- 插入所有可能的完成
Alt + /- 尝试完成文件名
Alt + .- 将最后一个参数复制到上一个命令
Alt + b- 向后移动
Alt + c- 将单词
Alt + d大写 - 删除单词
Alt + f- 向前移动
Alt + l- 使单词小写
Alt + n- 向前非增量搜索历史记录
Alt + p- 向后非增量搜索历史记录
Alt + r- 调用命令
Alt + t- 将当前单词与上一个单词调换
Alt + u- 使单词大写
Alt + back-space- 从光标向后删除

http://cheat.errtheblog.com/s/bash/

此外,这里还有很多好东西:http://www.gnu.org/software/bash/manual/bashref.html
和这里:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html

相关内容