>  기사  >  운영 및 유지보수  >  Linux 운영 및 유지 관리에 대한 기본 지식 공유

Linux 운영 및 유지 관리에 대한 기본 지식 공유

零下一度
零下一度원래의
2017-06-27 10:10:322312검색
1. 기본 명령어 검토
3. 변수
5. 조건부 판단
6.
1. 기본 명령 검토
shutdown --shut down/restart
exit --현재 쉘 종료
rmdir --빈 디렉토리 삭제
du --디렉토리가 차지하는 저장 공간 보기
df - - 마운트된 내용 보기 파일 시스템의 공간 사용량
ln -- 링크 만들기
cat -- 파일의 모든 내용 표시
head -- 파일의 헤드 표시
tail -- 표시 파일의 꼬리
less -- 화면 분할/페이징에 파일 내용 표시
dirname -- 디렉터리 제거
basename -- 파일 이름 제거
history -- 기록 명령
1, ln
# ln -s [target] [source-- 소프트 링크 생성(심볼릭 링크)
# ln [target] [source] -- 하드 링크 생성
2, cat
concatinate, concatenate the content of 파일을 순서대로 정렬하고 표준 출력으로 출력합니다. 현재는 단순히 파일의 내용을 표시하는 것으로 이해하면 됩니다
# cat f1 -- 파일 f1의 내용을 화면에 표시합니다
# cat -n f1 -- 파일의 내용을 표시하고 추가합니다 줄 번호
# cat -A f1 -- 보이지 않는 문자와 위치 표시를 인쇄합니다
3, head
파일의 헤드를 읽습니다
# head -n 3 /etc/passwd --읽기 파일의 처음 세 줄
# head -n -3 /etc/passwd --파일을 읽을 때 파일의 마지막 세 줄을 삭제합니다.
# head -c 3 /etc/passwd --파일의 처음 3바이트를 읽습니다. # head -c 10m /dev/zero > f1 --10M 파일 생성
4, tail
파일의 꼬리 읽기
# tail -n 3 /etc/passwd -- 파일의 뒷면 읽기 the file 세 줄
# tail -c 3 /etc/passwd -- 파일의 마지막 3바이트를 읽습니다.
# tail -n +28 /etc/passwd -- 파일의 28번째 줄부터 끝까지 읽습니다. All 라인
# tail -f /etc/passwd -- 파일의 테일 내용에 대한 변경 사항을 추적합니다. 일반적으로 로그 파일의 변경 사항을 관찰하는 데 사용됩니다.
5,history
# set -o History --명령 기록 활성화 기본적으로 기록되는 함수 ~/.bash_history 파일에
# set +o History --명령 기록 기능 끄기
# History --마지막 n 기록 명령 표시
참고: 다음 세 가지 변수가 사용됩니다. 명령 기록 수 제어 및 타임스탬프 기록 여부
# vim /etc/bashrc --일반적으로 이 파일에 구성되며, 사용자 수준은 ~/.bashrc
HISTSIZE=1000000에서 구성할 수 있습니다. --레코드 수 최대
HISTFILESIZE=2000000 -- 명령 기록 파일의 최대 크기
HISTTIMEFORMAT='[%Y-%m-%d %H:%M:%S] ' --타임스탬프 형식 명령 History
export HISTSIZE HISTFILESIZE HISTTIMEFORMAT --환경 변수로 정의합니다
2.Script
1. 스크립트 실행 방법# vim test.sh
    #! /bin/bash
  echo 'hello world'
