유닉스 관리자가 [폐쇄] 없이는 살 수없는 도구


33

유닉스 나 유닉스 계열 서버를 관리 한 후에는 어떤 도구 (가급적 명령 줄) 없이는 살 수 없다고 생각하십니까?

답변:



34

일부는 내가 없이는 살 수 없다는 것을 알고 있습니다 ...

  • 티-STDOUT (표준 출력)과 파일에 동시 쓰기를 허용합니다. 정보를보고 나중에 기록하기에 좋습니다.

  • top-UNIX의 작업 관리자는 시스템에 대한 훌륭한 개요를 제공합니다.

  • tail -f-파일이 증가함에 따라 추가 된 데이터를 볼 수있어 서버에서 로그 파일을 모니터링하는 데 좋습니다.

  • grep-파일에서 데이터를 검색 할 때 유용합니다.

  • df-현재 파일 시스템의 디스크 사용량을보고합니다.

  • du-특정 파일 / 디렉토리의 디스크 사용량을보고합니다.

  • 덜-매뉴얼 페이지를 볼 필요가! 쉽게 찾을 수있는 방식으로 명령의 출력을 보는 데 유용합니다.

  • vim / Emacs / nano / pico / ed-선택한 텍스트 편집기가 무엇이든지, 왜 필요한지에 대한 설명이 필요합니다.


모르는 사람들에게 'less'는 'more'의 업데이트 버전입니다. 파일 위로 앞으로 만 이동할 수있는 반면 더 적게 뒤로 스크롤 할 수 있기 때문에 더 많은 제한이있었습니다. Ah the humour ... :-)
Iain Holder 11

8
less의 또 다른 유용하지만 거의 알려진 기능은 항상 'v'명령을 사용하여 현재보고있는 파일 편집을 시작할 수 있다는 것입니다. 니모닉은 'vi'의 경우 'v'입니다.
dr-jan

more또는 을 좋아하지 않으면 less언제든지 시도해 볼 수 있습니다 most.
drybjed 2016 년

내가 선호하는 PAGER는 이제 실제로 3m입니다. 그것은 더 적은 모든 기능을 가지고 있으며, 텍스트 모드 웹 브라우저로 두 배가 될 수 있습니다 :-) 또한 읽기 전용 모드에서 vim을 사용하기 위해 bash 함수를 사용했습니다 (예를 들어 멋진 색상 차이를 얻습니다). bash 함수는 '-'(stdin을 읽기 위해)를 제공할지 여부를 결정하는 데 사용됩니다 (파일을 페이징하는 경우). nroff가 오버 스트라이크하는 매뉴얼 페이지를 제외하고는 매력처럼 작동합니다.
njsf 2016 년

1
htop의 "더 나은"버전입니다 top.
Alexander Bird

26

lsof 는 파일이나 디렉토리를 사용하는 프로세스를 결정합니다 (장치가 마운트 해제되는 데 방해가되는 요소를 알아낼 때 유용함)

netstat 는 어떤 프로세스가 네트워크 연결을 사용하고 있는지를 결정합니다 (특정 포트에 바인딩 된 데몬을 알아낼 때 특히 유용합니다)


1
lsof가 있으면 netstat가 필요하지 않습니다. 그냥 lsof -i와 사용
vartec

lsof -n은 내가 가장 좋아하는 호출입니다. 나는 그것을 깎기 위해 grep로 파이프합니다
Matt Simmons

19

모든 기본 도구를 배우고 Perl을 배우십시오.

Perl은 텍스트 조작에 이상적이며, * x 연산자는 텍스트 파일, 파이프, 입력 및 출력에 존재하므로 Perl은 매우 적합합니다.

추가 보너스는 Perl이 크로스 플랫폼이며 Windows 상자에서 일부 작업을 수행 해야하는 경우 이미 알고있는 쉽게 설치할 수있는 (서버에 Perl 디렉토리를 놓기) 언어가 있습니다.

그리고 그 생각의 기차에서 Cygwin도 얻으십시오. * * 관리자가 아니고 ls, rm, grep, sed, tail 등이있는 Windows 상자 (데스크톱조차)에서 작업 해야하는 경우 OS를 전환 할 때 많은 시간을 절약 할 수 있습니다.


18
  • sed
  • 어 wk

현대 시스템 스크립팅의 잊혀진 할아버지. 나는 Perl이 Bash 스크립팅, Python, Ruby 및 [좋아하는 스크립팅 언어 삽입]과 함께 대부분의 사랑을 얻는다는 것을 알고 있습니다. 나는 거의 매일 그것을 사용합니다.

그러나 sed와 awk를 잊거나 간과하거나 무시해서는 안됩니다. 많은 경우, sed와 awk가 작업에 가장 적합한 도구입니다. 빠른 예는 sed를 사용한 명령 줄 필터링과 awk를 사용한 빠르고 더러운 로그 처리입니다. 둘 다 Perl에서 수행 할 수 있지만 더 많은 작업과 개발 시간이 필요합니다.


