我在shell上执行一些命令时遇到了一些麻烦。
我的问题是,我想更改目录更具体到我不知道但包含名为xxx文件的目录。 如何直接更改为包含该文件的目录? 如果我知道包含该文件的目录名称会更容易,因为我只需要使用cd〜/目录名称。 任何人都可以帮助我吗? 感谢更改目录
Q
更改目录
0
A
回答
1
如果你不知道一个文件,转到系统的根目录,找到它:
cd/
find . -iname filename
1
在多种Linux系统,你可以这样做:
$ cd `find . -name "filename" | xargs dirname`
但将“文件名”更改为您要查找的文件。
0
BASH
cd `find . -name "*filename*" | head -1`
这是一种以Qiau回答一个变化。找到包含字符串的第一个文件,然后将当前目录更改为其位置。
*是一个外卡,有可能是一些和/或之后文件名之前。
2
如果你有GNU find
:
cd "$(find /startdir -name 'filename' -printf %h -quit)"
你可以使用任何有效的目录替换 “/ STARTDIR”,例如/
,.
或`〜/。
如果你想cd
到一个目录这是包含可执行文件$PATH
:
cd "$(dirname "$(type -P "filename")")" # Bash
或
cd "$(f=$(type -P "ksh"); echo "${f%/*}")" # Bash
或
cd "$(dirname "$(which "filename")")"
相关问题
- 1. 更改目录
- 2. 更改目录
- 3. htaccess更改目录
- 4. GetOpenFileName更改目录
- 5. 更改监视目录和子目录
- 6. 批量更改目录到新目录
- 7. 更改缓存目录WebStorm
- 8. 更改UFT工作目录
- 9. 更改PHP备份目录
- 10. Python更改用户目录
- 11. 更改Pecl安装目录
- 12. 更改父shell的目录
- 13. 更改Drupal模块目录
- 14. HTACCESS - 更改目录结构
- 15. 更改R中的目录
- 16. 更改目录:在cmd/1
- 17. Apache2更改“根目录”
- 18. Unix脚本更改目录
- 19. Rails - 更改图像目录?
- 20. 更改保存目录
- 21. 在Python中更改目录
- 22. Laravel目录更改问题
- 23. 更改工作目录
- 24. 更改南迁移目录
- 25. 更改当前目录
- 26. 更改PHP临时目录
- 27. 更改监视器目录
- 28. AIX监视目录更改
- 29. Android - 更改目录权限
- 30. 更改JFileChooser的目录
什么操作系统?什么编程语言?你根本没有给我们任何背景。 – 2011-03-12 00:16:33