zip файлы во всех подкаталогах данного родительского каталога

В других ответах уже объясняется, как передать символическую ссылку на другую машину. Однако, независимо от того, как вы передаете символическую ссылку, вы не сможете использовать эту символическую ссылку для доступа к файлу в / etc / через FTP, SFTP, SCP, SSH или любым другим способом. Эти службы, как правило, привязаны к заданному каталогу или иным образом не могут предоставлять доступ к файлам, которые не были явно предоставлены. Конечно, всегда есть способы обойти это в старых системах, но такие уязвимости, как правило, исправляются и обновляются, как только они обнаруживаются. Извините, я не думаю, что то, что вы хотите сделать, станет возможным.

0
05.07.2018, 23:46
2 ответа

Пример данных

$ mkdir -p parent_directory/child{1..3}
$ touch parent_directory/child{1..3}/file1.txt
$ touch parent_directory/child{1..3}/file2.txt

$ tree parent_directory/
parent_directory/
├── child1
│   ├── file1.txt
│   └── file2.txt
├── child2
│   ├── file1.txt
│   └── file2.txt
└── child3
    ├── file1.txt
    └── file2.txt

3 directories, 6 files

Решение

Теперь заскриптуем zip-файлы:

$ cd parent_directory/; for i in *; do find ${i} -name "*.txt" -print | zip ${i}.zip -@; mv ${i}.zip ${i}; done; cd -
  adding: child1/file2.txt (stored 0%)
  adding: child1/file1.txt (stored 0%)
  adding: child2/file2.txt (stored 0%)
  adding: child2/file1.txt (stored 0%)
  adding: child3/file2.txt (stored 0%)
  adding: child3/file1.txt (stored 0%)

Результаты

И результаты:

$ tree parent_directory/
parent_directory/
├── child1
│   ├── child1.zip
│   ├── file1.txt
│   └── file2.txt
├── child2
│   ├── child2.zip
│   ├── file1.txt
│   └── file2.txt
└── child3
    ├── child3.zip
    ├── file1.txt
    └── file2.txt

3 directories, 9 files

$ unzip -l parent_directory/child1/child1.zip
Archive:  parent_directory/child1/child1.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-05-2018 10:08   child1/file2.txt
        0  07-05-2018 10:08   child1/file1.txt
---------                     -------
        0                     2 files
$ unzip -l parent_directory/child2/child2.zip
Archive:  parent_directory/child2/child2.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-05-2018 10:08   child2/file2.txt
        0  07-05-2018 10:08   child2/file1.txt
---------                     -------
        0                     2 files
$ unzip -l parent_directory/child3/child3.zip
Archive:  parent_directory/child3/child3.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  07-05-2018 10:08   child3/file2.txt
        0  07-05-2018 10:08   child3/file1.txt
---------                     -------
        0                     2 files

Ссылки

0
28.01.2020, 04:19

Попробуйте,

$ zip -R parent_directory '*.txt'
0
28.01.2020, 04:19

Теги

Похожие вопросы