Linux經常使用命令

Linux自帶命令

pwd

         顯示當前路徑。html

mkdir

         新建目錄。linux

         mkdir [options] 目錄名;正則表達式

         [options]主要參數shell

         -m, --mode=模式:設定權限,與chmod相似。express

         -p, --parents:須要時建立上層目錄;若是目錄早已存在,則不看成錯誤。windows

         -v, --verbose:每次建立新目錄都顯示信息。瀏覽器

         --version:顯示版本信息後離開緩存

touch

         新建文件。安全

         touch [選項]... 文件...服務器

         命令參數:

         -a   或--time=atime或--time=access或--time=use  只更改存取時間。

         -c   或--no-create  不創建任何文檔。

         -d  使用指定的日期時間,而非如今的時間。

         -f  此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。

         -m   或--time=mtime或--time=modify  只更改變更時間。

         -r  把指定文檔或目錄的日期時間,通通設成和參考文檔或目錄的日期時間相同。

         -t  使用指定的日期時間,而非如今的時間。

vi

         vi編輯器是全部Unix及Linux系統下標準的編輯器。

         內容太多,你們移步http://www.cnblogs.com/mahang/archive/2011/09/01/2161672.html

cat

         cat主要有三大功能:

         1.一次顯示整個文件。$ cat filename

         2.從鍵盤建立一個文件。$ cat > filename 

   只能建立新文件,不能編輯已有文件.

         3.將幾個文件合併爲一個文件: $cat file1 file2 > file

參數:

         -n 或 --number 由 1 開始對全部輸出的行數編號

         -b 或 --number-nonblank 和 -n 類似,只不過對於空白行不編號

         -s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行

         -v 或 --show-nonprinting

find

         用於在文件樹種查找文件,並做出相應的處理。

         find pathname -options [-print -exec -ok ...]

         參數:

         pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。

         -print: find命令將匹配的文件輸出到標準輸出。

         -exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式爲'command' {  } \;,注意{   }和\;之間的空格。

         -ok: 和-exec的做用相同,只不過以一種更爲安全的模式來執行該參數所給出的shell命令,在執行每個命令以前,都會給出提示,讓用戶來肯定是否執行。

         -name   按照文件名查找文件。

         -perm   按照文件權限來查找文件。

         -prune  使用這一選項可使find命令不在當前指定的目錄中查找,若是同時使用  -depth選項,那麼-prune將被find命令忽略。

         -user   按照文件屬主來查找文件。

         -group  按照文件所屬的組來查找文件。

         -mtime -n +n  按照文件的更改時間來查找文件, - n表示文件更改時間距如今n天之內,+ n表示文件更改時間距如今n天之前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。

         -nogroup  查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。

         -nouser   查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。

         -newer file1 ! file2  查找更改時間比文件file1新但比文件file2舊的文件。

         -type  查找某一類型的文件,諸如:

         b - 塊設備文件。

         d - 目錄。

         c - 字符設備文件。

         p - 管道文件。

         l - 符號連接文件。

         f - 普通文件。

         -size n:[c] 查找文件長度爲n塊的文件,帶有c時表示文件長度以字節計。-depth:在查找文件時,首先查找當前目錄中的文件,而後再在其子目錄中查找。

         -fstype:查找位於某一類型文件系統中的文件,這些文件系統類型一般能夠在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。

         -mount:在查找文件時不跨越文件系統mount點。

         -follow:若是find命令遇到符號連接文件,就跟蹤至連接所指向的文件。

         -cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。

另外,下面三個的區別:

         -amin n   查找系統中最後N分鐘訪問的文件

         -atime n  查找系統中最後n*24小時訪問的文件

         -cmin n   查找系統中最後N分鐘被改變文件狀態的文件

         -ctime n  查找系統中最後n*24小時被改變文件狀態的文件

         -mmin n   查找系統中最後N分鐘被改變文件數據的文件

         -mtime n  查找系統中最後n*24小時被改變文件數據的文件

         參見:http://www.cnblogs.com/peida/archive/2012/11/13/2767374.html

