Unix 또는 Unix와 유사한 서버를 관리 한 후 어떤 도구 (가급적 명령 줄) 없이는 살 수 없다고 생각하십니까?
GNU 화면 -많은 수의 시스템을 관리하고 12 개의 터미널 창을 열고 싶지 않을 때 필수적입니다.
일부는 내가 없이는 살 수 없다는 것을 알고 있습니다.
tee-STDOUT (표준 출력) 및 파일에 동시에 쓸 수 있습니다. 정보를보고 나중에 기록하기에 좋습니다.
top-UNIX의 작업 관리자는 시스템에 대한 훌륭한 개요를 제공합니다.
tail -f-파일이 커짐에 따라 추가 된 데이터를 볼 수 있으며 서버의 로그 파일을 모니터링하는 데 적합합니다.
grep-전역 정규식 인쇄, 시스템에서 파일의 데이터를 검색하는 데 적합합니다.
df-현재 파일 시스템의 디스크 사용량을보고합니다.
du-특정 파일/디렉토리의 디스크 사용량을보고합니다.
덜-매뉴얼 페이지를 보는 데 필요합니다! 또한 쉽게 찾을 수있는 방식으로 명령 출력을 보는 데 유용합니다.
vim/Emacs/nano/pico/ed-텍스트 편집기가 무엇이든 상관없이 필요한 이유를 설명합니다.
모든 기본 도구를 배우고 Perl을 배우십시오.
Perl은 텍스트 조작에 이상적이며 un * x 연산자는 텍스트 파일, 파이프, 입력 및 출력에 있기 때문에 Perl은 매우 적합합니다.
추가 된 보너스는 Perl이 크로스 플랫폼이며 Windows 상자에서 작업을 수행해야하는 경우 이미 알고있는 쉽게 설치할 수있는 언어 (서버에 Perl 디렉토리를 놓기 만하면 됨)가 있다는 것입니다.
그리고 그 생각의 기차에서 Cygwin도 얻으십시오. 유닉스 관리자이고 ls, rm, grep, sed, tail 등이있는 Windows 상자 (데스크톱 포함)에서 작업해야하는 경우 OS를 전환 할 때 많은 시간을 절약 할 수 있습니다.
현대 시스템 스크립팅의 잊혀진 할아버지. 저는 Perl이 Bash 스크립팅, Python, Ruby 및 [여기에 가장 좋아하는 스크립팅 언어 삽입]과 함께 대부분의 사랑을 받고 있다는 것을 알고 있으며 오해하지 마십시오. 저는 Perl을 좋아합니다. 나는 거의 매일 그것을 사용합니다.
그러나 sed와 awk를 잊거나 간과하거나 무시해서는 안됩니다. 대부분의 경우 sed 및 awk가 작업에 가장 적합한 도구입니다. 빠른 예는 sed를 사용한 명령 줄 필터링과 awk를 사용한 빠르고 더티 로그 처리입니다. 둘 다 Perl에서 수행 할 수 있지만 더 많은 작업과 개발 시간이 필요합니다.
rsync, 특히 ssh와 함께 사용합니다. 호스트에서 호스트로 파일을 간단하고 효율적으로 복사 할 수 있습니다. ssh와 rsync없이 어떻게 대처 했습니까? :-)
Netcat.
그들이 말하는 것처럼 네트워크 스위스 군용 칼.
이미 나열된 대부분의 도구를 사용하지만 아직 아무도 다루지 않은 도구가 있습니다.
Puppet -시스템 관리 작업 자동화를위한 시스템
빠른 스크립트, 자동화 등의 경우 :
* NIX 서버에 연결하려면 :
아직 언급하지 않은 몇 가지 편리한 도구 :
ClusterSSH는 단일 그래픽 콘솔 창을 통해 여러 xterm 창을 제어하여 명령이 ssh 연결을 통해 여러 서버에서 대화식으로 실행될 수 있도록합니다.
ssh, Vim, htop, su, Python, ls, cd, screen, du, tar :)
vmstat 1
시스템 동작에 대한 훌륭한 개요를 제공합니다.
pv : 리디렉션 할 수있는 긴 작업의 진행률을 표시합니다. http://www.ivarch.com/programs/pv.shtml
네트워크를 통해 원시 블록 장치를 복사/압축하는 것과 같이 오래 걸리는 것을 모니터링하는 것이 유용합니다 (파일 시스템 설정을 조정하는 것과 같은 주요 작업을 다루기 전에 8Gb 넷북의 편집증 백업을 수행하는 방법입니다).
또한 : 위에서 언급 한대로 ssh, rsync, screen, htop 및 netcat에 대해 두 번째 투표를 할 것입니다. 모두 pv보다 중요하지만 pv는 아직 언급되지 않았습니다. 사실 pv는 종종 netcat으로 또는 netcat으로 물건을 연결할 때 유용한 추가 기능입니다.
tar의 출력을 다른 유틸리티로 파이핑하거나, 같은 상자에서 실행되는 tar 또는 SSH를 통해 실행되는 tar는 한 곳에서 다른 곳으로 파일을 이동하는 데 가장 좋아하는 구식 Unix 이동입니다.
또한 한 폴더를 다른 폴더로 복사하고 원본 및 대상 디렉터리의 모든 파일로 끝나는 Windows 스타일 옵션을 제공합니다.
이전에 언급되지 않은 일부 :
이러한 도구의 대부분은 Bash "프로그래밍 가능한 완성"을 사용하여 훨씬 더 강력 해졌습니다. 따라서 명령 줄 옵션과 같은 항목을 탭으로 완성하거나 "apt-get install"을 사용하여 패키지 이름을 말할 수 있습니다. 또한 관련 파일에 대해 탭 작성 항목을 제한합니다. 예를 들어 "unzip"은 지원되는 아카이브 파일 만 완료합니다.
그것은 정말 멍청이입니다-시도한 적이 없다면 아마도 .bashrc를 조작해야 할 것입니다.
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
확실히 이것은 Ubuntu와 Debian에서 사실입니다. 일부 Linux 배포판에서 패키지를 가져와야 할 수 있습니다.
iotop은 디스크에 대한 I/O 액세스를 모니터링하는 최고의 프로그램입니다.
Sudo
.
심각하게 생각, tail -f
는 유용합니다.
몇 가지 추가 답변은 이 유사한 질문 에서 찾을 수 있습니다.
screen은 특히 좋은 .screenrc 파일과 함께 필수입니다. 내가있는 창을 시각적으로 표시하도록 구성했으며 Ctrl + 화살표로 창 사이를 이동할 수 있습니다. 단일 ssh 세션과 여러 셸의 경우 생명의 은인입니다.
내가 언급하고 싶었던 몇 가지를 간과했습니다.
아, 그리고 스크립팅 할 때 항상 Korn을 사용해야한다고 생각합니다. 나는 Korn (밴드가 아니다. 나는 밴드를 사랑한다 :-P)을 싫어하지만 말 그대로 모든 곳에있다. 스크립트를 가져 와서 Solaris, AIX 및 Linux간에 이동할 수 있으며 관리자가 Bash를 설치할 수 있는지 여부에 대해 걱정할 필요가 없습니다.
때때로 매우 편리한 도구 중 하나는 Nohup입니다. 원격 SSH 클라이언트를 사용하여 오랫동안 지속되는 스크립트를 실행하는 데 사용합니다.
shutdown 명령.
나는 명령 줄에서 "for"뿐만 아니라 AWK를 좋아한다.
특히 실행하고 싶은 명령 목록을 작성하고 한꺼번에 실행합니다.
man-매뉴얼 페이지를 읽습니다.
elinks-Google을 확인하려면 지옥이 모든 것을 기억할 수 없습니다.
그리고 세부 사항과 끈기에주의를 기울이십시오. 왜냐하면 그들 없이는 시간을 낭비하기 때문입니다.
가능한 경우 GNU 위의 독점 버전에 대한 버전.
이것은 내가 매일 사용하는 도구입니다 (시스템 관리자보다 개발자로서)
Perl과 Vim. 그와 같은 순서로. 다른 것은 Perl을 사용하여 어떻게 든 에뮬레이션 할 수 있습니다.
모든 표준 명령 및 유틸리티 (Bash, grep, sed, AWK, find, xargs, ssh, Vim 등)
프로세스 종료를위한 pkill 또는 ps.
Ps를 사용하여 주어진 이름 또는 특정 디렉토리 blah (또는 필요한 일치하는 문자열)에서 프로세스를 종료하려면 다음을 수행 할 수 있습니다.
kill `ps -ef | grep <blah> | grep -v grep | awk '{print $2}'`
물론 명령 줄 외에도 Nagios/Cacti/MRTG/etc가 필요합니다.
munin은 용량 분석 및 검토를 수행하기위한 훌륭한 도구이지만 필요하기 전에 설정해야합니다. 우리는 우리가 수행하는 모든 서버 설치의 표준 부분으로 설치합니다.