BASH 셸 상용 명령
만약 에 이 디 렉 터 리 아래 의 모든 파일 (숨겨 진 파일 포함) 과 모든 파일 속성 을 알 아야 한다 면 저 는 ls - al 과 같은 명령 열 을 내 려 야 합 니 다. 더 빠 른 대체 방식 이 있 습 니까?명령 별명 사용!즉, lm 는 ls - al 과 같은 기능 입 니 다. 명령 열 에 alias 를 입력 하면 현재 명령 별명 이 어떤 것 인지 알 수 있 습 니 다!직접 명령 을 내 려 별명 을 설정 할 수도 있다.
alias lm='ls -al'
변수 설정 규칙
변 수의 설정 은 현재 이 셸 환경 에 만 존재 합 니 다. 다음 이나 하위 프로그램 (하위 셸) 에 서 는 존재 하지 않 습 니 다. 변 수 를 다음 프로그램 에서 도 계속 사용 할 수 있 도록 하려 면 아마도 export 를 사용 하 는 것 입 니 다. 또한 셸 의 부모, 서브루틴 을 제외 하고 스 크 립 트 (scripts) 에 있 습 니 다.의 작성 중, 어떤 소프트웨어 는 2 개 이상 의 scripts 를 완전한 세트 로 사용 하기 때 문 입 니 다! 즉, 두 개의 프로그램 이 있다 면, 하 나 는 scripts 1. sh 와 scripts 2. sh 이 고, scripts 2. sh 는 scripts 1. sh 의 변 수 를 참조 합 니 다. 이 럴 때, scripts 1. sh 에 설 정 된 변 수 는 "export 로 설정 하 십시오".그렇지 않 으 면 변 수 는 두 개의 scripts 사이 에서 서로 인용 할 수 없습니다. 이 scripts 가 실 행 된 후에 방금 scripts 에서 설정 한 변 수 는 '실효 되 었 습 니 다!' 입 니 다.
4. read 명령
사용자 가 입력 한 변 수 를 직접 읽 습 니 다.
[test @test test]# read name
testing <==
[test @test test]# echo $name
testing <==
array 명령
[test @test test]# a[ ]=
[test @test test]# echo ${a[ ]}
[test @test test]# a[1]=4
[test @test test]# a[2]=8
[test @test test]# echo ${a[1]} ${a[2]}
4 8
6. eval 명령
기능 설명: 매개 변수의 내용 을 다시 연산 합 니 다.
문법: eval [매개 변수]
추가 설명: eval 은 일련의 인 자 를 읽 은 다음 매개 변수 자체 의 특성 에 따라 실행 할 수 있 습 니 다.
매개 변수: 매개 변 수 는 수량 을 제한 하지 않 고 서로 분점 으로 나 뉜 다. 1. eval 명령 은 먼저 명령 행 을 스 캔 하여 모든 바 꾸 고 명령 을 실행 합 니 다. 이 명령 은 한 번 스 캔 으로 는 기능 을 수행 할 수 없 는 변수 에 사 용 됩 니 다. 이 명령 은 변 수 를 두 번 스 캔 합 니 다. 두 번 스 캔 해 야 하 는 변 수 는 복잡 한 변 수 를 나타 내 는 데 도 사 용 됩 니 다. 2. eval 은 간단 한 변 수 를 보 여 주 는 데 도 사 용 됩 니 다. 꼭 복잡 한 변 수 는 아 닙 니 다. NAME = ZONEeval echo$NAME 는 echo $NAME 3 과 같 습 니 다. test. txt 내용 을 두 번 스 캔 합 니 다: hello shell World! my file = "cat test. txt"(1) echo $my file\# result: cat test. txt (2) eval echo $my file\# result: hello shell World! (2) 에서 첫 번 째 스 캔 으로 변 수 를 바 꾸 었 음 을 알 수 있 습 니 다. 두 번 째 스 캔 은 이 문자열 에 포 함 된 명령 4 를 실 행 했 습 니 다. 마지막 매개 변수 echo 를 얻 었 습 니 다. "Last argument is $(eval echo\$$#)"echo "Last argument is $(eval echo $#)"
7. 유 니 버 설 문자 와 특수 문자
bash 에 서 는 만 용 문자 가 자주 사용 되 기 때문에 특수 기 호 를 조합 하여 명령 을 더욱 잘 활용 합 니 다 (예 를 들 어 가장 자주 언급 하 는 정규 표현 법 Regulare Express)! 아래 에 자주 사용 하 는 만 용 문자 와 특수 기 호 를 보 여 줍 니 다.
기호.
내용.
*
유 니 버 설 문자, 하나 이상 의 문자 (또는 숫자) 를 의미 합 니 다.
?
유 니 버 설 문자
#
주석, 이것 은 script 에서 가장 자주 사용 되 며 설명 으로 간주 합 니 다!
\
점프 기호, "특수 문자 또는 유 니 버 설 문자"를 일반 문자 로 복원 합 니 다.
|
두 개의 파이프라인 명령 을 구분 하 는 정의;
;
연속 적 인 명령 의 정의 (주의! 파이프라인 명령 과 다 름)
~
사용자 의 집 목록
$
즉, 변수 이전에 추가 해 야 할 변수 대체 값 이다.
&
명령 을 배경 으로 작업 하 다.
!
논리 연산 의미 의 "비"not 의 뜻!
/
경로 구분 기호
>, >>
수출 방향 은 각각 '대체' 와 '누적' 이다.
'
작은 따옴표, 변수 교체 기능 이 없습니다.
"
변수 교체 기능 이 있 습 니 다!
` `
두 개의 ""중간 에 먼저 실행 할 수 있 는 명령 입 니 다!
( )
중간 에 하위 셸 의 시작 과 끝 입 니 다.
[ ]
중간 에 문자 로 된 조합
{ }
중간 에 명령 블록 을 위 한 조합!
조합 버튼
실행 결과
Ctrl + C
현재 명령 종료
Ctrl + D
끝 (EOF) 을 입력 하 십시오. 예 를 들 어 메 일이 끝 날 때;
Ctrl + M
바로 엔 터 입 니 다!
Ctrl + S
화면 출력 일시 정지
Ctrl + Q
화면 출력 복구
Ctrl + U
알림 문자 에서 전체 명령 을 삭제 합 니 다.
Ctrl + Z
"일시 정지"현재 명령
8. 연속 명령 의 사용 방식
여기 서 몇 가지 중요 한 정 보 를 더 제시 해 야 합 니 다. 우 리 는 방금 위 에서 말 했 듯 이 두 가지 명령 이 연이어 쓰 여 있 습 니 다. 이렇게 쓸 수 있 습 니 다. command 1, command 2 는 분 호 를 이용 하여 ';' 라 고 쓸 수 있 습 니 다.이 분 호 는 command 1 의 실행 결과 가 어떻든 command 2 가 실 행 됩 니 다. 그러면 제 가 두 개의 관련 명령 이 라면 첫 번 째 command 1 은 실행 결과 가 잘못 되면 두 번 째 는 실행 되 지 않 습 니 다. 이렇게 해도 되 겠 습 니까? 물론 입 니 다. 다음 두 개의 연 결 된 쿵쿵: command 1 & command 2 command 1 | | command 2 를 사용 하 십시오.우리 의 이전 변수 내용 중, 그것 을 기억 하 십 니까? 무엇 을 대표 하 십 니까? 그렇습니다. 바로 이전 에 실 행 된 명령 내용 에 오류 가 있 는 지, 오류 가 있 으 면 1 로, 오류 가 없 으 면 0 으로, 당신 은 echo $를 통 해 알 수 있 습 니 다. 그러면 & & 는 command 1 실행 결과 가 0 으로 전 달 될 때, 오류 메시지 가 없 는 것 을 대표 합 니 다.이 경우 command 2 가 실 행 됩 니 다. | | 은 반대로 command 1 에 오류 메시지 가 있 을 때 command 2 가 실 행 됩 니 다!
9. 명령 중 가이드
a > b 는 현재 내용 a 를 b 로 다시 안내 하 는 것 을 표시 합 니 다.
이 > 기 호 를 제외 하고 bash 명령 을 실행 하 는 과정 에서 주로 세 가지 출력 이 들 어 오 는 상황 이 있 습 니 다. 그것 이 바로 표준 입력, 코드 0, 또는 stdin 입 니 다. 사용 하 는 방식 은 < 표준 출력: 코드 1, 또는 stdout 입 니 다. 사용 하 는 방식 은 1 > 오류 출력: 코드 2, 또는 stderr, 사용 하 는 방식 은 2 > 입 니 다.
1 >: 정확 한 데 이 터 를 지정 한 곳 으로 출력 하 는 것 입 니 다. 2 >: 잘못된 데 이 터 를 지정 한 곳 으로 출력 하 는 것 입 니 다.
정확 한 데이터 와 잘못된 데 이 터 를 각각 다른 곳 으로 출력 해 야 한다 면 다음 과 같이 지정 할 수 있 습 니 다.
[test @test test]# find / -name testing 1> list_right 2> /dev/null
파일 에 쓸 필요 가 있다 면
[test @test test]# find / -name testing 1> list 2> list <==
[test @test tset]# find / -name testing 1> list 2>&1 <==
이 점 을 각별히 유의 하 세 요! 같은 파일 을 동시에 쓰 려 면 2 > & 1 을 사용 해 야 합 니 다!
10. 파이프 명령 (pipe)
bash 명령 이 실 행 될 때 출력 된 데이터 가 나타 납 니 다. 그러면 이 데 이 터 는 몇 가지 절 차 를 거 쳐 야 우리 가 원 하 는 형식 을 얻 을 수 있 습 니 다. 어떻게 설정 해 야 합 니까? 이것 은 파이프라인 명령 의 문제 (pipe) 와 관련 되 어 있 습 니 다. 파이프라인 명령 은 "|"라 는 정의 기 호 를 사용 합 니 다!
이 파이프라인 명령 "|"은 앞의 명령 을 통 해 전 달 된 정확 한 정보, 즉 standard output (stdOUT) 의 정보 만 처리 할 수 있 으 며, stdandard error 에 대해 서 는 직접 처리 할 능력 이 없습니다.
모든 라인 의 부분 은 '명령' 입 니 다. 다음 명령 의 입력 은 바로 앞의 명령 의 출력 에서 나 온 것 입 니 다. 다음은 기본 적 인 라인 명령 명령 에 대한 소 개 를 하 겠 습 니 다.
cut 문법:
[root @test /root ]# cut -d " " [-cf] fields
:
-d : , 『 』
-c : 『 』
-f : ?
:
[root @test /root]#
cat /etc/passwd | cut -d ":" -f 1
passwd , :
, ! !
[root @test /root]# last | cut -d " " -f1
, !
[root @test /root]# last | cut -c1-20
last , 1-20 !
sort 문법:
[root @test /root ]# sort [-t ] [(+ )(- )] [-nru]
:
-t : , tab
+start -end: start end
-n : 『 』 ( )
-r :
-u : , !
:
[root @test /root]# cat /etc/passwd | sort
!
[root @test /root]# cat /etc/passwd | sort -t: +2n
, ID ( : , ID ,
0 )
[root @test /root]# cat /etc/passwd | sort -t: +2nr
!
wc 문법:
[root @test /root ]# wc [-lmw]
:
-l :
-m :
-w :
문법:
[root @test /root ]# uniq
:
:
[root @test /root]# last | cut -d" " -f1 | sort | uniq
tr 문법:
[root @test /root ]# tr [-ds] SET1
:
-d : SET1
-s : !
:
[root @test /root]# last | tr '[a-z]' '[A-Z]' <==
[root @test /root]# cat /etc/passwd | tr -d : <== ! : /etc/passwd !
[root @test /root]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM <== DOS ^M !
split 문법:
[root @test /root ]# split [-bl]
:
-b : size
-l :
:
[root @test /root]# split -l 5 /etc/passwd test <== testaa, testab, testac...
파이프라인 명령 은 bash 의 연속 적 인 처리 프로그램 에서 상당히 중요 합 니 다! 또한 log file 의 분석 에서 도 상당히 중요 한 일환 이 므 로 특히 유의 하 시기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux 운영 명령 trLinux Shell 작업 명령 디 렉 터 리 총람 (자세 한 정 보 를 보 려 면 클릭) 1. 소개 tr 는 translate (변환) 의 줄 임 말이다. 2. 주요 기능 tr 명령 은 문자 찾기 와 교체 작업 에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.