13

rsync, 특히 ssh와 함께 사용합니다. 호스트에서 호스트로 파일을 간단하고 효율적으로 복사 할 수 있습니다. ssh와 rsync없이 어떻게 대처 했습니까? :-)


12

넷캣.

  • TCP 서비스가 수신 중인지 테스트하십시오.
  • SMTP와 같은 일반 텍스트 프로토콜에 대한 트랜잭션을 수행하십시오.
  • 기계간에 신속하고 안전하지 않은 데이터 전송
  • 텔넷 클라이언트 에뮬레이션

그들이 말하는 것처럼 네트워크 스위스 군용 칼.


나는 최근에 netcat의 대체품으로 socat을 사용하기 시작했고 그것이 제공하는 많은 옵션에 놀랐습니다. 무서운 스위치와 이상한 구문에도 불구하고 확실히 체크 아웃 할 가치가 있습니다.
Marcin

12

직면하십시오-조만간 네트워크를 다루게 될 것입니다. mtr , tcpdumptshark 는 무슨 일이 일어나고 있는지 보는 데 정말 유용합니다.


9

빠른 스크립트, 자동화 등 :

  • 세게 때리다

* NIX 서버에 연결하려면 다음을 수행하십시오.

  • SSH 열기 (Linux 클라이언트)
  • 퍼티 (Windows 클라이언트)

+1 .. 글쎄요. 특히 Perl. * nix, Windows 또는 Mac, 그것 없이는 내가 할 일을 상상할 수 없습니다.
John Gardeniers

9

이미 나열된 대부분의 도구를 사용하지만 아직 아무도 다루지 않은 도구는 다음과 같습니다.

꼭두각시 -시스템 관리 작업 자동화를위한 시스템



6

대부분의 표준 답변은 다른 답변에 포함되어 있으므로 비표준 답변으로 이동합니다.

  • htop- 프로세스 관리에 적합합니다.
  • pinfo — 정보 및 매뉴얼 페이지를위한 브라우저와 같은 lynx입니다.

6

아직 보지 못한 몇 가지 편리한 도구는 다음과 같습니다.

  • dstat --nocolor (cpu-, 디스크, net-usage 개요)
  • iftop (네트워크 트래픽에 대한 훌륭한 동적 개요)
  • ccze (컬러 로그 파일을 멋지게)
  • ssh tunnels (한동안 유용 할 수 있습니다; 매뉴얼 참조; -R)
  • 예상 (대화식에 대화 형, 대화 형 대화 인터페이스 자동화, 멋지다)

+1 "tail -f <file> | ccze"= 로그 파일을 읽는 놀라운 방법.
Lin

+1expect
Alexander Bird

dstat의 경우 +1 vmstat, iostat 등을 대체하는 가장 좋은 방법입니다.
Christopher Cashell

5

ClusterSSH

ClusterSSH는 단일 그래픽 콘솔 창을 통해 여러 xterm 창을 제어하여 ssh 연결을 통해 여러 서버에서 명령을 대화식으로 실행할 수 있습니다.


... 그리고 ClusterSSH가 Perl로 작성되었으므로 아마도 Perl을 배워야합니다.
브래드 길버트

ClusterSSH와 GNU 화면의 차이점은 무엇입니까? 또는 동일한 개념의 다른 구현입니까?
Alexander Bird


4

pv : 리디렉션 할 수있는 긴 작업의 진행률을 표시합니다. http://www.ivarch.com/programs/pv.shtml

유용하면 네트워크를 통해 원시 블록 장치를 복사 / 압축하는 것과 같이 오래 걸릴 일을 모니터링하고 싶습니다.

또한 : 위의 사람들이 언급 한대로 ssh, rsync, screen, htop 및 netcat에 대해 두 번째 투표를 할 것입니다. 모두 pv보다 중요하지만 pv는 아직 언급되지 않았습니다. 실제로 pv는 물건을 netcat으로 또는 그로부터 배관 할 때 유용한 추가 기능입니다.


pv편리한 도구가 될 수 있지만이를 과도하게 사용하지 마십시오. 데이터를 전달하면 성능에 절대적으로 영향을 미칩니다 (모든 데이터는 다른 프로그램 을 통과해야 함 ). 마지막 작업에서 많은 로그 처리를 수행했습니다. 그 중 한 명이 처리 시간에 약 15 %가 추가 될 때까지 모든 로그 처리 스크립트에 pv를 넣기로 결정했습니다. 이제 몇 분 이내에 걸리거나 기존 자원 제한이있는 작업 (예 : 느린 네트워크 연결을 넘는 작업)에만 사용됩니다.
Christopher Cashell

크리스토퍼가 좋은 점은 없지만 15 % 정도의 성능 변화를 일으키는 것을 본 적이 없었습니다 (다시 말해, 내가 사용하는 대부분은 pvCPU / 메모리 바운드가 아닌 디스크 또는 네트워크 I / O 바운드입니다). 같은 주장도 지나치게 과도하게 사용하는 것에 대한 핵심 논점입니다 cat(실제로 왼쪽에서 오른쪽으로 읽는 것이 좋지만 파이프를 통한 여분의 인 메모리 데이터 복사 및 컨텍스트 전환은 고양이를 사용할 수 있습니다) 측정 가능한 성능 영향).
David Spillett