dig *

dig 命令主要用來作域名解析,相似windows下面的nslookup。

用法:

dig @dnsserver name querytype

dnsserver  指定DNS解析的服務器地址,默認使用/etc/resolv.conf配置的DNS服務器進行解析;

name         須要進行解析的域名;

querytype 定義須要查詢的記錄類型,默認查詢A記錄;

 

         能夠指定用那個dns進行解析,帶上 @x.x.x.x (x.x.x.x 表示指定的DNS) 好比:

 

         Dig命令能夠用來追蹤解析的完整的過程,帶上參數:+trace

 

         能夠經過參數short 查看簡單的解析記錄:

 

nslookup*

這個是windows下的域名解析:

 

指定DNS服務器:nslookup Domain DNS

 

ipconfig

通常來講,咱們用ipconfig來看配置的IP,其實,ipconfig還能夠用來清空本地的DNS緩存,命令: ipconfig /flushdns ,用在客戶域名切換以後本地清DNS緩存:

 

mtr

         相似ping traceroute,測試網絡的連通性。

 

         比較經常使用的參數:

         -n 不對IP進行解析,建議使用,能夠提升測試速度;

         -i  發包間隔時間,默認爲1秒鐘;

         -c 指定發包的個數,和-r參數配合使用;

         -s 指定發包的包大小,默認好像64bit;

         -r 生成報告的形式。

        

curl*

curl通常用來測試某條URL的請求狀況,默認是不支持斷點續傳。

測試URL:http://dnf.uuu9.com/70c/images/forum/201205/21/1534008f4fo8l754lo844i.gif

 

         比較常見的參數有:

         -0 (這是數字的0)默認的話,curl發的是HTTP/1.1的請求,經過 -0 指令,能夠指定使用HTTP/1.0的發送請求;

         -o (小寫字母o) 默認狀況下,curl會把整個內容顯示在終端(也就是屏幕)上,能夠經過-o將內容保存在某個文件下,比較常見的是指定到/dev/null ,相似一個垃圾箱;

         -O (大寫的O)會根據請求的文件名在本地保存;

         -I 只輸出響應頭部;

         -x 能夠指定使用代理的模式,指定經過哪一個IP進行請求;eg  -x 127.0.0.1:80,須要指定端口信息,不然會報錯;若是設定了-x,則curl請求會是代理模式,若是沒有-x,則是正常的用戶請求,二者存在必定的區別。

         帶有-x參數:

 

         未帶-x參數:

 

         -e 用來設定Referer;

         -A 用來設定UA頭部;

         -H 能夠用來設定請求的頭部;

         --compressed 默認狀況下,curl發送的是非壓縮的請求,有時候須要測試壓縮的請求,此時可使用- -compressed參數 來發送壓縮的請求;

         -r 在發送請求的時候,能夠用來指定發送range請求;

         -u 經過-u 指定用戶名和密碼,能夠用來下載ftp上的內容;

