问题描述
我最近遇到了一个困境,我在一个文件夹中,我想将 cd
复制到子目录文件夹中。里面只有一个文件夹,而且这个文件夹的名字还很长。
Home (I am here)
|
|
--> /reallylongnamefolder
有没有办法进入该文件夹而不是输入:
cd reallylongnamefolder
最佳答案
我建议要么输入前几个字母并按 tab
。 Bash 有自动完成功能,非常有用。如果当前路径中只有目录,只需按 tab
将填充整个目录。
输入 cd
并按 tab
两次将显示当前目录中的所有选项。
tab
通常在 bash 中非常有用,因为您可以通过一两次按键访问几乎所有可执行文件。
仅当目录位于列表中的第一个且未隐藏时,上述建议的 cd *
才有效。如果您的目录之前有按字母顺序排列的文件,则此 cd
根本不会更改您的目录。
次佳答案
cd $(ls -d */|head -n 1)
ls -d */
列出了目录,head -n 1
给出了该列表中的第一个目录。
第三种答案
我想我实际上已经弄清楚了
cd *
cd */
但如果是多个文件、一个文件夹我还没有测试过!
正如@Rinzwind 在评论中提到的!
假设您有三个长文件夹:
/thisislongfolder1
/thisislongfolder2
/thisislongfolder3
如果您键入文件的第一个字母,然后点击 tab
它将自动完成文件名!疯狂的事情!
因此,在上面的示例中,您可以输入:t
tab
,它会尽可能自动完成:cd thisislongfolder
(然后您自己输入数字)。
或者你可以执行 cd t*1
将带你进入 thisislongfolder1
谢谢林兹风!