#bash test.sh
# bash -x test.sh --스크립트 실행 프로세스에 대한 정보 표시
# sh test.sh
# 소스 test.sh
# .test.sh
--위도 비표준 실행 스크립트이며 스크립트 파일에는 실행 권한이 필요하지 않습니다. 다음은 표준 실행입니다.
# head -n 1 test.sh
#!/bin/bash
# chmod a+x test .sh
# ./test.sh
스크립트를 PATH 경로에 직접 넣고 명령으로 직접 실행할 수 있습니다
참고: 셸은 #으로 시작해야 합니다. !, 이 두 문자는 파일 형식을 식별하는 데 사용됩니다. #!은 이 파일의 내용이 지정된 해석기에 의해 해석될 것임을 시스템에 알리는 데 사용됩니다. 현재 파일을 해석하는 데 사용되는 프로그램으로 해석됩니다. sha-bang 행이 제공되지 않으면 현재 쉘이 자동으로 추측하지만 결과가 예상과 일치한다고 보장되지 않으므로 이를 명시적으로 지정하는 것이 가장 좋습니다. ./test.sh의 실행 프로세스:
1. 커널이 스크립트를 읽고, 파일 형식 표시를 확인하고, 해석 경로를 얻습니다.
3. 인터프리터 실행 그 후, 스크립트 파일을 열고 그 실행을 설명하세요.
Linux에는 많은 인터프리터가 제공됩니다: #!/bin/sh; #!/usr/bin/perl; /sed ;#!/bin/awk
2. 4개의 산술 연산자
+ - * /
$(()) $[] expr let
# echo $((38% 5) ) --나머지를 취하세요
# echo $[38/5] --몫을 구하세요
# echo $((10**2)) --10의 제곱
2.1, expr
# expr 14 % 9 --나머지 가져오기
# expr 34 / 9 --몫 찾기
# expr 30 * 3 --곱하기 기호를 사용할 때 특정 의미는 백슬래시로 가려야 합니다
# expr index "sarasara" a -- 첫 번째 문자열이 나타나는 위치를 파악
# expr substr "this is a test" 3 5 -- 문자열을 파악
# expr length "this is a test" -- 계산 문자열 길이
2.2. let
let 계산 도구는 하나 이상의 표현식을 실행하는 데 사용됩니다. 변수 계산에서 변수를 나타내기 위해 $를 추가할 필요가 없습니다. 표현식에 공백이나 기타 특수 문자가 포함되어 있으면 따옴표로 묶어야 합니다
# no=20
# let no++ --increase
# let no-- --decrease
# let no+=10 --increase 10
# let no=no+10 -- 위와 동일
# let no-=15 --15만큼 감소
# let a=5+4 --a가 변경될 때 $ 기호를 추가할 필요가 없습니다
# echo $a
3. etc/ profile -- 전역 구성 파일,
/etc/bashrc -- 일반적으로 환경 변경을 정의하는 데 사용되는 전역 구성 파일
~/.bash_profile -- 사용자 구성 파일
~/.bashrc -- 사용자 구성 파일
~/.bash_logout --사용자 구성 파일, 로그인 쉘이 종료될 때 파일을 읽습니다
4. 쉘 유형
쉘의 다양한 시작 방법에 따라 쉘은 대략 다음과 같이 나눌 수 있습니다. 유형:
로그인 셸 --su와 같은 텍스트 인터페이스에 로그인합니다. 셸 구성 파일을 읽는 순서는 다음과 같습니다.
/etc/profile——~/.bash_profile——~/ .bashrc——/etc/bashrc
interactive shell --gnome-terminal의 기본 셸, 셸 구성 파일을 읽는 순서는 다음과 같습니다:
~/.bashrc ——/etc/bashrc
비대화형 셸 -- 스크립트를 실행하는 데 사용되는 셸
4.1. ~/.bashrc에 변수 v를 설정하세요. 해당 변수는 대화형 셸에만 나타나야 합니다.
# vim ~/.bash_profile -- 쉘이 쉘에 로그인되어 있는지 여부를 식별합니다
LOGINSHELL=1
# vim ~/ .bashrc --변수는 쉘에 로그인하지 않은 경우에만 설정됩니다
if [ "$LOGINSHELL" != 1 ]; then
v="대화형 쉘 전용"
fi
5. 명령 우선순위
별칭 > 내부 명령 >
6. 쉘 특수 문자
쉘의 경우, 일부 문자에는 고유한 의미 외에 특별한 의미도 있습니다. 문자열에 특수 문자를 포함하려면 인용 부호를 사용하여 특수 의미를 제거해야 합니다. 특수 문자. 아래에는 몇 가지 특수 문자가 나열되어 있습니다.
~ --따옴표로 묶지 않으면 홈 디렉터리로 쉘
& --실행을 위해 프로그램을 백그라운드에 둡니다
$ - -달러 문자, 매개변수 확장에 사용할 수 있음
${} --변수 내용에 대한 대체, 삭제, 추출 및 기타 작업이 가능한 변수 처리
* --Asterix, 와일드카드, 모두 일치 문자
? - -물음표, 와일드카드, 모든 문자 일치
() --명령 그룹
{} --명령 그룹
" --큰따옴표, 따옴표; $;`;!;
''을 제외한 대부분의 특수 문자 특수 의미를 제거할 수 있습니다. -- 작은따옴표, 따옴표는 자체를 제외한 모든 특수 문자의 특수 의미를 제거할 수 있습니다.
- 숨겨진 파일을 설정하는 데 사용할 수 있는 명령과 동일하며, 디렉터리 이름에 사용되는 경우 현재 디렉터리
/ --슬래시, 경로 구분 기호, 루트 디렉터리
--backslash, 사용 가능 소위 "escape"인 단일 문자의 특수 의미를 제거하고 개행 문자(n)
``와 같은 특수 문자를 나타내는 데에도 사용할 수 있습니다. - - 백틱, 명령 실행 우선순위 및 $() 의미는 동일합니다. 중첩이 있으면 `` 기호
$(()) 및 $[] --operator
을 사용할 수 없습니다. -empty command
; --command 분할; 이전 명령 실행 결과를 고려하지 않음
;; --대소문자 옵션의 끝 문자
# --Comments
&& --논리적 AND; 명령을 분할할 수 있지만 이전 명령의 결과를 고려해야 합니다
|| --논리적 OR; 명령은 이전 명령의 실행 결과를 고려할 필요가 없습니다. ---- ---------------------------
# 에코 ' hello world; ' hello world; -- 공백 제거의 특별한 의미를 충족하기 위해 세 가지 종류의 참조를 사용합니다.
3. 변수
1, 지역 변수
현재 사용자는 현재 프로세스에 유효하며 현재 프로세스의 다른 프로세스 또는 하위 프로세스는 유효하지 않습니다
# a=123# echo $a
# unset a --변경된 정의 취소
2. 변수
현재 프로세스는 유효하며 하위 프로세스일 수 있습니다. 프로세스 호출
# env -- 현재 시스템의 모든 환경 변수 보기 # set -- 현재 시스템의 모든 환경 변수 및 임시 변수 보기
# echo $PATH -- PATH 변수의 내용을 표시합니다.
#export hi=hello --작업 중에 환경 변수를 정의합니다. 저는 보통 ~/.bash_profile
에 즉시 사용 가능한 환경 변경 사항을 작성하는 것을 좋아합니다. 일반 환경 변수:
PATH --명령 검색에 영향을 줍니다
PS1 --명령 프롬프트 TMOUT --시간 초과 시간, 단위는 S입니다. 시간이 다 되면 대화형 셸이 자동으로 종료됩니다. 읽기 전용 변수로 설정하는 것이 가장 좋습니다
# 선언 -r TMOUT=60
HISTSIZE, HISTFILESIZE, HISTTIMEFORMAT --명령 기록
3. 시스템 변수
는 bash에 내장된 변수라고도 합니다. 쉘 자체에서 수정된 일부 변수
$# --스크립트 뒤의 매개변수 개수 $* --스크립트 뒤의 모든 변수 매개변수(큰따옴표로 묶인 경우 문자열로 출력됨) )
$@ --스크립트 끝의 모든 매개변수(큰따옴표로 묶이지 않으면 각 매개변수의 경계가 유지됨)
$? --이전 명령 실행 후 반환됨 Status
$$ - -현재 프로세스의 프로세스 번호
$! --백그라운드에서 실행 중인 마지막 프로세스 번호
!$ --마지막 명령 또는 매개변수
!! --마지막 명령의 기록
$0 --현재 프로그램의 프로그램 이름 또는 프로세스
$1 ~$n -- 위치 매개변수 변수
#!/bin/bash
echo "$0 = $0"
echo "$# = $#"
echo "$* = $*"
echo "$1 = $2"
echo "$7 = $7"
echo "$11 = ${11}"
# chmod a+x test.sh
# ./test.sh a b c
4.
a. 기본적으로 변수 유형에 대한 요구 사항은 없습니다. 변수에 어떤 값이라도 할당할 수 있지만 등호 양쪽에는 공백을 사용할 수 없습니다.
b. 변수 이름은 대소문자를 구분합니다.
c. 변수 이름은 숫자나 특수 기호로 시작할 수 없습니다.
d. 변수
5에 대한 명령 실행 결과. 변수
# a=$(hostname)
# A=123456789
# echo $A
# echo ${A:2:3}
6. 배열
배열의 정의: 괄호 안의 요소는 공백으로 구분됩니다.
# array[0]=var1
# array[1]=var2
# 배열 [2]=var3
# array=(var1 var2 var3) --위의 세 줄과 동일하게 배열을 정의합니다
# echo ${array[0]} --배열의 첫 번째 값을 가져옵니다
# echo ${array[*]} -- 배열의 모든 값을 가져옵니다
# echo ${array[@]} --위와 동일
7. 선언은 형식화된 변수를 정의합니다.
-i -- 변수를 정수로 처리합니다.
-r -- 읽기 전용 변수를 정의합니다.
-x -- 변수를 환경 변수로 내보내기
-a -- 변수를 다음과 같이 처리합니다. 배열
8. 읽기 대화형으로 변수 정의
-p --프롬프트 메시지
-n --문자 수
-t --timeout
-s --표시되지 않음
4. 별칭 ​​
명령의 별칭은 이름에서 알 수 있듯이 명령을 다른 이름으로 실행할 수 있다는 의미입니다. 일반적으로 명령 입력을 단순화하거나 명령에 일부 매개변수를 추가하거나 단순히 명령에 여러 액세스 이름을 추가하는 데 사용됩니다.
# alias cp mv rm -- cp, mv, rm 세 명령이 별칭인지 확인
# unalias rm -- 별칭 rm 삭제
# alias cdyum='cd /data/yum' -- 입력 단순화
# alias rm='rm -i' -- 명령에 매개변수 추가
-- 일반적으로 별칭은 구성 파일 ~/.bashrc에 설정됩니다.
1 별칭, 함수, 내부 명령의 우선순위를 확인합니다. 및 외부 명령 레벨
# alias pwd='echo it is an alias' -- 비밀번호 별칭 생성
# function pwd() { echo "this is a function" } -- 비밀번호 함수 생성
# pwd -- pwd를 실행하고 출력이 별칭인지 확인합니다
# unalias pwd --별칭을 삭제하고 pwd를 다시 실행하여 출력이 함수 content
# unset pwd --함수를 삭제하고 pwd를 실행합니다. 다시 현재 경로를 출력합니다
So :Alias>Function>Internal command>External command
5. 조건부 판단
# vim test
------------ ------- ---
if [조건];then
명령...
fi
---------
if [조건];then
명령...
else
명령...
fi
---------
if [조건 1];then
command1...
elif [조건 2];then
command2...
else
command3...
fi
---------
if [ 조건 1 ]; then
command1...
if [조건 2];then
command2...
fi
else
if [조건 3];then
command3...
elif [조건 4] ; 그럼
command4 ...
else
command5 ...
Fi
fi
테스트 == [판사]
🎜🎜 🎜1, 파일 유무 판단🎜🎜🎜# vim test.sh🎜🎜#!/bin/bash🎜
if test -e $1;then --존재 여부; 또한 -p;-c;-b;-L
if [ -f $1 ];then -- [판단]을 사용하여 교체
if test -f $1;then -- 존재하고 일반 파일인지 여부
if test -d $1;then -- 존재하고 디렉토리인지 여부
if test -S $1;then -- 소켓 파일이 존재하는지 여부와
echo 'YES'
fi
# chmod a+x test.sh
# ./test.sh [path]
2. 파일 권한
-r;-w;-x --읽기, 쓰기, 실행 권한이 있는지
-u --suid가 있는지
-g --sgid
-k가 있는지 - -bit
-s가 있는지 여부 --빈 파일인지, -s는 비어있지 않다는 뜻입니다;! -s 빈 파일
3. 문자열 판단
= --같으면 등호 양쪽에 공백이 있어야 합니다. ==
!= --If 같지 않으면 true입니다
- z String - 문자열의 길이가 0이면 true
-n String - 문자열의 길이가 0이 아니면 true
if test $num1 = $num2; then
if [ $num1 = $num2 ];then
if [ -n $num1 ];then
4. 수치 판단
-eq --같으면 입니다. true
-ne --같지 않으면 참입니다. True
-gt --보다 크면 참입니다.
-ge --보다 크거나 같으면 참입니다.
-lt --보다 작으면 true입니다.
-le --보다 작거나 같으면 true입니다.
if test $[num1] -eq $[num2];then
if [ $[num1] -eq $[num2] ];then
5, 논리적 판단
-a 및 && --논리적 AND
-o 및 || --논리적 OR
--
아님 우선순위: AND>or>Not
if test -e $1 -o -e $2;then -- 결정 파일 존재 여부
if [ -e $1 -o -e $2 ];then -- 위와 동일
if test ! -e $1 -e $ 2;then --두 파일이 동시에 존재하지 않는 것으로 판단
if [ ! -e $1 -o ! -e $2 ];then -- 위와 동일

위 내용은 Linux 운영 및 유지 관리에 대한 기본 지식 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.