小编Mat*_*hew的帖子

使组权限与用户权限相同

我想将某个父目录中所有文件和子目录的组权限设置为该特定文件或目录的用户权限设置。

例如,下面的所有内容 /path/to/parentdir

# Permissions before
# Path                      Permissions
/path/to/parentdir/file1    755
/path/to/parentdir/file2    644
/path/to/parentdir/file3    600

# Permissions after
/path/to/parentdir/file1    775
/path/to/parentdir/file2    664
/path/to/parentdir/file3    660
Run Code Online (Sandbox Code Playgroud)

我希望有一种简单的方法可以在一个命令中做到这一点。我可以想到使用带有一堆命令的脚本的方法,但感觉应该有一种非常直接的方法。

提前致谢!

permissions chmod

40
推荐指数
1
解决办法
8123
查看次数

如何通过 ssh 附加到远程机器的本地显示会话?

设想:

Linux mint 正在我家的一台机器上运行。我在上面打开了一些 gui 应用程序。

我不在家,但想获得开放的应用程序。我有 cygwin/x 并且我知道如何ssh -X homecomputer,我可以从那里运行 gui 应用程序,但我想访问本地显示器上已经打开的窗口。

有没有办法在不使用 VNC 之类的额外软件的情况下附加到 linux 上现有的 x 会话?

谢谢!

ssh x11 x-server remote-desktop

16
推荐指数
3
解决办法
2万
查看次数

find -exec 在带有变量扩展的 bash 脚本中

我正在尝试在 bash 脚本中运行类似于以下命令的命令。它应该搜索所有子文件夹$sourcedir并将特定类型的所有文件复制到$targetdir.

#!/bin/bash

# These are set as arguments to the script, not hard-coded
sourcedir="/path/to/sourcedir"
targetdir="/path/to/targetdir"

find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2/`basename "$1"`"' "{}" "$targetdir" \;
Run Code Online (Sandbox Code Playgroud)

这似乎非常接近,除了{}没有被传递$2到-exec sh -c ...

我想尽可能接近“正确的方式”,并容忍文件名中的特殊字符(特别是单引号字符)。

编辑:我看到有人建议使用xargs或参数链接。我的印象是这仅适用于有限数量的参数。例如,如果我有数以千计的 .jpg 文件,我试图从多个画廊目录复制到一个巨大的幻灯片目录中,那么链接参数的解决方案是否仍然有效?

编辑 2:我的问题是我_在-exec命令中的第一个选项 sh 之前缺少一个。对于任何对如何使 find 命令工作感到好奇的人,添加_,一切都会好起来的:

find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2"' _ "{}" …
Run Code Online (Sandbox Code Playgroud)

bash find shell-script posix

14
推荐指数
3
解决办法
3万
查看次数

标签 统计

bash ×1

chmod ×1

find ×1

permissions ×1

posix ×1

remote-desktop ×1

shell-script ×1

ssh ×1

x-server ×1

x11 ×1