假设我在/var/www/foo
,我想创建/tmp/foo
。有没有一种方法可以通过编程实现,并最终得到一个像mkdir /tmp/[insert something here]
这样的命令?Unix:创建一个与工作目录同名的目录
0
A
回答
3
mkdir /tmp/`basename $(pwd)`
(请注意,他们是反引号,不转发蜱。)
这工作,因为做反引号命令替换。它基本上在反引号中运行这些东西,并用命令运行标准替换它。在这种情况下,带有当前工作路径的basename
命令。而$(…)
与反引号完全相同。
basename
命令“从文件名剥离目录和后缀”。 (见http://unixhelp.ed.ac.uk/CGI/man-cgi?basename)
你也可以使用(如果你不想有反引号):
mkdir /tmp/$(basename $(pwd))
注意的是,如果路径到当前目录中包含空格或其他特殊字符,您需要将命令替换放在双引号中:
mkdir "/tmp/$(basename "$(pwd)")"
0
$PWD
始终包含当前目录的完整路径。因此${PWD##*/}
($PWD
除最后的/
以外的部分)是当前目录的名称。
mkdir "/tmp/${PWD##*/}"
你可以离开了双引号,如果你知道当前目录的名称不包含任何空格或任何字符*?\[
的。
在zsh的,有提取路径的最后一个组件的一个简单的方法:
mkdir -- /tmp/$PWD:t
相关问题
- 1. 在unix的工作目录中找到一个特定的目录
- 2. UNIX:在创建符号链接目录的目录,而不是
- 3. Unix:遍历一个目录
- 4. 创建一个目录
- 5. 在ruby不工作的目录内创建目录
- 6. 创建目录+子目录
- 7. 如何在当前工作目录中创建一个目录,使用Java
- 8. Unix基于文件名创建目录并将文件移动到目录
- 9. 获得目录名和UNIX
- 10. unix FTPS cURL目录创建失败
- 11. 如何为每个目录创建主组目录名称?
- 12. 重命名工作目录
- 13. Tomcat 7无法创建工作目录
- 14. Cordova文件创建目录不工作
- 15. 在Unix中的另一个目录中的某个目录中创建一个文本文件
- 16. 创建目录
- 17. 创建目录
- 18. 创建目录
- 19. 管理一个字符串以在unix中创建目录
- 20. 存在子目录的unix ls目录
- 21. 确定两个目录名是否指向同一目录
- 22. 工作目录 - R与RStudio
- 23. Python:对于工作目录中的每个目录进入该目录并获取目录的名称
- 24. 如何从Java的工作目录返回一个目录?
- 25. 创建apache的别名目录,但没有工作
- 26. Hadoop Distcp将目录内的目录复制到同名目录
- 27. “的Git目录”和“工作目录”
- 28. 构建多个源目录到相同的目标目录中
- 29. 的.htaccess - 创建一个语言目录
- 30. 创建一个好的目录结构
这工作!谢谢! – Nick