我有一个指向一个目录中文件的符号链接。我想在另一个目录中有相同的链接。如何复制符号链接?
我试图 cp 符号链接,但这会复制它指向的文件而不是符号链接本身。
在共享的 unix 主机上,如果我有一个文件sensitive-data.txt 并且我发出:
chmod 600 sensitive-data.txt
root 用户还能读取我的文件吗?具体来说,我想知道将我的密码存储在 mercurial hgrc 文件中是否安全。
更新
决定使用 mecurial 密钥环扩展,因为它非常容易设置:
pip install mercurial_keyring
Run Code Online (Sandbox Code Playgroud)
然后添加到 hgrc:
[extensions]
mercurial_keyring =
Run Code Online (Sandbox Code Playgroud)
但是,我仍然对这个问题的答案感兴趣。
有没有办法在find . -exec somecommand {} \;
不实际运行命令的情况下查看替换的结果?像试运行(或试运行或打印)?
例如,假设我有以下文件结构:
/a/1.txt
/a/2.txt
/a/b/3.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法find . type f -exec rm {} \;
从a
目录中进行测试,以便输出将打印到 stdout 但不执行,例如:
rm 1.txt
rm 2.txt
rm b/3.txt
Run Code Online (Sandbox Code Playgroud)
更新
说明:rm
只是一个示例命令,我对一般情况感兴趣
例如xyz
,如果我不带任何参数运行命令,我使用的程序会产生不良影响。所以我想防止自己不小心运行xyz
不带参数的命令,但允许它带参数运行。
我如何编写一个 shell 脚本,以便在xyz
不带参数的情况下调用时它会打印一条错误消息,否则将任何和所有参数传递给xyz
程序?
我有不同命名的文件,例如在不同的子目录中,例如:
a/apple.txt
b/orange.txt
c/pear.txt
Run Code Online (Sandbox Code Playgroud)
如何将它们复制到各自目录中具有统一名称 (fruit.txt),因此最终结果是:
a/apple.txt
a/fruit.txt
b/orange.txt
b/fruit.txt
c/pear.txt
c/fruit.txt
Run Code Online (Sandbox Code Playgroud)
(文件 a/apple.txt 和 a/fruit.txt 的内容应该相同)
我的想法是这样做:
find . -name "*.txt" -exec cp {} fruit.txt \;
但我不确定这是否会将fruit.txt 放在每个相应的子目录中,或者是否只是将其放在当前目录中。
cp ×2
find ×2
bash ×1
centos ×1
exec ×1
permissions ×1
root ×1
security ×1
shell-script ×1
symlink ×1