linux計(jì)算器bc命令 linux中bc用法

Linux 里面命令行打開(kāi)計(jì)算器 怎么輸入

linux命令行計(jì)算器

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、韶山ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的韶山網(wǎng)站制作公司

詳細(xì)文檔請(qǐng) man bc

在windows下,大家都知道直接運(yùn)行calc,(c:\windows\system32\calc.exe),可以打開(kāi)計(jì)算器。

注:

calculate vt.vi.

計(jì)算;calculator n. 計(jì)算器。calc就是這個(gè)計(jì)算的簡(jiǎn)寫(xiě)。

Ca在化學(xué)中是代表鈣元素,calcium?

鈣(20號(hào)元素,符號(hào)Ca)。兩者有什么聯(lián)系呢?

calculate 來(lái)自calculus,原義是做算術(shù)運(yùn)算的小石子,是calx(石灰石)的小稱(chēng)。

那么在linux系統(tǒng)下,有無(wú)與windows下calc.exe類(lèi)似的計(jì)算器呢?

下面總結(jié)linux下的三個(gè)命令,來(lái)介紹一下linux下的計(jì)算方法:

1)bc

bc在默認(rèn)的情況下是個(gè)交互式的指 令。在bc工作環(huán)境下,可以使用以下計(jì)算符號(hào):

+ 加法

- 減法

* 乘法

/ 除法

^ 指數(shù)

% 余數(shù)

如:

#

bc

bc 1.06

Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,

Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

3+6???????????

=加法

9

4+2*3??????????=加法、乘法

10

(4+2)*3????????=加法、乘法(優(yōu)先)

18

4*6/8?????????

=乘法、除法

3

10^3?????????

=指數(shù)

1000

18%5???????????=余數(shù)

3+4;5*2;5^2;18/4?????

=一行輸入多個(gè)計(jì)算,用;相隔。

7

10

25

4

quit ???????????=退出

# bc

bc 1.06

Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,

Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

scale=3????????

=設(shè)小數(shù)位

1/3

.333

quit

以上是交互的計(jì)算,那到也可以 不進(jìn)行交互而直接計(jì)算出結(jié)果。

A.用echo和|法,如:

# echo "(6+3)*2" |bc

18

# echo 15/4 |bc

3

# echo "scale=2;15/4"

|bc

3.75

# echo "3+4;5*2;5^2;18/4"

|bc

7

10

25

4

另外,

bc除了scale來(lái)設(shè)定小數(shù)位之外,還有ibase和obase來(lái)其它進(jìn)制的運(yùn)算。

如:

//將16進(jìn)制的A7輸出為10進(jìn)制, 注意,英文只能大寫(xiě)

# echo "ibase=16;A7"

|bc

167

//將2進(jìn)制的11111111轉(zhuǎn)成10進(jìn)制

# echo "ibase=2;11111111"

|bc

255

//輸入為16進(jìn)制,輸出為2進(jìn)制

# echo "ibase=16;obase=2;B5-A4"

|bc

10001

對(duì)于bc還有補(bǔ)充,在bc --help中還可以發(fā)現(xiàn):bc后可以接文件名。如:

# more calc.txt

3+2

4+5

8*2

10/4

# bc calc.txt

5

9

16

2

2)expr

expr命令可不光能計(jì)算加減乘除哦,還有很多表達(dá)式,都可以計(jì)算出結(jié)果,不過(guò)有一點(diǎn)需要注意,在計(jì)算加減乘除時(shí),不要忘了使用空格和轉(zhuǎn)義。下

面直接用實(shí)例來(lái)介紹一下expr的運(yùn)算,如:

# expr 6 +

3??????

(有空格)

9

# expr?2 \*

3?????

(有轉(zhuǎn)義符號(hào))

6

# expr 14 % 9

5

# a=3

# expr

$a+5?????????

(無(wú)空格)

3+5

# expr $a +

5????????

(變量,有空格)

8

#

a=`expr 4 + 2`

echo $a

6

# expr $a + 3

9

另外,expr對(duì)于字串的操作(計(jì)算)也是很方便的,如:

