답변:
일부는 내가 없이는 살 수 없다는 것을 알고 있습니다 ...
티-STDOUT (표준 출력)과 파일에 동시 쓰기를 허용합니다. 정보를보고 나중에 기록하기에 좋습니다.
top-UNIX의 작업 관리자는 시스템에 대한 훌륭한 개요를 제공합니다.
tail -f-파일이 증가함에 따라 추가 된 데이터를 볼 수있어 서버에서 로그 파일을 모니터링하는 데 좋습니다.
grep-파일에서 데이터를 검색 할 때 유용합니다.
df-현재 파일 시스템의 디스크 사용량을보고합니다.
du-특정 파일 / 디렉토리의 디스크 사용량을보고합니다.
덜-매뉴얼 페이지를 볼 필요가! 쉽게 찾을 수있는 방식으로 명령의 출력을 보는 데 유용합니다.
vim / Emacs / nano / pico / ed-선택한 텍스트 편집기가 무엇이든지, 왜 필요한지에 대한 설명이 필요합니다.
more
또는 을 좋아하지 않으면 less
언제든지 시도해 볼 수 있습니다 most
.
htop
의 "더 나은"버전입니다 top
.
모든 기본 도구를 배우고 Perl을 배우십시오.
Perl은 텍스트 조작에 이상적이며, * x 연산자는 텍스트 파일, 파이프, 입력 및 출력에 존재하므로 Perl은 매우 적합합니다.
추가 보너스는 Perl이 크로스 플랫폼이며 Windows 상자에서 일부 작업을 수행 해야하는 경우 이미 알고있는 쉽게 설치할 수있는 (서버에 Perl 디렉토리를 놓기) 언어가 있습니다.
그리고 그 생각의 기차에서 Cygwin도 얻으십시오. * * 관리자가 아니고 ls, rm, grep, sed, tail 등이있는 Windows 상자 (데스크톱조차)에서 작업 해야하는 경우 OS를 전환 할 때 많은 시간을 절약 할 수 있습니다.
현대 시스템 스크립팅의 잊혀진 할아버지. 나는 Perl이 Bash 스크립팅, Python, Ruby 및 [좋아하는 스크립팅 언어 삽입]과 함께 대부분의 사랑을 얻는다는 것을 알고 있습니다. 나는 거의 매일 그것을 사용합니다.
그러나 sed와 awk를 잊거나 간과하거나 무시해서는 안됩니다. 많은 경우, sed와 awk가 작업에 가장 적합한 도구입니다. 빠른 예는 sed를 사용한 명령 줄 필터링과 awk를 사용한 빠르고 더러운 로그 처리입니다. 둘 다 Perl에서 수행 할 수 있지만 더 많은 작업과 개발 시간이 필요합니다.
빠른 스크립트, 자동화 등 :
* NIX 서버에 연결하려면 다음을 수행하십시오.
아직 보지 못한 몇 가지 편리한 도구는 다음과 같습니다.
expect
ClusterSSH는 단일 그래픽 콘솔 창을 통해 여러 xterm 창을 제어하여 ssh 연결을 통해 여러 서버에서 명령을 대화식으로 실행할 수 있습니다.
pv : 리디렉션 할 수있는 긴 작업의 진행률을 표시합니다. http://www.ivarch.com/programs/pv.shtml
유용하면 네트워크를 통해 원시 블록 장치를 복사 / 압축하는 것과 같이 오래 걸릴 일을 모니터링하고 싶습니다.
또한 : 위의 사람들이 언급 한대로 ssh, rsync, screen, htop 및 netcat에 대해 두 번째 투표를 할 것입니다. 모두 pv보다 중요하지만 pv는 아직 언급되지 않았습니다. 실제로 pv는 물건을 netcat으로 또는 그로부터 배관 할 때 유용한 추가 기능입니다.
pv
편리한 도구가 될 수 있지만이를 과도하게 사용하지 마십시오. 데이터를 전달하면 성능에 절대적으로 영향을 미칩니다 (모든 데이터는 다른 프로그램 을 통과해야 함 ). 마지막 작업에서 많은 로그 처리를 수행했습니다. 그 중 한 명이 처리 시간에 약 15 %가 추가 될 때까지 모든 로그 처리 스크립트에 pv를 넣기로 결정했습니다. 이제 몇 분 이내에 걸리거나 기존 자원 제한이있는 작업 (예 : 느린 네트워크 연결을 넘는 작업)에만 사용됩니다.
pv
CPU / 메모리 바운드가 아닌 디스크 또는 네트워크 I / O 바운드입니다). 같은 주장도 지나치게 과도하게 사용하는 것에 대한 핵심 논점입니다 cat
(실제로 왼쪽에서 오른쪽으로 읽는 것이 좋지만 파이프를 통한 여분의 인 메모리 데이터 복사 및 컨텍스트 전환은 고양이를 사용할 수 있습니다) 측정 가능한 성능 영향).
cat
사용의 대부분 은로 시작 cat foo
하여 "위쪽"화살표를 누른 다음 | [command]
이전 줄에 추가 합니다. 나는 고양이를 거기에 두어 (작은) 성능을 발휘하고 있음을 알고 있지만 명령을 다시 작성 / 다시 입력하는 것보다 적은 노력이 필요합니다 [command] < foo
. (대부분의) 임시 명령 줄 작업에는 관심이 없지만 스크립트에는 이상적이지 않습니다 (내가 생각하는 것과 같음 pv
).
쉘로서의 zsh
grml.org의 extensions / setup에서 특히 효율적입니다 .
이러한 도구는 대부분 Bash "프로그램 가능 완료"를 사용하여 훨씬 강력 해 지므로 명령 줄 옵션과 같은 항목을 탭 완성하거나 "apt-get install"로 패키지 이름을 말할 수 있습니다. 또한 관련 파일에 대해 탭 완성 항목을 제한합니다. 예를 들어 "unzip"은 지원되는 아카이브 파일 만 완성합니다.
그것은 정말로 똥개입니다-한번도 시도하지 않았다면 아마도 .bashrc를 피들 링해야합니다.
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
확실히 이것은 우분투와 데비안에서 사실입니다. 일부 Linux 배포판에서 패키지를 가져와야 할 수도 있습니다.
내가 언급하고 싶었던 몇 가지 간과.
아, 그리고 스크립팅 할 때 항상 Korn을 사용해야한다고 언급하는 것을 잊었습니다. 나는 Korn (밴드가 아닙니다. 나는 밴드를 좋아합니다 : -P) 말 그대로 어디에나 있습니다. 스크립트를 가져 와서 Solaris, AIX 및 Linux간에 이동할 수 있으며 관리자가 Bash를 설치할지 여부에 대해 걱정할 필요가 없습니다.
때로는 매우 편리한 도구 중 하나가 nohup입니다. 원격 SSH 클라이언트를 사용하여 오랫동안 지속되는 스크립트를 실행하는 데 사용합니다.