(這條測試命令能夠在2012-7-30號前運行成功:curl -O -u '9aola:*Uo3$Ka2' ftp://ftp.wslog.chinanetcenter.com/www.9aoya.com/2012-07-17-0000-2330_www.9aoya.com.cn.log.gz)

 

wget*

wget是一個從網絡上自動下載文件的自由工具,常見的用法:

 

默認的話,wget會根據URL中的文件名保存,屢次下載會在後續保存的文件名中記錄數字,相似a.jpg  a.jpg.1 a.jpg.2

命令參數介紹:

-o fileName將響應輸出信息保存在指定的文件中,有同名文件時,會覆蓋掉;

-a fileName將響應輸出信息追加到指定文件的末尾,指定文件不存在的話,會新建文件;

-O fileName將下載的文件根據指定的文件名保存;

-c 支持斷點續傳;

-t num 指定斷點續傳重試的次數,默認20次;

-S 顯示響應頭部;

--referer=url 指定請求來源,相似curl的-e選項;

--header= header-line 能夠用來設定請求頭部,相似URL的-H;

-e  http-proxy 相似curl的-x參數,指定到具體的服務器請求內容;

固然,使用wget也能夠下載ftp的資源,相似下面的命令:

wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL

 

 

pollurl

         相似curl及wget功能,請求某條URL並將響應頭部信息存儲在pollUrl.tmp文件下;運維比較經常使用的命令,瞭解便可。

Usage: pollurl [-DRavsrVHe][-p port][-h remote host][-u unit][-o timeout value][-T temp file][-P post data]url|mgr:*

Options:

[--append_header|--header]="head1:value1\r\nhead2:value2 or file name\r\n"

[--http_version|--http]="1.0|1.1"   http version in request, default is 1.0

-D     Display received message on the screen

-s      append header:Cdn-Src-Ip: localhost

-R     Redirect to the new url

-a      Compute the time as a task

-v      --verbose Display the verbose messages

-r      Fetch sub urls

-o      the max timeout value

-V     --version Display software version

-H     --help Help!

-T      temp file  the pathname in which you get the message from the server saves

-m    --method GET|HEAD|QUERY|POST|PURGE default method is GET,use -m POST=data can post data to the server

-e      Exclude the urls not in this domain,if you use this,you must also use -r option

-h host      Retrieve URL from cache on hostname.  Default is localhost.

-p port      Port number of cache.  Default is 80. if the target url starts with https,the default port is 443

-u m|s      The test result displayed in unit (ms) or (s).

-P    use POST method to send datas.use -P data can post data to the server

url|mgr:*          the target url to be fetched or the message send to the squid server

 

tcpflow*

tcpflow用來抓包的工具,常見用法以下(配合grep命令):

tcpflow [-chpsv] [-b max_bytes] [-d debug_level] [-f max_fds] [-i iface] [-r file] [expression]

常見參數:

-c 輸出到終端;默認狀況tcpflow會把抓包的數據保存到文件中,生成不少相關的文件。

-i 指定抓包使用的接口(經過ifconfig –a 能夠顯示全部接口),若是沒有指定,系統通常會使用lo端口;

-p 不使用promiscuous模式;

-r file 從file文件中讀取數據內容;

案例:

tcpflow -cp |grep --color images/forum/201205/21/1534008f4fo8l754lo844i.gif -6

 

tcpdump

tcpdump是另一個用來抓包的工具,獲取的包大多沒有解碼,大部分以十六進制形式直接打印輸出,常見用法:

tcpdump -nv host 120.036.156.162 |more

 

         參考文檔:http://network.51cto.com/art/200512/15473.htm

wget http://dnf.uuu9.com/70c/images/forum/201205/21/1534008f4fo8l754lo844i.gif --referer=http://www.baidu.com/ -e http-proxy=59.57.15.219

md5sum

計算文件的md5值。

md5sum 91rbtest.sh

433bf18f45c0e232323eb90ac8aa07b5  91rbtest.sh

foreach*

         foreach通常用來屢次執行某個命令。

 

         -c 指定循環的次數;

         -s 指定分隔符,默認是’\t’;

         -w 指定指定命令的進程數;

         -m 指定最大進程數爲沒有限制,通常不多用;

         案例:

        

grep*

         grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

         Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不一樣。egrep是grep的擴展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它們把全部的字母都看做單詞,也就是說,正則表達式中的元字符表示回其自身的字面意義,再也不特殊。linux使用GNU版本的grep。它功能更強,能夠經過-G、-E、-F命令行選項來使用egrep和fgrep的功能。

         通常來講grep和正則表達式配合使用用來對特定信息進行過濾,以便進行準確的分析。

         經常使用參數:

         -E 使用擴展正則表達式,功能同egrep;

         -F 不使用正則表達式,功能同fgrep;

         -P 使用perl的正則表達式規則;

         -i 忽略大小寫;

         -o 僅打印匹配的部分;

         -n 顯示行號;

         -l 顯示匹配的文件名稱,通常用戶搜尋哪一個文件匹配到了關鍵字;

         -A 顯示匹配行的後的行數;

         -B 顯示匹配行前的行數;

         -v 顯示不匹配的內容;

         關於正則表達式的對比,能夠參考:

         http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html

sort

         sort將文件的每一行做爲一個單位,相互比較,比較原則是從首字符向後,依次按ASCII碼值進行比較,最後將他們按升序輸出

         常見參數:

         -f 忽略大小寫;

         -n sort默認會按照字符排序,因此可能出現10比2小的狀況,改變這種狀況能夠用-n;

         -r 默認的排序方式是升序,-r能夠改變爲降序;

         -o 將排序後的內容存入指定的文件,默認爲輸出到標準輸出;

         -k 指定使用哪一列數據進行排序,默認是第一列;

         關於sort的使用,參見:

         http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html

uniq

         uniq命令能夠去除排序過的文件中的重複行,所以uniq常常和sort合用。也就是說,爲了使uniq起做用,全部的重複行必須是相鄰的。

         選項與參數:

         -c   在行首顯示該行在輸入文件中出現的次數

         -d   顯示重複出現的行的一個副本,不顯示沒有重複的行

         -f    比較時跳過前n列

         -i    比較行時忽略字符大小寫

         -s n  忽略每行的前n個字符

         -u   僅顯示沒有重複出現的行

         -w n 對每行第n個字符之後的內容不作比較

         參見:

         http://www.cnblogs.com/nerxious/archive/2013/01/09/2853534.html

crontab

         計劃任務列表,能夠設置Linux循環運行的例行性計劃任務。

        

         用戶所創建的crontab文件中,每一行都表明一項任務,每行的每一個字段表明一項設置,它的格式共分爲六個字段,前五段是時間設定段,第六段是要執行的命令段,格式以下:

         minute   hour   day   month   week   command

         其中:

         minute: 表示分鐘,能夠是從0到59之間的任何整數。

         hour:表示小時,能夠是從0到23之間的任何整數。

         day:表示日期,能夠是從1到31之間的任何整數。

         month:表示月份,能夠是從1到12之間的任何整數。

         week:表示星期幾,能夠是從0到7之間的任何整數,這裏的0或7表明星期日。

         command:要執行的命令,能夠是系統命令,也能夠是本身編寫的腳本文件。

         在以上各個字段中,還可使用如下特殊字符

         星號(*):表明全部可能的值,例如month字段若是是星號,則表示在知足其它字段的制約條件後每個月都執行該命令操做。

         逗號(,):能夠用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」

         中槓(-):能夠用整數之間的中槓表示一個整數範圍,例如「2-6」表示「2,3,4,5,6」

         正斜線(/):能夠用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線能夠和星號一塊兒使用,例如*/10,若是用在minute字段,表示每十分鐘執行一次。

         參見:http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html

man

         man是linux系統下的幫助系統,對某個命令不熟悉的時候,能夠man一下,輸出相關的幫助信息。

history

         查看命令行歷史記錄,顯示機器上記錄到的操做記錄,記錄的歷史命令行數經過環境變量$HISTSIZE設置,而後能夠經過「!nums」這個命令執行某個歷史命令。

Linux常見快捷鍵

ctrl+a  移動到命令行首

ctrl+e  移動到命令行尾

ctrl+u  從當前光標所在位置刪除到命令行首

ctrl+w  從當前光標所在位置刪除到前一個空格位置

cd -    快速返回以前的目錄,至關於瀏覽器的後退功能

!!      執行上一次命令

!vars   執行最近一次以vars開頭的命令

!nums  執行歷史操做記錄當中的第幾個命令

相關文章
相關標籤/搜索