движущиеся файлы к папке и zip папка

При вызове программы с подстановочным символом, оболочка, которую вы используете, попытается расширить этот символ и дать расширенные имена файлов в качестве аргументов исполняемому файлу. Если он не может быть расширен, оболочка выдаст процессу подстановочные знаки в виде имён файлов.

Смотрите следующий вывод strace (файлы существуют):

user@host:~$ mv test* /tmp/
execve("/bin/mv", ["mv", "test", "test1", "test2", "test3", "/tmp"], [/* 19 vars */]) = 0

Теперь этот вывод strace (файл, соответствующий подстановочному знаку, не существует).

user@host:~$ mv test* /tmp/
execve("/bin/mv", ["mv", "test*", "/tmp/"], [/* 19 vars */]) = 0

При перемещении файла с помощью mv, программа mv сначала пытается получить статус этого файла. Это было сделано с помощью системного вызова stat (см. man 2 stat). Если статус файла (или нескольких файлов в вашем случае) не может быть собран, процесс mv не может быть продолжен.

Во втором случае, системный вызов статистики не удается:

lstat("test*", 0x7fff20d26490)          = -1 ENOENT (No such file or directory)

Вырезать короткое изложение длинной истории: Нет файлов, которые соответствовали бы утверждению ACQ*.err.

.
1
09.10.2014, 06:01
3 ответа

Возможно, что вы можете помочь вам:

enter code here
  mv <file.a>...<file.n> <new_folder>
  zip -r <new_folder>
  mv new_folder.zip /destination_folder
1
27.01.2020, 23:38
cp -R (the path of the folder to copy) (the name of the copied file)

, затем

zip -r (name your zip) (the name of the copied file)

Пример сценария :Допустим, я хочу скопировать плагины установки WordPress и после этого заархивировать их (, пока я нахожусь в корневой папке WordPress ).

Я сделаю:

cp -R wp-content/plugins plugins_backup

тогда для проверки сделаю:

ls -la

Я увижу новый каталог plugins _backup и заархивирую:

zip -r plugins_backup.zip plugins_backup

готово. (затем следуйте ответу mv, чтобы переместить его куда угодно ).

1
27.01.2020, 23:38

Почему-то все это время я не знал о подключаемом модуле FUSE -для поддержки ZIP-файлов. Это позволяет пользователю монтировать (или создавать )ZIP-файл, как если бы это была файловая система для чтения/записи.

Сначала создайте новый (пустой )файл с расширением.zip и смонтируйте его в /mnt. Поскольку вы хотите, чтобы ZIP-файл в конечном итоге оказался в папке _B, мы создадим его там :

.
# rm -f /folder_B/my_files.zip
# fuse-zip /folder_B/my_files.zip /mnt

Ваше сообщение неясно, но похоже, что вы хотите, чтобы файл.ZIP содержал папку _C, а затем все ваши файлы находились там. Итак, мы создадим папку _C внутри ZIP-файла, который находится в /mnt :

.
# mkdir /mnt/folder_C

Теперь вы можете просто зайти в папку _A и переместить все файлы, которые вы хотите заархивировать, в /mnt/folder _C:

# cd /folder_A
# mv file1 file2... fileN /mnt/folder_C

Наконец, размонтируйте и проверьте ZIP-файл:

# umount /mnt
# unzip -v /folder_B/my_files.zip

Я понимаю, что это выглядит запутанно, но основные четыре шага:

# fuse-zip /folder_B/my_files.zip /mnt
# mkdir /mnt/folder_C
# mv /folder_A/file1 /folder_A/file2... /folder_A/fileN /mnt/folder_C
# umount /mnt

Я не имею в виду, что этот метод лучше или хуже, чем другие решения, просто это другой способ сделать это. Надеюсь, вам будет интересно.

0
27.01.2020, 23:38

Теги

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