中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Linux/UNIXShell命令進(jìn)階詳解

用cat進(jìn)行拼接

十余年的麥蓋提網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整麥蓋提建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“麥蓋提網(wǎng)站設(shè)計(jì)”,“麥蓋提網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

    1 cat命令是一個日常會使用到的簡單命令,cat本身表示concatenate(拼接)

    2 用cat讀取文件的一般格式是

       cat file1 file2 file3....  // 這個命令將命令行參數(shù)的文件內(nèi)容拼接在一起輸出

    3 cat命令不僅可以讀取文件并拼接數(shù)據(jù),它還能夠從標(biāo)準(zhǔn)輸入中進(jìn)行讀取。要從標(biāo)準(zhǔn)輸入中讀取,就要使用管道

       stand_ouput | cat

    4 cat命令可以用來壓縮多個空行,使得被壓縮成為單個

       cat -s file

    5 tr命令也可以把多個的'\n'字符壓縮成為單個'\n'

    6 cat命令的-n選項(xiàng)會在輸出的每一行內(nèi)容之前加上行號,但是這個并不會修改文件的內(nèi)容

 

錄制與回放終端會話

    1 script和scriptreplay命令在絕大多數(shù)GNU/Linux發(fā)行版本上面都可以找到

    2 scritp命令同樣可以用于建立多個用戶之間的進(jìn)行廣播的視頻會話

       第一步:打開兩個終端T1和T2

       第二步:在T1中輸入mkfifo scriptfifo

       第三步:在T2中輸入以下命令cat scriptfifo

       第四步:在T1中輸入以下命令script -f scriptfifo

       第五步:在T1中輸入的commands都可以在T2中看到

 

文件查找與文件列表

    1 find是UNIX/Linux命令行工具箱中最棒的工具之一

    2 find命令的工作方式如下:沿著文件層次結(jié)構(gòu)向下遍歷,匹配符合條件的文件,并執(zhí)行相應(yīng)的操作

    3 要列出當(dāng)前目錄及子目錄下的所有文件以及文件夾:find base_bash

    4 find命令的兩個重要的參數(shù)

       -print 指明打印匹配文件的文件名,當(dāng)使用-print的時候,'\n'做為分割文件的定界符

       -print0 指明使用'\0'作為定界符來打印每一個匹配的文件名

    5 根據(jù)文件名或正則表達(dá)式匹配搜索,-name的參數(shù)指定了文件名所匹配的字符串。

       比如 find . -name "*.txt" -print   // 命令查找當(dāng)前目錄下的所有txt文件并打印出來

    6 find命令有一個選項(xiàng)-iname,該選項(xiàng)的作用和-name類似,但是匹配的時候會忽略大小寫

    7 find命令也可以用!來否定參數(shù)意思

       find . ! -name "*.txt" -print // 命令的作用是找出當(dāng)前目錄下的所有非txt文件

    8 find命令在使用時候會遍歷所有的子目錄,我們可以采用深度參數(shù)來限制find命令的遍歷深度。

       -maxdepth和-mindepth指定最大的遞歸深度以及最少的遞歸深度(從哪一層開始向下搜索)

    9 -maxdepth和-mindepth應(yīng)該做為find的第三個參數(shù)出現(xiàn),這樣就可以第一時間限制搜索的條件,效率會提高的很多

    10 類UNIX系統(tǒng)將所有的一切都視為文件,文件具有不同的類型,例如普通文件,目錄,字符設(shè)備,塊設(shè)備,符號鏈接,硬鏈接,套接字以及FIFO等

    11 find命令的-type選項(xiàng)可以對文件搜索進(jìn)行過濾

    12 type參數(shù)來匹配所需要的文件類型

                        文件類型                          類型參數(shù)

                        普通文件                                 f 

                        符合鏈接                                 l

                        目錄                                        d 

                        字符設(shè)備                                 c

                        塊設(shè)備                                     b

                        套接字                                     s

                         fifo                                           p

      13 刪除匹配的文件,-delete可以用來刪除find查找到的匹配文件

          find . -type f -name "*.txt" -delete // 命令的作用是find找出當(dāng)面目錄下的所有txt文件,然后刪除

      14 基于文件權(quán)限和所有權(quán)進(jìn)行搜索

          find . -type f -name "*.txt" -perm 644 -print // 命令的作用是找到當(dāng)前目錄下所有權(quán)限為644的txt文件

 

