私は基本的なUnixコースを受講しており、今はターミナルについて学んでいます。私の指示は、「Company」というディレクトリと「Sales」、「Accounting」、「Marketing」というサブディレクトリを作成することでした。だからそれが私がしたことです。
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:target 'company / sales'はディレクトリではありません」というエラーが出力されます。私は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
最後の方法は最も簡単で、1行ですべてのファイルを単一のサブディレクトリにコピーできます。タスクを完了し、各ファイルを1行で各サブディレクトリにコピーするには、次のように2番目と3番目の例を組み合わせます。
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」で始まるすべてのエントリを見つけ、すべての最初のレベルのサブディレクトリにコピーします。