Linux 스크립트는 얼마나 유용합니까? [폐쇄]

Linux 스크립트는 얼마나 유용합니까? [폐쇄]

쉘 명령을 배워서 중급 수준에 도달하려고 합니다.

온라인 Linux 포럼에서는 고급 Linux 사용자가 되려면 스크립팅을 알아야 한다는 데 일반적으로 동의합니다. 나는 개인적으로 운영 체제 스크립트를 작성한 경험이 없으며 과대 광고가 무엇인지 전혀 모릅니다.

제가 이해한 바에 따르면 이는 시스템 관리자가 일련의 복사 명령을 실행하여 백업을 만드는 편리한 방법일 뿐입니다.

이 이해가 맞나요? 스크립트를 수행하는 데 일반적으로 사용되는 고급 작업 유형은 무엇입니까?

1에서 10까지의 척도에서 1은 과대평가되고 10은 모든 Linux 문제에 대한 만병통치약입니다. Linux 스크립팅은 어디에 있습니까?

답변1

스크립팅은 프로그래밍의 한 형태일 뿐입니다. 그게 다야, 마법은 없어.

오늘날 모든 기능을 갖춘 최신 Linux 배포판을 사용하면 거의 독점적으로 그래픽 인터페이스를 사용하여 시스템을 관리할 수 있습니다. 이러한 도구가 필요한 작업을 수행한다면 정말 괜찮습니다.

이제 이러한 인터페이스가 수행해야 하는 일부 작업을 다루지 않거나 쉘을 통해서만 액세스할 수 있는 시스템에서 잠자는 동안 백그라운드에서 인터페이스를 실행해야 하는 경우...그 다음에다른 것을 사용해야합니다.

Unix 유형 시스템에서 "기타 항목"의 시작점은 쉘 및 쉘 스크립트입니다.

Linux 시스템은 쉘을 위한 매우 큰 유틸리티 도구 상자를 제공합니다. 파일 관리(파일 복사, 이동, 찾기, 비교 등) 및 텍스트 파일 조작(인쇄, 수정, 비교, 분석 등)에 대한 내용은 매우 일반적입니다. 왜냐하면 Unix 계열 시스템은 모두 파일과 대부분의 소프트웨어에 관한 것이기 때문입니다. (및 운영 체제)) 구성 파일은 일반 텍스트입니다.
필요하다면 이런 것들을 배우기 시작하세요. 그런 다음 관심 있는 도구(미디어 변환, 데이터베이스, 웹 사이트 관리, 시스템 모니터링... 목록은 끝이 없습니다)를 조사하십시오.

백업은 자동화가 매우 필요한 작업 중 하나입니다. 그러나 반복적인 모든 작업은 자동화될 수 있으며 자동화되어야 합니다.
미디어 플레이어에서 사용하기 위해 모든 FLAC 파일을 MP3로 변환해야 합니까? 스크립트를 한 번 작성하면 다음번에는 단일 명령으로 스크립트를 작성할 수 있습니다.
웹사이트에 올릴 최근 휴가 사진의 썸네일이 필요하신가요? 스크립트를 작성하세요! (그곳에 있는 동안 웹사이트 업데이트 스크립트도 작성하세요.)
오래된 로그 파일을 정리해야 합니까? 스크립트를 작성하세요. 어차피 다음 주에 다시 해야 합니다.
서버 팜에서 성능 지표에 대한 아름다운 그래프를 만들어야 합니까? 데이터 수집 및 그래프 생성을 스크립트하면 필요할 때 최신 데이터를 얻을 수 있습니다.
(위의 모든 경우에 기존 도구를 사용하여 무거운 작업을 수행하는 경우 스크립트는 다음과 같이 보이도록 모든 도구를 하나로 묶어야 합니다.그들이 그러기를 바랍니다. )

쉘이나 Linux뿐만 아니라 스크립팅 언어를 아는 것은 다른 프로그래밍 언어를 아는 것과 같습니다. 더 많이 알수록 필요할 때 사용할 수 있는 거대한 도구 세트를 갖게 되므로 더 효율적이게 됩니다. 그것은 무언가를 성취하기로 선택합니다.

"과장된" 요소는 없습니다. 해야 할 작업이 있는 경우 도구 상자에서 가장 적합한 도구를 선택하여 작업을 완료하세요. Unix 유형 시스템에서는 도구 상자에 셸과 몇 가지 스크립팅 언어가 없으면 많은 즐거움을 놓치게 됩니다.
그러나 그래픽 인터페이스를 사용하여 필요한 모든 작업을 수행할 수 있다면 괜찮고 문제가 없습니다.

답변2

아니요, 이러한 이해는 올바르지 않습니다."스크립팅"을 "Linux에서의 유용성"과 연관시키기 위해 1-10의 척도를 사용하는 것은 의미가 없습니다.

스크립트를 관리자가 백업을 자동화할 수 있는 것으로 잘못 분류하여 "내 차에 스페어 타이어를 가지고 다니는 것이 얼마나 유용합니까?"

