Это - обычно хорошая практика для добавления некоторых гарантий для комнаты, которая обычно достигается путем искажения. В пользовательских средах Вы будете часто видеть многие из этих мер защиты на месте.
Для практика сценариев оболочки для одного часто полезно отключить эти гарантии как, по-видимому, они знают то, что они делают. Это, как упомянуто, выполняется путем снабжения предисловием команды с a \
.
Вопреки предложению @Sorpigal я определенно отговорил бы от сбрасывания псевдонимов, чтобы сбои сценария, чтобы дать пользователю не поддерживают свои гарантии. Далее, использование полного пути также неблагоразумно, как комната может быть во вспомогательном пути по причине - т.е. комната GNU по сравнению с комнатой BSD. Переопределять его со строгим путем означало бы победить цель наличия ПУТЕЙ, а именно, чтобы масштабировать и обработать много архитектуры, сред и пользователей.
Я не уверен который версия wget
или ОС и любой прокси существует между Вами и SourceForge, но wget
загруженный файл, когда я удалил "/загрузка" и оставил ее при расширении файла.
Я не хочу лавинно рассылать сообщение или pastebin моя вся сессия, но я получил 302 затем 200 кодов состояния, прежде чем передача началась. Что происходит, когда Вы пробуете wget
?
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
[snipped for brevity]
HTTP request sent, awaiting response... 200 OK
Length: 13432789 (13M) [application/x-gzip]
Saving to: `download'
Я предложил бы использовать curl
сделать это вместо wget
. Это может следовать за перенаправлением с помощью переключателей -L
, -J
, и -O
.
curl -O -J -L http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/bitcoin-0.8.1-linux.tar.gz/download
-O/--remote-name
Write output to a local file named like the remote file we get.
(Only the file part of the remote file is used, the path is cut off.)
-L/--location
(HTTP/HTTPS) If the server reports that the requested page has moved
to a different location (indicated with a Location: header and a 3XX
response code), this option will make curl redo the request on the new
place. If used together with -i/--include or -I/--head, headers from
all requested pages will be shown. When authentication is used, curl only
sends its credentials to the initial host. If a redirect takes curl to a
different host, it won't be able to intercept the user+password.
See also --location-trusted on how to change this. You can limit the
amount of redirects to follow by using the --max-redirs option.
-J/--remote-header-name
(HTTP) This option tells the -O/--remote-name option to use the
server-specified Content-Disposition filename instead of extracting a
filename from the URL.
Дополнительную информацию см. в вихревой странице справочника.
wget
может следовать за перенаправлениями, но это не делает так, если Вы не увеличиваетесь --max-redirect
от значения по умолчанию, которое из соображений безопасности является, конечно, 0.
– Anthon
01.03.2015, 15:57
wget
1.19.2's значение по умолчанию --max-redirect=20
который должен быть достаточно хорошим для большей части использования. Я не уверен, когда это изменило … или почему это было необходимо для безопасности (необходима цитата!), но мое предположение - то, что текущее предпочтительное решение состояло в том, чтобы следовать за перенаправлениями и вместо этого потребовать --trust-server-names
сохранить имя, обеспеченное целью перенаправления, а не "загрузкой" или "index.html? blah=barg" или безотносительно обеспеченного использования URL.
– Adam Katz
12.01.2018, 18:49
Из глоссария в /usr/share/doc/man-db/man-db-manual.txt
(источник: manual/glossary.me ):
cat page-121--15750-
Отформатированная страница вручную, предназначенная для просмотра на терминале типа vt100.
страница бродячих кошек
Страница «cat», которая не имеет относительную страницу «manual» в системе, т.е. была предоставлена только страница «cat» или страница «manual» была удалена после была создана страница кошек.
Информация о O _ NOFOLLOW
приведена на странице info
find
:
9,2,1,1 O_NOFOLLOW
..................
Если система поддерживает флаг O_NOFOLLOW (1) к системе
open (2) ' вызов,
find 'использует его при безопасном изменении каталога. Цель сначала открывается каталог, а затемfind 'changes working directory с системным вызовом
fchdir () '. Это гарантирует, что символьные ссылки не соблюдается, предотвращая тип атаки на состояние расы, при котором используется выполнен из символических ссылок....
Из исходного дерева CBO
появляется только в файле parser.c
:
printf("CBO(level=%d) ", (int)(options.optimisation_level));
, указывающем, что это оптимизация на основе затрат (мое лучшее предположение).
D _ TYPE
происходит в нескольких местах в исходном дереве и, похоже, связано с типом записи каталога
$ grep 'D_TYPE' */**
Выходы:
find/parser.c:#if defined USE_STRUCT_DIRENT_D_TYPE && defined HAVE_STRUCT_DIRENT_D_TYPE
lib/savedirinfo.c:#if defined HAVE_STRUCT_DIRENT_D_TYPE && defined USE_STRUCT_DIRENT_D_TYPE
и некоторыми другими записями. Источник можно найти здесь .
-121--49618- В wget
можно использовать опцию -content-disposition
, которая полезна для некоторых загружающих файлы CGI-программ, использующих заголовки «Content-Disposition» для описания имени загруженного файла.
В примере
wget --user-agent=Mozilla --content-disposition -E -c http://example.com/
Для более сложных решений (например, при необходимости авторизации) используйте файл cookie ( -load-cookies file
) для моделирования сеанса.