기초 Linux 쉘 스크립팅 과정의 이전 강의에서는 기본 문법의 시작, 주석, 변수 및 환경 변수를 소개했습니다. 여기서는 쉘 명령 및 제어 프로세스의 첫 번째 부분을 소개합니다. 셸 스크립트에서 사용할 수 있으며 제어 프로세스는 다음 강의에 맡기겠습니다.
1.1.5 쉘 명령 및 프로세스 제어
쉘 스크립트에서는 세 가지 유형의 명령을 사용할 수 있습니다.
1) Unix 명령:
쉘 스크립트에서는 모든 unix 명령을 사용할 수 있지만 여전히 다음과 같은 명령이 있습니다. 좀 더 일반적으로 사용되는 명령 중 일부입니다. 이러한 명령은 일반적으로 파일 및 텍스트 작업에 사용됩니다.
공통 명령 구문 및 기능
echo "some text": 화면에 텍스트 내용 인쇄
ls: 파일 목록
wc –l filewc -w filewc -c file: 파일 줄 수 계산 파일의 단어 수는 파일의 문자 수를 계산합니다.
cp sourcefile destfile: 파일 복사
mv oldname newname: 파일 이름 바꾸기 또는 파일 이동
rm file: 파일 삭제
grep 'pattern' file: 파일에서 문자열을 검색합니다. 예: grep 'searchstring' file.txt
cut -b colnum file: 표시할 파일 내용의 범위를 지정하고 이를 표준 출력 장치로 출력합니다. 예를 들어 각 줄의 5~5번째 줄을 출력합니다. 9자 cut -b5-9 file.txt는 완전히 다른 두 가지 명령입니다.
cat file.txt: 파일을 출력합니다. 콘텐츠를 표준 출력 장치(화면)로 보냅니다.
file somefile: 파일 형식을 가져옵니다.
read var: 사용자에게 입력을 요청하고 입력을 변수에 할당합니다.
sort file.txt: 줄을 정렬합니다. file.txt 파일
uniq: 텍스트 파일에 나타나는 줄을 삭제합니다. 줄과 열(예: sort file.txt | uniq
expr: 수학적 연산 수행예: 2 및 3expr 2 "+" 3
find: 파일 검색, 예: 파일 이름을 기준으로 검색 find . -name filename -print
tee: 표준 출력 장치(화면) 및 파일에 데이터 출력 예: somecommand | >basename 파일: 경로 없이 파일 이름을 반환합니다. 예: basename /bin/tux는 tux를 반환합니다.
dirname 파일: 파일의 경로를 반환합니다. 예: dirname /bin/tux는 /binhead 파일: 텍스트 파일의 처음 몇 줄을 인쇄합니다.
tail 파일: 텍스트 파일의 마지막 몇 줄을 인쇄합니다.
sed: Sed는 기본 검색 대체 프로그램입니다. 표준 입력(예: 명령 파이프)에서 텍스트를 읽고 결과를
표준 출력(화면)으로 출력할 수 있습니다. 이 명령은 정규식(참조 참조)을 사용하여 검색합니다. 셸의 와일드카드와 혼동하지 마세요. 예를 들어, linuxfocus를 LinuxFocus로 바꾸십시오. cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.fileawk: awk는 텍스트 파일에서 필드를 추출하는 데 사용됩니다. 기본적으로 필드 구분 기호는 공백입니다. -F를 사용하여 다른 구분 기호를 지정할 수 있습니다.
cat file.txt | awk -F, '{print $1 "," $3 }' 여기서는 첫 번째와 세 번째 필드를 동시에 인쇄하기 위해 필드 구분 기호로 사용합니다. 파일 내용이 다음과 같다면: Adam Bor, 34, IndiaKerry Miller, 22, USA, 명령 출력은 다음과 같습니다: Adam Bor, IndiaKerry Miller, USA
2) 개념: 파이프라인, 리디렉션 및 백틱
이것은 시스템 명령은 아니지만 정말 중요합니다.
파이프(|)는 한 명령의 출력을 다른 명령의 입력으로 사용합니다.
grep "hello" file.txt | wc -l
file.txt에서 "hello"가 포함된 줄을 검색하고 줄 수를 계산합니다.
여기서는 grep 명령의 출력이 wc 명령의 입력으로 사용됩니다. 물론 여러 명령을 사용할 수도 있습니다.
리디렉션: 명령 결과를 표준 출력(화면) 대신 파일로 출력합니다.
> 파일에 쓰고 이전 파일을 덮어씁니다.
>> 파일 끝에 추가하고 이전 파일 내용을 유지합니다.
백슬래시
백슬래시를 사용하면 한 명령의 출력을 다른 명령의 명령줄 매개변수로 사용할 수 있습니다.
명령:
find . -mtime -1 -type f -print
는 지난 24시간 동안 수정된 파일을 찾는 데 사용됩니다(-mtime -2는 지난 48시간을 의미합니다). 발견된 모든 파일을 하나의 패키지로 패키지하려면 다음 스크립트를 사용할 수 있습니다:
#!/bin/sh
# 눈금은 백틱(`)이며 일반 따옴표(')가 아닙니다.
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
두 번째 강의는 여기까지입니다. 다음 강의에서는 기본 Linux 쉘 스크립트 학습에 대해 계속 설명하겠습니다.
위 내용은 Linux 쉘 스크립트의 기본 학습(2)에 대한 자세한 소개입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!