中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

江門建設(shè)建筑網(wǎng)站企業(yè)網(wǎng)站seo排名優(yōu)化

江門建設(shè)建筑網(wǎng)站,企業(yè)網(wǎng)站seo排名優(yōu)化,php網(wǎng)站建設(shè)程序,微信分銷是什么Shell編程 視頻地址https://www.bilibili.com/video/BV1hW41167NW/?p1&vd_source977d52a6b92ce8b6ae67c16fc61f0428 第一章 Shell概述 大數(shù)據(jù)程序員為什么要學(xué)習(xí)Shell呢? 需要看懂運維人員編寫的Shell程序偶爾會編寫一些簡單的Shell程序來管理集群&#xf…

Shell編程

視頻地址https://www.bilibili.com/video/BV1hW41167NW/?p=1&vd_source=977d52a6b92ce8b6ae67c16fc61f0428

第一章 Shell概述

大數(shù)據(jù)程序員為什么要學(xué)習(xí)Shell呢?

  1. 需要看懂運維人員編寫的Shell程序
  2. 偶爾會編寫一些簡單的Shell程序來管理集群,提高開發(fā)效率。

Shell概述

Shell是一個命令行解釋器,它接收應(yīng)用程序的/用戶命令,然后調(diào)用操作系統(tǒng)內(nèi)核。
Shell 還是一個功能相當(dāng)強大的編程語言,易編寫、易調(diào)試、靈活性強。
在這里插入圖片描述

第二章 Shell解析器

  1. Linux提供的shell解析器有:6種 系統(tǒng)
    默認(rèn)的是/bin/bash
    在這里插入圖片描述

  2. bash和sh的關(guān)系,sh是bash的軟連接
    在這里插入圖片描述

  3. Contos默認(rèn)的解析器是bash

第三章 Shell腳本入門

3.1 腳本格式

腳本以#!/bin/bash開頭(指定解析器)

3.2 第一個Shell腳本:hello world

需求:創(chuàng)建一個Shell腳本,輸出helloworld
創(chuàng)建一個文件夾,以后存放的shell腳本全放在這個文件夾下 mkdir shelldatas
在這里插入圖片描述

進(jìn)入shelldatas:cd shelldatas
在這里插入圖片描述

在shelldatas下創(chuàng)建shell腳本:touch helloworld.sh
在這里插入圖片描述

編輯sh腳本:vim helloworld.sh
在這里插入圖片描述

i進(jìn)行輸入 輸入完成后按ESC鍵,輸入:wq退出
運行腳本 ,有以下方式
sh helloworld.sh
在這里插入圖片描述

bash helloworld.sh
在這里插入圖片描述

bash /shelldatas/helloworld.sh
在這里插入圖片描述

sh /shelldatas/helloworld.sh
在這里插入圖片描述

./helloworld.sh 這個會報權(quán)限不夠;
在這里插入圖片描述

輸入ll 查看權(quán)限
給文件添加權(quán)限:chmod 777 helloworld.sh
在這里插入圖片描述

輸入ll查看權(quán)限
在這里插入圖片描述

權(quán)限賦予之后使用./helloworld.sh或者/shelldatas/helloworld.sh
在這里插入圖片描述在這里插入圖片描述

注意:第一中執(zhí)行方法,本質(zhì)是bash解析器幫你執(zhí)行腳本,所以腳本本身不需要執(zhí)行權(quán)限,第二種執(zhí)行方法,本質(zhì)是腳本需要自己執(zhí)行,所以需要執(zhí)行權(quán)限。

3.3 第二個Shell腳本:多命令處理

需求
/shelldatas目錄下創(chuàng)建一個banzhang.txt在banzhang.txt文件中增加”I love cls“
創(chuàng)建batch.sh腳本 touch batch.sh
在這里插入圖片描述

編輯batch.sh vim batch.sh
在這里插入圖片描述

i進(jìn)行輸入,完成后按ESC并輸入:wq退出
在這里插入圖片描述

執(zhí)行batch.sh sh batch,sh
在這里插入圖片描述

查看文件夾是否多了banzhang.txt文件。
在這里插入圖片描述

打開banzhang.txt,內(nèi)容顯示在控制臺上。cat banzhang.txt
在這里插入圖片描述

第四章 Shell中的變量

4.1系統(tǒng)變量

4.1.1 常用系統(tǒng)變量

$HOME、$PWD、$SHELL$USER

