최고의 B 의 Linux Shell 명령 시리즈 연재 (3)

1. 현재 마 운 트 된 파일 시스템 을 더 우호 적 으로 표시 합 니 다.

1
mount | column -t

이 명령 은 모든 파일 시스템 에 적 용 됩 니 다. column 은 출력 결 과 를 목록 포맷 작업 에 사용 합 니 다. 여기 서 가장 중요 한 목적 은 columnt 의 용법 을 익히 는 것 입 니 다.다음은 mount 명령 만 사용 한 결과 입 니 다.

1
2
3
4
5

$ mount
 
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

column - t 명령 을 추가 하면 이렇게 됩 니 다.

1
2
3
4
5

$ mount | column -t
 
/dev/root on / type ext3 (rw)
/proc on /proc type proc (rw)
/dev/mapper/lvmraid-home on /home type ext3 (rw,noatime)

또한 출력 결 과 를 개선 하기 위해 열 이름 을 붙 일 수 있 습 니 다.

1
2
3
4
5
6

$ (echo "DEVICE - PATH - TYPE FLAGS" && mount) | column -t
 
DEVICE                    -   PATH   -     TYPE   FLAGS
/dev/root                 on  /      type  ext3   (rw)
/proc                     on  /proc  type  proc   (rw)
/dev/mapper/lvmraid-home  on  /home  type  ext3   (rw,noatime)

열 2 와 열 4 는 그다지 우호 적 이지 않 습 니 다. 우 리 는 awk 로 다시 처리 할 수 있 습 니 다.

1
2
3
4
5
6

