在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析Linux中命令鏈接操作符的十個(gè)最佳實(shí)例

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-08-10 15:51 ? 次閱讀

Linux命令中鏈接的意思是,通過(guò)操作符的行為將幾個(gè)命令組合執(zhí)行。Linux中的鏈接命令,有些像你在shell中寫(xiě)短小的shell腳本,并直接在終端中執(zhí)行。鏈接使得自動(dòng)處理變得更方便。不僅如此,一個(gè)無(wú)人看管的機(jī)器在鏈接操作符的幫助下能夠十分有條理地運(yùn)行。

Linux中的10個(gè)鏈接操作符

本文旨在介紹一些常用的鏈接操作符,通過(guò)簡(jiǎn)短的描述和相關(guān)的例子幫助讀者提高生產(chǎn)力、降低系統(tǒng)負(fù)載、寫(xiě)出更加簡(jiǎn)短有意義的代碼。

1. 和號(hào)操作符 (&)

‘&’的作用是使命令在后臺(tái)運(yùn)行。只要在命令后面跟上一個(gè)空格和 ‘&’。你可以一口氣在后臺(tái)運(yùn)行多個(gè)命令。

在后臺(tái)運(yùn)行一個(gè)命令:

tecmint@localhost:~$ ping -c5 www.tecmint.com &

同時(shí)在后臺(tái)運(yùn)行兩個(gè)命令:

root@localhost:/home/tecmint# apt-get update & mkdit test &

2. 分號(hào)操作符 (;)

分號(hào)操作符使你可以一口氣運(yùn)行幾個(gè)命令,命令順序執(zhí)行。

root@localhost:/home/tecmint# apt-get update ; apt-get upgrade ; mkdir test

上述命令先后執(zhí)行了update和upgrade,最后在當(dāng)前工作目錄下創(chuàng)建了一個(gè)‘test’文件夾。

3. 與操作符 (&&)

如果第一個(gè)命令執(zhí)行成功,與操作符 (&&)才會(huì)執(zhí)行第二個(gè)命令,也就是說(shuō),第一個(gè)命令退出狀態(tài)是0。(譯注:原文的這里明顯寫(xiě)錯(cuò)了,我們進(jìn)行了改譯,有興趣的讀者可以參看原文以及原文下面的評(píng)論。在UNIX里面,0表示無(wú)錯(cuò)誤,而所有非0返回值都是各種錯(cuò)誤)。這個(gè)命令在檢查最后一個(gè)命令的執(zhí)行狀態(tài)時(shí)很有用。

比如,我想使用links 命令在終端中訪問(wèn)網(wǎng)站tecmint.com,但在這之前我需要檢查主機(jī)是否在線或不在線。

root@localhost:/home/tecmint# ping -c3 www.tecmint.com && links www.tecmint.com

4. 或操作符 (||)

或操作符 (||)很像編程中的else語(yǔ)句。上面的操作符允許你在第一個(gè)命令失敗的情況下執(zhí)行第二個(gè)命令,比如,第一個(gè)命令的退出狀態(tài)是1。

舉例來(lái)說(shuō),我想要在非root帳戶中執(zhí)行‘a(chǎn)pt-get update‘,如果第一個(gè)命令失敗了,接著會(huì)執(zhí)行第二個(gè)命令‘links www.tecmint.com‘。

tecmint@localhost:~$ apt-get update || links tecmint.com

上面的命令中,由于該用戶不允許更新系統(tǒng),這意味著第一個(gè)命令的退出狀態(tài)是’1′,因此最后一個(gè)命令‘links tecmint.com‘會(huì)執(zhí)行。

如果第一個(gè)命令成功執(zhí)行并且退出狀態(tài)是‘0‘呢?很明顯的,第二個(gè)命令不會(huì)執(zhí)行。

tecmint@localhost:~$ mkdir test || links tecmint.com

這里,用戶在家目錄創(chuàng)建了一個(gè)‘test‘文件夾,這是被允許的。命令成功的執(zhí)行,退出狀態(tài)是‘0‘,因此,最后的命令不會(huì)執(zhí)行。