4.1.2 案例實操

  1. 查看系統(tǒng)變量的值
    在這里插入圖片描述

  2. 顯示當(dāng)前shell中的所有變量:set
    在這里插入圖片描述

4.2 自定義變量

4.2.1 基本語法

定義變量:變量 = 值
在這里插入圖片描述

撤銷變量: unset 變量
在這里插入圖片描述

聲明靜態(tài)變量: readonly 變量,注意不能unset
在這里插入圖片描述

變量定義規(guī)則

  1. 變量名稱可以由字母、數(shù)字和下劃線組成,但是不能以數(shù)字開頭,環(huán)境變量名建議大寫。

  2. 等號兩側(cè)不能有空格。

  3. 在bash中,變量默認(rèn)類型都是字符串類型,無法直接進(jìn)行數(shù)值運算
    在這里插入圖片描述

  4. 變量的值如果有空格,需要使用雙引號或單引號括起來。
    在這里插入圖片描述

  5. 可把變量提升為全局環(huán)境變量,可供其他Shell程序使用

4.2.2 export 變量名

編輯helloworld.sh

在這里插入圖片描述

輸入指令echo $D,
在這里插入圖片描述

保存后運行helloworld.sh,$D 并沒有被輸出
在這里插入圖片描述

目前$D為局部變量,將它提升為全局變量,export D
在這里插入圖片描述

運行helloworld.sh
在這里插入圖片描述

注意:變量設(shè)置為全局變量后,可供所有的shell腳本內(nèi)使用,常見的場景就是些javahome,dorkehome等

4.3 特殊變量: $n

4.3.1 基本語法

$n(功能描述:n為數(shù)字,$0代表該腳本名稱,$1-9代表第一到第九個參數(shù),十以上的參數(shù),十以上的參數(shù)需要用大括號包含如${10})

4.3.2 案例實操

創(chuàng)建touch parameter.sh;編輯文件 vim parameter.sh
在這里插入圖片描述

輸入 echo ”$0 $1 $2 $3“
在這里插入圖片描述

報存編輯 運行parameter.sh,sh parameter.sh
在這里插入圖片描述

應(yīng)用場景,判斷你輸入的參數(shù),腳本內(nèi)根據(jù)參數(shù)執(zhí)行相應(yīng)的內(nèi)容,

4.4 特殊變量: $#

4.4.1 基本語法

$# (功能描述:獲取所有輸入?yún)?shù)個數(shù),常用于循環(huán))。
實操案例
繼續(xù)編輯vim parameter.sh 輸入echo ‘$#’
在這里插入圖片描述

保存運行腳本
在這里插入圖片描述

4.5 特殊變量: $*$@

4.5.1 基本語法

$*(功能描述:這個變量代表命令行中所有的參數(shù),$*把所有的參數(shù)看成一個整體)
$@ (功能描述:這個變量也代表命令行中的所有的參數(shù),不過$@把每個參數(shù)區(qū)分對待)

4.5.2 案例實操

在這里插入圖片描述
在這里插入圖片描述在這里插入圖片描述

4.6特殊變量: $?

4.6.1基本語法

$? (功能描述:最后一次執(zhí)行的命令的返回狀態(tài),如果這個變量的值為0,證明上一個命令正確執(zhí)行,如果這個變量的值為非0(具體是哪個數(shù),由命令自己來決定),則證明上一個命令執(zhí)行不正確了 )

4.6.2 實操案例

在這里插入圖片描述

第五章 運算符

5.1 基本語法

$((運算式))“或”$[運算式]
expr +,-,\*, / ,% 加,減,乘,除,取余
注意:expr 與運算符之間要有空格。

5.2實操案例

計算2+3,3-2
在這里插入圖片描述

計算混合運行(2+3)*4
expr的形式,expr 2 + 3 用上頓號包起來表示讓它先運行,后面在執(zhí)行最外層的運算
在這里插入圖片描述

通過[]中括號的形式,這個明顯簡單些,中括號內(nèi)直接放運算式子
在這里插入圖片描述

第六章 條件判斷

6.1 基本語法

【 condition 】(注意condition前后要有空格)
注意:條件非空即為true,【 zhangsan 】返回true,[]返回false

6.2 常用判斷條件

6.2.1 連個整數(shù)之間比較

= 字符串比較
-lt 小于 (less than) -le 小于等于(less equal)
-eq 等于 (equal) -gt 大于 (greater then)
-ge 大于等于(greater equal) -ne 不等于(Not equal)

