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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何快速入門運維?了解Linux中的10個命令鏈接操作符

馬哥Linux運維 ? 來源:未知 ? 作者:易水寒 ? 2018-10-03 19:33 ? 次閱讀

Linux命令中鏈接的意思是,通過操作符的行為將幾個命令組合執行。Linux中的鏈接命令,有些像你在shell中寫短小的shell腳本,并直接在終端中執行。鏈接使得自動處理變得更方便。不僅如此,一個無人看管的機器在鏈接操作符的幫助下能夠十分有條理地運行。

Linux中的10個鏈接操作符

本文旨在介紹一些常用的鏈接操作符,通過簡短的描述和相關的例子幫助讀者提高生產力、降低系統負載、寫出更加簡短有意義的代碼。

1和號操作符 (&)

‘&’的作用是使命令在后臺運行。只要在命令后面跟上一個空格和 ‘&’。你可以一口氣在后臺運行多個命令。

在后臺運行一個命令:

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

同時在后臺運行兩個命令:

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

2分號操作符 (;)

分號操作符使你可以一口氣運行幾個命令,命令順序執行。

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

上述命令先后執行了update和upgrade,最后在當前工作目錄下創建了一個‘test’文件夾。

3與操作符 (&&)

如果第一個命令執行成功,與操作符 (&&)才會執行第二個命令,也就是說,第一個命令退出狀態是0。(譯注:原文的這里明顯寫錯了,我們進行了改譯,有興趣的讀者可以參看原文以及原文下面的評論。在UNIX里面,0表示無錯誤,而所有非0返回值都是各種錯誤)。這個命令在檢查最后一個命令的執行狀態時很有用。

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

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

4或操作符 (||)

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

舉例來說,我想要在非root帳戶中執行‘apt-get update‘,如果第一個命令失敗了,接著會執行第二個命令‘links www.tecmint.com‘。

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

上面的命令中,由于該用戶不允許更新系統,這意味著第一個命令的退出狀態是’1′,因此最后一個命令‘links tecmint.com‘會執行。

如果第一個命令成功執行并且退出狀態是‘0‘呢?很明顯的,第二個命令不會執行。

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

這里,用戶在家目錄創建了一個‘test‘文件夾,這是被允許的。命令成功的執行,退出狀態是‘0‘,因此,最后的命令不會執行。

5非操作符 (!)

非操作符 (!)很像except語句。這個命令會執行除了提供的條件外的所有的語句。要理解這點,在你的主目錄創建一個目錄‘tecmint’,并‘cd’到它這里。

tecmint@localhost:~$mkdir tecmint

tecmint@localhost:~$cdtecmint

接下來,在文件夾‘tecmint’下創建不同類型的文件。

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

看一下我們在文件夾‘tecmint’創建的新文件。

tecmint@localhost:~/tecmint$ls

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

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

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

驗證一下上次的執行結果,使用ls 命令列出可見所有文件。

tecmint@localhost:~/tecmint$ls

a.htmlb.html

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

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

比如,我們ping tecmint.com,如果成功打印‘已驗證’,否則打印‘主機故障’。

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

現在,斷開我們現在的網絡連接誒,再試一下相同的命令。

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

實例輸出

ping:unknown hostwww.tecmint.com

HostDown

7管道操作符 (|)

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

tecmint@localhost:~$ ls -l | less

8命令合并操作符 {}

合并兩個或多個命令,第二個命令依賴于第一個命令的執行。

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

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

但是這樣的命令的運行結果并不如我們預期的運行,會始終都輸出提示信息。因此需要使用{}操作符來合并命令:

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

“The file doesnotexist”

(譯注:原文這里應該也是復制或書寫的時候,出現了一些問題,例子中并沒有出現小標題中的”{}”操作符,所以這里我們進行了修改)

9優先操作符 ()

這個操作符可以讓命令以優先順序執行。

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

在上面的偽代碼中,如果Command_x1執行失敗了會怎么樣,Command_x2, Command_x3, Command_x4沒有一個會執行,對于這種情況,我們使用優先操作符。

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

在上面的偽代碼中,如果Command_x1執行失敗,Command_x2不會執行,但是Command_x3會繼續執行, Command_x4會依賴于 Command_x3的退出狀態。

10連接符 ($$)

連接符 ()如它名字所說,被用于連接shell中那些太長而需要分成多行的命令。可以在輸入一個“”之后就回車,然后繼續輸入命令行,直到輸入完成。比如,下面的命令會打開文本文件test(1).txt。

tecmint@localhost:~/Downloads$nanotest