Linux 시스템의 스크립트는 자동차를 함께 고정하는 모든 너트, 볼트, 막대, 브래킷, 클램프 및 용접부, 대상을 목적지로 이동시키는 모든 와이어, 호스, 기어 및 샤프트, 그리고 대부분의 기계 실행에 더 가깝습니다. 그것을 조립하는 공장입니다.

스크립팅 기술이 없는 Linux 관리자는 렌치 없는 자동차 정비사와 같습니다. 어쩌면 그들은 자동차를 운전하고 대시보드의 버튼을 누를 수도 있지만 라디오를 프로그래밍할 수 있다고 해서 정비사가 되는 것은 아닙니다. 이를 위해서는 도구가 있어야 합니다.

답변3

기술적인 내용이 아닌 질문이므로 기술적인 내용은 최대한 생략하고 스크립트에 대한 제 생각을 적어보도록 하겠습니다.

1에서 10까지의 척도: 당신이 하고 싶은 일에 따라 5에서 10 사이라고 말하고 싶습니다.

컴퓨터가 몇 분 안에 할 수 있는 작업을 수행하는 데 몇 시간 또는 며칠을 소비하지 않는 데 약간 유용한 것부터 필요한 것까지 다양합니다. 스크립팅의 요점은 특히 반복적인(지루한) 작업이나 복잡한 작업(오타나 방해로 인해 인적 오류가 발생하기 쉬우거나 중요한 단계를 잊어버리기 쉬운 작업)을 자동화하는 것입니다.

(IMO, 스크립팅의 두 번째 요점은 유용한 문제 해결 기술을 개발하고 문제를 논리적이고 체계적으로 생각하고 분석하는 연습이라는 것입니다. 스크립팅을 하려면 수행 중인 작업을 개별 단계로 나누어야 합니다.)

아마도 Linux 초보자로서 스크립팅에 대해 알아야 할 가장 중요한 점은 스크립팅이 종종 동일한 작업을 수행해야 할 때마다 동일한 명령 시퀀스를 반복해서 입력해야 하는 성가심에서 시작된다는 것입니다. 따라서 이러한 명령을 파일에 저장하고 이제 첫 번째 스크립트를 작성했습니다.

나중에 스크립트가 명령줄에서 인수를 가져오도록 이를 수정할 수 있습니다(하드코드된 파일 이름 등을 사용하는 대신). 나중에 상황에 따라 스크립트가 두 가지(또는 그 이상) 다른 작업 중 하나를 수행하기를 원할 수도 있고, 스크립트가 여러 파일에 대해 동일한 작업을 반복적으로 수행하기를 원할 수도 있으므로 if; then;else, Case 문, while 및 for 루프 등

스크립트를 배우는 것은 점진적인 과정입니다. 작고 간단한 것부터 시작하여 점차적으로 더 복잡한 것을 수행하는 방법을 배울 수 있습니다. 간단한 작업을 수행하는 방법을 배우는 것은 텍스트 편집기에 명령을 입력하고 저장하는 방법을 배우는 것만큼 쉽습니다. "잘"하는 데는 몇 달 또는 몇 년이 걸릴 수 있으며, 진정으로 마스터하는 데는 평생이 걸릴 수 있습니다. 저는 20년 넘게 awk, sed, grep과 같은 일반적인 Linux 도구를 사용하여 sh 및 bash 스크립트를 작성해 왔으며 여전히 새로운 것과 새로운/개선된 작업 방식 또는 모호하지만 매우 유용한 도구 옵션을 배우고 있습니다. . 수년간 사용해 왔습니다.

나는 항상 새로운 것을 배울 수 있다는 사실을 좋아합니다. 사실, 이것이 스크립트를 작성하는 세 번째 이유라고 생각합니다. 반복적이고 지루한 작업이 있는 경우 이를 수행하기 위한 스크립트를 작성하면 인적 오류의 범위가 많이 줄어들 뿐만 아니라 작업을 수행할 수 있게 됩니다. 지옥에서 할 수 있는 더 흥미로운 일들. 2~3시간 안에 수동으로 할 수 있었던 일을 좋은 스크립트를 작성하는 데 2~3시간이 걸릴 수도 있지만, 지루하거나 피곤하지 않을 것이고, 그로부터 더 많은 직업 만족도를 얻을 수 있을 것입니다. 보너스로, 나중에 유사한 작업을 자동화하는 데 도움이 될 수 있는 도구도 갖게 되었습니다. 무엇보다도, 나는 미래에 사용할 수 있는 새롭거나 흥미로운 것을 배웠거나 내 기술을 더욱 연마했을 수도 있습니다.

답변4

스크립팅은 Linux 철학의 기본 부분입니다.

Windows와 같은 반대 상황을 예로 들어 보겠습니다. 간단히 말해서, 쉘 스크립트는 Linux와 Windows 간의 차이점의 1/3입니다.

  • 리눅스는오픈 소스. Windows에서는 그렇지 않습니다.
  • 리눅스는무료. Windows에서는 그렇지 않습니다.
  • Linux에는 파이프를 사용할 수 있도록 설계된 쉘 구조가 있습니다.다른 명령으로 변환된 명령:Linux 명령은 종종 더 큰 무언가의 구성 요소가 됩니다.대본. Windows에는 Windows만 있습니다.

관련 정보