
這是來源路徑/Archive/testing/,有三個資料夾AB1、AB2和AB3。
這是目標目錄/RXB2Bi_Archive/Archive_testing123/,有三個資料夾AB1、AB2和AB3
我們希望使用單一命令將檔案從來源移動到目標。
我們正在嘗試這個命令..但它已將所有文件移動到 /RXB2Bi_Archive/Archive_testing123/ 而不是移動到 AB1 和 AB2 和 AB3
#!/bin/bash
Find /Archive/testing/ / -type f -mtime +190 -exec mv '{}' /RXB2Bi_Archive/Archive_testing123/ \;
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
Source: /Archive/testing/ Destination: /RXB2Bi_Archive/Archive_testing123/
AB1 folder AB1 folder
AB2 folder AB2 folder
AB3 folder AB3 folder
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….......................
答案1
您應該使用 rysnc:
rsync -avz Archive/testing/ RXB2Bi_Archive/Archive_testing123/
例子:
mkdir -p Archive/testing/AB{1..3}
touch Archive/testing/AB{1..3}/sourceFiles
讓我們看看結果:
$ tree
.
└── Archive
└── testing
├── AB1
│ └── sourceFiles
├── AB2
│ └── sourceFiles
└── AB3
└── sourceFiles
5 directories, 3 files
現在讓我們建立目的地:
mkdir -p RXB2Bi_Archive/Archive_testing123/AB{1..3}
touch RXB2Bi_Archive/Archive_testing123/AB{1..3}/destFiles
讓我們檢查一下結果:
$ tree
RXB2Bi_Archive/
└── Archive_testing123
├── AB1
│ └── destFiles
├── AB2
│ └── destFiles
└── AB3
└── destFiles
4 directories, 3 files
現在運行命令:
$ rsync -avz Archive/testing/ RXB2Bi_Archive/Archive_testing123/
sending incremental file list
./
AB1/
AB1/sourceFiles
AB2/
AB2/sourceFiles
AB3/
AB3/sourceFiles
sent 268 bytes received 84 bytes 704.00 bytes/sec
total size is 0 speedup is 0.00
檢查結果:
$ tree RXB2Bi_Archive/
RXB2Bi_Archive/
└── Archive_testing123
├── AB1
│ ├── destFiles
│ └── sourceFiles
├── AB2
│ ├── destFiles
│ └── sourceFiles
└── AB3
├── destFiles
└── sourceFiles
4 directories, 6 files
正如您在上面看到的,所有文件都複製到目標中所需的位置。