6.2.2 按照文件權(quán)限進(jìn)行判斷

-r 有讀的權(quán)限(read) -w 有寫的權(quán)限(write)-x 有執(zhí)行的權(quán)限(execute)

6.2.3 按照文件類型進(jìn)行判斷

-f 文件存在并且是一個常規(guī)的文件(file)
-e 文件存在 (existence)-d 文件存在并不是一個目錄(directory)

6.2.4 例子:

判斷23 大于等于 22,
在這里插入圖片描述

判斷helloworld.sh 是否具有寫權(quán)限
在這里插入圖片描述

/shelldatas/cls.txt 目錄中的文件是否存在
在這里插入圖片描述

多條件判斷(&&表示前一條命令執(zhí)行成功時,才執(zhí)行后一條命令), || 表示上一條命令執(zhí)行失敗后,才執(zhí)行下一條命令
在這里插入圖片描述

第七章 流程控制(重點)

7.1 if判斷

7.1.1 基本語法
if [ 條件判斷式 ]:then程序
fi
或者
if 【 條件判斷式 】then程序
fi
  1. 【 條件判斷式 】,中括號和條件判斷式之間必須有空格
  2. if 后要有空格
7.1.2 案例實操

輸入一個數(shù)字,如果式1,則輸出ni zhen shuai,如果輸出2,則輸出ni zhen chou,如果是其他,什么也不輸出。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

7.2 case 語句

7.1.1 基本語法
case $ 變量名 in
”值1“)
如果變量的值等于值1,則執(zhí)行程序1
;;
”值2“)
如果變量的值等于值2,則執(zhí)行程序2
;;
...省略其他分支...
*)
如果變量的值都不是以上的值,則執(zhí)行此程序
;;
esac

注意事項:

  1. case行尾必須為單詞”in“,每一個模式匹配必須以右括號”)“結(jié)束
  2. 雙分號”;;“表示命令序列結(jié)束,相當(dāng)于Java中的break
  3. 最后的” *)“表示默認(rèn)模式,相當(dāng)于Java中的default
7.1.2 案例實操:

輸入一個數(shù)字,如果是1,則輸出beijing,如果是2,則輸出nanjing,如果是其他,則輸出shanghai
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

7.3 for循環(huán)

7.3.1 基本語法
for (( 初始值;循環(huán)控制條件;變量變化 ))do程序
done
7.3.2 案例實操

從1加到100
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

7.3.3基本語法2
for 變量 in 值1 值2 值3...do程序
done
7.3.4 實操案例:打印所有輸入?yún)?shù)

在這里插入圖片描述
在這里插入圖片描述

$*的輸出,一次輸出一個參數(shù)

在這里插入圖片描述
在這里插入圖片描述

$@的輸出,一次輸出一個參數(shù)
在這里插入圖片描述
在這里插入圖片描述

“$*” 加引號的,一次輸出所有,只循環(huán)一次

在這里插入圖片描述

加”$@“ 一次輸出一個

在這里插入圖片描述

總結(jié):$@、$*、"$@",參數(shù)有幾個就循環(huán)幾次,
"$*", 不管參數(shù)有多少個,它只循環(huán)一次,并且值就是所有的值

7.4 while循環(huán)

7.4.1 基本語法
while [ 條件表達(dá)式 ]do程序done
7.4.2 實例:從1加到100

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第八章 read讀取控制臺輸入

8.1 基本語法

read(選項)(參數(shù))

選項:
-p:指定讀取值時的提示符;
-t: 指定讀取值時等待的時間(秒); 參數(shù): 變量:指定讀取值的變量名

8.2案例實操

提示7秒內(nèi),讀取控制臺輸入的名稱
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

第九章 函數(shù)

9.1 系統(tǒng)函數(shù)

9.1.1 basename 基本語法

basename [string/pathname] [suffix] (功能描述:basename命令會刪掉所有的前綴包括最后一個(‘/’)字符,然后將字符串顯示出來)
選項:suffix為后綴,如果suffix被指定了,basename會將pathnamestring中的suffix去掉。

9.1.2 案例實操

截取該/shelldatas/helloword.sh路徑的文件名稱
在這里插入圖片描述

9.1.3 dirname基本語法

dirname文件絕對路徑 (功能描述:從給定的包含絕對路徑的文件名中去除文件名(非目錄部分)然后返回剩下的路徑(目錄的部分))

9.1.4 案例實操