그래, 나도 똑같아 과도한 cat사용의 대부분 은로 시작 cat foo하여 "위쪽"화살표를 누른 다음 | [command]이전 줄에 추가 합니다. 나는 고양이를 거기에 두어 (작은) 성능을 발휘하고 있음을 알고 있지만 명령을 다시 작성 / 다시 입력하는 것보다 적은 노력이 필요합니다 [command] < foo. (대부분의) 임시 명령 줄 작업에는 관심이 없지만 스크립트에는 이상적이지 않습니다 (내가 생각하는 것과 같음 pv).
Christopher Cashell

4

ssh, Vim, htop, su, Python, ls, cd, screen, du, tar :)



3

전에 언급되지 않은 일부 :

  • 머리 / 꼬리
  • 차이
  • pstree
  • 타르
  • gzip / bzip
  • 손목 시계

pstree +1은 매우 달콤합니다.
Lin

3

타르 파이프!

tar의 출력을 다른 유틸리티, 같은 상자에서 실행되는 tar 또는 SSH를 통해 실행되는 tar로 파이핑하는 것은 파일을 한 곳에서 다른 곳으로 옮기는 데 가장 좋아하는 구식 Unix 이동입니다.

또한 하나의 폴더를 다른 폴더로 복사하고 원본 및 대상 디렉토리의 모든 파일로 끝나는 Windows 스타일 옵션을 제공합니다.



3

iotop은 디스크에 대한 I / O 액세스를 모니터링하는 최상위 프로그램입니다.


최신 커널에서만 사용할 수 있지만 매우 좋습니다.
Sean Reifschneider

3

이러한 도구는 대부분 Bash "프로그램 가능 완료"를 사용하여 훨씬 강력 해 지므로 명령 줄 옵션과 같은 항목을 탭 완성하거나 "apt-get install"로 패키지 이름을 말할 수 있습니다. 또한 관련 파일에 대해 탭 완성 항목을 제한합니다. 예를 들어 "unzip"은 지원되는 아카이브 파일 만 완성합니다.

그것은 정말로 똥개입니다-한번도 시도하지 않았다면 아마도 .bashrc를 피들 링해야합니다.

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
 fi

확실히 이것은 우분투와 데비안에서 사실입니다. 일부 Linux 배포판에서 패키지를 가져와야 할 수도 있습니다.



2

내가 언급하고 싶었던 몇 가지 간과.

  • vim -d 분할 화면 콘솔 diff는 파일의 차이점을 매우 쉽게 볼 수있게합니다.
  • pdsh를 사용하면 직렬 또는 병렬 중 원하는만큼 많은 시스템에서 명령을 쉽게 실행할 수 있습니다 (클러스터 관리자입니다.이 기능이 없으면 작동 할 수 없습니다).
  • nmon 은 균열의 상단과 같습니다. 단일 화면에서 시스템에서 수행되는 작업에 대한 훌륭한 아이디어를 제공합니다. 디스크 I / O, 네트워크 I / O CPU 사용량 및 메모리 사용량을 실시간으로 볼 수 있습니다. 시스템을 프로파일 링 할 때 최소한 재미있는 것이 있습니다.

아, 그리고 스크립팅 할 때 항상 Korn을 사용해야한다고 언급하는 것을 잊었습니다. 나는 Korn (밴드가 아닙니다. 나는 밴드를 좋아합니다 : -P) 말 그대로 어디에나 있습니다. 스크립트를 가져 와서 Solaris, AIX 및 Linux간에 이동할 수 있으며 관리자가 Bash를 설치할지 여부에 대해 걱정할 필요가 없습니다.


2

때로는 매우 편리한 도구 중 하나가 nohup입니다. 원격 SSH 클라이언트를 사용하여 오랫동안 지속되는 스크립트를 실행하는 데 사용합니다.


2

man-매뉴얼 페이지를 읽습니다.

elinks-Google을 확인하려면 지옥이 모든 것을 기억할 수 없기 때문에 확실합니다.

세부 사항 및 강인성에주의를 기울이지 않으면 시간이 낭비되기 때문에.


세부 사항 및 강인성에 대한 관심 +1
cop1152

2

screen은 특히 좋은 .screenrc 파일로 필수입니다. 내가있는 창을 시각적으로 표시하도록 구성했으며 Ctrl + 화살표를 사용하여 창 사이를 이동할 수 있습니다. 단일 ssh 세션과 다중 셸의 경우 이는 생명의 은인입니다.



2

나는 커맨드 라인에서 "for"뿐만 아니라 AWK를 좋아한다.

특히 명령 목록을 작성하고 실행 한 다음 한 번에 모두 실행하고 싶습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.