//字串長(zhǎng)度

#?expr length

"yangzhigang.cublog.cn"

21

//從位置處抓取字串

# expr substr "yangzhigang.cublog.cn"

1 11

yangzhigang

//字串開(kāi)始處

# expr index

"yangzhigang.cublog.cn" cu

13

3)dc

用dc來(lái)進(jìn)行計(jì)算的人可以不多,因?yàn)閐c與bc相比要復(fù)雜,但是在進(jìn)行簡(jiǎn)單的計(jì)劃時(shí),是差不多的,不算難。dc為壓棧操作,默認(rèn)也是交互的,但

也可以用echo和|來(lái)配合打算。

如:

# dc

3

2+

p

5

4*

p

20

quit

# echo 3 2+ 4* p |dc

20

4)echo

echo用來(lái)進(jìn)行回顯,是周知的事。上面也配合bc來(lái)進(jìn)行計(jì)算。其實(shí)echo也可以單獨(dú)進(jìn)行簡(jiǎn)單的計(jì)算,如:

# echo $((3+5))

8

# echo $(((3+5)*2))

16

echo還可以進(jìn)行變量的計(jì)算,如:

# a=10

# b=5

# echo $(($a+$b))

15

# echo $a+$b

10+5

# echo $a+$b |bc

15

//計(jì)算前天的日期

#? echo `date

