天天看點

Linux常見符号和shell中常用指令

Linux常見符号和指令

重定向符号

  • 在shell中常見的重定向符号有 > 和 >>
    • >

      符号
    表示将符号左側的内容,以覆寫的方式輸入到右側的檔案中
    • >>

      符号
    表示将符号左側的内容,以追加的方式輸入到右側檔案的末尾

管道符

  • 指令格式

    指令1 | 指令2

    指令1執行後的結果,傳遞給指令2使用

其他符号

  • 背景展示符

    &

    & 就是将一個指令從前台轉入到背景執行
  • 全部資訊符号

    2>&1

    1 表示正确輸出的資訊

    2 表示錯誤輸出的資訊

    2>&1 代表所有輸出的資訊

  • Linux系統垃圾桶

    /dev/null 是Linux下的一個裝置檔案,特點是無限大

常見指令

  • grep指令 文本搜尋指令

    指令格式

    grep [參數] [關鍵字] <檔案名>

    • 參數詳解

    -c 隻輸出比對行的計數

    -n 顯示比對行及行号

    -v 顯示不包含比對文本的所有行

    • 精确定位錯誤代碼

    grep -nr [錯誤關鍵字]

  • sed指令 編輯檔案 以行為機關

    指令格式

    sed [參數]'比對條件 動作' 檔案名

    • 參數詳解

    參數為空 表示sed的操作效果,實際上不對檔案進行編輯

    -i 表示讀檔案進行編輯

    ​ 注意在mac中使用-i參數,需要用

    -i ''

    • 比對條件

    數字行号 或者關鍵字比對

    ​ 關鍵字比對格式:

    '/關鍵字/'

    隔離符号

    /

    可以換成 @ # !
    • 動作詳解

    -a 在比對到的内容下一行增加内容

    -i 在比對到的内容上一行增加内容

    -d 删除比對到的内容

    -s 替換比對到的内容

    • 指令示範

    s#原内容#替換後内容#

    • 替換每行首個比對内容

      sed -i 's#原内容#替換後内容#' 檔案名

    • 替換全部比對内容

      sed -i 's#原内容#替換後内容#g'

    • 指定行号替換首個比對内容

      sed -i'行号s#原内容#替換後内容#' 檔案名

    • 首航指定列号替換比對内容:

      sed -i 's#原内容#替換後内容#列号' 檔案名

    • 指定行号列号比對内容

      sed -i '行号s#原内容#替換後内容#列号' 檔案名

    • 在指定行号的下一行增加内容

      sed -i '行号a\增加内容' 檔案名

      如果增加多行,可以在行号位置寫個範圍值,彼此中間用逗号隔開
    • 在指定行号的當行增加内容

      sed -i '行号i\增加的内容' 檔案名

      如果增加多行,可以在行号位置寫個範圍值,彼此中間用逗号隔開
    • 指定行号删除

      sed -i '行号d' 檔案名

      如果增加多行,可以在行号位置寫個範圍值,彼此中間用逗号隔開
  • awk指令 能以行和列來處理檔案

    指令格式

    awk [參數] '動作' 檔案名

    • 常見參數
    -F 指定行的分隔符
    • 常見動作

    print 顯示内容

    $0

    顯示目前所有内容

    $n

    顯示目前行的第n列内容,如果存在多個

    $n

    ,中間用

    ,

    隔開
    • 常見内置變量

    NR 指定顯示行的行号

    NF 輸出最後一列的内容

    OFS 輸出格式的列分隔符,預設是空格

    FS 輸入檔案的列分隔符,預設是連續的空格和tab

  • find指令

    指令格式

    find [路徑] [參數] [關鍵字]

    • 參數詳解

    -name 按照檔案名查找檔案

    -perm 按照檔案權限來查找檔案

    -user 按照檔案屬主來查找檔案

    -group 按照檔案所屬的組來查找檔案

    -type 查找某一類型的檔案

    -size n: [c] 查找檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計算

    -depth 查找檔案時,首先查找目前目錄中的檔案,然後在其子目錄中查找