5. 非操作符 (!)

非操作符 (!)很像except語(yǔ)句。這個(gè)命令會(huì)執(zhí)行除了提供的條件外的所有的語(yǔ)句。要理解這點(diǎn),在你的主目錄創(chuàng)建一個(gè)目錄‘tecmint’,并‘cd’到它這里。

tecmint@localhost:~$mkdir tecmint

tecmint@localhost:~$cdtecmint

接下來(lái),在文件夾‘tecmint’下創(chuàng)建不同類(lèi)型的文件。

tecmint@localhost:~/tecmint$ touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html

看一下我們?cè)谖募A‘tecmint’創(chuàng)建的新文件。

tecmint@localhost:~/tecmint$ls

a.doca.htmla.pdfa.xmlb.docb.htmlb.pdfb.xml

用一種聰明的辦法馬上刪除除了 ‘html’之外的所有文件。

tecmint@localhost:~/tecmint$ rm -r !(*.html)

驗(yàn)證一下上次的執(zhí)行結(jié)果,使用ls 命令列出可見(jiàn)所有文件。

tecmint@localhost:~/tecmint$ls

a.htmlb.html

6. 與或操作符 (&& – ||)

上面的操作符實(shí)際上是‘與’和‘或’操作符的組合。它很像‘if-else‘語(yǔ)句。

比如,我們ping tecmint.com,如果成功打印‘已驗(yàn)證’,否則打印‘主機(jī)故障’。

tecmint@localhost:~/tecmint$ ping -c3 www.tecmint.com && echo "Verified" || echo "Host Down"

示例輸出

PINGwww.tecmint.com(212.71.234.61)56(84)bytes ofdata.

64bytes fromwww.tecmint.com(212.71.234.61):icmp_req=1ttl=55time=216ms

64bytes fromwww.tecmint.com(212.71.234.61):icmp_req=2ttl=55time=224ms

64bytes fromwww.tecmint.com(212.71.234.61):icmp_req=3ttl=55time=226ms

---www.tecmint.com pingstatistics---

3packetstransmitted,3received,0%packetloss,time2001ms

rttmin/avg/max/mdev=216.960/222.789/226.423/4.199ms

Verified

現(xiàn)在,斷開(kāi)我們現(xiàn)在的網(wǎng)絡(luò)連接誒,再試一下相同的命令。

tecmint@localhost:~/tecmint$ ping -c3 www.tecmint.com && echo "verified" || echo "Host Down"

實(shí)例輸出

ping:unknown hostwww.tecmint.com

HostDown

7. 管道操作符 (|)

PIPE在將第一個(gè)命令的輸出作為第二個(gè)命令的輸入時(shí)很有用。比如,‘ls -l’的輸出通過(guò)管道到‘less’,并看一下輸出。

tecmint@localhost:~$ ls -l | less

8. 命令合并操作符 {}

合并兩個(gè)或多個(gè)命令,第二個(gè)命令依賴于第一個(gè)命令的執(zhí)行。

比如,檢查一下文件‘xyz.txt’是否在Downloads目錄下,如果不存在則創(chuàng)建之并輸出提示信息。

tecmint@localhost:~$ [ -f /home/tecmint/Downloads/xyz.txt ] || touch /home/tecmint/Downloads/xyz.txt; echo "The file does not exist"

但是這樣的命令的運(yùn)行結(jié)果并不如我們預(yù)期的運(yùn)行,會(huì)始終都輸出提示信息。因此需要使用{}操作符來(lái)合并命令:

tecmint@localhost:~$[-f/home/tecmint/Downloads/xyz1.txt]||{touch/home/tecmint/Downloads/xyz.txt;echo"The file does not exist"}

“The file doesnotexist”

(譯注:原文這里應(yīng)該也是復(fù)制或書(shū)寫(xiě)的時(shí)候,出現(xiàn)了一些問(wèn)題,例子中并沒(méi)有出現(xiàn)小標(biāo)題中的”{}”操作符,所以這里我們進(jìn)行了修改)