在這里插入圖片描述

9.2 自定義函數(shù)

9.2.1 基本語法
[ function ] funname[()]
{Action;[return int;]
}
funname

經(jīng)驗技巧

  1. 必須在調(diào)用函數(shù)地方之前,先聲明函數(shù),shell腳本是逐行運行,不像其他語言一樣編譯。
  2. 函數(shù)返回值,只能通過$?系統(tǒng)變量獲得,可以顯示加:return返回,如果不加,將以最后一條命令運行結(jié)果作為返回值,return后跟數(shù)值n(0~255)
9.2.2 案例實操(計算兩個輸入?yún)?shù)的和)

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

第十章 Shell工具(重點)

10.1 cut

cut的工作就是“剪”,具體的說就是在文件中負(fù)責(zé)剪切數(shù)據(jù)用的,cut命令從文件的每一行剪切字節(jié)、字符
和字段并將這些字節(jié)、字符和字段輸出。

10.1.1 基本語法

cut[選項參數(shù)] filename
說明:默認(rèn)分割符是治標(biāo)符
選擇參數(shù)說明

選項功能
-f列號,提取第幾列
-d分隔符,按照指定分隔符分隔
10.1.2 實操案例

準(zhǔn)備數(shù)據(jù)

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

選取系統(tǒng)path變量值,第2個“:”開始后的所有路徑
在這里插入圖片描述

切割ifconfig后打印的ip地址

ifconfig eth0
ifconfig eth0 | grep "inet addr"
ifconfig eth0 | grep "inet addr" | cut -d : -f 2
ifconfig eth0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1

10.2 sed

sed是一種流編譯器,它一次處理一行內(nèi)容,處理時,把當(dāng)前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”,接著用sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕,接著處理下一行,這樣不斷重復(fù),直到文件末尾。文件內(nèi)容并沒有改變,除非你使用重定向存儲輸出。

10.2.1 基本語法

sed[選項參數(shù)] ‘command’ filename

10.2.2 選項參數(shù)說明
選項參數(shù)功能
-e直接在指令列模式上進(jìn)行sed動作編輯
10.2.3 命令功能描述
命令功能
a新增,a的后面可以接字串,在下一行出現(xiàn)
d刪除
s查找并替換
10.2.4 實例實操

在這里插入圖片描述
在這里插入圖片描述
將meinv 這個單詞插入到sed.txt第二行,打印
在這里插入圖片描述

刪除源文件中包含zou的行
在這里插入圖片描述

將sed.txt文件中將zhangsan替換為lisi
在這里插入圖片描述

將sed.txt文件中的第二行刪除,并將zhangsan替換為lisi

在這里插入圖片描述

10.3 awk

一個強大的文本分析工具,把文件逐行的讀入,以空格為默認(rèn)分割符將每行切片,切開的部分在進(jìn)行分析處理。

10.3.1 基本用法

awk[選項參數(shù)] ‘patternl {action1} pattern2 {action2}...’ filename
pattern": 表示awk在數(shù)據(jù)中查找的內(nèi)容,就是匹配模式
action:在找到匹配內(nèi)容時所執(zhí)行的一系列命令

10.3.2 選項參數(shù)說明
選項參數(shù)功能
-F指定輸入文件拆分隔符
-V賦值一個用戶定義變量
10.3.3 案例實操

數(shù)據(jù)準(zhǔn)備

搜索passwd文件以root關(guān)鍵字開頭的所有行,并輸出改行的第7列
在這里插入圖片描述

搜索passwd文件以root關(guān)鍵字開頭的所有行,并輸出該行的第1列和第7列,中間以“,”號分割
在這里插入圖片描述

注意:只有匹配了pattern的行才會執(zhí)行action
只顯示/etc/passwd的第一列和第七列,以逗號分隔,且在所有行前面添加列名user,shell在最后一行添加“dage,/bin/zhishai”
在這里插入圖片描述

注意:BEGIN在所有數(shù)據(jù)讀取行之前執(zhí)行,END在所有數(shù)據(jù)執(zhí)行之后執(zhí)行。
將passwd文件中的用戶id增加數(shù)值1,并輸出

在這里插入圖片描述

10.3.4 awk的內(nèi)置變量
變量說明
FILENAME文件名
NR已讀的記錄數(shù)
NF瀏覽紀(jì)律的域的個數(shù)(切割后,列的個數(shù))
10.3.5 案例實操

