国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

在不使用mv命令的情况下移动文件

发布时间:2019/09/09标签:   文件    点击量:

原标题:在不使用mv命令的情况下移动文件
在不使用mv命令的情况下移动文件 偶然当你须要挪动一个文件时,mv 下令仿佛不是最好选项,那末你会怎样做呢?不起眼的 mv 下令是在你见过的每个 POSIX 体系中都能找到的有效东西之一。它的感化是明白界说的,而且做得很好:将文件从文件体系中的一个地位挪动到另一个地位。然而 Linux 十分机动,另有其余挪动文件的方法。应用差别的东西能够完善婚配一些特别用例,这算一个小上风。在阔别 mv 之前,先看看这个下令的默许成果。起首,创立一个名目并天生一些权限为 777 的文件:$ mkdir example$ touch example/{foo,bar,baz}$ for i in example/*; do ls /bin > "${i}"; done$ chmod 777 example/*你能够不会这么以为,然而文件在一个文件体系中作为条目存在,称为索引节点(平日称为 inode),你能够应用 ls 下令及其 --inode 选项检查一个文件占用的 inode:$ ls --inode example/foo7476868 example/foo作为测试,将文件从示例名目挪动到以后名目,而后检查文件的属性:$ mv example/foo .$ ls -l -G -g --inode7476868 -rwxrwxrwx. 1 29545 Aug 2 07:28 foo如你所见,原始文件及权限曾经被“挪动”,但它的 inode 没有变更。这就是 mv 东西用来挪动的方法:坚持 inode 稳定(除非文件被挪动到差别的文件体系),并保存其全部权和权限。其余东西供给了差别的选项。复制和删除在某些体系上,挪动操纵是真的在做挪动:比特从文件体系中的某个地位删除偏重新调配给另一个地位。这类行动在很大水平上曾经得宠。当初,挪动操纵要末是属性从新调配(inode 当初指向文件构造中的差别地位),要末是复制和删除操纵的组合。这类计划的哲学用意是确保在挪动失利时,文件不会碎片化。与 mv 差别,cp 下令会在文件体系中创立一个全新的数据工具,它有一个新的 inode 地位,并取决于 umask。你能够应用 cprm(假如有的话,或许 trash —— LCTT 译注:它是一个下令行接纳站东西)下令来模拟 mv 下令。$ cp example/foo .$ ls -l -G -g --inode7476869 -rwxrwxr-x. 29545 Aug 2 11:58 foo$ trash example/foo示例中的新 foo 文件取得了 755 权限,由于此处的 umask 明白消除了写入权限。$ umask

版权信息Copyright ? 银河官网 版权所有??? ICP备案编号:鲁ICP备09013610号