답변:
vi-모두가 그것을 좋아하는 것은 아니라는 것을 알고 있지만, 모든 * nix 서버에있을 것입니다. 다른 모든 것이 깨지면 구성 파일을 편집해야합니다. 나는 또한 같은 이유로 csh와 sh를 제안 할 것이다.
Windows Sysadmin은 SysInternals에 익숙해야합니다 . 프로그래밍 및 기계로 진행되는 상황을 진단하는 데 모두 귀중합니다.
PuTTY : Windows를위한 훌륭한 무료 SSH 클라이언트. 내가 일한 거의 모든 곳에서 Windows에서 Unix 서버에 연결하는 데 사용했습니다.

sysdamin이 컴퓨터 상자에 물리적으로 있어야 함을 잊지 마십시오!
당신은 적어도 하나를 가지고 있는지 확인해야합니다
일부 친구는 또한 모든 사람이 도구 상자에 있어야한다고 생각하는 10 가지 사항에 대해 씁니다 .
스크립팅.
Windows의 표준 명령 셸조차도 실제로 유용 할 수 있다는 것을 알게되었습니다. 적절한 스크립트 기능을 얻기 위해, 특히 스크립트가 클라이언트 시스템에 배포되어야하는 경우 PowerShell 또는 cygwin을 설치할 필요가 없습니다.
유용한 작은 유닉스 / 리눅스 도구가 많이 있습니다
grep, strace, GNU Screen, locate, rsync, sed, awk 및 tripwire도 꽤 흥미 롭습니다.
목록은 실제로 계속 진행됩니다. 여기 목록보다 훨씬 더 많은 것을 잊었습니다. 또한. * rc 파일 구성과 같이 원하는 방식으로 이러한 도구를 구성하는 방법에 대해 알아 봅니다. 이것은 그들 모두를 훨씬 더 유용하게 만들 것입니다. 예를 들어 다음은 화면에 관심이 있기 때문에 내 .screenrc 파일입니다.
1 startup_message off
2 hardstatus alwayslastline
3 hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
4
5 # Window numbering starts at 1, not 0.
6 bind c screen 1
7 bind 0 select 10
8
9 # Default screens
10 screen -t shell1 1
11 screen -t shell2 2
12 screen -t shell3 3
쉘 스크립팅 툴 : bash / sh, awk, grep, head, tail, less, cat, sort, uniq, wc (및 기타)
Awk를 사용하면 문제를 진단해야 할 때 중요한 로그 파일 또는 기타 파일을 쉽게 분석 할 수 있습니다. 어떤 사람들 perl은 이것을 위해 사용 합니다. 도구 중 하나에 대해 모든 것을 알 필요는 없지만 액세스 로그 또는 http 로그를 확인하고 비정상적인 일이 발생하는지 파악할 수 있도록 무언가를 알아야합니다.
awk를 sort, uniq, tail, grep 및 wc와 결합하여 인생을 아주 쉽게 만듭니다.
일부 쉘 스크립팅에서 혼합하십시오. 다음과 같은 작업을 수행하는 것이 매우 편리합니다.
for i in server1.example.com server2.example.com server3.example.com ; do
xterm -e "ssh ${i} tail -f /var/log/message | grep something ";
done;
이렇게하면에 대한 세 서버의 로그를 정리할 수 있습니다 something. 이와 같은 트릭은 많은 시간을 절약하며 셸 스크립팅 도구 때문입니다.
for i in server{1,2,3}.example.com ; do. 이와 같은 단축키는 입력을 많이 절약합니다.
tail-대부분의 Linux / Unix 시스템에서 사용 가능하면 파일의 마지막 줄 (또는 꼬리 끝)을 볼 수 있습니다. tail -f파일에 추가 된 새로운 줄을 볼 수 있습니다.
Windows의 경우 BareTail을 좋아 합니다.
tail -F(반대하는 tail -f) 당신이 추적-이름으로 행동하는 대신 다음과별로 아이 노드의 수 있습니다.
이것은 아마도 당신이 원하는 대답이 아니지만, 나는 단지 몇 가지 생각을 나누고 싶었습니다. 일반적으로 시스템 관리는 도구뿐만 아니라 사용하는 정신 프레임 워크에 관한 것입니다. 요컨대-어떤 작업을 수행 하려는지 알고 있다면 수행 할 도구를 찾는 것이 매우 간단합니다.
기본적으로 sysadmin이 시스템에 대해 알아야 할 몇 가지 질문이 있습니다.
이제 도구의 개인 선택은 .. 개인입니다.
Btw, vi에 대한 답변은 훌륭합니다!
미디엄
좋은 편집자. 어느 쪽이든 상관없이, 나는 화염 전쟁을 시작하기 위해 확실히 여기에 있지 않습니다. 그러나 훌륭한 편집자 를 배워야합니다 .
나는 거의 모든 것에 Emacs를 사용합니다. Vi (m)도 좋은 예입니다. Windows에서 가장 좋은 것이 무엇인지 확실하지 않지만 언급 한 2의 Win32 변형이 좋을 것이라고 생각합니다.
dmidecode- 실행중인 컴퓨터에 대한 모든 종류의 정보를 얻는 데 탁월
strace- 발행 한 명령이 원하는 방식으로 작동하지 않는 이유를 알 수없는 경우
찾기 -이 작은 명령에는 알고있는 것보다 더 많은 옵션이 있습니다. 매뉴얼 페이지를 읽고 깨달음
xargs- 사물 목록을 처리해야 할 때 매우 편리합니다.
rsync -rsync 및 다양한 옵션을 아는 것은 네트워크에서 데이터를 안전하고 빠르게 이동하는 데 필수적입니다
telnet- 겸손한 telnet 명령은 다른 명령보다 몇 년 동안 더 많은 네트워크 연결 문제를 진단하는 데 도움이되었을 것입니다.
nmap- 아마도 nmap을 제외하고
nc -netcat은 클라이언트가 무엇을하려고하는지 또는 udp를 사용하는 "telnet"을 위해 빠른 서버를 설정하는 데 유용합니다. 튜토리얼을 읽고 실제로 얼마나 강력한 지 확인하십시오
https 서버에 대한 보안 연결을 통한 openssl의 s_client 텔넷은 이상을 진단합니다.
나는 결국 기억할 톤이 더 있다고 확신한다. 업데이트 확인 ;-)
나는 DTrace의 열렬한 팬이되고 있습니다.이 시점에서는 Windows에서 사용할 수 없습니다.
VNC를 언급 한 사람이 아무도없는 것 같습니다 .
유닉스에서는 dmesg. 모든 시스템 진단 메시지를 수집하여 화면에 멋지게 표시합니다.
그렇습니다 .syslogd에 의해 '더 이상 사용되지 않습니다.'하지만 여전히 syslogd 설정을 사용하여 dmesg처럼 멋지게 표시하는 방법을 찾지 못했습니다.
tail /var/log/kern.log