統(tǒng)計passwd文件名,每行的行號,每列的列數(shù)
在這里插入圖片描述

切割I(lǐng)P
在這里插入圖片描述

查詢sed.txt中空行所在的行號
在這里插入圖片描述

10.4 sort

sort 命令式在Linux里非常有用,它將文件進(jìn)行排序,并將排序結(jié)果標(biāo)準(zhǔn)輸出。

10.4.1 基本語法

sort(選項)(參數(shù))

選項說明
-n依照數(shù)值大小排序
-r以相反的順序排序
-t設(shè)置排序時所用的分隔字符
-k指定需要排序的列
10.4.2 案例實操

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第11章: 企業(yè)真實面試題

11.1 京東

問題1:使用Linux命令查詢filel中空行所在的行號
在這里插入圖片描述

有文件chengji.txt內(nèi)容如下

張三 40
李四 50
王五 60

使用Linux 命令計算第二列的和并輸出:

cat chengji.txt | awk -F " " '{sum+=$2}  END{print sun}'

11.2搜狐&和訊網(wǎng)

Shell腳本里如何檢查一個文件是否存在?如果不存在該如何處理?

#! /bin/bash
if [ -f file.txt ]; thenecho "文件存在"
elseecho "文件不存在"
fi

11.3 新浪

用shell寫一個腳本,對文本中無序的一列數(shù)字排序
在這里插入圖片描述

11.4金和網(wǎng)絡(luò)

請用shell腳本寫出查找當(dāng)前文件夾(/home)下所有的文本文件內(nèi)容中包含有字符”shen“的文件名稱

在這里插入圖片描述

http://www.risenshineclean.com/news/51300.html

相關(guān)文章:

  • 南京網(wǎng)站制作公司南京樂識專心地推拉新接單平臺
  • 兼職做美工攝影去哪個網(wǎng)站成都百度seo推廣
  • 汕尾做網(wǎng)站如何做免費網(wǎng)絡(luò)推廣
  • blogger wordpressseo人員招聘
  • 網(wǎng)站客戶續(xù)費北京百度競價托管
  • 沈陽建設(shè)企業(yè)網(wǎng)站如何做好網(wǎng)絡(luò)營銷
  • 零基礎(chǔ)網(wǎng)站建設(shè)教程seo的基本步驟是什么
  • wordpress 登錄seo外包公司專家
  • 網(wǎng)站策劃內(nèi)容有哪些靠譜的代運營公司
  • 企業(yè)網(wǎng)站建設(shè)怎么選擇空間百度關(guān)鍵詞優(yōu)化平臺
  • 網(wǎng)址ip域名解析寧波seo推廣如何收費
  • 手機怎樣做網(wǎng)站圖解品牌推廣軟文200字
  • 跟我一起做網(wǎng)站 下載seo搜索優(yōu)化技術(shù)
  • 網(wǎng)站工作室最牛餐飲營銷手段
  • 自己做網(wǎng)站開店寧波網(wǎng)站建設(shè)推廣平臺
  • 安卓做視頻網(wǎng)站微信推廣軟件有哪些
  • 做投資網(wǎng)站深圳seo優(yōu)化公司哪家好
  • 哈爾濱網(wǎng)絡(luò)開發(fā)放心網(wǎng)站推廣優(yōu)化咨詢
  • 高校門戶網(wǎng)站建設(shè)問題seo網(wǎng)站關(guān)鍵詞優(yōu)化方式
  • 淘寶上有做網(wǎng)站的嗎某個網(wǎng)站seo分析實例
  • 外貿(mào)零售網(wǎng)站建設(shè)查關(guān)鍵詞排名網(wǎng)
  • 玉林市網(wǎng)站開發(fā)公司swot分析
  • 網(wǎng)站建設(shè)圖書百度客服中心人工在線咨詢
  • 改wordpress評論郵箱willfast優(yōu)化工具下載
  • 做網(wǎng)站外包工作怎么樣360應(yīng)用商店
  • 手機h5網(wǎng)站模板利于seo的建站系統(tǒng)有哪些
  • 廣東省住房和城鄉(xiāng)建設(shè)局網(wǎng)站投廣告的平臺有哪些
  • 注冊公司流程和費用需要哪些條件酒店seo是什么意思
  • 網(wǎng)站引導(dǎo)頁動畫濟南優(yōu)化網(wǎng)站關(guān)鍵詞
  • 原單手表網(wǎng)站域名解析在線查詢