perl 中的简单文件系统操作

发布于 2024-09-13 06:46:48 字数 192 浏览 1 评论 0原文

我想创建一个新目录,其内容是到现有目录内容的软链接,并为这个新目录设置完全权限。

我知道如何在 bash 中实现这一点:

mkdir -m a=rwx new_dir
cd new_dir
ln -s /path/to/old/dir/* .

但是在查找 perl 等效项时遇到一些问题

I would like to create a new directory that its content is soft links to the the content of an existing directory, and set full permissions for this new directory.

I know how to this is in bash:

mkdir -m a=rwx new_dir
cd new_dir
ln -s /path/to/old/dir/* .

but having some problems with finding the perl equivalent

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄居人 2024-09-20 06:46:48

像这样的事情怎么样:

mkdir -m a=rwx new_dir     in perl: ->    mkdir ('new_dir', 0777);
cd new_dir                 in perl: ->    chdir ('new_dir');
ln -s /path/to/old/dir/* . in perl: ->

    use constant OLD_DIR => '/path/to/old/dir';

    for my $oldname (glob(OLD_DIR . '/*')) {
         my $newname = $oldname;
         $newname =~ s/^.*\///s;      # Remove everything up to last "/"
         symlink ($oldname, $newname);
    }

当然,对于 Perl,“总是有不止一种方法可以做到这一点”。

How about something like this:

mkdir -m a=rwx new_dir     in perl: ->    mkdir ('new_dir', 0777);
cd new_dir                 in perl: ->    chdir ('new_dir');
ln -s /path/to/old/dir/* . in perl: ->

    use constant OLD_DIR => '/path/to/old/dir';

    for my $oldname (glob(OLD_DIR . '/*')) {
         my $newname = $oldname;
         $newname =~ s/^.*\///s;      # Remove everything up to last "/"
         symlink ($oldname, $newname);
    }

Of course, with Perl, "There's always more than one way to do it".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文