1.txt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11310

    瀏覽量

    209616
  • 終端
    +關注

    關注

    1

    文章

    1136

    瀏覽量

    29909
  • 操作符
    +關注

    關注

    0

    文章

    21

    瀏覽量

    9046

原文標題:Linux 中10個命令鏈接操作符,幫助新手快速入門運維!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    Linux的'!'符號或操作符可以用作邏輯否定運算,也可以用于在歷史記錄獲取
    發表于 07-05 10:07 ?1455次閱讀

    linux命令大全

    Linux高端學習需要掌握大量的命令及相關工具,通讀bash man page、掌握VIM使用、了解SSH是
    發表于 03-15 16:36

    學習Linux發展方向

    IT行業的朋友們,依然選擇了從Linux開始著手,一步步為了接近自己對IT的夢想和期望做著更多了解,并不懈努力著。  一般從入門到中級
    發表于 07-25 17:15

    linux的路由操作全面概述

    在日常作業,經常會碰到路由表的操作。下面就linux
    發表于 07-09 08:41

    操作符的相關資料分享

    嵌入式C語言入門——操作符
    發表于 12-15 06:50

    Linux鏈接操作符可降低系統負載、寫出更加簡短有意義的代碼

    鏈接使得自動處理變得更方便,不僅如此,一無人看管的機器在鏈接操作符的幫助下能夠十分有條理地運行。
    的頭像 發表于 12-22 11:52 ?1478次閱讀

    淺析Linux命令鏈接操作符的十最佳實例

    Linux命令鏈接的意思是,通過操作符的行為將幾個命令組合執行。
    的頭像 發表于 08-10 15:51 ?2885次閱讀

    Linux命令鏈接操作符的實際應用

    Linux命令鏈接的意思是,通過操作符的行為將幾個命令組合執行。
    發表于 05-06 17:44 ?842次閱讀

    C語言的sizeof操作符基礎和經典問題

    在C語言中,sizeof是一操作符(operator),而不是函數!其用于判斷數據類型或者表達式長度(所占的內存字節數)。其有兩種表達形式:
    的頭像 發表于 04-04 17:39 ?2707次閱讀
    C語言的sizeof<b class='flag-5'>操作符</b>基礎和經典問題

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

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

    Linux經常使用的40命令總結

    本文檔的主要內容詳細介紹的是Linux經常使用的40命令總結
    的頭像 發表于 11-22 11:14 ?2571次閱讀

    C++之操作符重載學習的總結

    操作符重載是c++的強大特性之一;操作符重載的本質是通過函數擴展操作符的功能;operator 關鍵字是實現操作符重載的關鍵。
    的頭像 發表于 12-24 16:36 ?679次閱讀

    Verilog基礎:幾個常用的按位操作符

    操作符是對二進制位進行操作的運算
    的頭像 發表于 11-09 10:57 ?1387次閱讀

    Verilog基礎:介紹幾個常用的按位操作符

    操作符是對二進制位進行操作的運算。以下是一些常用的位操作符
    的頭像 發表于 11-09 10:59 ?1827次閱讀

    “+”操作符的使用技巧

    這篇寫個平時易被忽略的小知識點,一元 + 操作符的使用技巧。
    的頭像 發表于 12-28 13:27 ?556次閱讀
    主站蜘蛛池模板: 日韩美女奶水喂男人在线观看 | 亚洲理论在线| 国产男人女人做性全过程视频| 国产免费一级高清淫日本片| 国产成人精品曰本亚洲| www.嫩草影院| 丰满年轻岳欲乱中文字幕| 久久天天躁夜夜躁狠狠躁2015| 欧美在线成人午夜影视| 黄色成人免费观看| 奇米777me| 天天躁夜夜躁狠狠躁2021a | 亚洲一级影院| 人人艹在线视频| 大量国产后进翘臀视频| h在线国产| 7086bt伙计 福利一区| 正在播放亚洲一区| 国产精品乱码高清在线观看| 亚洲阿v天堂2018在线观看| 桃桃酱无缝丝袜在线播放| 亚洲欧洲国产精品你懂的 | 1024亚洲视频| 亚洲一区二区在线播放| 中国农村一级片| 色久优优 欧美色久优优| 免费欧美黄色网址| 澳门三级bd高清| 立即播放免费毛片一级| h视频在线观看视频观看| 综合网天天| 日本黄色免费大片| 高清不卡日本v在线二区| 日本高清视频一区| 成人欧美网站| 性爽爽| 久久青| 色网站在线观看| 中文字幕第二区| 天堂a免费视频在线观看| 亚洲jizzjizz中文在线播放|