$ (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t
 
DEVICE                    PATH   TYPE   FLAGS
/dev/root                 /      ext3   (rw)
/proc                     /proc  proc   (rw)
/dev/mapper/lvmraid-home  /home  ext3   (rw,noatime)

마지막 으로 닉네임 을 설정 할 수 있 습 니 다. nicemount 입 니 다.

1

$ nicemount() { (echo "DEVICE PATH TYPE FLAGS" && mount | awk '$2=$4="";1') | column -t; }

시험 해 보다

1
2
3
4
5
6

$ nicemount
 
DEVICE                    PATH   TYPE   FLAGS
/dev/root                 /      ext3   (rw)
/proc                     /proc  proc   (rw)
/dev/mapper/lvmraid-home  /home  ext3   (rw,noatime)

2. 이전 셸 명령 을 실행 하고 명령 줄 의 모든 "foo"를 "bar"로 교체 합 니 다.

1
!!:gs/foo/bar
!!
이전 명령 을 반복 해서 실행 하고 사용 하 는 것 을 나타 낸다.:gs/foo/bar
교체 작업 을 진행 하 다.
... 에 대하 여!!
이 용법 은 앞의 문장 에 있다.
상세 한 소개 가 있 습 니 다.
3. 어떤 디 렉 터 리 에서 최신 변 경 된 파일 보기

1
watch -d -n 1 'df; ls -FlAt /path'

watch 는 실시 간 모니터링 도구 입 니 다. - d 매개 변 수 는 변화 하 는 구역 을 밝 게 표시 합 니 다. - n 1 매개 변 수 는 새로 고침 간격 이 1 초 라 고 표시 합 니 다.df; ls - flAt/path 에서 두 명령 을 실 행 했 습 니 다. df 는 출력 디스크 사용 상황 입 니 다.ls -FlAt
/path 아래 의 모든 파일 을 보 여 줍 니 다.ls - flAt 의 인자 상세 설명:
  • - F 파일 뒤에 파일 기 호 를 추가 하여 파일 형식 을 표시 합 니 다. 모두/= > @ | 이 몇 가지 유형 으로 실행 가능 한 파일 을 표시 합 니 다./디 렉 터 리 를 표시 합 니 다. = 인터페이스 (sockets) 를 표시 합 니 다. > 문 을 표시 합 니 다. @ 기호 링크 를 표시 합 니 다. | 파 이 프 를 표시 합 니 다.
  • - l 목록 으로 표시
  • - A 표시 ...
  • - t 시간 에 따라 파일 정렬
  • 4. SSH 를 통 해 원 격 호스트 의 폴 더 마 운 트
    
    1
    
    
    sshfs name@server:/path/to/folder /path/to/mount/point

    이 명령 은 SSH 를 통 해 원 격 호스트 의 파일 시스템 을 로 컬 디스크 로 불 러 올 수 있 습 니 다. 전 제 는 FUSE 와 sshfs 두 소프트웨어 를 설치 해 야 한 다 는 것 입 니 다.
    역자 주
    : sshfs 에 대해 서 는 실제로 제 가 전에 글 을 써 서 소개 한 적 이 있 습 니 다. 상세 한 것 은 Ubuntu 에서 sshfs 를 사용 하여 원 격 ssh 파일 시스템 을 로 컬 디스크 로 표시 하 는 것 을 참조 하 십시오.
    . 마 운 트 해제 시 fusermount 또는 umount 명령 을 사용 합 니 다:
    
    1
    2
    
    
    $ fusermount -u /path/to/mount/point
    # umount /path/to/mount/point

    5. DNS 를 통 해 Wikipedia 의 단 어 를 읽 습 니 다.
    
    1
    
    dig +short txt .wp.dg.cx

    이것 은 아마도 가장 재 미 있 는 기교 일 것 이다. David Leadbeater 는 DNS 서버 를 만 들 었 다.
    이것 을 통 해 TXT 기록 형식 을 조회 할 때 위 키 백과 에서 온 짧 은 단어 문 자 를 되 돌려 줍 니 다. 이것 은 그의 소개 입 니 다.
    . 여기 에는 'hacker' 의 의 미 를 조회 하 는 사례 가 있 습 니 다.
    
    1
    2
    3
    4
    5
    6
    7
    8
    
    
    $ dig +short txt hacker.wp.dg.cx
     
    "Hacker may refer to: Hacker (computer security), someone involved in computer security/insecurity, Hacker (programmer subculture), a programmer subculture originating in the US academia in the 1960s, which is nowadays mainly notable for the free software/” “open source movement, Hacker (hobbyist), an enthusiastic home computer hobbyist http://a.vu/w:Hacker"

    dig 명령 을 사 용 했 습 니 다. 이것 은 DNS 를 조회 하 는 시스템 관리 도구 입 니 다. + short 인 자 는 문자 응답 만 되 돌려 주 고 txt 는 TXT 기록 형식 을 지정 합 니 다.더 간단 한 방법 은 이 기술 에 함 수 를 만 들 수 있다 는 것 이다.
    
    1
    2
    3
    4
    5
    
    
    wiki() { dig +short txt $1.wp.dg.cx; }
    #然后试试吧:
    wiki hacker
     
    "Hacker may refer to: Hacker (computer security), …"

    dig 를 사용 하고 싶 지 않 으 면 host 명령 을 사용 할 수도 있 습 니 다.
    
    1
    
    
    host -t txt hacker.wp.dg.cx

    또한 트 위 터 에서 누군가의 아 이 디 어 를 본 적 이 있 으 며, 일반적인 dns 로 프로그램 버 전 업데이트 조회 서버: 도 메 인 이름 설정software-version-check.example.com
    기록1.2.40.3
    , 자신의 버 전 번 호 를 비교, 응, 업데이트 되 었 습 니 다!
    6. 웹 사이트 전 체 를 Wget 재 귀적 으로 다운로드
    
    1
    
    wget --random-wait -r -p -e robots=off -U Mozilla www.example.com

    매개 변수 설명:
    – random - wait 는 0.5 초 에서 1.5 초 를 기다 리 며 다음 요청 을 진행 합 니 다.
    - r 재 귀적 검색 열기
    - e robots = off robots. txt 무시
    - U Mozilla 는 User - agent 헤드 를 Mozilla 의 다른 유용 한 인자 로 설정 합 니 다.
  • – limit - rate = 20K 다운로드 제한 속도 20K
  • - o logfile. txt 기록 다운로드 로그
  • - l 0 삭제 깊이 (기본 값 5)
  • - wait = 1h 파일 을 다운로드 할 때마다 1 시간 대기
  • 7. 마지막 으로 사용 한 명령 의 인 자 를 복사 합 니 다.
    
    1
    
    <Ctrl + .> or <ESC + . >

    이 단축 키 는 셸 의 emacs 편집 모드 에서 만 작 동 합 니 다. 마지막 으로 사용 한 명령 줄 에서 현재 명령 줄 로 파 라 메 터 를 복사 할 수 있 습 니 다. 다음은 샘플 입 니 다.
    
    1
    2
    3
    4
    5
    
    
    $ echo a b c
    a b c
     
    $ echo
    $ echo c

    필요 한 인 자 를 얻 기 위해 이 단축 키 를 반복 해서 실행 할 수 있 습 니 다. 다음은 예시 입 니 다.
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    
    $ echo 1 2 3
    1 2 3
    $ echo a b c
    a b c
     
    $ echo
    $ echo c
     
    $ echo  again
    $ echo 3

    또한, 첫 번 째 또는 두 번 째 인 자 를 지정 하거나 n 번 째 인 자 를 지정 하려 면 ALT + 1 (또는 ESC + 1) 또는 ALT + 2 (또는 ESC + 2) 와 같은 형식의 단축 키 를 누 를 수 있 습 니 다.다음은 샘플 입 니 다.
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    
    $ echo a b c
    a b c
     
    $ echo
    $ echo a
    a
     
    $ echo
    $ echo b
    b

    Emacs 편집 모드 보기 키보드 단축 키
    유사 한 단축 키 를 더 가 져 옵 니 다.
    8. 명령 을 실행 하지만 history 에 저장 하지 않 습 니 다.
    
    1
    
    
    $ command

    이 명령 은 다른 셸 에 서 는 테스트 되 지 않 은 최신 Bash 셸 에서 실 행 될 수 있 습 니 다.명령 행 앞 에 빈 칸 을 추가 하면 이 명령 이 bash history (~/. bash history) 파일 에 저장 되 는 것 을 막 을 수 있 습 니 다. 이 동작 은 $HISTIGNORE 셸 변 수 를 통 해 제어 할 수 있 습 니 다.내 설정 은 HISTIGNORE = "&: [] *"입 니 다. 중 복 된 명령 을 history 에 저장 하지 않 고 빈 칸 으로 시작 하 는 명령 줄 을 저장 하지 않 는 다 는 뜻 입 니 다. $HISTIGNORE 의 값 은 콜론 으로 구 분 됩 니 다.명령 에 비밀번호 가 포함 되 어 있다 면, 예 를 들 어mysqladmin
    역사 에 기록 하지 않 는 것 은 좋 은 주의 다.이 글 을 더 깊이 이해 하면 The Definitive Guide to Bash Command Line History
    9. 현재 디 렉 터 리 의 모든 하위 디 렉 터 리 크기 보이 기
    
    1
    
    du -h --max-depth=1

    – max - depth = 1 매개 변 수 는 du 명령 으로 현재 디 렉 터 리 아래 1 급 하위 디 렉 터 리 의 통계 정 보 를 표시 할 수 있 습 니 다. 물론 1 을 2 로 바 꾸 고 2 급 하위 디 렉 터 리 의 통계 정 보 를 더 표시 하여 유연 하 게 활용 할 수 있 습 니 다.- h 인 자 는 Mb, G 와 같은 단위 로 크기 를 표시 합 니 다.
    역자 주
    : 작은 도구 ncdu 를 추천 합 니 다. 이 효 과 를 더욱 편리 하 게 얻 을 수 있 습 니 다.
    10. 메모리 사용량 으로 최대 10 개의 실행 중인 프로 세 스 를 표시 합 니 다.
    
    1
    
    ps aux | sort -nk +4 | tail

    분명히 이것 은 결코 가장 좋 은 방법 은 아니 지만, 그것 은 확실히 사용 하기에 괜찮다.이것 은 전형 적 인 파이프 응용 프로그램 입 니 다. ps aux 를 통 해 sort 명령 을 출력 하고 sort 정렬 로 4 칸 을 표시 한 다음 에 tail 명령 으로 이동 합 니 다. 최종 출력 10 줄 은 메모리 사용 이 가장 많은 프로 세 스 상황 을 표시 합 니 다.어떤 프로 세 스 가 많은 메모 리 를 사 용 했 는 지 발견 하려 면 ps 가 아 닌 htop 이나 top 을 사용 합 니 다.
    11. python 으로 SMTP 서 비 스 를 빠르게 시작 합 니 다.
    
    1
    
    
    python -m smtpd -n -c DebuggingServer localhost:1025

    이것 은 Python 표준 라 이브 러 리 smtpd (- m smtpd 로 지정) 로 간단 한 SMTP 서 비 스 를 실현 하고 1025 포트 에서 실 행 됩 니 다. 다른 세 가지 매개 변 수 는 다음 과 같 습 니 다.
    - n 매개 변 수 는 Python 이 setuid (사용자 변경) 를 'nobody' 로 하지 않도록 합 니 다. 즉, 계 정 으로 직접 실행 하 는 것 입 니 다.
    - c DebuggingServer 인 자 는 Python 이 실 행 될 때 디 버 깅 및 실행 정 보 를 화면 에 출력 하 는 것 입 니 다 * localhost: 1025 인 자 는 Python 이 로 컬 1025 포트 에서 SMTP 서 비 스 를 시작 하도록 하 는 것 입 니 다. 또한 프로그램 을 표준 25 포트 에서 실행 시 키 려 면 sudo 명령 을 사용 해 야 합 니 다. 루트 만 1 - 1024 포트 에서 서 비 스 를 시작 할 수 있 기 때 문 입 니 다. 다음 과 같 습 니 다.
    
    1
    
    sudo python -m smtpd -n -c DebuggingServer localhost:25

    좋은 웹페이지 즐겨찾기