В Тесте
:
pax -w's|.*/||' dir[1-3]/* | xz > file.tar.xz
архивирует файлы без компонентов пути.
Обратите внимание, что в директории [1-3] / *
скрытые файлы будут пропущены. Для символических ссылок -s
также перезапишет цели символических ссылок.
Если вам нужны только обычные файлы и при условии, что ни одно из имен ваших файлов не содержит символов новой строки, вы можете сделать:
find dir[1-3] -type f | pax -ws'|.*/||' | xz > file.tar.xz
Если имена файлов могут содержать символы новой строки, в некоторых системах, вы можете написать:
find dir[1-3] -type f -print0 | pax -w0s'|.*/||' | xz > file.tar.xz
В то время как find
и pax
являются стандартными командами, -print0
и -0
не являются YMMV.
Wget можно использовать по-разному, но я предполагаю, что вы используете его для эмуляции браузера, выполняющего HTTP-запросы на основе содержимого PHP.
Невозможно заставить wget возобновить прерванный сеанс. Веб-сервер, с которым взаимодействует wget, не имеет состояния, поэтому нет ничего, что могло бы точно отслеживать, что происходило в прерванном сеансе. Все, что вы можете сделать, это сделать запрос еще раз, что, конечно, не поможет вам, поскольку это будет новый сеанс, и он никогда не может быть таким же, как раньше.
Когда ваша сессия wget была прервана, эта сессия перестала существовать. Динамически сгенерированный контент зависел от этого конкретного сеанса и был создан только для обслуживания этого сеанса. Когда этот сеанс закончился, его динамическое содержимое фактически перестало существовать. Невозможно каким-то образом вернуться и возобновить несуществующий сеанс или взаимодействовать с несуществующим динамическим контентом, который существовал только для обслуживания этого сеанса.
Помните, что веб-серверы не имеют состояния. Вы делаете запрос, и тут же получаете единственный ответ, который когда-либо будет отправлен на этот конкретный запрос. Более сложные вещи, такие как сеансы и динамический контент, подключаются к этим запросам без сохранения состояния, передавая в ваш браузер временные идентификаторы сеансов и / или токены.Затем, когда приходит ваш следующий запрос, приложение или сценарий PHP, создающий динамическое содержимое, проверяет этот идентификатор сеанса / токен и отвечает вашему браузеру логически подходящим способом.
Даже если бы вы могли каким-то образом воспроизвести тот же идентификатор сеанса и токен, которые были в вашем браузере раньше (не тратьте зря время на попытки), вероятность того, что идентификатор сеанса / токен станет недействительным на стороне сервера в течение нескольких секунд, составляет 99,99999%. в любом случае с момента вашего последнего запроса.
Это выходит за рамки вашего вопроса, но в зависимости от точного кода / сценария, с которым ваш браузер взаимодействовал на этом сервере, может быть возможно передать поддельный идентификатор сеанса / токены, но в целом это невозможно восстановить прерванный сеанс. В вашем случае это вообще невозможно, так как вам пришлось бы попытаться захватить этот идентификатор сеанса / токен до потери сеанса, чтобы попытаться воспроизвести его.