日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux 脚本编写基础(二)

發(fā)布時(shí)間:2025/5/22 linux 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 脚本编写基础(二) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.1.5 Shell命令和流程控制

在shell腳本中可以使用三類(lèi)命令:

1)Unix 命令:

雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對(duì)更常用的命令。這些命令通常是用來(lái)進(jìn)行文件和文字操作的。

常用命令語(yǔ)法及功能

echo "some text": 將文字內(nèi)容打印在屏幕上

ls: 文件列表

wc –l filewc -w filewc -c file: 計(jì)算文件行數(shù)計(jì)算文件中的單詞數(shù)計(jì)算文件中的字符數(shù)

cp sourcefile destfile: 文件拷貝

mv oldname newname : 重命名文件或移動(dòng)文件

rm file: 刪除文件

grep 'pattern' file: 在文件內(nèi)搜索字符串比如:grep 'searchstring' file.txt

cut -b colnum file: 指定欲顯示的文件內(nèi)容范圍,并將它們輸出到標(biāo)準(zhǔn)輸出設(shè)備比如:輸出每行第5個(gè)到第9個(gè)字符cut -b5-9 file.txt千萬(wàn)不要和cat命令混淆,

這是兩個(gè)完全不同的命令

cat file.txt: 輸出文件內(nèi)容到標(biāo)準(zhǔn)輸出設(shè)備(屏幕)上

file somefile: 得到文件類(lèi)型

read var: 提示用戶輸入,并將輸入賦值給變量

sort file.txt: 對(duì)file.txt文件中的行進(jìn)行排序

uniq: 刪除文本文件中出現(xiàn)的行列比如: sort file.txt | uniq

expr: 進(jìn)行數(shù)學(xué)運(yùn)算Example: add 2 and 3expr 2 "+" 3

find: 搜索文件比如:根據(jù)文件名搜索find . -name filename -print

tee: 將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備(屏幕) 和文件比如:somecommand | tee outfile

basename file: 返回不包含路徑的文件名比如: basename /bin/tux將返回 tux

dirname file: 返回文件所在路徑比如:dirname /bin/tux將返回 /bin

head file: 打印文本文件開(kāi)頭幾行

tail file : 打印文本文件末尾幾行

sed: Sed是一個(gè)基本的查找替換程序。可以從標(biāo)準(zhǔn)輸入(比如命令管道)讀入文本,并將結(jié)果輸出到標(biāo)準(zhǔn)輸出(屏幕)。該命令采用正則表達(dá)式(見(jiàn)參考)進(jìn)行搜索。不要和shell中的通配符相混淆。比如:

將linuxfocus 替換為 LinuxFocus :cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.file

awk: awk 用來(lái)從文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。cat file.txt | awk -F, '{print $1 "," $3 }'這里我們使用,作為字段分割符,同時(shí)打印第一個(gè)和第三個(gè)字段。如果該文件內(nèi)容如下:Adam Bor, 34, IndiaKerry Miller, 22, USA命令輸出結(jié)果為:Adam Bor, IndiaKerry Miller, USA

2) 概念: 管道, 重定向和 backtick 這些不是系統(tǒng)命令,但是他們真的很重要。

管道 ( | ) 將一個(gè)命令的輸出作為另外一個(gè)命令的輸入。

grep "hello" file.txt | wc -l

在file.txt中搜索包含有”hello”的行并計(jì)算其行數(shù)。

在這里grep命令的輸出作為wc命令的輸入。當(dāng)然您可以使用多個(gè)命令。

重定向:將命令的結(jié)果輸出到文件,而不是標(biāo)準(zhǔn)輸出(屏幕)。

> 寫(xiě)入文件并覆蓋舊文件

>> 加到文件的尾部,保留舊文件內(nèi)容。

反短斜線

使用反短斜線可以將一個(gè)命令的輸出作為另外一個(gè)命令的一個(gè)命令行參數(shù)。

命令:

find . -mtime -1 -type f -print

用來(lái)查找過(guò)去24小時(shí)(-mtime –2則表示過(guò)去48小時(shí))內(nèi)修改過(guò)的文件。如果您想將所有查找到的文件打一個(gè)包,則可以使用以下腳本:

#!/bin/sh

# The ticks are backticks (`) not normal quotes ('):

tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`

總結(jié)

以上是生活随笔為你收集整理的Linux 脚本编写基础(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。