小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

bash的特性

 微笑如酒 2018-04-11

這是我在寒假學(xué)習(xí)Linux時(shí)所做的筆記,若有什么不足之處大家可以留言吶~

bash的特性

1.命令歷史:history

-c:清空當(dāng)前歷史命令;-d OFFSET [n]:刪除指定位置的命令;-w:將當(dāng)前歷史命令緩沖區(qū)命令寫入歷史命令文件中(HISTSIZE(命令歷史緩沖區(qū)大?。┠J(rèn)為1000)
  • 命令歷史的使用技巧:

!n:執(zhí)行命令歷史中的第n條命令;!-n:執(zhí)行命令歷史中倒數(shù)第n條命令;!?。簣?zhí)行上一條命令;!string:執(zhí)行命令歷史中最近一個(gè)以指定字符串開頭的命令!$:引用上一個(gè)命令的最后一個(gè)參數(shù)Esc松開后按 . :引用上一個(gè)命令的最后一個(gè)參數(shù)Alt+ . :引用上一個(gè)命令的最后一個(gè)參數(shù)

2.命令補(bǔ)全,路徑補(bǔ)全

  • 命令補(bǔ)全:搜索PATH環(huán)境變量所指定的每個(gè)路徑下以我們給出的字符串開頭的可執(zhí)行文件,如果多于一個(gè),兩次TAB,可以給出列表;否則將直接補(bǔ)全;

  • 路徑補(bǔ)全:搜索我們給出的起始路徑下的每個(gè)文件,并試圖補(bǔ)全;

3.命令別名:alias

alias命令用來設(shè)置指令的別名。我們可以使用該命令可以將一些較長(zhǎng)的命令進(jìn)行簡(jiǎn)化。使用alias時(shí),用戶必須使用單引號(hào)'將原來的命令引起來,防止特殊字符導(dǎo)致錯(cuò)誤。

  • alias命令的作用只局限于該次登入的操作。若要每次登入都能夠使用這些命令別名,則可將相應(yīng)的alias命令存放到bash的初始化文件/etc/bashrc中。

  • alias 新的命令=’原命令 -選項(xiàng)/參數(shù)’
    (有選項(xiàng)或參數(shù)時(shí)要加單引號(hào),若只有命令可以不加單引號(hào))

  • 要?jiǎng)h除一個(gè)別名,可以使用 unalias 命令

  • alias 可查看所有別名

比如在.bashrc文件的最后一行加入 alias ..='cd ..',然后再source .bashrc更新一下配置文件,這樣以后只要輸入兩個(gè)點(diǎn)就可以返回上一層目錄啦~

4.命令替換:

把命令中某個(gè)子命令替換為其執(zhí)行結(jié)果的過程

$(COMMAND)或者 `COMMAND`echo “The current directory is $(pwd).” #這樣就會(huì)輸出當(dāng)前目錄

【總結(jié)】bash支持的引號(hào):

` `:命令替換“”:弱引用,可以實(shí)現(xiàn)變量替換‘ ’:強(qiáng)引用,不完成變量替換

5.命令行編輯:

  • 光標(biāo)跳轉(zhuǎn):

    • Ctrl+A:跳到命令行首

    • Ctrl+E:跳到命令行尾

    • Ctrl+U:刪除光標(biāo)至命令行首的內(nèi)容

    • Ctrl+K:刪除光標(biāo)至命令行尾的內(nèi)容

    • Ctrl+L:清屏

6.命令行展開

在Linux bash中可以使用命令行展開特性一步完成需要分開成多步完成的操作,達(dá)到事半功倍的效果。在Linux指令參數(shù)位置使用{}將相應(yīng)的參數(shù)括起來,括號(hào)中的參數(shù)以逗號(hào)分隔,然后bash在執(zhí)行這一指令時(shí)會(huì)自動(dòng)將括號(hào)中的內(nèi)容進(jìn)行展開。

  • 例如

    /tmp/{x,y}    #生成/tmp/x和/tmp/ymkdir {1..10}    #生成1-10為名的文件夾mkdir -p  {1..10}/{1..10}    #在名為1-10的文件夾里再生成1-10為名的文件夾

7.文件名通配:globbing

# man 7 glob 可獲得以下列表:*:任意長(zhǎng)度的任意字符?:任意單個(gè)字符[ ]:匹配指定范圍內(nèi)的任意單個(gè)字符  [a-z], [A-Z], [0-9], [a-zA-Z]  [[:space:]]:空白字符  [[:punct:]]:標(biāo)點(diǎn)符號(hào)  [[:lower:]]:小寫字母  [[:upper:]]:大寫字母  [[:alpha:]]:大小寫字母  [[:digit:]]:數(shù)字  [[:alnum:]]:數(shù)字和大小寫字母  [^]:匹配指定范圍之外的任意單個(gè)字符  [^0-9]:非數(shù)字  [^[:alpha:]]:非字母

8.管道及重定向

I/O重定向:改變數(shù)據(jù)輸入/輸出來源

>:覆蓋輸出,原有內(nèi)容被覆蓋;>>:追加輸出,保留原有內(nèi)容,在尾部新增新內(nèi)容;set -C:禁止對(duì)已經(jīng)存在文件使用覆蓋重定向,若要強(qiáng)制覆蓋輸出,則使用 >|;set +C:關(guān)閉上述功能;2>:只能重定向錯(cuò)誤輸出,不能輸出標(biāo)準(zhǔn)輸出;2>>:追加,重定向錯(cuò)誤輸出;&>:重定向標(biāo)準(zhǔn)輸出或錯(cuò)誤輸出至同一個(gè)文件;<>
<:here document,在此處生成文檔,后一般加="" eof(end="" of="" file)="" 或end,表示文檔結(jié)束標(biāo)記。#="" cat="" mp/myfile.txt=""> The first line.> The second line.> EOF表示在 myfile.txt 文件中追加以上兩行(EOF 行不追加)。所以,可以以這種方式在腳本中生成文檔。

管道

前一個(gè)命令的 輸出,作為后一個(gè)命令的 輸入(組合小命令完成復(fù)雜任務(wù))命令1 | 命令2 | 命令3 | …

比如:在我的答案·生信編程直播(第一題)-人類基因組的外顯子區(qū)域到底有多長(zhǎng)中,我就使用了管道來解決問題~

tee命令用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡(jiǎn)單的說就是把數(shù)據(jù)重定向到給定文件和屏幕上。

-a:向文件中重定向時(shí)使用追加模式;



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多