linux使用上一条命令路径
linux使用上一条命令路径详细介绍
在 Linux 中,若想快速引用上一条命令中使用的路径(通常指命令的最后一个参数),可以通过 Shell 历史扩展功能 实现。以下是常用方法:
方法 1:使用
!$ 引用上一条命令的最后一个参数
!$ 是 Bash/Zsh 等 Shell 中预定义的快捷键,代表上一条命令的最后一个参数(通常是文件或路径)。
示例:
假设上一条命令是进入某个目录:
bash
/usr/local/src
现在需要对该目录下的文件操作,无需手动输入路径,直接使用 !$:
bash
$
或复制该目录下的文件:
bash
file.txt $
方法 2:使用
!! 引用上一条完整命令,结合参数提取
若需获取上一条命令中的某个参数(如中间的路径),可以先用 !! 调出完整命令,再通过参数索引提取。
参数索引规则:
!$:最后一个参数(同方法 1)!^:第一个参数(命令本身除外,如cd /a/b中!^是/a/b)!n:第n个参数(n从 1 开始,如!2表示第二个参数)
示例:
上一条命令为:
bash
/data/backup.tar.gz /opt/backup
若需引用第二个参数(/opt/backup):
bash
方法 3:通过历史命令编号引用
- 先用
history命令查看历史记录,找到目标命令的编号(如n):bash - 用
!n:$引用第n条命令的最后一个参数:bash:$
方法 4:使用快捷键快速调用
- Ctrl + R:反向搜索历史命令,找到包含目标路径的命令后按回车执行。
- 方向键↑:调出上一条命令,手动选中路径部分复制粘贴(适合图形化终端)。
注意事项
- 上述方法适用于 Bash、Zsh、Ksh 等主流 Shell,Fish Shell 语法略有不同(如用
$last代替!$)。 - 若上一条命令没有参数(如
echo hello),!$会报错,需确保上一条命令包含路径或参数。
通过 !$ 或历史扩展功能,可以高效复用上一条命令中的路径,避免重复输入,提升操作效率。