首先,创建目录并生成一些权限设置为777的文件:
$mkdir example
$touch example/{ foo,bar,baz}
$for iin example/* ;dols/ bin>"${i} " ;done
$chmod777 example/*
你可能不觉得这样理解,但文件中存在的项目,叫做索引节点(俗称的inode),在一个文件系统 。您可以使用ls命令及其--inode选项查看文件占用的索引节点:
$ls--inode example/ foo
7476868 example/ foo
作为测试,将文件从示例目录移动到当前目录,然后查看文件的属性:
$ mv example/foo .
$ ls -l -G -g --inode
7476868 -rwxrwxrwx. 1 29545 Aug 2 07:28 foo
如您所见,原始文件及其现有权限已被“移动”,但其inode并未更改。
mv工具已编程为移动文件:保留inode不变(除非将文件移动到其他文件系统),并保留其所有权和权限。
其他工具提供不同的选项。

复制并删除

在某些系统上,移动动作是真正的移动动作:从文件系统中的一个点删除位,然后将其重新分配给另一点。这种行为在很大程度上已失宠。现在,移动动作要么是属性重新分配(索引节点现在指向文件组织中的其他位置),要么是复制动作与删除动作的组合。
这种设计的哲学目的是确保在移动失败的情况下,不要将文件分成碎片。
与mv不同,cp命令在文件系统中创建一个全新的数据对象。它具有新的inode位置,并且受您的活动umask约束。您可以使用cp和rm(如果有的话,则使用垃圾桶 )命令来模拟移动:
$cp example/ foo .
$ls-l-G-g--inode
7476869 -rwxrwxr-x.29545 Aug 211 :58 foo
$ trash example/ foo
此示例中的新foo文件获得775权限,因为该位置的umask专门排除了写入权限:
$ umask
有关umask的更多信息,请阅读Alex Juarez关于文件权限的文章。

猫和删除

与复制和删除类似,在创建“已移动”文件时,使用cat (或tac)命令分配不同的权限。假设在当前目录中没有foo的全新测试环境:
$ cat example/foo > foo
$ ls -l -G -g --inode
7476869 -rw-rw-r--. 29545 Aug 8 12:21 foo
$ trash example/foo
这次,创建了一个新文件,没有设置任何事先权限。结果完全取决于umask设置,该设置不会阻止用户和组的权限位(无论umask为何,都不会授予新文件可执行位),但会阻止其他用户的写位(值为2)。结果是具有664权限的文件。

同步

rsync命令是一个强大的多功能工具,可以在主机和文件系统位置之间发送文件。该命令有许多可用的选项,包括使其目的地成为其源镜像的功能。
您可以使用--remove-source-files选项以及选择执行同步的其他任何选项(通用的通用选项是--archive)使用rsync复制然后删除文件:
$ rsync--archive--remove-source-files example/ foo .
$ls example
bar baz
$ls-lGgi
7476870 -rwxrwxrwx.1 sethusers29545 Aug812 :23 foo
在这里,您可以看到保留了文件许可权和所有权,更新了时间戳记并删除了源文件。
提示:不要将此选项与--delete混淆,该选项将从目标目录中删除文件。误用--delete可以清除大部分数据,建议您在测试环境中避免使用此选项。
您可以覆盖其中一些默认值,更改权限和修改设置:
$ rsync--chmod =666--times \
--remove-source-files example/ foo .
$ls example
bar baz
$ls-lGgi
7476871 -rw-rw-r--.1 sethusers29545 Aug812 :55 foo
在此,将尊重目标的umask,因此--chmod = 666选项将生成具有664权限的文件。
但是,好处不只是权限。rsync命令具有许多有用的选项 (其中不少是--exclude标志,因此您可以从大型移动操作中排除项目),使其比简单的mv命令更强大。例如,在移动文件集合时排除所有备份文件:
$ rsync--chmod =666--times \
--exclude'*~' \
--remove-source-files example/ foo .

通过安装设置权限

install命令是专门针对开发人员的复制命令,通常在软件编译的安装例程中被调用。它在用户中并不为人所知(而且我经常想知道为什么它有这么直观的名称,而对于包管理器却只留下缩写词和宠物名),但是安装实际上是将文件放在所需位置的有用方法。
install命令有许多选项,包括--backup和--compare命令(以避免“更新”文件的较新副本)。
与cp和cat不同,但与mv完全一样,install命令可以在保留时间戳的同时复制文件:
$ install --preserve-timestamp example/foo .
$ ls -l -G -g --inode
7476869 -rwxr-xr-x. 1 29545 Aug 2 07:28 foo
$ trash example/foo
此处,文件已复制到新的inode,但其mtime不变。权限,但是,被设定为755的安装默认。
您可以使用install来设置文件的权限,所有者和组:
$ install --preserve-timestamp \
--owner=skenlon \
--group=dialout \
--mode=666 example/foo .
$ ls -li
7476869 -rw-rw-rw-. 1 skenlon dialout 29545 Aug 2 07:28 foo
$ trash example/foo

移动,复制和删除

文件包含数据,而真正重要的文件包含您的数据。学习明智地管理它们非常重要,现在您有了工具包,可以确保以所需的方式正确处理数据。
您是否有其他方法来管理数据?在评论中告诉我们您的想法。
翻译自:https://opensource.com/article/19/8/moving-files-linux-without-mv
linux mv移动文件夹
文件的权限有三种:读权限、写权限、执行权限 普通文件 ...读取文件 ...写入文件 ...执行文件 ...创建、移动、复制或删除目录条目 ...ls -l 查看目录中文件...没有权限 各种权限的数值 4 读权限 2 写权限 1 执...
文件的权限有三种:读权限、写权限、执行权限

普通文件
读读取文件
写写入文件
执行执行文件
目录
读读取目录
写创建、移动、复制或删除目录条目
执行搜索目录

ls -l 查看目录中文件的权限

r读权限
w写权限
-没有权限

各种权限的数值

4读权限
2写权限
1执行权限
0没有权限

各种权限

读写执行分量和
––有0+0+11
–有–0+2+02
–有有0+2+13
有––4+0+04
有–有4+0+15
有有–4+2+06
有有有4+2+17

改变文件权限
chmod mod file;
(1)通过代码方式,修改权限(方便)
644为文件权限代码
chmod 644 data;
(2)通过命令修改权限(麻烦,但容易理解)
u:user,代表用户权限; g:group,代表组权限; o:other,代表其他人;
+:代表赋予权限
-:代表去除权限
chmod u+rwx,g+rx,o+r data
root用户创建一个文件夹 默认权限 /oo下创建一个文件xx.txt...再linux系统中,若要对一个文件执行删除移动,需要有文件对应文件夹的权限 同样 也没有对文件复制和移动的权限 总结	读权限 对于文件夹 影响用户...
root用户创建一个文件夹 默认权限
/oo下创建一个文件xx.txt 将文件权限修改 chmod 777 xx.txt
切换用户至测试用户su test
1.编辑文件权限	有
2.查看文件权限	有
删除文件权限
没有删除文件权限
再linux系统中,若要对一个文件执行删除移动,需要有文件对应文件夹的权限
同样 也没有对文件复制和移动的权限
总结	读权限	对于文件夹 影响用户是否能够列出文件目录结构	对文件 读权限影响用户是否可以查看文件内容	写权限	对文件夹来说 写权限影响用户是否可以再文件夹下 创建/删除/复制/移动到	对文件来说 影响用户是否可以编辑文件内容
对文件来说没有文件没有读权限 就算有写权限也不能编辑
写入(w): 允许修改文件内容,允许在目录中新建、删除、移动文件或者子目录 可执行(x): 允许运行程序,切换目录 无权限(-):没有权限 权限介绍 d rwxr-xr-x . 2 root root 6 Jun 3 2019 Music 代表普通文件...