shell_기초1
33205 단어 셸 스 크 립 트
특수 문자 의미
. ( )
* 0,1,2
(wang)* 0,1,2
+
x{n} n ,
x{n,} n
x{n,m} n m
x{,m} m
? 0,1 ( )
^ ,
$
\< , \b .. ( )
\> , \b .. ( )
[^,] ...
[:alpha:]
[:alnum:]
a|b xy :a b ,xy
(a|b)xy: axy bxy
일치 규칙 조합
(expr1) (expr2) \1( ) \2( )
vim
:%s /xyz/&er/g
vim xyz xyzer
vim
:
vi ( )。 , , ** ** , 、 。
:
、 、 , , 【i, I, o, O, a, A, r, R】 。 【INSERT REPLACE】 , 。 , 【Esc】 。
:
【 : / ? 】 , 。 , 、 、 、 、 vi、 !
ifconfig 의 용법
ifconfig ens33 |grep -o
-o : re
egrep=grep -E
ip ?
192.168.30.100
255.255.255.0
192.168.30.123
: 1,2,3
[0-9] 0-9
[1-9][0-9] 10-99
1[0-9][0-9] 100-199
2[0-4][0-9] 200-249
25[0-5] 250-255
>ifconfig ens33|grep -o"(\)"
[0-9]|[1-9][0-9] [1-9]?[0-9]
스 크 립 트 를 실행 하 는 몇 가지 방법
1. ( chmod +x xx.sh)
./xx.sh
2.bash cat xx.sh|bash
3. PATH
:
echo $PATH
mv xx.sh /root/bin
xx.sh
PYTH , hash
>hash( )
mv /root/bin/hello.sh /usr/local/bin
hello.sh
hash -d hello.sh( )
hello.sh hash
cmd : command
:Hash
Hash, “ ”
" " , ( , pre-image), , , 。 , , , , 。
。
vim 프로필 자동 설정 스 크 립 트 파일 헤더
#! /bin/bash
set nu
set ignorecase#( )
set cursorline#( )
set autoindent#( )
autocmd BufnewFile *.sh exec ":call SetTitle()"
func SetTitle()
if &filetype=="sh"
call setline(1,"#!/bin/bash")
call setline(2,"#***************")
call setline(3,"Author : xzw")
call setline(4,"#Date: " .strftime("%y-%m-%d"))
call setline(5,"#***************")
endif
endfunc
:
1.&
&
, , Shell , , , , , '&' 。 ctrl + c
ctrl + c :linux
ctrl + z :linux
2.
스 크 립 트 디 버 깅
1.
hostnam :
2.
syntax error :
bash -n file.sh
bash -x file.sh
:
echo $HOSTNAME
+ ,
echo `hostname`
++ ( )
변량
$ $
# ,
echo $
PATH
HOME
UID
PWD
PS1
1. 변수 할당
name="Mage"
name="wang"
:
, wang, Mage, , ,
2. 명령 할당
name=`hostname`
3. 변수 에 여러 줄 의 내용 저장
name=`cat /etc/fstab`
echo "$name"
4. 변수 참조 변수
name1="wang"
name2=name1
name1="li"
#>echo $name1
>li
#>echo $name2
>wang
name1 ,name2
셸 언어의 특징
shell ,
:
i=100
강 유형 언어
변 수 를 정의 하려 면 형식 을 지정 해 야 합 니 다.
Java c c#
약 한 유형 언어
지정 한 데이터 형식 이 필요 없습니다.
python php bash
bash 는 부동 소수점 을 지원 하지 않 고 소수 만 지원 합 니 다.
명명 규칙
StudentName :
studentFirstName : ( )
국부 변수
echo $$
echo $PPID
pstree -p :
bash
exit
,
전역 변수
export name="haha"
declare -x name='haha'
, , ,
HOSTNAME
SHLVL shell
PATH
1. ,
2. ( ) , PATH
3. , PATH (hash )
SHELL
USER
UID id
HOME
PWD
LANG
MALL
HISTSIZE
ls /bin/ /dev/ /etc/
ls
$_
># echo $_
># /etc
변수 삭제
unset +
변수 보기
export
env
set ( 、 )
declare -x
연습 하 다.
1. 스 크 립 트 / root / bin / systeminfo. sh 를 작성 하여 현재 호스트 시스템 정 보 를 표시 합 니 다. 호스트 이름, Ipv4 주소, 운영 체제 버 전, 커 널 버 전, CPU 모델, 메모리 크기, 하 드 디스크 크기 를 포함 합 니 다.
: hostname
Ipv4 : ifconfig ens33 | grep ""
: cat /etc/centos-release
cat /etc/redhead
uname -r
CPU lscpu
cat /proc/meminfo
lsblk
df -h
tr - ( c d s)
tr - translate or delete characters
1.
tr -s "[a-z]"
tr -s " "
tr -s "[
]"
2.
tr "[a-z]" "[A-Z]"
3.
tr -d "[0-9][:]"
awk 텍스트 처리 도구
,
-F
$0
$n n
NF
$NF
{} , , ;
cut -(d f)
-d , tab
-f
># echo "/home/lxy/hhhhh-a.bbb.cc.d" |awk -F/ '{print $NF}'| cut -d'.' -f2
># bbb
cut -d"" -f2
2. 스 크 립 트 / root / bin / backup. sh 를 작성 하면 매일 / etc / 디 렉 터 리 를 / root / rtcYY - mm - dd 에 백업 할 수 있 습 니 다.
cp
-a
、 , copy;
-r
copy, source , ;
-f
, ;
-v
echo - e (색상)
># echo -e "\e[1;31m abed \e[0m"
abcd 。
\e[1 , ,
;
\e[0m ,
31m 。
echo :
30m= ,31m= ,32m= ,33m= ,34m= ,35m= , 36m= ,37m= 。
umask
root umask 0022 , 0002
drwxr-xr-x
755
,
, 777;
, , 666。666-022 ,
:777-022=755
:666-022=644
777 umask
umask 026
1.umask umask , umask 。
2. umask , /etc/profile /etc/bashrc
3. umask 027, “umask 027”。
---------------------------------------------------------------------------------
-rw-rw-r– 。
10 , 4 。
:r ,w ,x 。
( 1 ) ,- ,d ;
( 2-4 , 3 ) ;
( 5-7 , 3 ) ;
( 8-10 , 3 ) ;
:
3 8 ,
4,2,1
r 4 ,2^2
w 2 ,2^1
x 1 ,2^0
---------------------------------------------------------------------------------
() 소괄호 의 역할
(umask 026;mkdir xzw_test_2)
1. , , , , 。
2. ;
>>>x=1;echo "pid=$$";(echo "subpid=$$";x=2;echo "subx2=$x");echo x=$x
>pid=2887
>subpid=2887
>ubx2=2
>x=1
:
shell , () id
man bash
bash
()
:/\(list\)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
셸 스 크 립 트 (다 중 스 레 드 대량 생 성 사용자)예 를 들 어 백업 데이터 베 이 스 는 100 개의 라 이브 러 리 가 있 고 정상 적 인 백업 효율 이 매우 낮 습 니 다.다 중 스 레 드 가 있 으 면 백업 하 는 데 10 시간 이 걸 릴 수도 있 었 는데 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.