如何将文件(例如:)解压缩foo.zip到具有相同名称 ( foo/)的文件夹中?
基本上,我想创建一个 unzip 的别名,将文件解压缩到同名文件夹中(而不是当前文件夹)。这就是 Mac 的解压缩实用程序的工作方式,我想在 CLI 中执行相同的操作。
根据 zip 文件的创建方式,有时它会直接提取所有文件,有时会将文件提取到子目录中。
如果后者为真,我如何强制unzip命令“忽略”第一级目录?
例子:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
Run Code Online (Sandbox Code Playgroud)
我得到的是/tmp/omeka/omeka-1.5.1/:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
Run Code Online (Sandbox Code Playgroud)
我想要的是提取到/tmp/omeka/,的文件(上一级,目录结构中不包含版本号)
/tmp/omeka/(files)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用-j“垃圾路径”选项,但我想保留子目录结构,而不是顶级目录结构。我怎样才能做到这一点?
一个简单的问题,但我不知道在哪里看,谷歌不响应句号和斜线。
我只是想计算当前目录中文件和目录的数量(不包括子文件夹/文件)并试图区分ls -1 | wc -l,ls | wc -l因为它们看起来相同。我正在查看的一个网站说“请记住,这也计算了 ./ 和 ../ 目录。” 关于带有 的那个ls -1,我不确定这是否意味着它包含之前的目录或其他内容(我不想要的),但它似乎没有从测试中做到这一点。
有人可以确认其中哪一个最适合仅计算当前目录中的文件和目录数量(而不是子目录)以及它们对 ./ 和 ../ 目录的含义?
所以我有一个包含我的一些配置文件的 repo,我正在尝试创建一个makefile将它们安装在 homedir 中。我遇到的问题是,当我直接在 bash 中运行以下命令时
install -m 755 -d ~/path/to/dotfilesDir/ ~/
Run Code Online (Sandbox Code Playgroud)
似乎什么也没有发生
install -m 755 ~/path/to/dotfilesDir/{file1,file2,...} ~/
Run Code Online (Sandbox Code Playgroud)
按预期工作。
为什么第一个(更简单和更清洁)的解决方案不起作用?
可能的重复:
如何在不影响文件的情况下递归应用 chmod 目录?
对目录应用执行权限(用于遍历)但对目录中包含的文件保留执行位的命令是什么?
我正在为 user 设置一个受限用户帐户ricardo,这是我系统上的一个麻烦用户。我想授予他使用 制作目录的权利sudo,他有时需要这样做。我正在我的/etc/sudoers文件中考虑这个规则:
ricardo ALL=(root) NOPASSWD: /bin/mkdir
Run Code Online (Sandbox Code Playgroud)
仅使用此规则,ricardo 是否可以有意或无意地破坏系统?
我在一个目录中有 1000 个 csv 文件。我想按顺序将它们连接在一起。它们被命名为 img_size_1.csv 到大约 img_size_1000.csv 这个答案很接近但假设一个列表文件。这可以在单线中完成吗?
我们团队中的某个人想要递归更改用户主目录中所有隐藏目录的用户权限。为此,他执行了以下命令:
cd /home/username
chown -R username:groupname .*
Run Code Online (Sandbox Code Playgroud)
当我们意识到他实际上递归地更改了 /home 中所有用户目录的权限时,我们感到非常惊讶,因为.*equals to..也是如此。不过,您会在 Linux 中预料到这种行为吗?
执行权限对文件(包括脚本等)有意义,但是当涉及到目录时,该write (w)权限的工作方式与 相同execute (x),对吗?
这意味着,如果我们为目录授予写权限,我们通常也会检查该目录的“x”(用于执行),对吗?