Shell 小技巧一则

标签: Cli Tips | 发表时间:2011-05-25 16:49 | 作者:vern Hinc
出处:http://linuxtoy.org

经常与 Shell 为伍的你是不是也会经常碰到下面这些情境:

1$ mv /somewhere/file /your/folder/
2$ vi /your/folder/file
要保存某些文件到特定目录,然后开始查看/编辑
1$ cp /somewhere/foo.c /somewhere/foo.c.orig
2$ vi /somewhere/foo.c
或者先备份某个文件,然后开始捣鼓
1$ tar zcvf archives.tgz /somewhere/folder /and/somewhere/file1 /and/somewhere/file2
2$ scp archives.tgz someone@somewhere.org:~/blabla/
或者要打包某些目录/文件,然后上传什么的。在上面这些情境中,当你输入第二条命令时,可以试试像这样:
1$ mv /somewhere/file /your/folder/
2$ vi Alt-.file
按住 Alt 再按点,你会发现上一条命令的最后一个参数已经被自动输入了,继续输入 file 回拆。
1$ cp /somewhere/foo.c /somewhere/foo.c.orig
2$ vi Alt-1+Alt-.
先按 Alt 再按数字键 1,保持 Alt 键不松,再按点,帮助你补全上一个命令的第一个参数。
1$ tar zcvf archives.tgz /somewhere/folder /and/somewhere/file1 /and/somewhere/file2
2$ scp Alt-2+Alt-. someone@somewhere.org:~/blabla/
先按 Alt 再按数字键 2,保持 Alt 键不松,再按点,自动补全上一个命令的第二个参数。

用 zsh 的同学要设置一下,5 个应该足够了。

bindkey "^[1"  digit-argument
bindkey "^[2"  digit-argument
bindkey "^[3"  digit-argument
bindkey "^[4"  digit-argument
bindkey "^[5"  digit-argument
bindkey "^[-"  neg-argument
这些个数字参数在使用时,bash 是从左往右正数的,zsh 是从后往前逆数的。即
$ touch 1a 2b 3c 4d 5e
bash 的 Alt-1 是 1a,Alt-2 是 2b。zsh 的 Alt-1 是 5e,Alt-2 是 4d,Alt--1 (Alt-负1) 是 1a,Alt--2 (Alt-负2) 是 2b。

分类: Cli, Tips | 永久链接 | 收藏到 del.icio.us | Email 给好友 | 34 评论 | 捐助本站

相关 [shell 技巧] 推荐:

Shell 小技巧一则

- Hinc - LinuxTOY
经常与 Shell 为伍的你是不是也会经常碰到下面这些情境: 1$ mv /somewhere/file /your/folder/ 2$ vi /your/folder/file. 要保存某些文件到特定目录,然后开始查看/编辑 1$ cp /somewhere/foo.c /somewhere/foo.c.orig 2$ vi /somewhere/foo.c.

Linux shell用法和技巧

- - 外刊IT评论
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧. 当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务. 于是,我开始在一个文本文件里记录这些用法,并放在我的Dropbox里,现在,向大家分享这个文件. 需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件.

Linux shell 用法和技巧

- - Linux - 操作系统 - ITeye博客
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧. 当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务. 于 是,我开始在一个文本文件里记录这些用法,并放在我的Dropbox里,现在,向大家分享这个文件. 需要注意一点的是,有些用法 需要在你的Linux系统里安装额外的软件.

Shell编程

- - 博客园_首页
本来打算寒假回家好好学习Linux的,为以后学习嵌入式打好基础的. 回家之后的学习效率非常低,之前为了搭建Linux环境,折腾了很长时间,学到现在也就勉强才把Shell编程学完了. 今天就把自己学习的相关知识点总结整理一下. 个人感觉shell程序跟windows下的批处理文件有点像,就是将一些系统命令写进一个可执行文件中,然后执行.

shell 学习笔记

- tiger - 游戏人生
将脚本目录加到 PATH 中. 在 dash 中如何进行字符串替换. 将 rst 格式文档转换为 blog 可用的 html 代码. shell 脚本虽然不是非常复杂的程序, 但对于首次接触的我来讲, 多少还是有些忌惮. 不过, 接触任何新事物都需要勇敢面对, 逐步树立信心. 我是冲着把脚本写好去的, 所以, 我的目标是能够写出友好, 健壮, 优美的脚本..

GNOME Shell 3.2 预览

- timebug - LinuxTOY
近日 Allan 在他的博客上分享了最近在 GNOME Shell 3.2 上的开发进度. 整合聊天和消息程序(由 Guillaume Desmottes 开发). 登陆系统时自动登陆聊天服务,不再需要额外启动聊天程序. 直接在 Shell 即可语音通话,回复聊天邀请,文件传输. 通知计数器(由 Guillaume Desmottes 开发).

Ubuntu11.10 GNOME Shell指南

- 个人 - 译言-每日精品译文推荐
Ubuntu 11.10终于提供了一种安全方便的方式去安装和使用“GNOME Shell”——GNOME的新桌面交互接口. 这意味着不像之前的版本那样,现在它不需要任何额外的插件,或者执行任何可疑的脚本它可以从Ubuntu软件中心直接安装,只需一次简单的点击. 为了在ubuntu上获得更好的体验我们需要安装一些额外的插件.

ibus的GNOME Shell扩展

- 小汐 - 画猫不成反类虎
更新代码,支持横排模式(设置后需要重启gnome shell). 这个扩展使用了ibus的一些新API,该API还没有发布,需要自行编译ibus的git仓库代码. 以前说过GNOME3的一个缺点,在通知栏聊天时,无法看到ibus的候选词界面,确切地说是候选词界面被通知栏聊天界面挡住了. 这是GNOME Shell的架构所决定的,目前没有方法可以绕过(除非修改GNOME Shell)本身.

移植Google Calendar到 GNOME Shell

- 欧剃 - 笨兔兔
GNOME Shell Google Calendar 将Google 日历移植到了GNOME Shell上. python脚本可保存密码,自动获取新的谷歌日历事件. 但目前没有图形化的配置界面,导入日历. GNOME 3.2(+3.1.90.x) 目前通过“Online accounts”已经移植了谷歌日历,但是只能在上述版本中实现.

Ubuntu 11.10 GNOME Shell 指南

- 雪冬 - 笨兔兔
注,本文由笔者翻译自 http://www.omgubuntu.co.uk/2011/10/gnome-shell-ubuntu-11-10-guide/. Ubuntu 11.10最终提供给喜欢猎奇的用户一个简单安全的方式来安装和尝试“GNOME Shell”——新的GNOME桌面接口. 这意味着不像之前的Ubuntu发行版,在Ubuntu中安装GNOME Shell不需要添加额外的软件源(PPA)或运行各种脚本:如今它可以在Ubuntu软件中心直接安装——只需要简单地点击一下鼠标即可完成.