<ii dir='soxxm3'><bdo dir='8g79ibrk'></bdo></ii>

        <b dropzone='n60wvl0'></b>
          1. 文章熱詞:Linux

            日期:2019-08-09 08:33 by admin 1170 0 收藏
            我要分享

            摘要:Linux 基本操作命令 文件和目錄管理 創建和删除

            創建:mkdir

            删除:rm

            删除非空目錄:rm -rf file 目錄

            删除日志 rm log (等價: $find ./-name “log” -exec rm {} ; )

            移動:mv

            複制:cp (複制目錄:cp -r)

            創建文件 touch

            查看

            顯示當前目錄下的文件 ls

            按時間排序,以列表的方式顯示目錄項 ls -lrt

            ls -l

            查看文件内容 cat 可以加 more 、less 控制輸出的内容的大小

            cat a.textcat a.text | morecat a.text| less

            權限

            改變文件的擁有者 chown

            改變文件讀、寫、執行等屬性 chmod

            遞歸子目錄修改:chown -R tuxapp source/

            增加腳本可執行權限:chmod a+x myscript

            管道和重定向

            把前一個命令的執行結果當做後一個命令的輸入 |

            串聯:使用分号 ;

            前面成功,則執行後面一條,否則,不執行: &&

            前面失敗,則後一條執行: ||

            ls /proc && echo  suss! || echo failed.

            文本處理


            文件查找 find

            find 參數很多,本文隻介紹幾個常用的

            -name 按名字查找

            -type 按類型

            -atime 訪問時間

            find . -atime 7 -type f -printfind . -type d -print  //隻列出所有目錄find / -name "hello.c" 查找hello.c文件

            文本查找 grep

            grep match_patten file // 默認訪問匹配行

            常用參數

            -o 隻輸出匹配的文本行 VS -v 隻輸出沒有匹配的文本行

            -c 統計文件中包含文本的次數

            grep -c “text” filename

            -n 打印匹配的行号

            -i 搜索時忽略大小寫

            -l 隻打印文件名

            grep "class" . -R -n # 在多級目錄中對文本遞歸搜索(程序員搜代碼的最愛)cat LOG.* | tr a-z A-Z | grep "FROM " | grep "WHERE" > b #将日志中的所有帶where條件的sql查找查找出來

            文本替換 sed

            sed [options] 'command' file(s)

            首處替換

            sed 's/text/replace_text/' file   //替換每一行的第一處匹配的text

            全局替換

            sed 's/text/replace_text/g' file

            默認替換後,輸出替換後的内容,如果需要直接替換原文件,使用 -i:

            sed -i 's/text/repalce_text/g' file

            移除空白行

            sed '/^$/d' file
            sed 's/book/books/' file #替換文本中的字符串:sed 's/book/books/g' filesed '/^$/d' file #删除空白行

            數據流處理 awk

            詳細教程可以查看 http://awk.readthedocs.io/en/latest/chapte...

            awk ' BEGIN{ statements } statements2 END{ statements } '

            工作流程

            1. 執行 begin 中語句塊;

            2. 從文件或 stdin 中讀入一行,然後執行 statements2,重複這個過程,直到文件全部被讀取完畢;

            3. 執行 end 語句塊;

            特殊變量

            NR: 表示記錄數量,在執行過程中對應當前行号;

            NF: 表示字段數量,在執行過程總對應當前行的字段數;

            $0: 這個變量包含執行過程中當前行的文本内容;

            $1: 第一個字段的文本内容;

            $2: 第二個字段的文本内容;

            awk '{print $2, $3}' file# 日志格式:'$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'#統計日志中訪問最多的10個IPawk '{a[$1]++}END{for(i in a)print a[i],i|"sort -k1 -nr|head -n10"}' access.log

            排序 sort

            -n 按數字進行排序 VS -d 按字典序進行排序

            -r 逆序排序

            -k N 指定按第 N 列排序

            sort -nrk 1 data.txtsort -bd data // 忽略像空格之類的前導空白字符

            去重 uniq

            消除重複行

            sort unsort.txt | uniq

            統計 wc

            wc -l file // 統計行數wc -w file // 統計單詞數wc -c file // 統計字符數

            上一篇:九型人格

            下一篇:PHP curl常用的5個例子


            評論

            -->