首頁>
5
回覆列表
  • 1 # 用戶1279456936731384

    知道指定後綴名的文件總個數命令: find . -name *.cpp | wc -l 知道一個目錄下代碼總行數以及單個文件行數: find . -name *.h | xargs wc -l linux統計文件夾中文件數目 第一種方法: ls -l|grep “^-”|wc -l ls -l 長列表輸出該目錄下文件信息(注意這裡的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)。

    如果ls -lR|grep “^-”|wc-l則可以連子目錄下的文件一起統計。

    grep ^- 這裡將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d wc -l 統計輸出信息的行數,因為已經過濾得只剩一般文件了,所以統計結果就是一般文件信息的行數,又由於一行信息對應一個文件,所以也就是文件的個數。

    第二種方法: find ./ -type f|wc -l 由於默認find會去子目錄查找,如果只想查找當前目錄的文件用 需要說明的是第二種方法會比第一種方法快很多,尤其是也統計子目錄時。

  • 2 # HH1981X

    linux系統中操作指令大全有哪些呢?下面是具體介紹:

    linux系統中操作指令有很多,最常用操作指令是:cd命令、cd命令、grep命令、find命令、cp命令、mv命令、rm命令、ps命令、kill命令、killall命令、file命令、tar命令、cat命令、chgrp命令、chown命令、chmod命令、pwd命令、vim命令、gcc命令、time命令。

    1、cd命令

    這是一個非常基本,用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。

    2、ls命令

    這是一個非常有用的查看文件與目錄的命令。

    3、grep命令

    該命令常用於分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等。

    4、find命令

    find是一個基於查找的功能非常強大的命令,相對而言,它的使用也相對較為複雜,參數也比較多。

    5、cp命令

    該命令用於複製文件,copy之意,它還可以把多個文件一次性地複製到一個目錄下。

    6、mv命令

    該命令用於移動文件、目錄或更名,move之意。

    7、rm命令

    該命令用於刪除文件或目錄,remove之間。

    8、ps命令

    該命令用於將某個時間點的進程運行情況選取下來並輸出,process之意。

    9、kill命令

    該命令用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用。

    10、killall命令

    該命令用於向一個命令啟動的進程發送一個信號。

    11、file命令

    該命令用於判斷接在file命令後的文件的基本數據。

    12、tar命令

    該命令用於對文件進行打包,默認情況並不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓。

    13、cat命令

    該命令用於查看文本文件的內容,後接要查看的文件名,通常可用管道與more和less一起使用,從而可以一頁頁地查看數據。

    14、chgrp命令

    該命令用於改變文件所屬用戶組。

    15、chown命令

    該命令用於改變文件的所有者,與chgrp命令的使用方法相同,只是修改的文件屬性不同。

    16、chmod命令

    該命令用於改變文件的權限。

    pwd命令

    功能:顯示當前所在的工作目錄的絕對路徑。

    18、vim命令

    該命令主要用於文本編輯,它接一個或多個文件名作為參數,如果文件存在就打開,如果文件不存在就以該文件名創建一個文件。

    19、gcc命令

    對於一個用Linux開發C程序的人來說,這個命令就非常重要了,它用於把C語言的源程序文件,編譯成可執行程序。

    20、time命令

    該命令用於測算一個命令(即程序)的執行時間。

  • 3 # 煙雨江南145599800

    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.text

    cat a.text | more

    cat 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 -print

    find . -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' file

    sed '/^$/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個IP

    awk '{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.txt

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

    去重 uniq

    消除重複行

    sort unsort.txt | uniq

    統計 wc

    wc -l file // 統計行數

    wc -w file // 統計單詞數

    wc -c file // 統計字符數