Bash 히스토리는 매우 강력합니다. bash 기록 확장을 효과적으로 사용하는 방법을 이해하면 Linux 명령줄에서 매우 생산적으로 작업할 수 있습니다. 이 기사에서는 다음 bash 기록 확장 기능을 사용하는 15가지 예를 설명합니다. 이벤트 지정자 – 기록의 특정 명령을 나타냅니다. !로 시작합니다. 단어 지정자 – 기록 항목의 특정 단어를 나타냅니다. 일반적으로 이것은 짝수 지정자와 결합됩니다. 지정자와 단어 지정자도 콜론으로 구분됩니다. 수정자 – 이벤트 또는 단어 지정자가 수행한 대체 결과 수정 이 기사는 진행 중
질문 :Linux 환경에서 bash 쉘 스크립트를 어떻게 암호화합니까? 셸 스크립트에는 암호가 포함되어 있으며 실행 액세스 권한이 있는 다른 사람이 셸 스크립트를 보고 암호를 얻는 것을 원하지 않습니다. 내 셸 스크립트를 암호화하는 방법이 있습니까?A: 첫째, 가장 좋은 방법은 셸 스크립트를 암호화하지 않는 것입니다. 셸 스크립트를 보는 사람이 정확히 무엇을 하는지 이해할 수 있도록 셸 스크립트를 제대로 문서화해야 합니다. 비밀번호와 같은 민감한 정보가 포함된 경우 암호화하지 않고 셸 스크립트를 작성하는 다른 접근 방식을 찾아야 합
Linux에서 기본적으로 Bash는 사용자가 명령줄에서 사용할 수 있도록 다음과 같은 표준 완성 기능을 제공합니다. 변수 이름 완성 사용자 이름 완성 실행 가능 완료 파일 이름 및 디렉토리 완성 호스트 이름 완성 1. 변수 이름 완성 터미널에 $를 입력한 후 탭을 두 번 누르면 아래와 같이 사용 가능한 모든 쉘 변수가 표시됩니다. $ echo $[TAB][TAB]$_ $COMP_POINT $HOSTTYPE $PS1$_backup_glob $COMPREPLY $IFS $PS2$BASH $COMP_TYPE $inx $PS4$B
Linux에서 명령을 입력하는 동안 TAB 키를 두 번 누르면 입력된 문자로 시작하는 사용 가능한 모든 명령이 나열됩니다. 이것은 새로운 것이 아니며 아마도 이미 이것에 대해 알고 있을 것입니다. 이 기능을 bash 완성이라고 합니다. 기본 파일 및 디렉토리 이름 완성은 기본적으로 bash 명령줄에서 사용할 수 있습니다. 그러나 우리는 이 bash 완료를 터보 차지할 수 있으며 complete 명령을 사용하여 다음 단계로 이동할 수 있습니다. 이 튜토리얼에서는 프로그램 가능한 완성을 사용하여 옵션과 명령의 인수에 자동 완성을
Readline은 또한 홈 디렉토리에서 .inputrc 구성 파일을 편집하여 사용자 정의 키 바인딩을 매핑할 수 있는 기능을 제공합니다. 다음은 정의할 수 있는 두 가지 유형의 사용자 지정 키 바인딩입니다. 매크로 기능 매크로 실행될 때 커서의 현재 위치에서 문자열을 채우는 키 바인딩을 정의할 수 있습니다. 이렇게 하려면 .inputrc 구성 파일에 다음 형식의 줄을 추가합니다(또는 아직 존재하지 않는 경우 파일 생성): <key combination>: <string of characters> 예
입력 및 출력 리디렉션은 모든 프로그래밍 또는 스크립팅 언어의 자연스러운 기능입니다. 기술적으로 컴퓨터와 상호 작용할 때마다 본질적으로 발생합니다. stdin에서 입력을 읽습니다. (표준 입력, 일반적으로 키보드 또는 마우스), 출력은 stdout으로 이동합니다. (표준 출력, 텍스트 또는 데이터 스트림) 및 오류는 stderr로 전송됩니다. . 이러한 데이터 스트림이 존재한다는 것을 이해하면 Bash 또는 Zsh와 같은 셸을 사용할 때 정보가 어디로 가는지 제어할 수 있습니다. 표준 입력, 표준 출력 및 표준 오류는 Linux에
나는 스스로를 행복한 Bash 사용자라고 생각합니다. 그러나 Unix를 탐색하기 시작했을 때 기본적으로 tcsh를 제공하는 독점 Unix 시스템에 있었기 때문에 가장 초기의 셸 경험은 최신 버전의 C 셸(csh)에 있었습니다. tcsh는 내가 나중에 일하게 된 영화 스튜디오에서 선택한 쉘이기도 했기 때문에 운이 좋은 사고였습니다. 오늘날까지 논리적 상관 관계가 없음에도 불구하고 tcsh와 관련된 몇 가지 작업이 있습니다. 나는 여전히 연습을 위해 적어도 하나의 시스템에서 tcsh를 사용합니다. 또한 내 자신의 tcsh 스크립트
머신 러닝은 기존 알고리즘이 어렵다고 여기는 것을 예측하거나 예측할 수 있는 강력한 컴퓨팅 기능입니다. 기계 학습 여정은 많은 데이터를 수집하고 준비하는 것으로 시작됩니다. 그런 다음 해당 데이터를 기반으로 수학적 모델을 구축합니다. 이러한 작업에 여러 도구를 사용할 수 있지만 저는 쉘을 사용하는 것을 좋아합니다. 쉘은 정의된 언어를 사용하여 작업을 수행하기 위한 인터페이스입니다. 이 언어는 대화식으로 호출하거나 스크립팅할 수 있습니다. 쉘의 개념은 1970년대 유닉스 운영 체제에 도입되었습니다. 가장 인기 있는 셸에는 Bash,
새로운 프로그래밍 언어를 배우는 것은 재미있을 수 있습니다. 새로운 것을 배우려고 할 때마다 저는 변수 정의, 진술 작성, 표현 평가에 집중합니다. 일단 이러한 개념에 대한 일반적인 이해가 있으면 나머지는 대개 스스로 이해할 수 있습니다. 대부분의 프로그래밍 언어에는 몇 가지 유사점이 있으므로 한 프로그래밍 언어를 알고 나면 다음 언어를 배우는 것은 고유한 세부 사항을 파악하고 차이점을 인식하는 문제입니다. 새로운 프로그래밍 언어를 연습하는 데 도움이 되도록 몇 가지 테스트 프로그램을 작성하는 것을 좋아합니다. 내가 자주 작성하는
Bash는 대부분의 Linux 시스템에서 기본 명령줄 셸입니다. 그렇다면 그것을 최대한 활용하는 방법을 배우지 않으시겠습니까? 올해 Opensource.com은 Bash 셸의 기능을 활용하는 데 도움이 되는 많은 훌륭한 기사를 선보였습니다. 다음은 Bash에 대해 가장 많이 읽은 기사 중 일부입니다. 리눅스 터미널에서 리디렉션을 사용하여 어디서나 데이터 읽기 및 쓰기 입력 및 출력 리디렉션은 모든 프로그래밍 또는 스크립팅 언어의 자연스러운 기능입니다. 기술적으로 컴퓨터와 상호 작용할 때마다 본질적으로 발생합니다. 입력은 stdin
Bash로 스크립팅할 때 파일에서 데이터를 읽거나 써야 하는 경우가 있습니다. 파일에 구성 옵션이 포함되어 있는 경우도 있고 사용자가 애플리케이션으로 생성하는 데이터인 경우도 있습니다. 모든 언어는 이 작업을 약간 다르게 처리하며 이 기사에서는 Bash 및 기타 POSIX 셸을 사용하여 데이터 파일을 처리하는 방법을 보여줍니다. 배시 설치 Linux를 사용 중이라면 이미 Bash가 있을 것입니다. 그렇지 않은 경우 소프트웨어 저장소에서 찾을 수 있습니다. macOS에서는 실행 중인 macOS 버전에 따라 기본 터미널인 Bas
프로그래밍할 때 말 그대로 프로시저 또는 루틴을 정의하는 것입니다. , 컴퓨터가 수행하기를 원합니다. 간단한 비유는 컴퓨터 프로그래밍을 빵 굽기에 비유합니다. 작업 환경을 설정하기 위해 한 번 재료를 나열한 다음 빵 한 덩어리를 만들기 위해 수행해야 하는 단계를 나열합니다. 프로그래밍과 베이킹 모두에서 일부 단계는 다른 간격으로 반복되어야 합니다. 예를 들어 빵을 굽는 경우 사워도우 배양액을 공급하는 과정이 될 수 있습니다. STIR=100 SNOOZE=86400 function feed_culture { remove_from
Linux 셸에 로그인하면 특정 작업 환경을 상속받습니다. 환경 , 쉘 컨텍스트에서 는 특정 변수가 이미 설정되어 있어 명령이 의도한 대로 작동함을 의미합니다. 예를 들어, PATH 환경 변수는 쉘이 명령을 찾는 위치를 정의합니다. 이것이 없으면 Bash에서 시도하는 거의 모든 것이 명령을 찾을 수 없음으로 실패합니다. 오류. 일상 업무를 수행할 때 대부분 눈에 보이지 않는 환경은 매우 중요합니다. 셸 환경에 영향을 주는 방법에는 여러 가지가 있습니다. ~/.bashrc와 같은 구성 파일을 수정할 수 있습니다. 및 ~/.profi
Bash는 풍부한 역사를 가지고 있습니다. 즉, 더 오래된 조상(Bourne 셸)이 있는 오래된 셸이지만 history도 훌륭합니다. 기능의 수에 따라 다른 모든 셸 기록 인터페이스를 능가하는 명령입니다. history의 Bash 버전 역 검색, 빠른 회수, 기록 다시 쓰기 등을 허용합니다. history 명령은 다른 많은 명령과 다릅니다. /usr/bin과 같은 일반적인 시스템 수준 위치에 배치된 실행 파일인 명령에 익숙할 수 있습니다. , /usr/local/bin , 또는 ~/bin . 기본 제공 history 명령이 PAT
쉘 스크립트, Python 스크립트, C++, 스크래치 등 코드를 작성한 적이 있다면 변수가 중요하다는 것을 알고 있습니다. 컴퓨터와 코더는 변수를 웨이스테이션으로 사용하여 은밀하게 정보를 앞뒤로 전달합니다. 예를 들어, 쉘 스크립트에서 사용자 이름을 처리해야 하는 경우 변수를 설정하고 사용자 이름을 변수에 입력한 다음 컴퓨터에 변수에 대해 작업을 수행하도록 지시할 수 있습니다(인증된 사용자 목록과 비교하여 확인 , 예를 들어). 변수는 코드를 동적으로 활성화하기 때문에 중요합니다. 코드를 실행할 때마다 변경될 것으로 예상되는 정보
Bash를 실행하는 Linux 터미널에는 최근에 수행한 작업을 추적하는 데 사용할 수 있는 기록이 내장되어 있습니다. Bash 세션 기록을 보려면 내장 명령 history를 사용하세요. : $ echo foo foo $ echo bar bar $ history 1 echo foo 2 echo bar 3 history history command는 대부분의 명령과 같이 파일 시스템에서 실행 가능한 파일이 아니라 Bash의 기능입니다. type을 사용하여 이를 확인할 수 있습니다. 명령: $ type history h
쉘 스크립트가 시작될 때 감지하기는 쉽지만 언제 중지되는지 알기가 항상 쉬운 것은 아닙니다. 스크립트는 작성자가 의도한 대로 정상적으로 종료될 수 있지만 예기치 않은 치명적인 오류로 인해 실패할 수도 있습니다. 스크립트가 실패했을 때 진행 중이던 모든 것을 그대로 유지하는 것이 좋을 때도 있고 불편할 때도 있습니다. 어느 쪽이든, 스크립트의 끝을 감지하고 미리 계산된 방식으로 이에 반응하기 때문에 Bash trap 지시문이 존재합니다. 실패 대응 다음은 스크립트에서 한 번의 실패가 어떻게 미래의 실패로 이어질 수 있는지에 대한 예
디렉토리에 있는 모든 파일을 나열하고 파일만 나열하고 싶은 적이 있습니까? 디렉토리 만 어떻습니까? 그렇다면 GPLv3에 따른 오픈 소스인 다음 스크립트가 당신이 찾고 있던 것일 수 있습니다. 물론 찾기를 사용할 수 있습니다. 명령: find . -maxdepth 1 -type f -print 그러나 이것은 입력하기 번거롭고 비우호적인 출력을 생성하며 ls의 세련미가 부족합니다. 명령. ls를 결합할 수도 있습니다. 및 grep 동일한 결과를 얻으려면: ls -F . | grep -v / 그러나 다시 말하지만 이것은 엉터리입니
Bash 셸은 분명히 유일한 셸은 아니지만 가장 강력한 셸 중 하나입니다. 이것은 시스템에서 실행할 명령의 단순한 세탁 목록을 넘어서는 진지한 응용 프로그램을 개발해야 하는 시스템 관리자에게 인기 있는 선택이 됩니다. 다른 쉘에 대한 훌륭한 용도가 많이 있습니다(예를 들어 Git 후크의 경우 기본적으로 Tcsh를 사용합니다). 그러나 Bash는 심각한 스크립팅을 위한 쉬운 선택이며 여기에 그 이유가 있습니다. 함수 Bash 스크립트에서 함수를 만들려면 function 키워드를 사용하세요. : 함수 foo {여기에 # 코드가 있습니
집에 레이저 프린터가 있습니다. 이 Hewlett Packard LaserJet Pro CP1525nw 컬러 프린터는 구형 모델이지만 안정적이고 컬러로 인쇄하는 훌륭한 주력 제품입니다. 저는 몇 년 전에 Raspberry Pi를 인쇄 서버로 사용하여 홈 네트워크에 설치했습니다. LaserJet은 제 홈 오피스에 큰 도움이 되었습니다. 작년에 회사를 설립한 이래로 이 소형 레이저 프린터를 사용하여 고객 회의, 워크숍, 교육 세션을 위한 유인물 및 기타 자료를 인쇄해 왔습니다. 이 프린터의 유일한 불만은 단면만 인쇄된다는 것입니