查看“GNU目标目录”的源代码
←
GNU目标目录
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
cp、install、ln 和 mv 命令通常在最后一个操作数是目录或目录的符号链接时特殊处理它。例如,如果 dest 是一个目录,那么 'cp source dest' 等同于 'cp source dest/source'。有时这种行为并不是所想要的,所以这些命令支持以下选项,以提供更精细的控制: ==='-T'=== ==='--no-target-directory'=== 当最后一个操作数是目录或目录的符号链接时,不要特殊对待它。这可以避免在共享区域中运行的程序中出现竞争条件。例如,当命令 'mv /tmp/source /tmp/dest' 成功时,并不能保证 /tmp/source 被重命名为 /tmp/dest:如果某个其他进程创建了目录/tmp/dest,它可能被重命名为 /tmp/dest/source。然而,如果 mv -T /tmp/source /tmp/dest 成功,就可以确定 /tmp/source 已经被重命名为 /tmp/dest。 在相反的情况下,当希望将最后一个操作数视为目录并且在否则情况下进行诊断时,可以使用 --target-directory (-t) 选项。 ==='-t 目录'=== ==='--target-directory=目录'=== 使用目录作为每个目标文件名的目录组件。 大多数程序的接口都是在处理选项和有限(可能为零)数量的固定位置参数之后,剩余的参数列表要么期望为空,要么是一个条目列表(通常是文件),所有这些条目将完全相同地处理。xargs 程序设计成可与这种约定很好地配合使用。 mv 家族的命令不同寻常之处在于它们带有可变数量的参数,并在最后有一个特殊情况(即目标目录)。这使得执行某些操作变得复杂,例如“将所有文件从当前目录移动到../d/” ,因为 mv * ../d/ 可能会耗尽参数空间,而 ls | xargs ... 没有一种清洁的方式来为每个调用主题命令指定额外的最后一个参数。(可以通过运行一个 shell 命令来实现,但这需要比应有的更多的人力和脑力劳动。) --target-directory (-t) 选项允许 cp、install、ln 和 mv 程序方便地与 xargs 结合使用。例如,您可以将当前目录中的文件移动到一个兄弟目录 d,像这样: ls | xargs mv -t ../d -- 然而,这种方法无法移动文件名以 '.' 开头的文件。如果使用 GNU find 程序,则可以使用以下命令将这些文件一起移动: find . -mindepth 1 -maxdepth 1 \ | xargs mv -t ../d 但是,如果当前目录中没有文件,或者任何文件名包含空格或其他特殊字符,上述两种方法都会失败。下面的示例消除了这些限制,需要同时使用 GNU find 和 GNU xargs: find . -mindepth 1 -maxdepth 1 -print0 \ | xargs --null --no-run-if-empty \ mv -t ../d --target-directory (-t) 和 --no-target-directory (-T) 选项不能结合使用。
返回至“
GNU目标目录
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息