Linux
Linux wget -O /dev/null <http….> 語法
在我的工作中,我們有一個帶有多個 cron 作業的 Linux 伺服器,其語法
wget -O /dev/null
緊隨其後是http
對文件的請求PHP
或其他任何內容。所以像wget -O /dev/null "http://foo.bar.com/file.php"
.我已經能夠找出它的各個部分分別意味著什麼:
wget
:可以在 Linux 終端中使用,無需 GUI 即可從 Web 資源下載文件的應用程序。如果您有特定下載的 URL,例如 WordPress、PyCharm 等,您可以使用 -wget 下載它,而無需實際訪問該站點。wget -O
:該-O
選項允許您重命名正在下載的文件。因此,如果我正在下載 VS Code 但想重命名它,我可以執行wget -O <alternate name> <url to vscode download file>
.dev/null
:據我了解,這基本上是不需要的日誌文件的轉儲。如果程序正在從終端執行,並且您不想查看/儲存輸出,則可以將其定向到此處,它將立即自動刪除。基本上是一種為大型程序節省空間的方法。我只是不知道他們一起做了什麼 - 將它們一起使用是否將
PHP
文件重命名為/dev/null
以便 Linux 擷取並刪除它?這是將文件重命名為空字元串並將結果定向到/dev/null?
. 或者更可能是我想念的不同的東西?先感謝您!
/dev/null
是(偽)設備文件,它只是丟棄寫入它的所有內容。那裡不涉及重命名wget -O file
,只需打開命名文件(可能創建它)並在那裡寫入。在這種情況下/dev/null
,作業系統只是丟棄寫入的數據。最終結果是從伺服器請求有問題的 URL,無論涉及的腳本在伺服器端執行,並且響應(如果有)被丟棄。
實際上,在設備節點之上*重命名文件會用該文件替換設備節點。*普通使用者無法寫入
/dev
,但從mv somefile.txt /dev/null
長遠來看,以 root 身份執行可能會導致一些“有趣”的效果。如果沒有該
-O
選項,wget
將在目前目錄中創建一個基於 URL 命名的文件,因此file.php
在這種情況下。