Linux 基本操作命令總結

下面給大家總結介紹linux 基本操作命令,希望對需要的朋友有所幫助,更多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?//?統計字符數

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享