일상 개발 중인 셸 팁

2339 단어
도구 추천
  • 명령 행 에서 편리 한 코드 통계 도구 인 cloc
  • 강력 한 스크린 도구 --- tmux
  • 가장 편안 한 markdown 쓰기 도구 --- typora
  • markdown 도상 추천 - 칠 우 운
  • 아 날로 그 엔트로피 생 성 (폭력 적 인 손 으로 키 보드 를 비비 지 않도록)
    컴퓨터 자 체 는 예측 가능 한 시스템 (예 를 들 어 시작 하 는 과정) 이기 때문에 컴퓨터 알고리즘 은 진정한 임 의 수 를 만 들 수 없다.그러나 기계 의 환경 에는 하드웨어 장치 가 중단 되 는 시간, 사용자 가 마 우 스 를 클릭 하 는 시간 간격 등 다양한 랜 덤 소음 이 가득 하 다. 이런 사건 들 은 완전히 랜 덤 으로 사전에 예측 할 수 없다.한편, Linux 커 널 이 실현 하 는 랜 덤 생산 기 는 바로 시스템 의 이러한 랜 덤 소음 을 이용 하여 고 품질 랜 덤 수 서열 을 만 드 는 것 이다.Liux 커 널 은 장치 드라이버 와 다른 소스 에서 온 환경 소음 을 수집 하기 위해 엔트로피 풀 을 유지 합 니 다.다음 명령 을 입력 하여 시스템 엔트로피 값 을 볼 수 있 습 니 다:
    cat /proc/sys/kernel/random/entropy_avail

    gpg 생 성 키 와 같은 고 품질의 시스템 난수 명령 이 필요 합 니 다. 시스템 엔트로피 풀 은 비교적 높 은 값 을 유지 하여 안전성 이 높 은 암 호 를 생 성 해 야 합 니 다.폭력 적 으로 키 보드 를 누 르 는 것 은 분명 통 하지 않 을 것 이다. 이 때 는 명령 행 에 다음 명령 을 입력 하여 엔트로피 값 을 빠르게 올 려 야 한다.
    sudo rngd -r /dev/urandom  -o /dev/random  -f   

    /dev/urandom 과/dev/random 은 커 널 이 제공 하 는 출력 랜 덤 수의 문자 장치 입 니 다. rngd 는 커 널 랜 덤 수 생 성 과 관련 된 도구 입 니 다. 구체 적 인 정 보 는 전송 문 을 참조 할 수 있 습 니 다.
    git 제출 시 비밀 번 호 를 입력 하지 않 는 방법
    git 는 일상적인 개발 3 대 이기 중 하나 이지 만 git 의 설정 에 대해 많은 세부 사항 이 있 습 니 다. 예 를 들 어 제출 할 때마다 비밀 번 호 를 입력 해 야 합 니 다. 만약 에 많은 조작 이 있 으 면 매번 계 정과 비밀 번 호 를 입력 하 는 것 이 정말 골 치 아 픕 니 다. 하 나 는 ssh 키 를 설정 하 는 것 입 니 다. 그러나 http 방식 에 대해 서 는 통 하지 않 습 니 다. 이때 우 리 는 다음 명령 을 입력 할 수 있 습 니 다.
    git config --global credential.helper store

    이 명령 의 역할 은 로 컬 에 인증서 파일 을 만 드 는 것 입 니 다. 정확 한 사용자 이름과 비밀 번 호 를 입력 하 는 것 을 자동 으로 저장 합 니 다. 한 번 만 입력 하면 git 는 자동 으로 저장 합 니 다. 그 다음 작업 은 비밀 번 호 를 입력 하지 않 아 도 됩 니 다.구체 적 인 문서 링크: 전송 문
    암 호 를 자동 으로 입력 하 는 스 크 립 트, expect 기반
    이 글 은 인증 서 를 저장 함으로써 git 작업 에 비밀 번 호 를 입력 하지 않 아 도 된다 고 말 했 습 니 다. 그러나 다른 명령 에 서 는 이렇게 편리 한 명령 자체 설정 이 없다 면 어떻게 해 야 합 니까?또한 현재 폴 더 에 있 는 모든 deb 파일 을 암호 화 하 는 등 여러 번 비밀 번 호 를 계속 입력 해 야 한다 면 수 동 으로 한 번 입력 하려 면 매우 고통스러운 과정 입 니 다. 이것 은 우리 가 셸 의 상호작용 을 모 의 해 야 합 니 다. except 시리즈 명령 은 좋 은 도구 입 니 다. 예제 스 크 립 트 는 다음 과 같 습 니 다.
    #!/usr/bin/expect
    set password "xxxxxx"  #         
    set files [glob -nocomplain -- ./*.deb]  #          deb  
    puts "[llength $files]"  #        
    for {set i 0} {$i

    expect 의 문법 은 tcl 기반 으로 bash 의 스 크 립 트 쓰기 와 약간 다르다.이것 은 tcl 문법 튜 토리 얼 의 링크 입 니 다: 전송 문.이것 은 expect 튜 토리 얼 의 링크 입 니 다: 전송 문

    좋은 웹페이지 즐겨찾기