我正在学习基础 Unix 课程,现在我们正在学习终端。我的指示是创建一个名为“公司”的目录和一个名为“销售”、“会计”和“营销”的子目录。所以我就这么做了。
mkdir company
cd company
mkdir sales
mkdir accounting
mkdir marketing
然后在里面创建名为file1
、file2
和的文件。file3
company
touch file1
touch file2
touch file3
然后将文件 1 2 和 3 复制到我创建的 3 个子目录中,但我坚持将其复制到第一个目录中。
cp company/file1 company/file2 company/file3 company/sales
但终端打印错误,“cp:目标‘公司/销售’不是目录。”当我刚刚创建一个名为 sales 的目录时,当我在公司内部时,它会列出 sales 文件夹,这是怎么回事?
cd company
ls
accounting file1 file2 file3 marketing sales
答案1
如果您在该company
目录中,请尝试以下操作:
cp file1 sales
cp file2 sales
或者
cp file1 sales; cp file2 sales
或者
cp file1 file2 file3 sales
最后一种是最简单的,可以在一行中完成将所有文件复制到单个子目录中。如果您想完成任务并将每个文件复制到一行中的每个子目录,请合并第二个和第三个示例,如下所示:
cp file1 file2 file3 sales; cp file1 file2 file3 accounting; cp file1 file2 file3 marketing
最后一个例子是这样的:
for d in */; do cp file* "$d"; done
正在file*
查找当前目录中以“file”开头的所有内容并将其复制到每个一级子目录。