这个简短的教程描述了如何在类 Unix 操作系统中从命令行同时复制文件和更改所有权、权限。 通常,我们使用“cp”命令将文件从一个位置复制到另一个位置。 然后,我们使用“chmod”和“chown”命令分别更改文件的权限和所有权。 但是,我们可以将所有这些任务组合成一个 单行命令,并且仍然得到相同的结果,而不是运行三个连续的命令。 当您想要定期执行此操作或在脚本中执行此操作时,这会很有帮助。
复制文件并同时更改所有权、权限
看看以下 example.
要复制文件并更改权限和所有权,我们通常这样做:
$ cp /dir1/file1 /dir2
$ chmod 775 -R /dir2
$ chown -R newowner:newgroup /dir2/file1
但是,您不必为这个简单的任务使用三个命令。 我们可以用一个命令来做到这一点。 这就是 “安装” 命令派上用场。
我认为“安装”命令是为了安装东西。 但是我错了! “安装”命令用于将文件复制到您选择的目的地并设置属性。 它是预装在所有 Linux 发行版中的 GNU coreutils 的一部分。
现在,让我展示如何在复制过程中更改文件的权限和所有权。
$ sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2
上面的命令将复制文件 /dir1/file1 到 /目录2将文件的权限更改为 775所有者 sk和组 ostechnix.
让我们分解上面的命令,看看命令的每个部分是做什么的。
- -C, (–compare) :比较每一对源文件和目标文件,在某些情况下,根本不修改目标文件。
- -m, (–mode) :设置权限模式(如在 chmod 中)。
- -o, (–owner) :设置用户所有权。
- -g, (–group) :设置组所有权。
有关更多详细信息,请参阅手册页。
$ man install
推荐阅读:
- 复制文件或目录时如何保持所有权和文件权限完整
- ExplainShell – 查找 Linux 命令的每个部分的作用
就这样。 希望这可以帮助。
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!