重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
awk是一個強大的文本分析工具,相對于grep的查找,sed的編輯,awk在對數據分析并生成報告時,顯得尤為強大。
創新互聯自2013年創立以來,是專業互聯網技術服務公司,擁有項目成都做網站、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元雨花做網站,已為上家服務,為雨花各地企業和個人服務,聯系電話:028-86922220
簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各種分析處理。
awk有三個不同的版本:awk、nawk和gawk,未作特別說明,一般指gawk,gawk是awk的GNU版本。
之所以叫awk是因為其取了三位創始人Alfred Aho,Peter Weinberger,和Brian Kernighan的Family
Name的首字符。
awk格式:
格式: sed -n '3p' sed.txt
找誰干啥(條件動作)
awk格式
#取出/etc/passwd 第1行的第1列和第3列
awk -F: 'NR==1{print $1,$3}' /etc/passwd
awk 選項 '條件{動作}' /etc/passwd
條件: 哪一行,過濾什么內容
動作: print輸出與顯示 ,計算....
awk取行:與sed類似
案例01:取出sed.txt的第2行
[root@oldboy81-golden-lnb /oldboy]# cat sed.txt
101,oldgirl,CEO
102,zhangya,CTO
103,lidao007,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
[root@oldboy81-golden-lnb /oldboy]# awk 'NR==2' sed.txt
102,zhangya,CTO
#awk '行號 等于 2' sed.txt
#NR awk內置變量
Number of Record 記錄號(行號)
案例02:取出sed.txt中包含oldboy或lidao的行
[root@oldboy81-golden-lnb /oldboy]# sed -rn '/oldboy|lidao/p' sed.txt
103,lidao007,COO
110,lidao,COCO
[root@oldboy81-golden-lnb /oldboy]# awk '/oldboy|lidao/' sed.txt
103,lidao007,COO
110,lidao,COCO
案例03:取出文件第2行到第5行內容
#awk '行號大于等于2 并且 行號小于等于5' sed.txt
#方法01
awk 'NR=2 NR=5' sed.txt #必會
表示并且.
#方法02
sed -n '2,5p' sed.txt
#方法03 了解
awk 'NR==2,NR==5' sed.txt #從行號是2的行開始 到 行號是5的行結束( 了解)
案例04:取出文件第3行到最后一行內容
[root@oldboy81-golden-lnb /oldboy]# awk 'NR = 3' sed.txt
103,lidao007,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
[root@oldboy81-golden-lnb /oldboy]# sed -n '3,$p' sed.txt
103,lidao007,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
案例05:取出從包含oldboy的行到lidao的行
[root@oldboy81-golden-lnb /oldboy]# cat sed.txt
101,oldgirl,CEO
102,zhangya,CTO
103,lidao007,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
root@oldboy81-golden-lnb /oldboy]# sed -n '/old/,/lidao/p' sed.txt
101,oldgirl,CEO
102,zhangya,CTO
103,lidao007,COO
[root@oldboy81-golden-lnb /oldboy]# awk '/old/ , /lidao/' sed.txt
101,oldgirl,CEO
102,zhangya,CTO
103,lidao007,COO
linxu下的init命令是進程初始化工具。下面由我為大家整理了linux的init命令的詳細解釋的相關知識,希望對大家有幫助!
一、linux中的init命令的詳細解釋
init命令
init命令是Linux下的進程初始化工具,init進程是所有Linu x的進 程的父進程,它的進程號為1。init命令是Linux 操作系統 中不可缺少的程序之一,init進程是Linux內核引導運行的,是系統中的第一個進程。
語法
init(選項)(參數)
選項
-b:不執行相關腳本而直接進入單用戶模式;
-s:切換到單用戶模式。 參數 運行等級:指定Linux系統要切換到的運行等級。
二、linux中的init命令的詳解實例
幾個常用的命令
查看系統進程命令:ps -ef | head
查看init的配置文件:more /etc/inittab
查看系統當前運行的級別:runlevel
運行級別
到底什么是運行級呢?簡單的說,運行級就是操作系統當前正在運行的功能級別。這個級別從0到6 ,具有不同的功能。你也可以在/etc/inittab中查看它的英文介紹。
#0 停機(千萬不能把initdefault 設置為0)
#1 單用戶模式
#2 多用戶,沒有 NFS(和級別3相似,會停止部分服務)
#3 完全多用戶模式
#4 沒有用到
#5 x11(Xwindow)
#6 重新啟動(千萬不要把initdefault 設置為6)
三、linux的init命令的六種模式簡介
6種模式中有兩種是系統內定的:
0:停止系統運行。init 0〈回車〉相當于 halt〈回車〉。
6:重啟系統。init 6〈回車〉相當于 reboot〈回車〉。
如果你了解/etc/inittab文件,就千萬不要把0設為缺省登錄模式,否則你的Linux的運行就只能兩點一線了mdash;mdash;開機larr;rarr;停機,或者是開機larr;rarr;重啟的無限循環。 其他的4種模式實際上是由操作系統確定的。如果你愿意修改Linux的源代碼,你也可以定義這4種(甚至6種)模式的實際功能。其實只要知道Linux發布廠商的約定就足夠了,下面我們就以藍點2.0為例,看看init的常用約定吧mdash;mdash;
init 1mdash;mdash;進入單用戶模式。這和開機是選擇Safe Mode是一樣的,可以以root的權限對系統進行管理,但是不能進入圖形模式,也不支持中文,聲卡和網絡服務等就更不用提了。總之,它是系統可運行的最低軟硬件配置。 它和Windows的安全模式是比較相似的,但一個本質的差別:在于只要你在Linux下運行相應的命令,硬件設備是可以在這種模式下被驅動的。例如只 要你的光驅連線正確,一個mount /dev/cdrom命令,你的光盤內容就隨時可以在/mnt/cdrom里讀出來。 要注意的是這一模式的字符控制臺不能支持中文,但進入Xwin仍然能看到藍點漂亮的中文字體,輸入法也完全沒有問題。
init 2mdash;mdash;進入無網絡服務的多用戶模式 如果你的計算機根本沒有連網,這個模式就跟普通模式一樣了。否則的話別人就不能通過網絡www、ftp或telnet登錄你的計算機了,但對與ping 命令你的計算機還是會作出反應的。如果連ping你也拒絕訪問,那么就不如直接把網線拔了! 如果你的計算機作為網絡服務器,這一模式就挺有用了。譬如你要修整系統或更新網站內容,就可以把計算機調到這一模式,然后放心的進行你的工作,等工作完成 后再切換到模式3或5就行了。但注意如果原來已經有用戶ftp或telnet進入了你的系統,用init 2 是不能中斷他和你的連接的,小心讓別人在這個時候黑你一把哦!mdash;mdash;執行init 2前先用who命令檢查一下吧。 這一模式下,在本機上的使用基本不變。你仍然可以訪問網絡,上Internet,ftp或telnet到網絡中的任何一臺服務器。只是你的計算機在網絡中不給其他機器提供服務而已。計算機從第3運行級轉入這一模式時你會看到一系列網絡服務被停止。
init 3或init 4mdash;mdash;進入控制臺登錄的多用戶模式 這是藍點1.0的默認登錄模式,每個用戶都要先從黑白屏幕登錄之后才可以運行才能start x后進 入KDE精彩的圖形世界。而且Xwin啟動后,運行 startx的控制臺就被鎖定了,除非你用startx 把Xwin放到后臺運行。要到別的控制臺用Ctrl+Alt+F,表示數字1到6中任一個,Ctrl+Alt+F7則回到圖形模式專用的7 號控制臺(有時要用Ctrl+Alt+F8)。 如果是從init 1 或init 2切換回init 3,我們可以看到一系列服務被重啟。
init 5mdash;mdash;進入圖形化登錄的多用戶模式 這是藍點2.0安裝后默認的啟動模式。系統啟動后或執行init 5命令后,悅目的藍綠過渡色背景上就出現了漂亮的登錄窗口。 所有帳號名都以圖標的方式出現在窗口里等待選擇,不必自己輸入。不過系統管理員可能不高興mdash;mdash;這樣系統里有多少用戶豈不是讓人一目了然?不過在KDE控制中心中修改就可以解決問題的,我就不多說啦。 如果系統出了問題,只要啟動仍然能進入這個界面(說明X服務器沒有問題),root帳號也可以從這里進入Linux的安全模式,就是在左下角的選擇框把 模式從kde換為save failed就行了。當然進入的界面絕對沒有美觀可言,但用于修復X窗口管理器或應用程序的問題是必不可少的。
linux系統下df命令可以用來查看磁盤已被使用多少空間和還剩余多少空間,下面是df命令的具體介紹:
1、df命令功能:
df命令作用是列出文件系統的整體磁盤空間使用情況,可以用來查看磁盤已被使用多少空間和還剩余多少空間。
2、語法:
df[-ahHiklmPT][--block-size=
3、補充說明:
df命令可顯示磁盤的文件系統與使用情形。
舉例:
1、-a或--all 包含全部的文件系統。
[root@iZ2zed6nnllpn4fbw79v1dZ~]#df-a
Filesystem 1K-blocks UsedAvailableUse%Mountedon
/dev/xvda1 412828801808452 37377380 5%/
proc 0 0 0 -/proc
sysfs 0 0 0 -/sys
devpts 0 0 0 -/dev/pts
tmpfs 509164 0 509164 0%/dev/shm
none 0 0 0 -/proc/sys/fs/binfmt_misc
none 0 0 0 -/proc/xen
2、--block-size=
[root@iZ2zed6nnllpn4fbw79v1dZ~]#df--block-size=10240
Filesystem 10K-blocks UsedAvailableUse%Mountedon
/dev/xvda1 4128288180846 3737738 5%/
tmpfs 50917 0 50917 0%/dev/shm
3、-h或--human-readable 以可讀性較高的方式來顯示信息。
[root@iZ2zed6nnllpn4fbw79v1dZ~]#df-h
Filesystem Size UsedAvailUse%Mountedon
/dev/xvda1 40G 1.8G 36G 5%/
tmpfs 498M 0 498M 0%/dev/shm
4、-H或--si 與-h參數相同,但在計算時是以1000Bytes為換算單位而非1024Bytes。
[root@iZ2zed6nnllpn4fbw79v1dZ~]#df-H
Filesystem Size UsedAvailUse%Mountedon
/dev/xvda1 43G 1.9G 39G 5%/
tmpfs 522M 0 522M 0%/dev/shm
5、-i或--inodes 顯示inode的信息。
[root@iZ2zed6nnllpn4fbw79v1dZ~]#df-i
Filesystem InodesIUsed IFreeIUse%Mountedon
/dev/xvda1 2621440483492573091 2%/
tmpfs 127291 1 127290 1%/dev/shm
以上就是小編今天的分享了,希望可以幫助到大家。
find 命令的基本結構如下:
find 命令手冊 : man find
find 命令中的 -name 選項可以根據文件名稱進行檢索( 區分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個字符的文件
例3:查以大寫字母開頭的文件
例4:查以兩個小寫字母和兩個數字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項。
例1:如查找 /usr 下所有文件名以 .txt 結尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
例2:在當前目錄除aa之外的子目錄內搜索 txt文件
例3:在當前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時出現在結果中。可以使用 -type 選項指定文件類型。
-type 選項最常用的參數如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄。空文件即文件里沒有任何內容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當前的匹配條件進行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件。可以使用以下命令:
也可以“翻轉”任何其他的篩選條件,如:檢索 /usr 下所有內容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項。
例:檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項, -group 選項則可以根據文件或目錄的 屬組 進行檢索。
有些時候,需要根據文件創建或修改的時間進行檢索。
Linux 系統中,與文件相關聯的時間參數有以下三種:
與此對應的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項允許用戶通過文件大小進行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號表示 大于 或 小于 當前條件。
檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項以文件權限為依據進行搜索。
9.1使用符號形式
例1:如需要檢索 /usr 目錄下權限為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有權限為 r-xr-xr-x (即系統中的所有用戶都只有讀寫權限)的文件和目錄,可以使用以下命令:
很多時候,我們只想匹配文件權限的一個 子集 。比如,檢索可以直接被任何用戶執行的文件,即只關心文件的執行權限,而不用管其讀寫權限是什么。
上述的需求可以通過以下命令實現:
其中 a=x 前面的 / 符號即用來表示只匹配權限的某個子集(執行權限),而不用關心其他權限的具體設置。
9.2使用數字形式
例如:搜索 /usr 目錄下權限為 644 (即 rwxr-xr-x )的文件
find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結果數量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數。
例如:搜索時向下遞歸的層數最大為 3
在之前的例子中有出現多個搜索條件的 組合 以及對某個搜索條件的 反轉 。
實際上 find 命令支持 “and” 和 “or” 兩種邏輯運算,對應的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復雜的組合。
此外還可以使用 小括號 對搜索條件進行 分組 。注意 find 命令中的小括號常需要用 單引號 包裹起來。因小括號在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
該命令等同于:
更復雜的組合形式如:
例4:在除dir0及子目錄以外的目錄下查找txt后綴文件
說明:-a 應該是and的縮寫,意思是邏輯運算符‘與’(); -o應該是or的縮寫,意思是邏輯運算符‘或’(||), -not 表示非.
命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個目錄以外的目錄下查找txt后綴文件并打印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達式為假,則在當前目錄下查找所有txt后綴文件。
-delete 選項可以用來刪除搜索到的文件和目錄。
例如:刪除 home 目錄下所有的空目錄:
-exec 選項可以對搜索到的結果執行執行該參數所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然后執行 -exec 后面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復制到移動存儲設備(假設路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括號 ( {} )作為檢索到的文件的 占位符 ,而分號( ; )作為命令結束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉義符 \ 。
例2:查看當前目錄下的所有普通文件,并在 - exec 選項中使用 ls -l 命令將它們列出
例3:在多個文件中檢索某個指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
創建 Gzip 格式的壓縮文件的命令為:
現在假設需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應為如下形式:
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發現一個音頻文件,都會再執行一次 -exec 選項后面的壓縮命令。導致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細信息(如權限和大小等),可以直接使用 -ls 選項。
例如:瀏覽所有 1G 以上大小的文件的詳細信息
與exec作用相同,區別在于,在執行命令之前,都會給出提示,讓用戶確認是否執行
與 exec 作用相同 ,起承接作用。區別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數大于2的文件或目錄
例3:查找含特定字符串的文件。查找當前目錄下含有"the string you want find…"字符串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現:
A Guide to the Linux “Find” Command
Linux rm,英文全拼:remove,該命令用于刪除一個文件或者目錄。
Linux
rm命令是一個非常強大的刪除命令,它可以永久性地刪除文件系統中指定的文件或目錄。在使用rm命令刪除文件或目錄時,系統不會產生任何提示信息。
語法
rm [options] name...
參數
-i 刪除前逐一詢問確認
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認
-r 將目錄及以下之檔案亦逐一刪除
注意:rm命令是一個具有破壞性的命令,因為rm命令會永久性刪除文件或目錄,這就意味著,如果沒有對文件或目錄進行備份,一旦使用rm命令將其刪除,將無法恢復。因此,尤其在使用rm命令刪除目錄時,要非常非常謹慎。
在Linux系統中cut命令作用是從文件中的每一行中截取出一些部分,并輸出到標準輸出中。下面是具體介紹cut命令的內容:
1、語法:
$cutOPTION...[FILE]...
2、選項:
-f:提取指定的字段,cut命令使用Tab作為默認的分隔符。
-d:Tab是默認的分隔符,使用這一選項可以指定自己的分隔符。
-b:提取指定的字節,也可以指定一個范圍。
-c:提取指定的字符,可以是以逗號分隔的數字的列表,也可以是以連字符分隔的數字的范圍。
–complement:補充選中的部分,即反選。
–output-delimiter:修改輸出時使用的分隔符。
--only-delimited:不輸出不包含分隔符的列。
3、參數:
文件:指定要進行內容過濾的文件。