用tr進(jìn)行轉(zhuǎn)換

      1 tr可以用來對標(biāo)準(zhǔn)輸入的字符進(jìn)行替換,刪除以及壓縮,它可以將一組字符變成另一組字符,因而通常也被稱為轉(zhuǎn)換命令

      2 tr只能通過stdin,而無法通過命令行參數(shù)來接受輸入。

         tr [options] set1 set2 // 將來自stdin的輸入字符從set1映射到set2,并將其輸入到stdout。

         set1和set2是字符類或字符集,如果兩個字符集的長度不相等,那么set2會不斷重復(fù)其最后一個字符直到和set1長度相等,如果set2長度大于set1那么在set2中超出set1的部分長度就全部忽略

      3 將輸入字符由大寫轉(zhuǎn)換成小寫 ,可以使用以下命令

         echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z' // 'A-Z和‘a(chǎn)-z’都是集合

      4 tr有一個選項(xiàng)-d可以通過指定需要被刪除的字符集合,將出現(xiàn)的stdin中的特定字符刪除

         echo "Hello 13 world 345" | tr -d '0-9' // 命令可以將stdin中的數(shù)字刪除并輸出

      5 我們可以利用選項(xiàng)-c來使用set1的補(bǔ)集,-c set1等同于定義了一個集合,這集合中的字符不包含在set1中

      6 tr可以像使用集合一樣使用各種不同的字符類,這些字符類型如下所示

         alnum: 字母和數(shù)字

         alpha: 字母

         cntrl: 控制字符

         digit: 數(shù)字

         graph: 圖形字符

         lower: 小寫字母

         print: 可打印字符

         punct: 標(biāo)點(diǎn)符號

         space: 空白字符

         upper: 大寫字母

         xdigit: 十六進(jìn)制字符

     7 可以按照下面的方式選擇要使用的字符集: tr [:class1:] [:class2:]

 


排序,單一和重復(fù)

     1 sort命令既可以從特定文件也可以從stdin中獲取輸入,并將輸入寫入stdout,uniq的工作模式和sort一樣

     2 我們可以按照下面的方式輕松的對一組文件進(jìn)行排序

        sort file1 file2 file3 ... > sorted // 命令把多個文件排序然后重定向到sorted

     3 按數(shù)字進(jìn)行排序: sort -n file

        按逆序進(jìn)行排序: sort -r file

        按月份進(jìn)行排序: sort -M file

     4 如果需要合并兩個排過序的文件,而且不需要對合并后的文件再進(jìn)行排序,可以使用

        sort -m sorted1 sorted2

     5 uniq命令通過消除重復(fù)內(nèi)容,從給定輸入中找出單一的行。它也可以用來找出輸入中出現(xiàn)的重復(fù)行

     6 uniq只能用于排過序的數(shù)據(jù)輸入,因此uniq要么使用管道,要么使用排過序的文件做為輸入

        只顯示唯一的行: uniq -u sorted

        統(tǒng)計(jì)個行中出現(xiàn)的次數(shù): uniq -c sorted

        找出文件中重復(fù)的行: uniq -d sorted

 

分割文件和數(shù)據(jù)

     1 生成一個大小為100KB的測試文件

        dd if=/dev/zero bs=100K count=1 of=data.file 

        上面的命令會創(chuàng)建一個大寫為100KB的文件內(nèi)容全部都是0

     2 我們可以指定分割大小,將文件分割成多個更小的文件

        split -b 10k data.file // 這個命令將data.file分割成多個文件,每個文件大小為10KB

 

根據(jù)擴(kuò)展名切分文件名

     1 借助%我們可以輕松將名稱部分從“名稱.擴(kuò)展名"這種格式的文件名中提取出來

     2 ${var%.*}的含義是

        第一:從$var中刪除位于%右側(cè)的通配符所匹配的字符串,通配符從右向左進(jìn)行匹配

        第二:給var進(jìn)行賦值,var=sample.jpg,那么通配符從右向左匹配到.jpg,因此刪除之

     3 %屬于非貪婪操作,它從右到左匹配通配符的最短結(jié)果。還有一個是%%是貪婪的,匹配最長的結(jié)果

     4 類似的#和%的一樣,就是它的匹配是從左到右,屬于非貪婪操作

        那么##和%%類似

 

網(wǎng)站題目:Linux/UNIXShell命令進(jìn)階詳解
鏈接分享:http://www.rwnh.cn/article30/jipiso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、App設(shè)計(jì)、網(wǎng)站維護(hù)、Google、外貿(mào)網(wǎng)站建設(shè)

廣告

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

搜索引擎優(yōu)化
博罗县| 米易县| 商水县| 蕲春县| 依安县| 唐海县| 冷水江市| 杂多县| 昆山市| 伽师县| 花垣县| 平和县| 长汀县| 基隆市| 香格里拉县| 铜陵市| 高唐县| 兴城市| 饶阳县| 垣曲县| 宜良县| 聂荣县| 新余市| 贡觉县| 武清区| 海口市| 嘉峪关市| 句容市| 安泽县| 青神县| 九江市| 平远县| 武鸣县| 临沂市| 克拉玛依市| 台北市| 金川县| 大石桥市| 攀枝花市| 公主岭市| 柯坪县|