9. 優(yōu)先操作符 ()

這個(gè)操作符可以讓命令以優(yōu)先順序執(zhí)行。

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

在上面的偽代碼中,如果Command_x1執(zhí)行失敗了會(huì)怎么樣,Command_x2, Command_x3, Command_x4沒(méi)有一個(gè)會(huì)執(zhí)行,對(duì)于這種情況,我們使用優(yōu)先操作符。

(Command_x1 &&Command_x2) || (Command_x3 && Command_x4)

在上面的偽代碼中,如果Command_x1執(zhí)行失敗,Command_x2不會(huì)執(zhí)行,但是Command_x3會(huì)繼續(xù)執(zhí)行, Command_x4會(huì)依賴于 Command_x3的退出狀態(tài)。

10. 連接符 ($$)

連接符 ()如它名字所說(shuō),被用于連接shell中那些太長(zhǎng)而需要分成多行的命令。可以在輸入一個(gè)“\”之后就回車(chē),然后繼續(xù)輸入命令行,直到輸入完成。比如,下面的命令會(huì)打開(kāi)文本文件test(1).txt。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11412

    瀏覽量

    212246
  • 操作符
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9103

原文標(biāo)題:Linux 中命令鏈接操作符,讓你的代碼更簡(jiǎn)潔!

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux命令“!”操作符的用法

    Linux的'!'符號(hào)或操作符可以用作邏輯否定運(yùn)算,也可以用于在歷史記錄獲取
    發(fā)表于 07-05 10:07 ?1630次閱讀

    MATLAB操作符和特殊字符

    MATLAB操作符和特殊字符* 矩陣乘法 .* 數(shù)組乘法 ^ 矩陣冪 .^ 數(shù)組冪 \ 左除或反斜杠 / 右除或斜杠 ./ 數(shù)組除 Kron Kronecker張量積 .. 父目錄 … 繼續(xù)
    發(fā)表于 09-22 16:05

    C語(yǔ)言,操作符優(yōu)先級(jí)順序。

    的。接下來(lái)是二元操作符,其中二元操作符也分為很多類(lèi),總結(jié)起來(lái)就是數(shù)字運(yùn)算 〉 移位運(yùn)算 〉關(guān)系運(yùn)算(注釋,包含六
    發(fā)表于 01-16 17:30

    【FPGA學(xué)習(xí)】 Verilog HDL 語(yǔ)言的表達(dá)式及操作符詳細(xì)介紹

    存儲(chǔ)器讀取一個(gè)位或部分選擇一個(gè)字的方法如下:將存儲(chǔ)器單元賦值給寄存器變量,然后對(duì)該寄存器變量采用部分選擇或位選擇操作。2.操作符Veril
    發(fā)表于 09-20 09:23

    操作符的相關(guān)資料分享

    嵌入式C語(yǔ)言入門(mén)——操作符
    發(fā)表于 12-15 06:50

    操作符及其常用方式簡(jiǎn)要概述

    目錄前言一、位操作符及其常用方式二、實(shí)例應(yīng)用解析(嵌入式筆試常考)前言位操作在單片機(jī)的C語(yǔ)言開(kāi)發(fā)中經(jīng)常會(huì)用到,該操作主要用于讀寫(xiě)寄存器,這篇文章將會(huì)對(duì)其的常用方法進(jìn)行簡(jiǎn)要概述。一、位
    發(fā)表于 02-17 06:33

    Linux鏈接操作符可降低系統(tǒng)負(fù)載、寫(xiě)出更加簡(jiǎn)短有意義的代碼

    鏈接使得自動(dòng)處理變得更方便,不僅如此,一個(gè)無(wú)人看管的機(jī)器在鏈接操作符的幫助下能夠分有條理地運(yùn)行。
    的頭像 發(fā)表于 12-22 11:52 ?1536次閱讀

    如何快速入門(mén)運(yùn)維?了解Linux的10個(gè)命令鏈接操作符

    Linux命令鏈接的意思是,通過(guò)操作符的行為將幾個(gè)命令組合執(zhí)行。
    的頭像 發(fā)表于 10-03 19:33 ?3155次閱讀

    Linux命令鏈接操作符的實(shí)際應(yīng)用

    Linux命令鏈接的意思是,通過(guò)操作符的行為將幾個(gè)命令組合執(zhí)行。
    發(fā)表于 05-06 17:44 ?914次閱讀

    C語(yǔ)言的sizeof操作符基礎(chǔ)和經(jīng)典問(wèn)題

    在C語(yǔ)言中,sizeof是一個(gè)操作符(operator),而不是函數(shù)!其用于判斷數(shù)據(jù)類(lèi)型或者表達(dá)式長(zhǎng)度(所占的內(nèi)存字節(jié)數(shù))。其有兩種表達(dá)形式:
    的頭像 發(fā)表于 04-04 17:39 ?2835次閱讀
    C語(yǔ)言的sizeof<b class='flag-5'>操作符</b>基礎(chǔ)和經(jīng)典問(wèn)題

    C++:詳談取地址操作符重載

    取址操作符重載函數(shù)返回值為該類(lèi)型的指針,無(wú)參數(shù)。
    的頭像 發(fā)表于 06-29 11:59 ?3588次閱讀
    C++:詳談取地址<b class='flag-5'>操作符</b>重載

    C++之操作符重載學(xué)習(xí)的總結(jié)

    操作符重載是c++的強(qiáng)大特性之一;操作符重載的本質(zhì)是通過(guò)函數(shù)擴(kuò)展操作符的功能;operator 關(guān)鍵字是實(shí)現(xiàn)操作符重載的關(guān)鍵。
    的頭像 發(fā)表于 12-24 16:36 ?780次閱讀

    Verilog基礎(chǔ):幾個(gè)常用的按位操作符

    操作符是對(duì)二進(jìn)制位進(jìn)行操作的運(yùn)算。
    的頭像 發(fā)表于 11-09 10:57 ?1672次閱讀

    Verilog基礎(chǔ):介紹幾個(gè)常用的按位操作符

    操作符是對(duì)二進(jìn)制位進(jìn)行操作的運(yùn)算。以下是一些常用的位操作符
    的頭像 發(fā)表于 11-09 10:59 ?2215次閱讀

    “+”操作符的使用技巧

    這篇寫(xiě)個(gè)平時(shí)易被忽略的小知識(shí)點(diǎn),一元 + 操作符的使用技巧。
    的頭像 發(fā)表于 12-28 13:27 ?792次閱讀
    主站蜘蛛池模板: 日本在线视频一区 | 国产精品免费视频拍拍拍 | 555成人免费影院 | 午夜伦理片免费观看在线 | 玖玖国产 | 濑亚美莉vs黑人欧美视频 | 国产va精品免费观看 | 日韩美aaa特级毛片 日韩美a一级毛片 | 四虎海外在线永久免费看 | 狠狠操婷婷 | 欧美卡一卡二卡新区网站 | 国产色视频网站免费观看 | 亚洲一区二区免费在线观看 | 无遮挡很爽很污很黄在线网站 | 美女用手扒开尿口给男生桶爽 | 亚洲综合在线观看一区www | 久久久这里有精品999 | 99久久99久久久精品齐齐鬼色 | 亚洲激情四射 | 日日天天夜夜 | 大杳蕉伊人狼人久久一本线 | 酒色成人| 日韩精品毛片 | 国产免费资源 | 四虎国产精品永久在线看 | 国产精欧美一区二区三区 | 午夜神马福利免费官方 | 六月婷婷综合 | 亚洲一级毛片免费看 | 久久精品国产99国产精品澳门 | 末发育娇小性色xxxxx视频 | 精品一区二区三区免费爱 | 国产亚洲欧美日韩俺去了 | 老师解胸罩喂我吃奶 | 国产资源在线播放 | 国色天香精品亚洲精品 | 天天夜夜人人 | 手机在线观看免费视频 | 欧美黄视频在线观看 | 六月丁香婷婷激情 | 日本三级在线观看免费 |