下面給大家總結介紹linux 基本操作命令,希望對需要的朋友有所幫助,更多linux使用教程請訪問linux視頻教程進行學習!
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
詳細教程可以查看 linux視頻教程
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?//?統計字符數