建站服務(wù)器
小編給大家分享一下linux的基本操作命令有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
linux 基本操作命令
文件和目錄管理
創(chuàng)建和刪除
創(chuàng)建:mkdir
刪除:rm
刪除非空目錄:rm -rf file 目錄
刪除日志 rm log (等價(jià): $find ./-name “l(fā)og” -exec rm {} ; )
移動(dòng):mv
復(fù)制:cp (復(fù)制目錄:cp -r)
創(chuàng)建文件 touch
查看
顯示當(dāng)前目錄下的文件 ls
按時(shí)間排序,以列表的方式顯示目錄項(xiàng) ls -lrt
ls -l查看文件內(nèi)容 cat 可以加 more 、less 控制輸出的內(nèi)容的大小
cat a.textcat a.text | morecat a.text| less權(quán)限
改變文件的擁有者 chown
改變文件讀、寫、執(zhí)行等屬性 chmod
遞歸子目錄修改: chown -r tuxapp source/
增加腳本可執(zhí)行權(quán)限: chmod a x myscript
管道和重定向
把前一個(gè)命令的執(zhí)行結(jié)果當(dāng)做后一個(gè)命令的輸入 |
串聯(lián):使用分號 ;
前面成功,則執(zhí)行后面一條,否則,不執(zhí)行: &&
前面失敗,則后一條執(zhí)行: ||
ls /proc && echo suss! || echo failed.文本處理
文件查找 find
find 參數(shù)很多,本文只介紹幾個(gè)常用的
-name 按名字查找
-type 按類型
-atime 訪問時(shí)間
find . -atime 7 -type f -printfind . -type d -print //只列出所有目錄find / -name "hello.c" 查找hello.c文件文本查找 grep
grep match_patten file // 默認(rèn)訪問匹配行常用參數(shù)
-o 只輸出匹配的文本行 vs -v 只輸出沒有匹配的文本行
-c 統(tǒng)計(jì)文件中包含文本的次數(shù)
grep -c “text” filename-n 打印匹配的行號
-i 搜索時(shí)忽略大小寫
-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默認(rèn)替換后,輸出替換后的內(nèi)容,如果需要直接替換原文件,使用 -i:
sed -i 's/text/repalce_text/g' file移除空白行
sed '/^$/d' filesed 's/book/books/' file #替換文本中的字符串:sed 's/book/books/g' filesed '/^$/d' file #刪除空白行數(shù)據(jù)流處理 awk
詳細(xì)教程可以查看 http://awk.readthedocs.io/en/latest/chapte…
awk ' begin{ statements } statements2 end{ statements } '工作流程
1. 執(zhí)行 begin 中語句塊;
2. 從文件或 stdin 中讀入一行,然后執(zhí)行 statements2,重復(fù)這個(gè)過程,直到文件全部被讀取完畢;
3. 執(zhí)行 end 語句塊;
特殊變量
nr: 表示記錄數(shù)量,在執(zhí)行過程中對應(yīng)當(dāng)前行號;
nf: 表示字段數(shù)量,在執(zhí)行過程總對應(yīng)當(dāng)前行的字段數(shù);
$0: 這個(gè)變量包含執(zhí)行過程中當(dāng)前行的文本內(nèi)容;
$1: 第一個(gè)字段的文本內(nèi)容;
$2: 第二個(gè)字段的文本內(nèi)容;
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"'#統(tǒng)計(jì)日志中訪問最多的10個(gè)ipawk '{a[$1] }end{for(i in a)print a[i],i|"sort -k1 -nr|head -n10"}' access.log排序 sort
-n 按數(shù)字進(jìn)行排序 vs -d 按字典序進(jìn)行排序
-r 逆序排序
-k n 指定按第 n 列排序
sort -nrk 1 data.txtsort -bd data // 忽略像空格之類的前導(dǎo)空白字符去重 uniq
消除重復(fù)行
sort unsort.txt | uniq統(tǒng)計(jì) wc
wc -l file // 統(tǒng)計(jì)行數(shù)wc -w file // 統(tǒng)計(jì)單詞數(shù)wc -c file // 統(tǒng)計(jì)字符數(shù)以上是linux的基本操作命令有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注資訊頻道!