BASH ① 새 삼촌 의 Linux 개인 요리 인식 및 학습

6654 단어
글 목록
  • 인식 과 학습 BASH ①
  • BASH 알 아 보기
  • 케이스 프로그램
  • 다양한 셸
  • Bash 셸 의 기능
  • type: 명령 이 Bash 셸 의 내 장 된 명령 인지 확인 합 니 다
  • 명령 의 줄 바 꾸 기 입력 과 빠 른 삭제
  • Shell 의 변수 기능
  • 변수 가 무엇 입 니까
  • echo, unset, 변수 설정 규칙
  • 변수 내용 보기
  • 변수 설정
  • 변수 설정 규칙
  • 환경 변수의 기능
  • set
  • PS1 알림 문자 설정
  • OSTYPE,HOSTTYPE,MACHTYPE
  • export
  • locale: 결과 에 영향 을 주 는 어족 변수
  • 인식 과 학습 BASH ①
    BASH 를 알다
    케이스 프로그램
    BASH 는 사용자 와 핵심 (kernel) 사이 에 의사 소통 을 구축 하여 적합 한 사용자 가 운영 체제 의 각종 기능 을 호출 하도록 하 는 케이스 프로그램 입 니 다.케이스 프로그램의 기능 은 운영 체제 의 인 터 페 이 스 를 제공 하 는 것 일 뿐 입 니 다. 예 를 들 어 케이스 프로그램 bash 를 통 해 많은 명령 을 호출 할 수 있 습 니 다. man, chmod, chown, vi, fdisk, mkfs 등 이 명령 들 은 모두 독립 된 응용 프로그램 이지 만 우 리 는 케이스 프로그램 (명령 행 인터페이스) 을 통 해 이 프로그램 들 을 조작 하여 핵심 을 호출 하여 필요 한 작업 을 실행 할 수 있 습 니 다.이것 이 바로 케이스 프로그램 이다.
    응용 프로그램의 인터페이스 와 같은 프로그램 을 조작 할 수 있다 면 모두 케이스 프로그램 이 라 고 할 수 있다.협의 적 으로 명령 행 의 소프트웨어 (BASH 등 포함) 를 말 하 는데 넓 은 의미 의 케이스 프로그램 은 그래 픽 인터페이스 의 소프트웨어 를 포함한다.
    다양한 셸
    Linux 에는 여러 종류의 셸 이 있 습 니 다. /bin 디 렉 터 리 에 저장 되 어 있 지만 Linux 는 기본적으로 BASH 를 사용 합 니 다.
  • /bin/sh (이미/bin/bash 로 대체)
  • /bin/bash (Linux 기본 셸)
  • /bin/tcsh (C Shell 통합, 더 많은 기능 제공)
  • /bin/csh (이미/bin/tcsh 로 대체)
  • 시스템 의 합 법 적 인 셸 은/etc/shells 파일 에 기록 되 며, 일부 프로그램 은 이 파일 을 검사 합 니 다./etc/passwd 이 파일 에서 모든 사용자 가 로그 인 할 때의 기본 셸 이 무엇 인지 볼 수 있 습 니 다.
    Bash 셸 기능
    BASH 는 sh 와 서로 어 울 리 고 사용자 의 수요 에 따라 강 화 했 습 니 다. bash 는 주로 다음 과 같은 장점 이 있 습 니 다.
  • 역사 기억 기능 (history) 은 키보드 의 상하 키 를 사용 하여 앞 뒤로 실 행 된 명령 을 찾 을 수 있 고 수정 할 수 있 으 며 기본 기억의 수 는 1000 여 에 달 할 수 있다.이 명령 기록 들 은 현재 메모리 에 잠시 저장 되 어 있 습 니 다. 시스템 에 성공 하면 이번 기록 은 ~/.bash_history 에 저 장 됩 니 다.해커 침입 조심!
  • 명령 과 파일 보완 기능 (Tab 키 사용): 명령 이나 파일 이름 뒤에 [tab] 키 를 누 르 면 명령 이나 파일 보완 이 가능 합 니 다.bash - completion 소프트웨어 를 설치 한 후 '옵션/매개 변수' 의 보완 기능 도 있 습 니 다.단, 환경 속 의 모든 c 로 시작 하 는 명령 을 알 고 싶 으 면 c 를 직접 입력 한 후 [tab] 키 를 두 번 누 르 면 됩 니 다.bash 셸 아래 에서 [tab] 을 많이 누 르 는 것 이 좋 은 습관 입 니 다.
  • 명령 별명 설정 기능 (alias): ls -lha 이 명령 을 lall 사용자 정의 명령 으로 바 꿀 수 있 습 니 다.명령 줄 에 alias 를 입력 하면 현재 명령 별명 중 어떤 것 만 쓸 수 있 습 니 다!이렇게 설정 할 수 있 습 니 다: alia lm='ls -lha'.
  • 작업 제어, 전망 배경 제어 (job control, foreground, background): 사용 전, 배경의 제 어 는 작업 을 더욱 아름 답 게 할 수 있 습 니 다. 작업 제어 (jobs) 의 용도 가 더욱 넓 고 작업 을 배경 에 버 려 서 수행 할 수 있 으 며 단일 로그 인 환경 에서 다 중 작업 의 목적 을 달성 할 수 있 습 니 다.
  • 프로그램 화 스 크 립 트 (셸 scripts): dos 와 유사 한 일괄 처리 파일 입 니 다.
  • 만 용 문자 (Wildcard): 예 를 들 어 조회/usr/bin 아래 에 X 로 시작 하 는 파일 이 얼마나 있 는 지 알 수 있 습 니 다. ls -l /usr/bin/X* 사용 하면 알 수 있 습 니 다.
  • type: 명령 이 Bash 셸 의 내 장 된 명령 인지 확인 합 니 다.type [-tpa] name 인자 가 추가 되 지 않 았 을 때 type 은 name 시 외부 명령 인지 bash 의 내부 명령 인지 보 여 줍 니 다. 관련 옵션:
  • - t: type 은 다음 과 같은 정 보 를 표시 합 니 다.
  • file 은 외부 명령 을 표시 합 니 다.
  • alias 는 명령 별명 에 설 치 된 이름 을 표시 합 니 다.
  • builtin 은 이 명령 이 bash 에 내 장 된 명령 기능 이 라 고 밝 혔 다.
  • - p: 뒤에 받 은 name 이 외부 명령 일 때 전체 파일 이름 을 표시 합 니 다.
  • - a: PATH 변수 가 정의 하 는 경로 에서 name 을 포함 한 모든 명령 을 열거 합 니 다. alias
  • 를 포함 합 니 다.
    명령 의 줄 바 꾸 기 입력 과 빠 른 삭제
    명령 이 너무 길 면 역 슬 래 쉬 + 리 턴 을 사용 하여 줄 을 바 꾸 어 계속 입력 할 수 있 습 니 다. \ 은 점프 문자 로 다음 버튼 을 뛰 어 넘 을 수 있 습 니 다. 이 를 원리 로 합 니 다.
    빠 른 삭제 명령 과 이동 커서:
  • [ctrl + u]/[ctrl k] 는 각각 커서 에서 앞으로 [ctrl + u], 뒤로 [ctrl + k] 삭제 합 니 다.
  • [ctrl + a]/[ctrl + e] 는 각각 커서 를 시작 과 끝 으로 이동 시 킵 니 다.
  • Shell 의 변수 기능
    변수
    변 수 는 설정 되 어 있 거나 보 존 된 데 이 터 를 문자 나 기호 등 으로 대체 하 는 것 입 니 다.
    echo, unset, 변수 설정 규칙
    변수 내용 보기
    직접 사용 echo ${PATH} 또는 echo $PATH 하면 변수의 내용 을 볼 수 있다.
    변수 설정
    'name = content (내용) 를 사용 하면 name 이라는 변 수 를 만 들 고 내용 을 부여 할 수 있 습 니 다.
    변수 설정 규칙
  • 변수 와 내용 간 에 = 번 으로 연결 합 니 다.
  • 등호 양쪽 에 공백 문 자 를 직접 연결 할 수 없다.
  • 변수 이름 은 영문 자모 와 숫자 일 수 있 고 시작 은 숫자 일 수 없다.
  • 내용 에 공백 문자 가 있 으 면 더 블 따옴표 나 따옴표 를 사용 할 수 있 습 니 다.
  • 따옴표 안의 특수 문 자 는 원래 의 특성 을 유지 합 니 다. 예 를 들 어 var="lang is $LANG", echo $var 는 'lang is zh CN UTF - 8'
  • 을 얻 을 수 있 습 니 다.
  • 작은 따옴표 안의 특수 문 자 는 일반 문자 (일반 텍스트)
  • 에 불과 합 니 다.
  • 점프 문자 \ 를 사용 하여 특수 기호 (예 를 들 어 리 턴, $, 공백 문자, '등) 를 일반 문자 로 바 꿀 수 있 습 니 다.
  • 변수 내용 을 확대 할 때 "$name" 또는 ${name} 누적 을 사용 할 수 있다. 예 를 들 어 PATH="$PATH":/home/bin 또는 PATH${PATH}:/home/bin.
  • 시스템 의 기본 변 수 는 보통 대문자 이 고 스스로 설정 한 변 수 는 소문 자 (습관) 입 니 다.
  • 변 수 를 취소 하 는 방법 은 사용 unset 이다. 예 를 들 어 unset name
  • export name 변 수 를 환경 변수 로 바 꿀 수 있 습 니 다. bash 서브루틴 에서 사용 할 수 있 습 니 다. 부모 프로그램의 사용자 정의 변 수 는 서브루틴 에서 사용 할 수 없습니다.
    현재 시스템 의 핵심 버 전 을 가 져 올 수 있 습 니 다 uname -r.
    환경 변수의 기능
    set
    set 를 사용 하여 모든 변수 (환경 변수 와 사용자 정의 변수 포함) 를 관찰 할 수 있 습 니 다. 매개 변수 설명:
    PS1 프롬프트 문자 설정
  • \d: "일요일"의 날짜 형식 을 표시 할 수 있 습 니 다.
  • \H: 완전한 호스트 이름 입 니 다.
  • \h: 호스트 이름 만 첫 번 째 소수점 이전 이름 으로 지정 합 니 다.
  • \t: 표시 시간, 24 시간 형식의 "HH: MM: SS"
  • \T: 표시 시간, 12 시간 형식의 "HH: MM: SS"
  • \\A: 표시 시간, 24 시간 형식의 "HH: MM"
  • @: 표시 시간, 12 시간 형식의 "am/pm"스타일
  • \u: 현재 사용자 의 계 정 이름, 예 를 들 어 "dmtsai";
  • \v: BASH 의 버 전 정보, 예 를 들 어 새 형의 테스트 호스트 버 전 은 4.2.46 (1) - relase 이 고 '4.2' 만 표시
  • \w: 완전한 작업 디 렉 터 리 이름, 루트 디 렉 터 리 로 작 성 된 디 렉 터 리 이름 입 니 다. 그러나 홈 폴 더 는 ~ 으로 대 체 됩 니 다.
  • \W: basename 함 수 를 이용 하여 작업 디 렉 터 리 이름 을 얻 기 때문에 마지막 디 렉 터 리 이름 만 표시 합 니 다.
  • \#: 내 려 진 몇 번 째 지령.
  • $: 알림 문자 입 니 다. 루트 일 때 알림 문 자 는\# 입 니 다. 그렇지 않 으 면 $입 니 다 ~
  • 예 를 들 어 제 가 이렇게 설정 하면 PS1='[\u@\h:\w \t#\#]\$ 시간 과 명령 한 횟수 를 표시 할 수 있 습 니 다.
    사실은 $는 이 셸 의 PID 에 관 한 것 입 니 다. 이렇게 볼 수 있 습 니 다 echo $$.? 번 (이전 실행 명령 에 대한 리 턴 값): 성공 적 으로 실행 하면 0 으로 되 돌아 갑 니 다. 오 류 는 0 이 아 닙 니 다. 예 를 들 어 echo $?.
    OSTYPE,HOSTTYPE,MACHTYPE
    호스트 하드웨어 와 핵심 등급.
    export
    사용자 정의 변 수 를 환경 변수 로 변환 합 니 다. env 와 어떤 차이 가 있 습 니까? env 는 환경 변 수 를 보 여 주 는 것 일 뿐 set 는 환경 변 수 를 인쇄 할 뿐만 아니 라 사용자 정의 변 수 를 보 여 줍 니 다.
    서브루틴 은 부모 프로그램의 환경 변수 만 계승 하고 부모 프로그램의 사용자 정의 변 수 를 계승 하지 않 습 니 다. 다음 명령 을 사용 하여 사용자 정의 변 수 를 환경 변수 로 변환 합 니 다. export namelocale: 결 과 를 나타 내 는 어족 변수 에 영향 을 줍 니 다.
    직접 사용 locale -a 하면 시스템 의 모든 언어 계 를 볼 수 있 고 사용 locale 하면 매우 구체 적 인 설정 을 볼 수 있 습 니 다. 이 설정 파일 은 /etc/locale/conf 에 있 고 모든 언어 계 파일 은 /usr/lib/locale 에 있 습 니 다.
    LANG 나 LC ALL 을 설정 하면 다른 어족 변 수 는 이 두 변수 로 대 체 됩 니 다.
    계속............................................................

    좋은 웹페이지 즐겨찾기