-
1 # 用戶1279456936731384
-
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 // 統計字符數
回覆列表
知道指定後綴名的文件總個數命令: 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會去子目錄查找,如果只想查找當前目錄的文件用 需要說明的是第二種方法會比第一種方法快很多,尤其是也統計子目錄時。