리눅스 wget -O /dev/null통사론

리눅스 wget -O /dev/null통사론

내 직장에는 파일이나 기타 콘텐츠 에 대한 요청이 구문 wget -O /dev/null뒤에 오는 여러 cron 작업이 있는 Linux 서버가 있습니다 . 그래서 그런 것 .httpPHPwget -O /dev/null "http://foo.bar.com/file.php"

다양한 부분이 무엇을 의미하는지 알아낼 수 있었습니다.

  • wget: GUI 없이 네트워크 리소스에서 파일을 다운로드하기 위해 Linux 터미널에서 사용할 수 있는 애플리케이션입니다. WordPress, PyCharm 등과 같은 특정 다운로드에 대한 URL이 있는 경우 -wget을 사용하여 실제로 사이트를 방문하지 않고도 다운로드할 수 있습니다.

  • wget -O: 이 -O옵션을 사용하면 다운로드 중인 파일의 이름을 바꿀 수 있습니다. 따라서 VS Code를 다운로드하고 이름을 바꾸고 싶다면 wget -O <alternate name> <url to vscode download file>.

  • dev/null: 제가 이해한 바에 따르면 이것은 기본적으로 원치 않는 로그 파일의 덤프입니다. 프로그램이 터미널에서 실행 중이고 출력을 보거나 저장하는 데 관심이 없는 경우 여기로 지시하면 즉시 자동으로 삭제됩니다. 기본적으로 대규모 프로그램을 위한 공간을 절약하는 방법입니다.

나는 그들이 함께 무엇을 하는지 이해하지 못합니다. 함께 사용하면 Linux가 파일을 포착하고 삭제할 수 있도록 PHP파일 이름이 바뀌나요? /dev/null이것은 파일 이름을 빈 문자열로 바꾸고 결과를 /dev/null?.

미리 감사드립니다!

답변1

/dev/null기록된 모든 내용을 삭제하는 (의사) 장치 파일입니다. 아니요이름 바꾸기거기에 가려면 wget -O file지정된 파일을 열고(만들 수도 있음) 거기에 쓰기만 하면 됩니다. 이 경우 /dev/null운영 체제는 기록된 데이터를 단순히 삭제합니다.

최종 결과는 문제의 URL이 서버에서 요청되고 관련된 모든 스크립트가 서버 측에서 실행되며 응답(있는 경우)이 삭제된다는 것입니다.

실제로이름 바꾸기장치 노드 상단에 있는 파일은 장치 노드를 해당 파일로 대체합니다. 일반 사용자는 쓸 수 없지만 루트로 실행하면 장기적으로 /dev"흥미로운" 효과가 나타날 수 있습니다 .mv somefile.txt /dev/null

-O옵션을 사용하지 않으면 wgetURL을 기반으로 이름이 지정된 파일이 현재 디렉터리에 생성되므로 file.php이 경우에는 그렇습니다.

관련 정보