几个linux的命令技巧
在linux的命令行操作中,有很多非常有效的小技巧可以应用到日常的操作中,取得事半功倍的效果,下面就介绍几个小技巧。
引用
$ mv thisisareallylongfilename{,.txt}
这个命令将把“thisisareallylongfilename”这个文件改名成“thisisareallylongfilename.txt”,这样就可以不用把这个长文件名打两遍了,虽然在shell中有tab按键可以自
动填补文件名,这个小技巧看来不是很有用,但在shell脚本中还是非常有用的。
引用$ mv foo.{jpeg,jpg}
这个命令将把foo.jpeg改名为foo.jpg。
shell中的一些扩展字符也经常被忽视,比如需要输入上个命令的所有字符,就可以用!!来实现:
引用$ ~/foo.sh
-bash: /home/lveyo/foo.sh: Permission denied
$ sh !!
sh ~/foo.sh
还有其他的一些用法:
!* 将代替上一个命令的所有参数,(!! 是整条命令和所有参数)
!$ 上一条命令的最后一个参数
!:3 上一条命令的第3个参数
例如:
引用$ ls /tmp/somedir
ls: cannot access /tmp/somedir: No such file or directory
$ mkdir -p !*
mkdir -p /tmp/somedir
$ touch 1 2 3
$ cp !:2 /tmp/somedir
cp 2 /tmp/somedir
引用
$ mv thisisareallylongfilename{,.txt}
这个命令将把“thisisareallylongfilename”这个文件改名成“thisisareallylongfilename.txt”,这样就可以不用把这个长文件名打两遍了,虽然在shell中有tab按键可以自
动填补文件名,这个小技巧看来不是很有用,但在shell脚本中还是非常有用的。
引用$ mv foo.{jpeg,jpg}
这个命令将把foo.jpeg改名为foo.jpg。
shell中的一些扩展字符也经常被忽视,比如需要输入上个命令的所有字符,就可以用!!来实现:
引用$ ~/foo.sh
-bash: /home/lveyo/foo.sh: Permission denied
$ sh !!
sh ~/foo.sh
还有其他的一些用法:
!* 将代替上一个命令的所有参数,(!! 是整条命令和所有参数)
!$ 上一条命令的最后一个参数
!:3 上一条命令的第3个参数
例如:
引用$ ls /tmp/somedir
ls: cannot access /tmp/somedir: No such file or directory
$ mkdir -p !*
mkdir -p /tmp/somedir
$ touch 1 2 3
$ cp !:2 /tmp/somedir
cp 2 /tmp/somedir