创建目录时权限被拒绝以及如何为目录中的每个文件添加.exe后缀

问题描述 投票:0回答:1

我想创建一个目录,例如source_dir,并在该目录中添加一些没有内容的虚拟文件,如file1.txt、file2.sh等

现在我想创建另一个目录,例如destination_dir,并将所有文件从source_dir移动到destination_dir,但从source_dir移动的所有文件都应该以.exe为后缀

示例:

源目录

file1.txt  file2.sh

destination_dir 的输出应为

file1.txt.exe  file2.sh.exe

我尝试过的:

  1. 我使用了
    mkdir source_dir
    -> 但出现错误,无法创建目录。权限被拒绝。
  2. touch file1.txt file2.sh
    -> 我想使用这个命令来创建没有内容的文件,但无法创建目录本身。
  3. 一旦解决了错误并在
    source_dir
    中创建了文件,那么我将使用
    mv .* source_dir destination_dir
    -> 一次移动所有文件,但对于这个命令我不确定这是否有效
  4. 那么如何给所有文件加上.exe后缀对我来说也是一个挑战,被卡住了。

有人可以帮我解决创建目录的错误以及如何为每个文件添加后缀吗?

bash shell
1个回答
1
投票

我使用了 mkdir source_dir -> 但出现错误,无法创建目录。权限被拒绝。

您似乎没有权限在此处创建文件夹。您可以使用

sudo mkdir source_dir
,但最好将该文件夹放在您具有 EG 写入权限的目录中。
$HOME

一旦解决了错误并在 source_dir 中创建了文件,那么我将使用 mv .* source_dir destination_dir -> 一次移动所有文件,但对于此命令,我不确定这是否有效

要从 source_dir 中移动,请使用

mv .* destination_dir
。 (IE,首先
cd source_dir
,然后从上面运行移动命令)

那么如何给所有文件加上.exe后缀对我来说也是一个挑战,卡住了。

您必须循环遍历文件并逐个移动它们。

for i in * ; do mv "$i" "${i}.exe" ; done 
© www.soinside.com 2019 - 2024. All rights reserved.