+%Y%m%d`

20090813

#? echo `date +%Y%m%d`-2

20090813-2

#? echo `date +%Y%m%d`-2

|bc

20090811

5)AWK

awk在處理文件的時(shí),可以進(jìn)行運(yùn)算,那當(dāng)然也可以單單用來(lái)計(jì)算了,如:

# awk 'BEGIN{a=3+2;print

a}'

5

# awk 'BEGIN{a=(3+2)*2;print

a}'

10

Awk 支持常見(jiàn)的運(yùn)算符, 如 + (加),- (減), * (乘), / (除), ^ 或 ** (乘方), % (取模)

等等。 此外, awk 也提供了一些常用的數(shù)學(xué)函數(shù), 比如 sin(x), cos(x), exp(x), log(x),

sqrt(x), rand()。 使用這些運(yùn)算符和函數(shù)可以直接進(jìn)行一些簡(jiǎn)單的運(yùn)算:

# echo | awk '{print

8+6}'

14

# echo | awk '{print

8/6}'

1.33333

# echo | awk '{print

9%5}'

4

請(qǐng)放心使用

有問(wèn)題的話請(qǐng)追問(wèn)

滿意請(qǐng)及時(shí)采納,謝謝

Linux里面cpu占用太高排查思路是什么?

思路就是top查看是什么進(jìn)程占用高,一般是應(yīng)用或者數(shù)據(jù)庫(kù),應(yīng)用方面可以看看運(yùn)行吐出日志是否有報(bào)錯(cuò)信息,查netstat連接應(yīng)用端口的會(huì)話是不是有異常,數(shù)據(jù)庫(kù)進(jìn)程高,可以使用自帶的檢查命令后臺(tái)看是否有執(zhí)行很久的sql事務(wù),鎖等待頻繁,報(bào)錯(cuò)日志等,找到問(wèn)題針對(duì)性的優(yōu)化,一步一步解決。

linux下的bc指令是計(jì)算機(jī),那bc是什么單詞的縮寫(xiě)阿?linux下的指令好像沒(méi)什么規(guī)則?

bc是dc的前端,dc是unix下的程序,很古老,很難用

"dc is a desk calculator program that takes input in reverse Polish notation"

命名基本上都是縮寫(xiě)

list-ls

move-mv

copy-cp

像dc這種屬于第三方程序,命名就不那么嚴(yán)謹(jǐn),比如mc,其實(shí)是midnight-commander,不看manpage很難猜到意思

linux下計(jì)算器指令為什么是“bc”

沒(méi)有,因?yàn)閣indows是視窗操作系統(tǒng),為了方便用戶(hù)操作,很少有命令行的常用應(yīng)用程序。 linux是原生命令行系統(tǒng),所以絕大多數(shù)的工具、程序都有命令行的版本。

在命令行模式下執(zhí)行命令

輸入命令按下enter鍵就會(huì)開(kāi)始執(zhí)行,如果輸入的命令很長(zhǎng),可以使用反斜杠\來(lái)轉(zhuǎn)義enter符號(hào),使命令連續(xù)到下一行。

在linux環(huán)境中大小寫(xiě)是不同的

1.顯示日期和事件的命令:date

如果想要輸出特定格式的日期和事件需要帶上參數(shù)

例如:date +%Y/%m/%d

date +%H:%M

2.顯示日歷的命令:cal

cal的基本能語(yǔ)法:cal [[month] year]

可以顯示某年的日歷:例如,cal 2009

可以顯示某年某月的日歷:例如,cal 9 2009

3.計(jì)算器命令:bc

輸入bc命令就進(jìn)入bc這個(gè)軟件的工作環(huán)境,就可以像在windows中一樣進(jìn)行加減乘除,

+加法,-減法,*乘法,/除法,^指數(shù),%余數(shù)。

bc默認(rèn)是輸出整數(shù)的,如果要輸出全部小數(shù),就必須執(zhí)行scale=number,其中number就是小數(shù)點(diǎn)后的位數(shù)。

要離開(kāi)bc,需要輸入quit才能離開(kāi)bc軟件環(huán)境。

1.tab鍵:用于補(bǔ)全命令或者補(bǔ)全文件

2.ctrl+c:用于中斷目前正在運(yùn)行的命令

3.ctrl+d:表示鍵盤(pán)輸入結(jié)束,也可以用來(lái)代替exit的輸入。

在命令行中直接按下兩次tab鍵,可以看到總共有多少個(gè)命令可以供當(dāng)前用戶(hù)使用。

可以使用man 命令名來(lái)查看命令的具體用法。

其中man是manual的縮寫(xiě)。

數(shù)據(jù)同步寫(xiě)入磁盤(pán)中:在關(guān)機(jī)前可以使用命令sync將內(nèi)存中尚未被更新的數(shù)據(jù)就會(huì)被寫(xiě)入硬盤(pán)中。

關(guān)機(jī)命令:shutdown、reboot、halt、poweroff

系統(tǒng)執(zhí)行等級(jí):

run level 0:關(guān)機(jī)

run level 3:純命令行模式

run level 5:含有圖形界面模式

run level 6:重啟

可以使用init命令來(lái)切換各種模式,例如想要關(guān)機(jī)的話,也可以使用init 0。

Linux文件屬性

ls -al 列出所有的文件,-al表示列出所有的文件詳細(xì)的權(quán)限和屬性。

例如

[1] [2] [3] [4] [5] [6] [7]

[權(quán)限] [連接] [所有者][用戶(hù)組][文件容量] [修改日期] [文件名]

drwxr-x--- 4 root root 4096 Sep 8 14:06 .gconfd

-rwxr-xr-x 1 root root 1024 Jan 3 11:01 install.log

1.第一列文件的類(lèi)型與權(quán)限

第一列由10個(gè)字符組成:

第一個(gè)字符代表這個(gè)文件是目錄、文件或者鏈接文件等

其中d表示目錄,

-表示是文件

l表示是連接文件

接下來(lái)的字符中,以三個(gè)字符為一組,均是rwx的組合,其中r表示可讀,w表示可寫(xiě),x表示可執(zhí)行。如果沒(méi)有相應(yīng)的權(quán)限就用-表示。

這三組分別表示的權(quán)限是:

第一組為”文件所有者的權(quán)限“

第二組為”同用戶(hù)組的權(quán)限“

第三組為”其他非本用戶(hù)組的權(quán)限“

2.第二列表示有多少個(gè)文件名連接到此節(jié)點(diǎn)上

3.第三列表示這個(gè)文件或目錄的所有者賬號(hào)

4.第四列表示這個(gè)文件所屬的用戶(hù)組

5.第五列表示這個(gè)文件的大小,默認(rèn)單位為B

6.第六列表示這個(gè)文件的創(chuàng)建日期或這個(gè)文件的修改日期。

7.第七列表示這個(gè)文件名

改變文件屬性和權(quán)限:

chgrp(change group):改變文件的所屬用戶(hù)組

chown(change owner):改變文件所有者

chmod:改變權(quán)限,權(quán)限的設(shè)置有兩種方式,使用數(shù)字或者符號(hào)來(lái)進(jìn)行權(quán)限的更改。

數(shù)字類(lèi)型改變權(quán)限:

使用數(shù)字分別代表各個(gè)權(quán)限,其中:

r:4

w:2

x:1

owner、group、others三種身份各自有自己的rwx權(quán)限,三個(gè)權(quán)限的分?jǐn)?shù)需要累加。例如

owner = rwx = 4 + 2 + 1=7

group = rwx = 4 + 2 + 1 = 7

others = --- = 0 + 0 + 0 = 0

那么這個(gè)文件的權(quán)限數(shù)字就是770

符號(hào)類(lèi)型改變權(quán)限:

使用u,g,o分別代表user、group、others三種身份的權(quán)限,a表示所有身份

例如:

一個(gè)文件的權(quán)限為:-rwxr-xr-x

user:有可讀、可寫(xiě)、可執(zhí)行的權(quán)限

group:有可讀、可執(zhí)行的權(quán)限

others:有可讀、可執(zhí)行的權(quán)限

可以使用命令 chmod u=rwx,go=rx install.log

給install.log文件的所有用戶(hù)增加寫(xiě)權(quán)限

chmod a+w install.log

給install.log文件的所有用戶(hù)去掉可執(zhí)行權(quán)限

chmod a-x install.log

Linux下文件沒(méi)有所謂的擴(kuò)展名,一個(gè)linux文件能不能被執(zhí)行,與文件名沒(méi)有一點(diǎn)關(guān)系,而是權(quán)限中有x,就代表這個(gè)文件可以被執(zhí)行。

通常會(huì)以適當(dāng)?shù)臄U(kuò)展名來(lái)表示文件是什么種類(lèi)的。例如, .sh表示腳本或批處理文件, .Z、 .tar、 .tar.gz、 .zip、 .tgz都表示壓縮文件。

FHS(Filesystem Hierarchy Standard)標(biāo)準(zhǔn)用于讓用戶(hù)能夠了解到已安裝的軟件通常放置在哪個(gè)目錄下。FHS根據(jù)文件系統(tǒng)使用的頻繁與否和是否允許用戶(hù)隨意改動(dòng),而將目錄定義成四種交互作用的形態(tài)。分別如下:

可分享的 不可分享的

不變的:/usr(軟件放置處)、/opt(第三方軟件) /etc(配置文件)、/boot(開(kāi)機(jī)與內(nèi)核文件)

可變動(dòng)的: /var/mail(用戶(hù)郵件信箱) /var/run(程序相關(guān))、/var/lock(程序相關(guān))

/var/spool/news(新聞組) /var/lock(程序相關(guān))

可分享的:可以分享給其他系統(tǒng)掛載使用的目錄,所以包括可執(zhí)行文件與用戶(hù)的郵件等數(shù)據(jù),是能夠分享給網(wǎng)絡(luò)上的其他主機(jī)掛載用的目錄。

不可分享的:自己機(jī)器上運(yùn)行的設(shè)備文件或者程序有關(guān)的socket文件等,不適合分享給其他主機(jī)。

不變的:數(shù)據(jù)不經(jīng)常變動(dòng)。

可變動(dòng)的:數(shù)據(jù)經(jīng)常變動(dòng)

根目錄(/):是整個(gè)系統(tǒng)最重要的目錄,不僅所有其他目錄是由根目錄衍生出來(lái)的,而且根目錄與開(kāi)機(jī)、還原、系統(tǒng)修復(fù)等操作有關(guān)。根目錄所在的分區(qū)越小越好,并且應(yīng)用程序所安裝的軟件最好不要與根目錄在同一個(gè)分區(qū)。

開(kāi)機(jī)過(guò)程中僅有根目錄會(huì)被掛載,其他的分區(qū)會(huì)在開(kāi)機(jī)完成之后才會(huì)持續(xù)進(jìn)行掛載,因此根目錄下與開(kāi)機(jī)過(guò)程有關(guān)的目錄就不能夠與根目錄放到不同的分區(qū)去。有如下這些目錄:

/etc:配置文件

/bin:重要執(zhí)行文件

/dev:所需要的設(shè)備文件

/lib:執(zhí)行文件所需的函數(shù)庫(kù)與內(nèi)核所需的模塊

/sbin:重要的系統(tǒng)執(zhí)行文件

/usr(UNIX software resource)unix操作系統(tǒng)軟件資源,所有系統(tǒng)默認(rèn)的軟件都會(huì)放置在該目錄下,因此這個(gè)目錄有點(diǎn)類(lèi)似與windows下的“C:\Windows”和“C:\Program files”。

/var 放置一些緩存、登錄文件以及某些軟件運(yùn)行所產(chǎn)生的文件。

相對(duì)路徑和絕對(duì)路徑:

絕對(duì)路徑:由根目錄/開(kāi)始寫(xiě)起的文件名或目錄名稱(chēng)。

相對(duì)路徑:相對(duì)于當(dāng)前路徑

.:或者./表示當(dāng)前路徑

..:或者../表示上層目錄

幾個(gè)特殊的目錄

. 代表此層目錄

.. 代表上層目錄

~ 代表“目前用戶(hù)身份”所在的主文件夾

~account 代表account這個(gè)用戶(hù)的主文件夾

幾個(gè)常見(jiàn)的處理目錄的命令

cd:切換目錄

剛登錄時(shí)會(huì)回到自己的主文件夾,主文件夾有一個(gè)代表符號(hào)就是~,cd ~會(huì)回到個(gè)人的主文件夾中,僅輸入cd和輸入cd ~相同。

pwd:顯示當(dāng)前目錄

pwd [-p] 其中-p表示顯示當(dāng)前路徑,而不是使用連接路徑。加上-p可以讓我們?nèi)〉谜_的目錄名稱(chēng)。

mkdir:創(chuàng)建一個(gè)新目錄

mkdir [-mp] 目錄名稱(chēng),其中m參數(shù)表示配置文件夾的權(quán)限。p參數(shù)表示遞歸創(chuàng)建所需要的所有目錄

rmdir:刪除一個(gè)空目錄

rmdir [-p] 目錄名,其中p參數(shù)表示連同上層空的目錄一起刪除。要?jiǎng)h除的目錄中必定不能存在其他的目錄或文件。

執(zhí)行文件路徑的變量:$PATH

例如查看文件屬性的命令是ls,而ls完整的文件名是/bin/ls,為什么我們可以在任何地方執(zhí)行l(wèi)s這個(gè)命令呢,這是因?yàn)榄h(huán)境變量PATH的幫助。當(dāng)我們輸入ls的時(shí)候,系統(tǒng)會(huì)依照PATH的設(shè)置去每個(gè)PATH定義的目錄中查找文件名為ls的可執(zhí)行文件,如果在PATH定義的目錄中含有多個(gè)文件名為ls的可執(zhí)行文件,那么先查詢(xún)到的同名命令先被執(zhí)行。

默認(rèn)情況下,如果用戶(hù)創(chuàng)建文件,則默認(rèn)沒(méi)有可執(zhí)行權(quán)限(x),只有r、w這兩個(gè)選項(xiàng),即默認(rèn)權(quán)限是-rw-rw-rw(666)

默認(rèn)情況下,如果用戶(hù)創(chuàng)建目錄,則默認(rèn)所有權(quán)限均開(kāi)放,即為drwx-rwx-rwx(777)

unmask的分?jǐn)?shù)是指“該默認(rèn)值需要拿掉的權(quán)限”,例如上面的022表示用戶(hù)沒(méi)有被拿掉任何權(quán)限,用戶(hù)組和其他被拿掉了寫(xiě)的權(quán)限。

如何使用unmask修改新建文件的默認(rèn)權(quán)限,直接在unmask后面加上分?jǐn)?shù)就好了

比如:

···

unmask 002 就表示用戶(hù)和用戶(hù)組的讀寫(xiě)權(quán)限不被拿掉,其他會(huì)被拿掉寫(xiě)的權(quán)限

···

2.與用戶(hù)或用戶(hù)組名有關(guān)的參數(shù)

-uid n 其中n表示數(shù)字,即用戶(hù)的ID,也稱(chēng)為UID

-gid n 其中n表示數(shù)字,即用戶(hù)組名的ID,也稱(chēng)為GID

-user name 其中name為用戶(hù)的賬號(hào)名稱(chēng)

-group name 其中name為用戶(hù)組名

-nonuser 表示尋找文件的所有者不存在在/etc/passwd中的文件

-nongroup 表示尋找文件的所有用戶(hù)組不存在于/etc/group中的文件

例如:

3.與文件權(quán)限及名稱(chēng)有關(guān)的參數(shù)

-name filename 查找文件名為filename的文件

-size [+-] SIZE 查找比size大(+)或?。?)的文件

-type TYPE表示查找文件類(lèi)型為T(mén)YPE的文件

-perm mode表示查找文件權(quán)限剛好等于mode的文件

-perm -mode表示查找文件權(quán)限必須全部包括mode的權(quán)限的文件

例如 查找文件權(quán)限為-rwxr--r--的文件,即權(quán)限744,那么文件權(quán)限為-rwxr-xr-x(755)的文件也會(huì)被列出來(lái),因?yàn)?rwxr-xr-x的屬性包括了-rwxr--r--的屬性

-perm +mode表示查找文件權(quán)限包含任一mode的權(quán)限的文件,例如查找-rwxr-xr-x,但是另一個(gè)文件屬性包括-rw-------的文件也會(huì)被列出來(lái),因?yàn)樗?rw屬性存在

4.其他可進(jìn)行的操作

-exec command :其中command表示其他命令,-exec表示接其他命令來(lái)處理查詢(xún)的結(jié)果

-print 表示將結(jié)果打印在屏幕上

vi和vim的區(qū)別是vim是vi的高級(jí)版本

為什么要學(xué)vim

1.所有的linux like 系統(tǒng)都會(huì)內(nèi)置vi文本編輯器,而其他的文本編輯器不一定有

2.很多軟件的編輯接口都會(huì)主動(dòng)調(diào)用vi

3.vim有程序編輯的能力,可以主動(dòng)以字體顏色辨別語(yǔ)法的正確性,方便設(shè)計(jì)

vi的使用:

vi有三種模式:一般模式、編輯模式、命令行模式

一般模式:使用vi打開(kāi)一個(gè)文件的時(shí)候就進(jìn)入了一般模式,在這個(gè)模式中可以按左右鍵移動(dòng)光標(biāo),可以刪除字符或刪除整行,也可以復(fù)制粘貼你的文件數(shù)據(jù)。但是不可以編輯文件。

編輯模式:在一般模式下按下“i 、I、o、O、a、A、r、R”等任何一個(gè)字母才會(huì)進(jìn)入編輯模式,按esc退出編輯模式

命令行模式:在一般模式下,輸入“:、/、?”就進(jìn)入了,命令行模式,在這個(gè)模式下可以進(jìn)行讀取、保存文件,離開(kāi)vi等操作。

編輯牧師和命令行模式之間是不可以切換的。

一般模式切換到命令行模式可用的按鈕

:w 表示將編輯的內(nèi)容寫(xiě)入到硬盤(pán)中

:w! 表示如果文件屬性為 只讀時(shí),強(qiáng)制寫(xiě)入該文件

:q表示離開(kāi)vi

:q!表示如果文件有修改過(guò),不保存強(qiáng)制退出,

:wq表示保存后離開(kāi)

vim的用法和vi完全一樣

管道命令僅會(huì)處理standard out,對(duì)于standard error output會(huì)予以忽略

管道命令必須要能夠接收來(lái)自前一個(gè)命令的數(shù)據(jù)成為standard input繼續(xù)處理才行

選取命令:cut,grep

1.cut -d ‘分隔符’ -f field

cut -c 字符范圍

-d表示分隔符

-f表示與-d分隔符一起使用,表示取分割后的第幾段

-c表示以字符為單位取出固定字符區(qū)間

以“行”為單位進(jìn)行處理的選取

例如:

2.grep

grep [-acinv] [--color=auto] '查找的字符串' filename

其中

-a表示將binary文件以text文件的放肆查找數(shù)據(jù)

-c表示計(jì)算找到“查找字符串”的次數(shù)

-i表示忽略大小寫(xiě)的不同

-n表示輸出行號(hào)

-v表示反向選擇,即顯示出沒(méi)有‘查找字符串’內(nèi)容的那一行。

--color=auto表示將找到的關(guān)鍵字部分加上顏色

例如:

首先學(xué)習(xí)一下grep命令的一些高級(jí)參數(shù)

grep [-A] [-B] [--color=auto] ‘搜索字符串’ filename

其中:

-A :后面可加數(shù)字,表示after的意思,除了列出該行外,后續(xù)的n行也列出來(lái)。

-B :后面可加數(shù)字,表示before的意思,除了列出該行外,前面的n行也列出來(lái)。

--color=auto表示將選取的數(shù)據(jù)添加顏色

grep是一個(gè)很常用的命令,grep在數(shù)據(jù)中查找一個(gè)字符串時(shí),是以整行為單位來(lái)進(jìn)行數(shù)據(jù)的選取的。假如一個(gè)文件有10行,其中有兩行具有你查找的字符串,則將那兩行顯示在屏幕上,其他的丟棄。

例如

1.查找特定的字符

2.利用中括號(hào)[]來(lái)查找集合字符

[]里面不論有幾個(gè)字符,它都只代表某“一個(gè)”字符

3.行首與行尾字符^$

^ 出現(xiàn)在[]之外表示定位在首行,^ 出現(xiàn)在[]中表示方向選擇

4.任意一個(gè)字符.與重復(fù)字符*

.(小數(shù)點(diǎn)):代表一定有一個(gè)任意字符

*(星號(hào)):代表重復(fù)前一個(gè)字符0到無(wú)窮次的意思

例如:

5.限定連續(xù)RE字符范圍{}

因?yàn)榉?hào){}在shell中是有特殊意義的,因此必須要使用轉(zhuǎn)義字符\來(lái)讓它失去特殊意義才行。

例如

^word 表示待查找的字符word在首行

word$ 表示待查找的字符在結(jié)尾

.(小數(shù)點(diǎn))表示一定有一個(gè)任意字符的字符

\表示轉(zhuǎn)義字符,將特殊符號(hào)的特殊意義去掉

*表示重復(fù)零個(gè)或無(wú)窮多個(gè)前一個(gè)字符

[list]表示從字符集合list中找出想太選取的一個(gè)字符

[n1-n2]表示從字符集中查找想要選取的字符范圍

[^n1-n2]表示從字符集中查找不要的字符串或范圍

{n,m}表示連續(xù)n到m個(gè)前一個(gè)字符,若為{n}表示連續(xù)n個(gè)前一個(gè)字符,{n,}表示連續(xù)n個(gè)以上前一個(gè)字符。

sed命令可以將數(shù)據(jù)進(jìn)行替換、刪除、新增、選取特定行等

sed [-nefr] [動(dòng)作]

其中

-n表示使用安靜模式,在一般sed用法中,所有來(lái)自STDIN的數(shù)據(jù)一般都會(huì)被列出在屏幕上,但如果加上-n參數(shù)后,則只有經(jīng)過(guò)sed特殊命令處理的那一行才會(huì)被列出來(lái)。

-e表示直接在命令行模式上進(jìn)行sed的動(dòng)作編輯

-f表示直接將sed的動(dòng)作寫(xiě)在一個(gè)文件內(nèi)

-r表示sed的動(dòng)作支持的是擴(kuò)展型的正則表達(dá)式,默認(rèn)是基礎(chǔ)型的正則表達(dá)式

-i表示直接修改讀取的內(nèi)容,而不是由屏幕輸出

動(dòng)作說(shuō)明:

[n1[,n2]] function

n1,n2:不一定會(huì)存在,一般代表選擇進(jìn)行動(dòng)作的行

function 有下面的參數(shù)

a表示新增,a后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(目前的下一行)

c表示替換,c的后面可以接字符串,這些字符串可以替換n1,n2之間的行

d表示刪除

i表示插入,i后買(mǎi)呢可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(目前的上一行)

p表示打印,將某個(gè)選擇的數(shù)據(jù)打印出來(lái),通常會(huì)和參數(shù)-n一起運(yùn)行

s表示替換,可以直接進(jìn)行替換工作,sed ‘s/要被替換的字符串/新的字符串/g'

例如

awk是非常棒的數(shù)據(jù)處理工具。

awk '條件類(lèi)型1{動(dòng)作1} 條件類(lèi)型2{動(dòng)作2} 條件類(lèi)型3{動(dòng)作3}....' filename

awk主要是處理每一行的字段內(nèi)的數(shù)據(jù),而默認(rèn)的字段的分隔符是空格鍵或[tab]鍵。

例如

awk內(nèi)置變量有:

例如:

awk的邏輯運(yùn)算符

例如:

我們發(fā)現(xiàn)上面會(huì)輸出第一行奇怪的數(shù)據(jù),是因?yàn)楫?dāng)讀入第一行的時(shí)候,變量之間還是以空格鍵進(jìn)行分隔的,所有,我們雖然定義了FS=":",但是卻在第二行后開(kāi)始生效,我們可以利用BEGIN這個(gè)關(guān)鍵字。

使用awk進(jìn)行計(jì)算統(tǒng)計(jì)

例如

格式輸出中,在printf的格式設(shè)置中,務(wù)必加上\n,才能進(jìn)行分行

在awk中變量可以直接使用,不用加上$符號(hào)

crontab進(jìn)行工作調(diào)度

crontab [-u username] [-l | -e | -r]

-u表示只有root才能進(jìn)行這個(gè)任務(wù)

-e表示編輯crontab的工作內(nèi)容

-l表示查閱crontab的工作內(nèi)容

-r表示刪除crontab的所有工作內(nèi)容

例如

其中由6個(gè)字段組成

分別表示的意義是:

分鐘 小時(shí) 日期 月份 周 命令

0-59 0-23 1-31 1-12 0-7 命令

其中周的0和7都表示星期日

表示任意時(shí)刻

,(逗號(hào))表示分隔時(shí)段的意思,例如0 3,6 * * * commond,表示在3和6時(shí)執(zhí)行

-(減號(hào))表示一段時(shí)間范圍,例如20 8-12 * * * commond,表示8到12時(shí)之間每小時(shí)的20分執(zhí)行。

/n(斜線)表示每隔n單位間隔的意思,例如 /5 * * * * commond,表示每隔5分鐘執(zhí)行一次。

執(zhí)行crontab -e這個(gè)crontab其實(shí)是/usr/bin/crontab這個(gè)執(zhí)行文件。

scp -r 源文件路徑 root@ip:目標(biāo)文件路徑

變量的數(shù)值計(jì)算實(shí)踐——bc命令的用法

bc是UNIX/Linux下的計(jì)算器,因此,除了可以作為計(jì)算器來(lái)用,還可以作為,命令行計(jì)算工具使用。

1、bc作為計(jì)算器來(lái)用

2、bc用在命令行下面實(shí)現(xiàn)運(yùn)算功能

3、通過(guò)一條命令計(jì)算輸出1+2+3.....+10的表達(dá)式

分享題目:linux計(jì)算器bc命令 linux中bc用法
當(dāng)前地址:http://muchs.cn/article36/docoopg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、軟件開(kāi)發(fā)建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)