shell:cd的使用技巧

时间:2025-02-15 10:02:56

问题: 当在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