我见过有人这样做:
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}
将单词传递给命令,依次替换a
、b
和c
(cp 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。