我知道如何在 Unix 中重命名文件:
$ mv ~/folder/subfolder/file.txt ~/folder/subfolder/file.sh
^-------this part------^ ^------this part-------^
Run Code Online (Sandbox Code Playgroud)
重复~/folder/subfolder/file
两次需要很长时间。
有没有更快的方法?
我了解什么是大括号扩展,但我不知道如何最好地使用它。
你什么时候使用它?
如果你有自己的小窍门,请教我一些方便和出色的例子。
在 bash shell 中,当我必须删除同一目录中的多个文件时,我目前需要执行以下操作:
rm /some/path/file1 /some/path/file2
有没有更短的方法来写这个,这样我就不必在/some/path/
不使用变量或更改工作目录的情况下重新输入?
也许类似于:
rm /some/path/(file1,file2)
我只是在输入以下内容:
mv foo/bar/poit/zoid/narf.txt
Run Code Online (Sandbox Code Playgroud)
突然意识到,该死的,我必须再次输入该参数的大部分内容
mv foo/bar/poit/zoid/narf.txt foo/bar/poit/zoid/troz.txt
Run Code Online (Sandbox Code Playgroud)
即使使用tabcompletion,也很痛苦。我知道我可以通过鼠标选择文本和中键来复制粘贴参数,但这还不够好。我想留在键盘上。
那么有没有办法使用键盘复制粘贴该行的当前参数?
我经常发现自己复制粘贴长路径以创建文件的副本
cp /path/to/file/file1 /path/to/file/file1.bkp
Run Code Online (Sandbox Code Playgroud)
是否有替代实用程序不需要我两次键入路径/到/文件?就像是 -
nameOfExecutible /path/to/file/file1 'bkp'
Run Code Online (Sandbox Code Playgroud)
注意:我不想做一个cd
tofile1
的父目录。
我经常需要对嵌套在当前工作目录下的几个目录的文件进行小的更改。由于它只是一个文件,并且通配/脚本编写会过大,因此我手动进行了更改。
例如,我需要将blaz.txt
./foo/bar/blee 中的文件重命名为foobar.txt
:
.
|--foo
|--bar
| blee
|-- blaz.txt
Run Code Online (Sandbox Code Playgroud)
通常,我通过对单个文件cd
进行访问blee
和运行mv blaz.txt foobar.txt
来做到这一点。我知道我可以输入完整路径(依靠一些方便的选项卡完成来加快速度),但我更喜欢更快的东西。
有一个更好的方法吗?
我不记得了,但有一个cp
或mv
命令我可以用它来做这样的事情:
cp file{.cpp, .cpp.org}
Run Code Online (Sandbox Code Playgroud)
这将复制file.cpp
并制作一个名为file.cpp.org
. 有什么建议?