Linux 명령 및 셸 기술
Perl 스크립팅: 여전히 날카로운 Sysadmin의 스위스 군용 칼
Perl은 1990년대에 사용할 수 있는 최고의 텍스트 처리 도구로 자리매김한 후 결코 떠나지 않았습니다. 모든 기본 설치에 포함되어 있으며 아무도 생각하지 않는 도구(SpamAssassin, 프로비저닝 스크립트, 모니터링 플러그인)를 조용히 구동하고 정규식 파워 한 줄짜리 기능을 다른 곳에서는 편안하게 제공하지 않습니다. 정직하고 현대적인 입장: awk와 Python은 대부분의 새로운 코드를 다루고 Perl의 실제 역할은 이전 스크립트, 응급 텍스트 수술 및 다른 곳에서는 두 줄로 된 한 줄짜리 스크립트를 읽는 것입니다. 아무도 구문을 칭찬하지 않습니다. 이 거래에 종사하는 모든 사람이 여전히 그 혜택을 누리고 있습니다.
핵심 내용
- 한 줄짜리 기술은 살아남은 기술입니다. perl -pi -e 's/old/new/g' 파일은 현재 위치(sed의 작업, Perl의 정규식)에, -ne은 테스트 드라이브 라인에, -lanE는 자동 분할이 작동하는 열 작업에 사용됩니다.
- 플래그는 문서화된 기능입니다. -p는 코드 실행 후 각 행을 인쇄하고, -n은 인쇄하지 않고 반복하고, -e는 코드를 공급하고, -i는 제자리에서 편집하고(선택적 백업 접미사 사용), -a는 @F로 자동 분할하고, -F'\t'는 분할 패턴을 설정합니다.
- Perl이 오늘날에도 여전히 승리하는 곳: awk가 항복하는 텍스트(홀수 인코딩, 중첩된 인용, 플립플롭 'A..B'와 같은 범위) 및 전체 프로그램이 -e에 적합하지만 상태 배열과 해시가 편안하게 유지되어야 하는 모든 변환.
- 레거시 현실 점검: Perl로 작성된 모니터링 플러그인, 프로비저닝 파이프라인 및 메일 도구는 여전히 여러 곳에 존재하며 200개의 스크립트를 도매로 다시 작성하는 것은 누구도 승인하지 않은 예산입니다. Perl을 읽는 것은 새로운 것이 아니라 능력으로 남아 있습니다.
- 모듈 위생: 핵심 모듈은 인터프리터와 함께 작동하며 CPAN 설치는 대화형 작업에만 속합니다. 서버에서는 관리되지 않는 CPAN 트리가 감사에서 표면화되는 드리프트이기 때문에 distro 패키지(libwww-perl 및 친구들)를 선호합니다.
- 규율을 다시 추가하여 이전 스크립트를 디버그합니다. 엄격한 사용, 경고 사용 및 생략된 경우 -w를 사용합니다. 자동 undef 산술 및 오타 패키지 변수는 2004 스크립트가 2026 서버를 만날 때 기다리는 것입니다.
- 이식성은 대부분 현실적이지만 무료는 아닙니다. 코어 Perl 전용 스크립트는 거의 변경 없이 배포판과 Unix 버전을 교차하며, 무리 의미론 및 /proc 가정은 BSD 및 macOS 시스템에 대해 다시 살펴봐야 합니다.
- 접을 순간을 아십시오. 여러 줄 상태, 심층 데이터 구조 또는 프레임워크가 필요한 모든 것이 Python 국가입니다. Perl은 그 일을 즐겁게 받아들이고 당신은 오전 3시에 복잡한 비용을 혼자서 지불합니다.
현장 노트
나는 6년 동안 최신 상자에 고대 Perl 모니터링 검사를 유지해 왔으며 상단 및 배포판 모듈에서 복원된 엄격한 경고만 사용했습니다. 계속 작동하는 동안 세 가지 재작성 약속이 오래되어 사라졌습니다.
자주 묻는 질문
오늘 Perl로 새로운 코드를 작성해야 할까요?
기존 Perl 코드베이스 내부의 텍스트 한 줄 또는 유지 관리에만 해당됩니다. 새로운 서버 접착제는 더 명확하고 고용이 가능한 Python으로 이동합니다. Perl은 한 라인이 수행할 수 있는 작업을 정확하게 수행하는 데 탁월한 능력을 유지합니다.
Perl은 왜 왕관을 잃었습니까?
극적인 것은 없습니다. 대규모 코드베이스를 처벌하는 구문, 장점보다는 추진력에 따라 Python 모양을 표류하는 고용 시장, Perl 6/Raku는 혼란스러운 인식을 깨뜨린 반면 Perl 5는 조용히 우수성을 유지했습니다.
필드 구문 분석을 위해 perl -lane 또는 awk?
둘 다 대략적으로 배우십시오. 작은 열 작업의 경우 awk, 구분 기호 또는 레코드 모양이 이상해지는 날에는 -lane의 자동 분할; 정규식이 무거운 작업을 수행할 때는 Perl을 선택하고, 열의 산술을 수행할 때는 awk를 선택하십시오.
오래된 Perl 스크립트를 계속 실행해도 안전합니까?
일반적으로 위생적으로는 배포판 패키지를 통해 모듈 세트를 고정하고, 통역사 업그레이드 전에 복사본을 테스트하고, 상단에서 엄격한/경고를 복원합니다. 실제 위험은 언어가 아니라 조용한 행동 표류입니다.
linux 명령 및 셸 기술에 대한 Kinetikatech의 지원
저희는 이것을 수백 번 처리했습니다: 관리자가 서버를 운영할지 아니면 싸울지 결정하는 명령 및 스크립팅 습관: 모든 기본 설치에 포함된 도구를 사용하여 텍스트와 프로세스를 검색, 변환, 전송 및 감독합니다. Linux 서버 보안 및 서버 관리와 함께하면 평가, 구현, 24시간 연중무휴 모니터링, 그리고 중요한 때에 30분 이내 대응이라는 완전한 사이클을 제공합니다.