问题: 当在cd进入下一级目录时,有时子目录的名字过于长,或者子目录多个名字相似;
- 情景一:目录下的子目录只有一个
这个时候不需要输入目录名字,直接使用cd *
或 cd */
➜ daySeven mkdir test01
➜ daySeven cd *
➜ test01
➜ daySeven cd */
➜ test01
- 情景二:目录下的子目录记不住全称
使用tab键自动补全:输入f+tab
➜ daySeven mkdir fheivhve
➜ daySeven cd fheivhve
➜ fheivhve
tab会列举所有以t开头的文件
➜ daySeven ls
test01 test02 test03
➜ daySeven cd test0
test01/ test02/ test03/
- 情景三:目录下的子目录名称相似
使用*
匹配
➜ daySeven ls
test01 test02 test03
➜ daySeven cd t*1
➜ test01
- 情景四:直接创建并进入文件
两步合并:mkdir [folder] && cd [folder]
➜ daySeven mkdir tmp && cd tmp
➜ tmp
高级写法:mkdir [folder] && cd $_
➜ tmp mkdir tmp1 && cd $_
➜ tmp1
- 情景五:cd的其他用法
使用cd $(ls -d */|head -n 1)
进入目录,ls -d */
列出目录,head -n 1
并给出此列表中的第一个目录。
➜ daySeven ls
test01 test02 test03
➜ daySeven cd $(ls -d */|head -n 1)
➜ test01
使用cd -
切换到上次的目录
➜ test01 cd
➜ ~ cd -
~/go/src/code.byted.org/test/daySeven/test01
➜ test01
使用cd !$
把上个命令的参数作为cd参数使用
➜ daySeven cd test0
cd: no such file or directory: test0
➜ daySeven cd !$
➜ daySeven cd test0
参考资料:
/a/1190000016748222
/linux/
/ubuntu/454688/how-do-you-cd-into-the-first-available-folder-without-typing-out-the-name