參與冬季實(shí)戰(zhàn)營(yíng)—Linux操作系統(tǒng)實(shí)戰(zhàn)入門
冬季實(shí)戰(zhàn)營(yíng)第二期:Linux操作體系實(shí)戰(zhàn)入門
Linux指令入門-文本處理
1. 創(chuàng)立資源
創(chuàng)立資源
- 單擊屏幕右側(cè) 創(chuàng)立資源 ,免費(fèi)創(chuàng)立當(dāng)時(shí)試驗(yàn)所需云產(chǎn)品資源。
2. 連接終端
- 資源創(chuàng)立結(jié)束后,點(diǎn)擊右側(cè) Web Terminal連接ECS服務(wù)器。
3. 文本編輯東西Vim
- 文本編輯東西Vim
文本編輯東西Vim
vim的三種操作形式
vim有三種操作形式,分別是指令形式(Command mode)、輸入形式(Insert mode)和底線指令形式(Last line mode)。
三種形式切換快捷鍵:
- 指令形式
在指令形式中控制光標(biāo)移動(dòng)和輸入指令,可對(duì)文本進(jìn)行復(fù)制、粘貼、刪去和查找等作業(yè)。
運(yùn)用指令vim filename后進(jìn)入編輯器視圖后,默許形式就是指令形式,此時(shí)敲擊鍵盤字母會(huì)被識(shí)別為一個(gè)指令,例如在鍵盤上接連敲擊兩次d,就會(huì)刪去光標(biāo)所內(nèi)行。
- 輸入形式
在指令形式下按i或a鍵就進(jìn)入了輸入形式,在輸入形式下,您能夠正常的運(yùn)用鍵盤按鍵對(duì)文本進(jìn)行插入和刪去等操作。
- 底線指令形式
在指令形式下按:鍵就進(jìn)入了底線指令形式,在底線指令形式中能夠輸入單個(gè)或多個(gè)字符的指令。
4. 文本文件檢查指令
文本文件檢查指令
cat
指令描繪:cat指令用于檢查內(nèi)容較少的純文本文件。
指令格局:cat [選項(xiàng)] [文件]。
指令參數(shù)闡明:
參數(shù) 闡明
-n或--number 顯現(xiàn)行號(hào) -b或--number-nonblank 顯現(xiàn)行號(hào),但是不對(duì)空白行進(jìn)行編號(hào) -s或--squeeze-blank 當(dāng)遇到有接連兩行以上的空白行,只顯現(xiàn)一行的空白行
指令運(yùn)用示例:
- 將一個(gè)自增序列寫入test.txt文件中。
for i in $(seq 1 10); do echo $i >> test.txt ; done
- 檢查文件內(nèi)容。
cat test.txt
- 將文件內(nèi)容清空。
cat /dev/null > test.txt
- 再次檢查文件內(nèi)容。
cat test.txt
more
指令描繪:more指令從前向后分頁(yè)顯現(xiàn)文件內(nèi)容。
如下圖是常用操作指令:
指令運(yùn)用示例:
從第20行開(kāi)始分頁(yè)檢查體系日志文件/var/log/messages。
more +20 /var/log/messages
less
指令描繪:less指令能夠?qū)ξ募蚱渌敵鲞M(jìn)行分頁(yè)顯現(xiàn),與moe指令相似,但運(yùn)用 less 能夠隨意瀏覽文件,而 more 僅能向前移動(dòng),卻不能向后移動(dòng)。
指令格局:less [參數(shù)] 文件 。
指令參數(shù)闡明:
參數(shù) 闡明 -e 當(dāng)文件顯現(xiàn)結(jié)束后,主動(dòng)脫離 -m 顯現(xiàn)類似more指令的百分比 -N 顯現(xiàn)每行的行號(hào) -s 顯現(xiàn)接連空行為一行
指令常用操作:
指令運(yùn)用示例:
檢查指令前史運(yùn)用記錄并經(jīng)過(guò)less分頁(yè)顯現(xiàn)。
history | less
head
指令描繪:head指令用于檢查文件最初指定行數(shù)的內(nèi)容。
指令格局:head [參數(shù)] [文件]。
指令參數(shù)闡明:
參數(shù) 闡明 -n [行數(shù)] 顯現(xiàn)最初指定行的文件內(nèi)容,默許為10 -c [字符數(shù)] 顯現(xiàn)最初指定個(gè)數(shù)的字符數(shù) -q 不顯現(xiàn)文件名字信息,適用于多個(gè)文件,多文件時(shí)默許會(huì)顯現(xiàn)文件名
實(shí)例:
head -5 /etc/passwd
tail
指令描繪:tail指令用于檢查文檔的后N行或持續(xù)改寫內(nèi)容。
指令格局:tail [參數(shù)] [文件]。
指令參數(shù)闡明:
參數(shù) 闡明 -f 顯現(xiàn)文件最新追加的內(nèi)容 -q 當(dāng)有多個(gè)文件參數(shù)時(shí),不輸出各個(gè)文件名 -v 當(dāng)有多個(gè)文件參數(shù)時(shí),總是輸出各個(gè)文件名 -c [字節(jié)數(shù)] 顯現(xiàn)文件的尾部n個(gè)字節(jié)內(nèi)容 -n [行數(shù)] 顯現(xiàn)文件的尾部n行內(nèi)容
指令運(yùn)用示例:
檢查/var/log/messages體系日志文件的最新10行,并保持實(shí)時(shí)改寫。
tail -f -n 10 /var/log/messages
按ctrl+c鍵退出文本實(shí)時(shí)檢查界面。
stat
指令描繪:用來(lái)顯現(xiàn)文件的詳細(xì)信息,包含inode、atime、mtime、ctime等。
指令運(yùn)用示例:
檢查/etc/passwd文件的詳細(xì)信息。
stat /etc/passwd
wc
指令描繪:wc指令用于計(jì)算指定文本的行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)。
指令格局:wc [參數(shù)] [文件]。
指令參數(shù)闡明:
參數(shù) 闡明 -l 只顯現(xiàn)行數(shù) -w 只顯現(xiàn)單詞數(shù) -c 只顯現(xiàn)字節(jié)數(shù)
指令運(yùn)用示例:
計(jì)算/etc/passwd文件的行數(shù)。
wc -l /etc/passwd
file
指令描繪: file指令用于辨識(shí)文件類型。
指令格局:file [參數(shù)] [文件]。
指令參數(shù)闡明:
參數(shù) 闡明 -b 列出辨識(shí)成果時(shí),不顯現(xiàn)文件稱號(hào) -c 詳細(xì)顯現(xiàn)指令履行進(jìn)程,便于排錯(cuò)或剖析程序履行的景象 -f [文件] 指定稱號(hào)文件,其內(nèi)容有一個(gè)或多個(gè)文件稱號(hào)時(shí),讓file依序辨識(shí)這些文件,格局為每列一個(gè)文件稱號(hào) -L 直接顯現(xiàn)符號(hào)連接所指向的文件類別
指令運(yùn)用示例:
檢查/var/log/messages文件的文件類型。
file /var/log/messages
5. 文本文件處理指令
文本文件處理指令
grep
指令描繪:grep指令用于查找文件里符合條件的字符串。
grep全稱是Global Regular Expression Print,表明全局正則表達(dá)式版本,它能運(yùn)用正則表達(dá)式查找文本,并把匹配的行打印出來(lái)。
在Shell腳本中,grep經(jīng)過(guò)返回一個(gè)狀況值來(lái)表明查找的狀況:
0:匹配成功。
1:匹配失敗。
2:查找的文件不存在。
指令格局:grep [參數(shù)] [正則表達(dá)式] [文件]。
指令常用參數(shù)闡明:
參數(shù) 闡明
-c或--count 計(jì)算符合款式的列數(shù) -d recurse或-r 指定要查找的是目錄而非文件 -e [范本款式] 指定字符串做為查找文件內(nèi)容的款式 -E 或 --extended-regexp 將款式為延伸的正則表達(dá)式來(lái)運(yùn)用 -F 或 --fixed-regexp 將款式視為固定字符串的列表 -G 或 --basic-regexp 將款式視為一般的表明法來(lái)運(yùn)用 -i 或 --ignore-case 疏忽字符大小寫的差別 -n 或 --line-number 在顯現(xiàn)符合款式的那一行之前,標(biāo)示出該行的列數(shù)編號(hào) -v 或 --revert-match 顯現(xiàn)不包含匹配文本的一切行
sed
指令描繪:sed是一種流編輯器,它是文本處理中非常中的東西,能夠完美的合作正則表達(dá)式運(yùn)用。
- 處理時(shí),把當(dāng)時(shí)處理的行存儲(chǔ)在臨時(shí)緩沖區(qū)中,稱為形式空間(pattern space)。
- 接著用sed指令處理緩沖區(qū)中的內(nèi)容,處理完結(jié)后,把緩沖區(qū)的內(nèi)容送往屏幕。
- 接著處理下一行,這樣不斷重復(fù),直到文件結(jié)尾。
注意:
sed指令不會(huì)修改原文件,例如刪去指令只表明某些行不打印輸出,而不是從原文件中刪去。
假如要改動(dòng)源文件,需求運(yùn)用-i選項(xiàng)。
指令格局:sed [參數(shù)] [動(dòng)作] [文件]。
參數(shù)闡明:
參數(shù) 闡明
-e [script] 履行多個(gè)script -f [script文件] 履行指定script文件
-n 僅顯現(xiàn)script處理后的成果
-i 輸出到原文件,靜默履行(修改原文件)
動(dòng)作闡明:
動(dòng)作 闡明 a 內(nèi)行后面添加內(nèi)容 c 替換行 d 刪去行 i 內(nèi)行前面插入 p 打印相關(guān)的行 s 替換內(nèi)容
awk
指令描繪:和 sed 指令類似,awk 指令也是逐行掃描文件(從第 1 行到最后一行),尋找含有方針文本的行,假如匹配成功,則會(huì)在該行上履行用戶想要的操作;反之,則不對(duì)行做任何處理。
指令格局:awk [參數(shù)] [腳本] [文件]。
參數(shù)闡明:
參數(shù) 闡明
-F fs 指定以fs作為輸入行的分隔符,awk 指令默許分隔符為空格或制表符
-f file 讀取awk腳本
-v val=val 在履行處理進(jìn)程之前,設(shè)置一個(gè)變量var,并給其設(shè)置初始值為val
內(nèi)置變量:
變量 用途
FS 字段分隔符
$n 指定分隔的第n個(gè)字段,如$1、$3分別表明第1、第三列
$0 當(dāng)時(shí)讀入的整行文本內(nèi)容
NF 記錄當(dāng)時(shí)處理行的字段個(gè)數(shù)(列數(shù))
NR 記錄當(dāng)時(shí)已讀入的行數(shù)
FNR 當(dāng)時(shí)行在源文件中的行號(hào)
能需求在處理數(shù)據(jù)前運(yùn)行一些腳本指令,這就需求運(yùn)用BEGIN關(guān)鍵字,BEGIN會(huì)在awsk讀取數(shù)據(jù)前強(qiáng)制履行該關(guān)鍵字后指定的腳本指令。
和BEGIN關(guān)鍵字相對(duì)應(yīng),END關(guān)鍵字允許我們指定一些腳本指令,awk會(huì)在讀完數(shù)據(jù)后履行它們。
cut
指令描繪:cut指令首要用來(lái)切開(kāi)字符串,能夠?qū)斎氲臄?shù)據(jù)進(jìn)行切開(kāi)然后輸出。
指令格局:cut [參數(shù)] [文件]。
參數(shù)闡明:
參數(shù) 闡明 -b 以字節(jié)為單位進(jìn)行分割 -c 以字符為單位進(jìn)行分割 -d 自界說(shuō)分隔符,默許為制表符
tr
指令描繪:tr指令用于對(duì)來(lái)自標(biāo)準(zhǔn)輸入的字符進(jìn)行替換、壓縮和刪去。
指令格局:tr [參數(shù)] [文本]。
參數(shù)闡明:
參數(shù) 闡明 -c 反選指定字符 -d 刪去指定字符 -s 將重復(fù)的字符縮減成一個(gè)字符 -t [榜首字符集] [第二字符集] 刪去榜首字符集較第二字符集多出的字符,使兩個(gè)字符集長(zhǎng)度持平
Linux指令入門-體系辦理
1. 創(chuàng)立資源
開(kāi)始試驗(yàn)之前,您需求先創(chuàng)立ECS實(shí)例資源。
在試驗(yàn)室頁(yè)面,單擊創(chuàng)立資源。
(可選)在試驗(yàn)室頁(yè)面左邊導(dǎo)航欄中,單擊云產(chǎn)品資源列表,可檢查本次試驗(yàn)資源相關(guān)信息(例如IP地址、用戶信息等)。
闡明:資源創(chuàng)立進(jìn)程需求1~3分鐘。
2. 常用體系作業(yè)指令
- 常用體系作業(yè)指令
echo
指令描繪:echo指令用于在終端輸出字符串或變量提取后的值。
指令格局:echo [字符串 | $變量]
指令用法示例:
- 顯現(xiàn)一般字符串
- 顯現(xiàn)變量
首先在shell環(huán)境中界說(shuō)一個(gè)臨時(shí)變量name。
export name="xxx"
運(yùn)用echo指令將變量name的值顯現(xiàn)到終端。
echo $name
- 顯現(xiàn)成果定向至文件
以下指令會(huì)將文本This is a test text.輸出重定向到文件test.txt中,假如文件已存在,將會(huì)覆蓋文件內(nèi)容,假如不存在則創(chuàng)立。其中>符號(hào)表明輸出重定向。
echo "This is a test text." > test.txt
假如您希望將文本追加到文件內(nèi)容最后,而不是覆蓋它,請(qǐng)運(yùn)用>>輸出追加重定向符號(hào)。
- 顯現(xiàn)指令履行成果
以下指令將會(huì)在終端顯現(xiàn)當(dāng)時(shí)的作業(yè)路徑。
echo `pwd`
運(yùn)用$(command)形式能夠達(dá)到相同效果。
echo $(pwd)
date
指令描繪:date指令用于顯現(xiàn)和設(shè)置體系的時(shí)刻和日期。
指令格局:date [選項(xiàng)] [+格局]
- 依照指定格局檢查當(dāng)時(shí)體系時(shí)刻
date "+%Y-%m-%d %H:%M:%S"
- 檢查今天是當(dāng)年中的第幾天
date "+%j"
- 將體系的當(dāng)時(shí)時(shí)刻設(shè)置為2020年02月20日20點(diǎn)20分20秒
date -s "20200220 20:20:20"
- 校對(duì)體系時(shí)刻,與網(wǎng)絡(luò)時(shí)刻同步
a. 裝置ntp校時(shí)東西
yum -y install ntp
b. 用ntpdate從時(shí)刻服務(wù)器更新時(shí)刻
ntpdate time.nist.gov
wget
指令描繪:在終端中下載文件。
指令格局:wget [參數(shù)] 下載地址
ps
指令描繪:ps指令用于檢查體系中的進(jìn)程狀況。
指令格局:ps [參數(shù)]。
top
指令描繪:top指令動(dòng)態(tài)地監(jiān)視進(jìn)程活動(dòng)與體系負(fù)載等信息。
pidof
指令描繪:pidof指令用于查詢指定服務(wù)進(jìn)程的PID值。
指令格局:pidof [服務(wù)稱號(hào)]。
示例:
查詢出crond服務(wù)下的一切進(jìn)程ID。
pidof crond
kill
指令描繪:kill指令用于停止指定PID的服務(wù)進(jìn)程。
kill可將指定的信息送至程序。預(yù)設(shè)的信息為SIGTERM(15),可將指定程序停止。若仍無(wú)法停止該程序,可運(yùn)用SIGKILL(9)信息測(cè)驗(yàn)強(qiáng)制刪去程序。
指令格局:kill [參數(shù)] [進(jìn)程PID]。
killall
指令描繪:killall指令用于停止指定稱號(hào)的服務(wù)對(duì)應(yīng)的全部進(jìn)程。
指令格局:killall [進(jìn)程稱號(hào)]。
指令運(yùn)用示例:
- 刪去crond服務(wù)下的一切進(jìn)程:
killall crond
3. 體系狀況檢測(cè)指令
ifconfig
指令描繪:ifconfig指令用于獲取網(wǎng)卡裝備與網(wǎng)絡(luò)狀況等信息。
uname
指令描繪:uname指令用于檢查體系內(nèi)核與體系版本等信息。
指令語(yǔ)法:uname -amnrsv[--version]
uptime
指令描繪:uptime 用于檢查體系的負(fù)載信息。
free
指令描繪:free用于顯現(xiàn)當(dāng)時(shí)體系中內(nèi)存的運(yùn)用量信息。
指令語(yǔ)法:free -bkmotV
who
指令描繪:who 指令顯現(xiàn)關(guān)于當(dāng)時(shí)在本地體系上的一切用戶的信息。
last
指令描繪: last 指令用于顯現(xiàn)用戶最近登錄信息。
history
指令描繪:history指令用于顯現(xiàn)前史履行過(guò)的指令。
bash默許記錄1000條履行過(guò)的前史指令,被記錄在~/.bash_history文件中。
Linux指令入門-磁盤辦理
1. 開(kāi)通資源
- 在試驗(yàn)主頁(yè)面,頁(yè)面左邊,單擊 云產(chǎn)品資源 下拉列表,檢查本次試驗(yàn)所需資源。
- 單擊屏幕右側(cè) 創(chuàng)立資源 ,免費(fèi)創(chuàng)立當(dāng)時(shí)試驗(yàn)所需云產(chǎn)品資源。
闡明:
資源創(chuàng)立進(jìn)程需求1~3分鐘。完結(jié)試驗(yàn)資源的創(chuàng)立后,您能夠在 云產(chǎn)品資源 列表檢查已創(chuàng)立的資源信息,例如:IP地址、子用戶稱號(hào)和子用戶暗碼等。
2. 磁盤辦理指令
- df指令
df指令描繪:該指令檢查文件體系的磁盤空間占用狀況。能夠利用該指令來(lái)獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。
df指令語(yǔ)法:
df [參數(shù)] [目錄或文件名]
du指令描繪:檢查磁盤運(yùn)用空間。du與df指令不同點(diǎn)在于,du指令用于檢查文件和目錄磁盤的運(yùn)用空間。
du指令語(yǔ)法:
du [參數(shù)] [文件或目錄稱號(hào)]
- fdisk指令
fdisk指令描繪:該指令用于磁盤分區(qū)。
fdisk指令語(yǔ)法:
fdisk [-l] 裝置稱號(hào)