版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
—,Linux概述(5%)
1)Linux概述
a)Linux發(fā)展的5個支柱
Unix操作系統(tǒng)、Minix操作系統(tǒng)、GNU計劃、POSIX標準、Internet網(wǎng)絡
b)Linux的發(fā)明者
芬蘭人LinusBenedictTorvalds(李納斯?托沃茲)
c)Linux版本的幾大家族
Redhat家族(CentOS、Fedoravredhat企業(yè)版)、
Debian家族(Debian、Ubuntuv)
SUSE家族(SLED、SLES)
Gentoo家族
d)Linux的企業(yè)級應用有哪些
虛擬化、數(shù)據(jù)庫服務器、Web服務器、應用服務器、開發(fā)平臺
e)Linux的主要特點:穩(wěn)定性,可靠性,進程隔離,等等
二,Linux文件系統(tǒng)和操作(20%)
D文件系統(tǒng)概述
a)什么是VFS,VFS的作用和特點,Iinux默認文件系統(tǒng)(virtualFiIeSystemSwitch)
VFS:主要包含一組標準的文件操作接口并引入統(tǒng)一、抽象、虛擬的文件系統(tǒng)接口
VFS為用戶提供了完整統(tǒng)一的文件系統(tǒng)(隱藏了不同文件系統(tǒng)差別)
在內存里構造了文件樹結構(Dentry)
作用:采用標準的Unix系統(tǒng)調用讀寫位于不同物理介質上的不同文件系統(tǒng)
特點:它為應用程序員提供一層抽象,屏蔽底層各種文件系統(tǒng)的差異
文件系統(tǒng):ntfs(WindowsNT)%msdos(dos)、isofs(光盤)、nfs(網(wǎng)絡)、
ext2.3.4(Linux自身)、smbfs(sambax可與winnt、win98共享)、proc(目錄/proc
下的特殊文件系統(tǒng))、jffs(flash)%tmpfs(臨時文件)、devtmpfs(device)
b)如何查看當前系統(tǒng)的不同文件系統(tǒng),以及分區(qū)信息?df.fdisk命令
查看系統(tǒng)中的文件系統(tǒng):df-h查看系統(tǒng)磁盤分區(qū)信息:fdisk-I
c)統(tǒng)一文件模型的四個抽象對象是什么?
file、indexnode(inode)保存一個文件相關的元數(shù)據(jù)(metadata)、
directoryentry、superblock
d)什么是dentry,inode?”如何通過文件名找到硬盤上的內容?”
directoryentry存在內存中,開機的時候構造出來,就是用戶視角的虛擬文件系統(tǒng)
Inode:每個文件的元數(shù)據(jù),文件的所有者,權限,相關datablock的地址
Open(7home/user/fiIe1)
磁盤里的文件結構由inode+datablocks構成
2)文件系統(tǒng)瀏覽
a)★文件和目錄瀏覽的基本命令(及相關參數(shù)):pwd,Is,cd,whoami;什么是絕對
路徑,相對路徑?(Is有哪些重點參數(shù))
pwd顯示當前目錄whoami顯示當前用戶hostname顯示機器名
目泉基本瀏覽操作
pwd。示當前目及變更當前目錄:cd
whoamiJ8尿當前用戶
hostname顯示機■1名屑回到home目錄(例子:/home/user)
回到上級目錄(cd回到上上級)
M市當前“錄所有文件
cddir進入卜.?級H泉(相對路已:從當“節(jié)點
B-ItrM示當前II聚所有文件.并故佛改時間例序
開始的路徑)
B示當“目錄所“文用包括at文件)
M.示以a開頭的所“文件cd/home/user進入/home/user目求(絕對■路徑
顯示當前”及所仃文件(包MGodef;他):從根皆點開始的路徑)
,i;ls仔"W川cdiiliM,配合tab仲川
b)★Linux的文件類型,主要分為幾大類?幾小類?(對應Is-I輸出的哪個部分)
磁盤文件:(1)當為d則是目錄(2)當為一則是文件或者hard-link(3)若是I
則表示為域接文檔(soft-lInk)
設備文件:(1)若是b則表示為裝置文件里面的可供儲存的接口設備(2)若是c則
表示為裝置文件里面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)
特殊文件:(1)若是p則是namedpipe(2)若是s則是socket文件
c)Linux根目錄(/)下有哪些目錄,每個目錄的主要功能。
指令集合,
/bin:存放著最常用的程序和指令
/sbin:只有系統(tǒng)管理員能使用的程序和指令外部文件管理
/dev:Device(設備)的縮寫,存放的是Linux的外部設備。
/media:類windows的其他設備,如U盤、光驅,識別后會把設備放到這個目錄下。
/mnt:臨時掛載別的文件系統(tǒng)的,我們可以將光驅掛載在/mnt/上,然后進入該目錄
就可以查看光驅里的內容了。臨時文件
/run:是一個臨時文件系統(tǒng),存儲系統(tǒng)啟動以來的信息。系統(tǒng)重啟時,被刪掉或清
除。
/lost+found:一般情況下為空的,系統(tǒng)非法關機后,這里就存放一些文件。
/tmp:這個目錄是用來存放一些臨時文件的
賬戶:
/root:系統(tǒng)管理員的用戶主目錄。
/home:用戶的主目錄,以用戶的賬號命名的。
/usr:用戶的很多應用程序和文件都放在這個目錄下
/usr/bin:系統(tǒng)用戶使用的應用程序與指令。
/usr/sbin:超級用戶使用的比較高級的管理程序和系統(tǒng)守護程序。
/usr/src:內核源代碼默認的放置目錄。
運行過程中或者擴展用:
/var:存經(jīng)常修改的數(shù)據(jù),如日志文件(/var/log目錄下)
/proc:管理內存空間,虛擬的目錄,是系統(tǒng)內存的映射,我們可以直接訪問這個目
錄來,獲取系統(tǒng)信息。(實時的系統(tǒng)和進程信息:/proc/cpuinf。)
擴展用的:
/opt:默認是空的,我們安裝額外軟件可以放在這里
/srv:主要用來存儲本機或本服務器提供的服務或數(shù)據(jù)
3)★文件基本操作命令:cp,mv,mkdir,touch,rm(熟練掌握)
touchfilelfile2創(chuàng)建空文件
rmfile刪除文件
mvfilelfile2重命名/移動文件
cpfilelfile2復制文件
catfiIe顯示文件內容
mkdirdir創(chuàng)建目錄
rm-rfdir刪除目錄以及所有里面的內容
mvdir1dir2
4)★鏈接文件:軟鏈接,硬鏈接的原理,使用的限制和優(yōu)缺點。In命令怎么使用
(如果刪除原文件,硬鏈接和軟鏈接的表現(xiàn))
每個文件都獨自占用一個inode,文件內容由inode的記錄來指向;
硬鏈接(HardLink):硬鏈接是指通過inode來進行鏈接,多個文件名指向同一索引
節(jié)點(inode)是正常且允許的,這種鏈接就稱為硬鏈接(不能對目錄進行創(chuàng)建,只可對文件創(chuàng)
建)
刪除其中一個硬錯接文件并不影響其他有相同inode號的文件
軟鏈接(Symboliclink):軟鏈接就是一個普通文件,只是數(shù)據(jù)塊內容有點特殊。
軟鏈接有著自己的inode號以及用戶數(shù)據(jù)塊(源文件地址)。(可對文件或目錄創(chuàng)建)
刪除軟鏈接不影響被指向的文件,但若被指向的原文件被刪除,則被稱為死鏈接
5)★文件權限管理
a)Is-I的顯示信息理解,每個部分的意義
drwx------2ownernamegroupname4096(size)Jan1500:00fiIename
d:fiIetypeugo
b)R,W,X權限對于文件和目錄的含義
R(讀):readabIeW(寫):writeabIeX(執(zhí)行):executabIe
c)文件權限和修改所有者命令:chmod,chown,chgrp,以及相關參數(shù)
修改文件權限:chmod(chmoda+rfiIechmodu-r,o+wfile)
修改擁有者:chownowner(:group)file
chownuseri:user2fiIe改useri為owner,group為user2
chown-Ruseri:user2*改當前目錄下全部
修改文件group:
chgrpstafffile(更改fiIe的group為staff)
chgrp-Rstaff*更改當前目錄下所有文件的group為staf
6)文件查找的兩種方式:find,
文件杳找:Find命令查找當前目錄開頭,更新時間天內的所有文
find.-name"a"a5f
當峋11條和子”呆下?開頭的文仲〃I條
Hud.-typef和目錄?
當峋11求和子”錄下他所仃文件
find.-typedfind.-name"a*"-ctime-5
當峋11和r11條下的所/fIbrt
find/-ctime-5
根Fi條和戶Fim卜5天內有在電的攵件查找根目錄下所有IconF的文件(不含目錄)?
findt-typef-perm777
根H和子口呆卜權限777的文件
manfindfind/-name"*.conf'-typef
locateabc返回abc文件/目錄的路徑
updatedb更新數(shù)據(jù)庫(默認每天執(zhí)行一次
7)文件瀏覽常用命令:more,less,head,taiI(重點看下taiI)
more/less/etc/ssh/sshd_configb_t一頁spaceT一頁
head-n5passwd(顯示文件前5行)默認-n10行
head-c30passwd(顯示文件前20字節(jié)
taiI-5notes,log(顯示文件最后5
tail-fnotes,logT常用于查閱正在改變的日志文件
8)★標準輸入輸出和重定向
a)理解>,?,2>,2>&1,2?,<等重定向語句的作用和區(qū)別,會使用
0:標準輸入;1:標準輸出;2:標準出錯輸出
重定向符號
>輸出重定向到一個文件或設備覆蓋原來的文件
?輸出重定向到一個文件或設備追加原來的文件
<輸入重定向到一個程序
標準錯誤重定向符號
2>將一個標準錯誤輸出重定向到一個文件或設備覆蓋原來的文件
2?將一個標準錯誤輸出重定向到一個文件或設備追加到原來的文件
2>&1將一個標準錯誤輸出重定向到標準輸出注釋:1可能就是代表標準輸出
b)熟悉cat,echo等命令
-b計算所有非空輸出行,開始為1
-e在每行末尾顯示$符號
-n計算所有輸出行,開始為1
-s將相連的多個空行用單一空行代替
1.一次顯示整個文件。catfiIename
2.從鍵盤創(chuàng)建一個文件。cat>filename只能創(chuàng)建新文件,不能編輯已有文件.
3.將幾個文件合并為一個文件。catfilelfile2>file3
echo“Hello”輸出HeiIo到屏幕
echo"helloworld”>testfiIe輸出到testfile
echo"append”?testfiIe追加到testfile
9)★常用文件處理命令和管道
a)熟悉sort,uniq,wc,cut等命令
sorttestfiIe|uniq(-ccount這行出現(xiàn)次數(shù))排序
sort-k2testfiIe排前兩行
sort-rtestfiIe(reverse)反序
wc-cfiIename:顯示一個文件的字節(jié)數(shù)
wc-mfiIename:顯示一個文件的字符數(shù)
wc-IfiIename:顯示一個文件的行數(shù)
wc-LfiIename:顯示一個文件中的最長行的長度
wc-wfiIename:顯示一個文件的字數(shù)
cut-c1/etc/passwd獲取第一個字符
cut-c1-5/etc/passwd獲取前5個字符
cut-c1,3,4/etc/passwd獲取前1,3,5個字符
cut-d:-f1/etc/passwd分隔符:,field1
cut-d:-f1-4/etc/passwd分隔符:,field1-4
b)并且配合pipe(|)一起使用命令1|命令2|……|命令n
三,Linux系統(tǒng)管理(30%)
1)★文件編輯工具vim
a)知道vim有哪幾種模式
Normal模式:文件打開默認模式、光標移動、刪除、復制粘貼
Insert模式:文本編輯
Command模式:退出,搜索,替換等命令
Visual模式:選擇需要復制和刪除的文本
b)熟悉復制,刪除,插入等基本操作(具體怎么操作)
yy/nyy:復制當前行/n行p:復制到下一行(可以和dd,ndd配合使用)P:復
制到前一行
c)★命令模式:退出vim的幾種方式,查詢,替換等命令(具體怎么操作)
:q無改動退出:q!強制退出,取消改動:wq保存并退出
/str:向后搜索?str:向前搜索n:尋找下一個匹配N:尋找下一個匹配(反向尋
找
:s/old/new:匹配并替換當前行第一個:s/。Id/new/g:匹配并替換當前行所有
:1,10s/old/new/g:1到10行,匹配并替換當前行所有
,-5s/old/new:當前行和前5行
:%s/oId/new/g:匹配并替換全文所有01d到new
2)★文本編輯工具sed
a)了解常用的搜索,替換,刪除功能。理解-i參數(shù)在替換和刪除中的作用
-i:對文件進行修改
sed4s/old/new/g*fiIereplaceold,屏幕顯示并不修改
sed-i's/old/new/g'fiIereplaceold,實際修改file
sed-i*s/old//g,fiIe刪除全文中old
sed7word/d,fiIe刪除帶有word的行
sed'/'/d'file刪除空行
刪除文件1-3行,sedTkyd'file
顯示文件1-5行,sed-n*x,yp*file
3)★正則表達式和文本搜索工具grep
a)熟練掌握正則表達式:anchor,通配符,數(shù)*符,選擇,等等
*匹配前一個字符0或多?。或1次+1或多次
{n}n次{n,}至少n次{n,m}n到m次
[asd]匹配里面的任意字符[a-zja-z范圍的全部廠口不是I的字符.任意
b)掌握grep的基本操作和參數(shù),并配合正則表達式使用。參數(shù)例如:-i7-A-E-c,
等等。
-n輸出行號-c次數(shù)-i忽略大小寫-v反選
grep^[M-Z].*[12]$'打印所有開頭是M到Z間字符,并且結尾是1或者2的行
4)★用戶和群組管理
a)理解用戶和群組的概念,熟練掌握相關命令:useradd,passwd,usermod,userdel,
groupadd,groupdeI,gpasswd,以及相關參數(shù)和具體使用例子。
#passwduseridroot直接修改其他用戶權限
$passwd修改用戶自己的passwd
usermodYstaffuser把user加入staffgroup
gpasswd-dkevinstaff把kevin從staffgroup刪除
gpasswd-akevinstaff把kevin加入staffgroup
b)能夠配合文件權限進行相關設計
c)熟悉SU,sudo,exit等用戶切換操作
suusername變更當前用戶并輸入該用戶的密碼
exit返回上一級用戶(例如退出root)
sudocommand使用root的權限執(zhí)行這個命令
d)掌握Linux用戶監(jiān)控命令:who,last
who:顯示當前l(fā)oggedin的用戶
last:顯示歷史loggedin的用戶last|more所有l(wèi)ogin歷史(最新
的在最前
5)應用管理
a)了解systemd的基本概念和作用
Service:應用,例如防火墻,httpserver
Process:進程,一個應用可能對應一個或多個進程
Daemon:一種特殊的進程,在后臺持續(xù)運行
Threads:線程,一個進程可能產(chǎn)生多個線程
b)掌握systemctl相關操作(stop,start,enable,disable)
systemctIstatus|start|stop|restartsystemctIstart
firewa11dsystemctI所以systemctIdisable|enableservicename,service系統(tǒng)
開機/重啟是否啟動這個服務
6)★進程管理
a)熟練掌握進程瀏覽相關命令:ps,top,以及相關參數(shù)
psaux顯示系統(tǒng)所有進程(使用BSD格式)
ps-ef顯示系統(tǒng)所有進程(fullformatIisting)
ps-uusername顯示某個user的進程
psaux|greppid
top-uuser只顯示user相關的進程
top-ppid只顯示pid的進程
topthenpressc顯示命令的絕對路徑
topthenpresskki11進程
topthenpressM按照Memory使用排序
topthenpressP按照CPU使用排序
top每隔3秒刷新一次
b)掌握殺死進程的命令:kill,以及相關參數(shù)
-1restartT強制ki11-15優(yōu)化ki11
ki11firewalId的進程:systemctIstatusfirewa11d/su/kill-9pid
c)后臺進程的概念和操作:ctrl+z,jobs,command&,bg.fg
Ctrl+zstop進程并放在后臺
jobs顯示當前所有的任務
bgid后臺運行
fgid前臺運行
sleep1000&后臺運行
7)★定時任務
a)★熟練掌握crontab的使用,cronjob時間格式。
分(0-59)時(0-23)日(1-31)月(1-12)周(0-6)
crontab-e編輯crontabcrontab-Ilist所有的定時任務1crontab-r刪除
crontab
新建一個文件:crontest
每周一上午9點,刪除/tmpfolder下面所有文件09**1rm-rf/tmp/*
每個月1,15號,00:00執(zhí)行/home/user/script1001,15**
/home/user/script1
任務格式:513***command
分時日月局commerxl
命令介紹
代口?義分時日月?command
0-590-231-311-120-7(麗?表累?日)需■執(zhí)行的第令crontab-e編輯crontab
?修字樣crontab-Ilist所有的定時任務
?代H任何時刻.比69一個?”?一個小時中--分”■執(zhí)行一次.
crontab-rM除crontab
代我不遑蟆的時回,tts-It示?天8點,124.16點執(zhí)行一次
crondcrontabdaemon
代H迷媒內向理比3>?“???—H示?天8點到12點,?小時?執(zhí)行一次
狀態(tài)
?個n代晨依字,代dn單位時其執(zhí)行一次'?飄為??????——衰示?五分,systemdlstatuscrondcrond
at:安排一次任務其他at例子
?命令格式
安排?分鐘后的任務
alHHMMPM
atq?示所有任務atnow?1minute
a<rm#■除?個伍務
班示的關任務信安排一個明尺下午4點執(zhí)行的任務
?例
fat4pmtomorrow
atHHMMPM->en:er
at4pm+1day
echo"Hello*>atentr/
ctrl?d(結束編郵
安排一個分便后執(zhí)行的腳本
atq5
atnow+5min-f/scnpt
b)★掌握at命令的使用場景和時間格式
atq顯示所有任務
atrm#刪除一個任務
at-c#顯示相關任務信息
systemctIstatusatdpsaux|grepat
atnow+5min-f./scrip安排一個5分鐘后執(zhí)行的腳本
c)理解anacron的特點,和系統(tǒng)定時任務的存放位置
/var/spool/at/
8)軟件包管理
YUM的使用格式
系統(tǒng)軟件包查詢.安裝與卸轂
命令格式:yumI選項N參數(shù)]
rpmpa在詢所安裝的所“rpm軟件包選項:?y對所行提問梅網(wǎng)芥,es?
fpm-qa|grephttpdit詢?個應用心否安裝?畚數(shù)
install安*rpm軟件包
update史Wirpm軟件包
包全名安裝一個軟外包
rpm-ivhRPMcheck-update恰代是否“。f用的舊新g軟件包
-i2insta?.remove■除Ifi定的rpmtt:件包
-VsMose.M示諱編信息際現(xiàn)水軟件包岱息
4-n-tmh.進債條dean清Wyum過期的微存
rpm~e軟件包制除?個軟件包dephstV小yum軟件也的所有儂籟關系
系統(tǒng)日志
忑
系統(tǒng)H志記錄應用運行詳細信息.是徘叁問題的messageH
4要信息來源
系統(tǒng)文件口呆:/var/logmessage日志記錄了系琉操作的信息
boot系統(tǒng)動信息
Rvimmessage
chronyd
打印所為錯誤信息
cron:定時任務俏恩grep-ierrormessage
maillogtail-fmessages
secure:userlogntogout信息.用戶管網(wǎng)信ft
1systemctlstopfirewalld
messages:系統(tǒng)恰思||上.包含俯談信"等
httpdsystemctlstartfirewalld
a)查詢系統(tǒng)所安裝的軟件包:rpmqa命令
rpm-qa查詢所安裝的所有rpm軟件包rpm-qa|grephttpd查詢一個應
用是否安裝
b)掌握yum的基本操作:安裝,更新,刪除一個應用
instalI安裝rpm軟件包remove刪除指定的rpm軟件包
update更新rpm軟件包check-update檢查是否有可用的更新rpm軟件包
9)★系統(tǒng)日志
a)知道幾種主要系統(tǒng)日志的名稱和存放位置,能夠配合grep找到相關日志
/var/log
secure:userlogin,logout信息,用戶管理信息taiI-f/var/log/secure
messages:系統(tǒng)信息日志,包含錯誤信息等
10)其他系統(tǒng)管理工具
a)屏幕工具:clear,upkey,tab,exit,script
b)系統(tǒng)信息和監(jiān)控:hostname,uname.df,du,free,/proc/cpuinfo,
/proc/meminfo
c)時間相關:★date(顯示當前信息),cal
d)其他工具:which(顯示命令的絕對路徑),be
系統(tǒng)信息和口捽時間相關命令
nostnameMdHlA侑肥
uname-?■『累忱你感
RJ顯示當前時間
arch打f|j原ftt的柒MHHXlXBG-64date
df-h條僮休息cal顯“々calendar
du-ti■rm谷文n大大小
du4Y,用比懵今MCcal2019示一掇半
?ostat-hcal122021W.?;2021/12ljrKjHW
ioatMt-h1,沙里新?次
打印內〃偵"uptime顯示系統(tǒng)運行時M
冬愎魚d
clear,ctrl+l:W
tab的使川?upkey(顯示上一?個命令)which:顯示命令的絕對路徑
exit:退出一―個session
8Uwhichpwd
exitwhichuname
scriptlogfile記錄當嗣user的所科操作
exit
me”?Icqfik?be:簡單計算器
四,Linux編程(35%)
grep更適合單純的查找或匹配文本
sed更適合編輯匹配到的文本
awk更適合處理格式化文本(csv),對文本進行較復雜格式處理
1)*AWK編程
a)AWK命令行應用的基本格式。如何進行:行匹配,列匹配
$awk'/Sally/'empIoyee打印含有Sally的行
Is-I|awk'{print$9}'打印第九列
b)AWK完整結構是什么,相關的關鍵字:NF,NR,FS,OFS,RS,ORS
NF最后一列
RS:RecordSeparator,記錄分隔符ORS:OutputRecordSeparate,輸出當前記
錄分隔符FS:FieldSeparator,字段分隔符OFS:OutofFieldSeparator,輸出
字段分隔符
c)AWK程序執(zhí)行模式怎么運行
awk-fempIoyee.awkempIoyee
d)AWK變量,函數(shù),條件,循環(huán),數(shù)組
變?不用聲明
awk'條件'fileawk'$3<2000'employee打印前2000號員工
按照水果名排序
;
BEGIN{OFS="\ri=0;pcintf?name\tcount\tprice\ttotar\nTawk數(shù)組排序函數(shù)asorti(key排斤)
(name(i)=S1:cxMjntri]=S2:price(i)=S3:nameTolndex(S1]=i:K*)
END(awkBEGIN(
slen=asorti(nameTolndex.sortname);arcT]=100;a「a-]=224;a「c”]=34:
for(k?1;k<=slen;k**){slen"asorti(a.A);
ii?nameTolndex(sortname(k]];for(i=1;i<=slen;i*-1-){printA(i],a[A(i]]}}a
printname[ii],countfii],pricefii].count[ii]*price[ii];a224
}C34
d100
數(shù)組,循環(huán)綜合應用(例子1)
BEGlN|OFS=*M>;i?0;pantf-namc\tcounWpncc\ttoU>f^i")
要求,只打印短的評論(小于30個中符).并{pnnt$\S2.$3,$2a$3;oount(l)?$2;pncc(ij?$3;
輸出短評論的7T分比END(
to<al*0;max-pnce-O;max-count-O;
BEGIN{print"UserFeedback(OnlyShortComments)")fOTQMXJV;J??乂
length(SO)<30{count**;print$0)totalMo<al*count(j]-pnc?(j];
END{pnnt"PercentageofShortComments:".iHprwe(j)>max_price){max_price.pnce(j)}
(counVNRriOO.-%-)附cotntm>max_counl){max_count■county])
運個9cop的,/Wtt)
pnnrnoroortocar%rwnax_pnco<wonmax_oounc
使刖江以countm次counftotaLTiax_pnce.max_count)
NR:recordftM,彩少行)
I編程
a)有哪幾種常用的shell?shell的作用是什么?
BourneShelI(sh)vBourneAgainShe11(即bash)、ash、CShe11(esh)%
KornShe11(ksh)、zsh
Shell是一個命令解釋器,它在操作系統(tǒng)的最外層,負責直接與用戶對話,把用戶
的輸入解釋給操作系統(tǒng),并處理各種各樣的操作系統(tǒng)的輸出結果,輸出到屏幕。
b)如何新建和執(zhí)行腳本?
vi/vimxxx.sh/xxx.awk
chmodu+xxxx.sh
./xxx.sh
c)shell變■和作用域,腳本執(zhí)行原理。什么是環(huán)境變■和source執(zhí)行
首行#!/bin/bash
MY_MESSAGE="HelloWorld"建立局部變量echo$MY_MESSAGE引用局部變量
定義環(huán)境變量:exportvar="varname”
Source執(zhí)行:../var3.sh#source命令:.(.加一*t*空格)原she11的變■被
改了
d)shell條件判斷:整數(shù),字符串,文件的各種條件,ifelse格式
ifxthenxxxfiifx;thenxxxelifx;thenxxxeIsexxxfi
整數(shù):<小于(需要雙括號),如:if(("$a"<"$b"))&&||(($score<
0))||((xxxx))
[-eFILE]如果指定的文件或目錄存在時返回為真。
[-sFILE]如果FILE存在且大小非。時為真則返回為真
[~dFILE]如果FILE存在且是一個目錄則返回為真。
[-fFILE]如果FILE存在且是一個普通文件則返回為真
e)shell循環(huán),for,while循環(huán)的格式,如何中斷一個循環(huán)
foriin12345doecho"Looping...numberSi"done
foriin$(seq110)//1210
foriin{1..10)#1,2,3,..,10
while[-$INPUT_STRING"!="bye"]doxxxdone
f)sheIIcase語句的格式
whilereadinput_text#持續(xù)輸入,直到ctrl+d
do
case$input_textin
heIIo)echoEnglish;;howdy)echoAmerican;;gday)echoAustralian;;
bonjour)echoFrench;;"gutentag")echoGerman;;*)echoUnknown
Language:$input_text;;
esac
done
g)sheII數(shù)學運算的幾種寫法和應用
a=$((5+10))
leta=5+10
a=$(expr5+10)
h)shell腳本如何使用輸入?yún)?shù)
$0,$1
i)shell腳本如何使用外部命令
mybash='grep"$user"/etc/passwd|cut-d:-f7'
j)shell數(shù)組和map,如何定義和使用。數(shù)組特殊信息:數(shù)組長度,key集合,value
集合,等等。怎么配合循環(huán)來使用?
days=(mondaytuesdayWednesdaythursdayfridaySaturdaysunday)fordayin
I(days[*]]#mondaytuesday...doecho$daydone
下標:echo"${!days[@]}"#0、1、2-echo${days[$i]}
declare-Amap=(["key1"]=nvalue1"["key2"]="value2")
forkeyin${!myMap[*]};echo$(myMap[$key]用key遍歷對應的value
forvalin${myMap[*]);echo$va遍歷value
k)shell函數(shù),如何定義,傳遞參數(shù),返回結果
functionname(){statements[returnvalue]}$?使用函數(shù)返回值
functiongetsum(){localsum=0#IocaI關鍵字,變量函數(shù)內部可見
fornin$@#所有輸入?yún)?shù)doletsunr?-=ndonereturn$sum}
printf"%-10sV10.2f%-10.2f\n"$1$2$3
I)如何定義和使用alias
alias列出當前shell的所有
aliasaliasIlt='Is-Itr'建立IIt別名,執(zhí)行Is-Itr操作
aliasinfo='pwd:whoami;hostname'
aliasjob='crontab-e
vimV.bashrc,在文件最后部分加入alias如XaliasIlt="Is-Itr'
m)文件壓縮命令tar■的使用,以及常見參數(shù)
tar-czvftarget.tar.gzsource-c建立新的備份文件-z通過gzip指令處理備
份文件-v顯示指令執(zhí)行過程-f指定備份文件tar-czvf
fiIe.tar.gzfile創(chuàng)建一個壓縮
tar-tzvffiIe1.tar.gz查看壓縮文件內容
解壓一個tar1文件tar-xzvffile.tar.gz解壓到當前目錄
五,Linux網(wǎng)絡(10%)
1)常用網(wǎng)絡命令
a)★網(wǎng)絡連通相關命令:ping
pingwww.baidu.com測試網(wǎng)絡連通狀態(tài)
b)★網(wǎng)絡接口和IP相關命令:ifconfig,ip
ipa#顯示當前網(wǎng)絡接口和IP地址
c)★網(wǎng)絡端口狀態(tài):netstat,例如,如何找到一個端口被什么進程占用
netstat-a#列出所有端口
netstat-atu#列出所有tcp/udp端口
netstat-I#只顯示監(jiān)聽端口
netstat-p#顯示pid/進程名
端口被占用,怎么找到相關進程?netstat-tulpn|grep端口號(root)
d)網(wǎng)頁和文件下載:curl,wget
curIhttp://www.baidu.com#輸出網(wǎng)頁信息
wget-0fiIenamefiIe_urI#
wgethttp://cn.wordpress,org/wordpress-4.9.4-zh_CN.tar.gz#下載一個文件
2)★網(wǎng)絡協(xié)議和文件安全傳輸
a)理解ssh的兩種登錄方式原理,并進行實際操作
ssh-keygen-trsa創(chuàng)建client的公鑰和私鑰ssh-copy-id
username047.107.28.1把公鑰copy到server"此臺機器此用戶"登錄“服務器
某用戶”就不用輸密碼了sshusername047.107.28.1#不需要密碼登錄scp也
不需要輸入密碼
b)掌握scp文件傳輸命令,會具體使用
3)★網(wǎng)絡應用
a)掌握httpd創(chuàng)建網(wǎng)站的方式,知道端口和主頁地址如何配置
b)掌握firewalId的基本命令格式,firewall-cmd的各種參數(shù)。能夠完成端口規(guī)則配
firewall-cmd-list-all顯示系統(tǒng)當前所有規(guī)則
firewall-cmd一get-services網(wǎng)絡相關應用
firewall-cmd-get-zones作用域(區(qū)域)
firewall-cmd一get-active-zone當前生效作用
firewall-cmd—add-service=http增加—應用
firewall-cmd—remove-service=http刪除—1k應用(一permanent永久生效)
實驗1:
創(chuàng)建硬鏈接:Insalessales_hardlink
創(chuàng)建軟連接:In-ssalessaIes_sof11ink
find找到用戶home目錄下面所有以sale開頭的文件:find.-name"sales*"-typef
使用locate命令找到products_sof11ink文件:Iocateproducts_softIink
A/company/secure目錄:cd\company\secure
輸出到文件:echo“xxx”?file
文件合并拼接:catfiIe1fiIe2>file_new
使用sort,uniq命令,對于產(chǎn)品的價格(price)排序(從小到大),并去掉重復:
Sort-n-k4-t:product_new|uniq//~t后是分隔符
使用sort,uniq,cut命令,只輸出商品名和價格的列,并去掉除重復
Sortproduct_new|uniq|cut-d:-f1,4
把catproduct的錯誤信息輸出到error」og文件catproduct2>error.log
使用cat/dev/nu11清空product_new的內容cat/dev/nulI>product_new
實驗2:
使用sed把Some替換成Everyone,并寫入新文件fireice2
Sed^/Some/Everyone/g'fireice>fireice2
使用sed和正則表達式把每行結尾處的標點符號刪除(.,)
Sed-i-r*s/\.,//gfile
用grep搜索文件fireice里面ice/Ice所在的行(不區(qū)分大小寫),打印上下文各兩行。
Grep-i-E2-A2'ice'fireice
用戶分配到合適的group
Gpasswd-aDavidproject_a
grep在/var/log/secure里面找到群組project_a相關操作信息
greplproject_a,/var/log/secure
使用crontab生成一個快要執(zhí)行的定時任務,例如:echo"helloworld”?cronjob_fiIe
Crontab-I
Echo"helloworld"?cronjob_fiIe
查看cron的log,找到并截圖相關Ionjob的操作和執(zhí)行的日志
Ls/var/log/cron*
TaiI-f/var/log/cron
查找chronyd.service的pid,并使用ps和top命令在屏幕顯示相關進程信息
SystemctIstatuschronyd.service
Psaux|grep7323
使用systemctI禁用掉chronyd.service
SystemctIdisablechronyd.service
使用sleep命令創(chuàng)建2個“后臺進程",用jobs查看進程狀態(tài)。想辦法結束掉這兩個進程,
并用jobs驗證當前沒有后臺進程.
Sleep100&Sleep200&
jobs
Ki11xxxKi11xxx
實驗3:
壓縮:tar-czvf/tmp/user1.tar.gzuseri
查詢:tar-xzvf/tmp/user1.tar.gz
解壓:tar-xzvf/useri.tar.gz
處理top12.csv文件,下教命令:scpuser1@47.107.28.1:/tmp/top12.csv./(密碼
useri)
Awk-ftop12.awktop12.csv
代碼:
BEGIN{
i=0;
FS=n,M;tGDP=0;tPOP=0;avGDP=0;
Print“xx”;
PrintfCM%12s13sxxx\nM,"xxxM,nxxxH);
)
(
tGDP=Tgdp+$2;
tP0P=tP0P+$3;
name[i]=11;
gdp[i]=$2/$3;
if
printf(xxx);
)
END(
Print“xx”;
Printf(xx);
for(j=0;j<i;j++){
if(gdp[j]>=avgGDP)
(
Printf(xxxx);
}
)
)
編寫—腳本:path_summary.sh
#!/bin/bash
Letsize=1000;
If[!-z$2];then
Size=$2;
Fi
If[!-d$1];then
Echo“xx”
Exit1
Fi
Functionget_fiIe_count(){
Count1='find$1-typef|wc-I'
)
Functionfind_fiIe_by_size(){
all='Is-I$1|awk*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來五年花椒行業(yè)直播電商戰(zhàn)略分析研究報告
- 未來五年通航飛行服務站行業(yè)直播電商戰(zhàn)略分析研究報告
- 樹木修剪合同范本
- 買賣委托居間合同范本
- 花溪租房合同范本
- 貸款服務合同范本
- 圓林建筑合同范本
- 審計費用合同范本
- 服裝店員合同范本
- 機井購銷合同范本
- 2025年1月浙江省高考物理試卷(含答案)
- 四川省成都市簡陽市2024~2025學年 上學期期末學業(yè)質量監(jiān)測七年級 數(shù)學試題(原卷版+解析版)
- 獨立儲能電站項目運維管理方案
- 河北經(jīng)貿大學《數(shù)學物理方法A》2023-2024學年第一學期期末試卷
- 全冠牙體預備的護理配合
- 部編版道德與法治三年級上冊全冊復習選擇題100道匯編附答案
- 2024電力建設工程綠色建造評價規(guī)范
- 新疆大學答辯模板課件模板
- 醫(yī)療器械操作規(guī)程制度
- 制定健康生活計劃課件
- 單側雙通道內鏡下腰椎間盤摘除術手術護理配合1
評論
0/150
提交評論