按規則查找某個文件或文件夾,包括子目錄php
find . -name '*.sh'
-- 以.sh結尾的文件find . -name '*channel*'
-- 包含channel字符的文件find . -name 'build*'
-- 以build開頭的文件find . -name 'abc??'
-- abc後面有兩個字符的文件查找內容包含指定的範本樣式的文件,Global Regular Expression Printhtml
grep -n pattern files
-- 規則 -n表示顯示行號grep -n 'PostsActivity' AndroidManifest.xml
grep -n '\d' AndroidManifest.xml
grep 'aapt' build-channel.xml
-- 文件中包含字符串的全部地方grep -n 'aapt' build-channel.xml
-- 文件中包含字符串的全部地方,並顯示行號ps -e | grep java
-- 全部java進程ps -e | grep -i qq
--全部qq進程,不區分大小寫find . -name '*channel.xml' | xargs grep -n 'aapt'
-- 在以channel.xml結尾的文件中查找包含‘aapt’關鍵字的地方ls | grep 'channel'
-- 包含channel關鍵字的文件在PATH變量指定的路徑中,搜索某個系統命令的位置,而且返回第一個搜索結果java
which zip
which grep
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]linux
從指定點開始將文件寫到標準輸出。使用tail命令的-f選項能夠方便的查閱正在改變的日誌文件,tail -f filename會把filename裏最尾部的內容顯示在屏幕上,而且不斷刷新,使你看到最新的文件內容。shell
tail -f test.log
,循環查看文件內容,Ctrl+c來終止tail -n 5 test.log
,顯示文件最後5行內容tail -n +5 test.log
,從第5行開始顯示文件more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...] vim
more命令和cat的功能同樣都是查看文件裏的內容,但有所不一樣的是more能夠按頁來查看文件的內容,還支持直接跳轉行等功能。緩存
more +3 test.log
,顯示文件中從第3行起的內容more -5 test.log
,設定每屏顯示行數ls -l | more -5
,每頁顯示5個文件信息more +/day3 test.log
,查找第一個出現"day3"字符串的行,並從該處前兩行開始顯示輸出less [options] [file...]網絡
與more命令同樣,less命令也用來分屏顯示文件的內容。可是兩者存在差異:less命令容許用戶向前或向後瀏覽文件,而more命令只能向前瀏覽。用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。less
less test.log
,查看文件ps -ef | less
,查看進程信息並經過less分頁顯示history | less
,查看命令歷史使用記錄並經過less分頁顯示less test1.log test2.log
,瀏覽多個文件,n和p切換文件watch [options] commandeclipse
每隔一段時間重複運行一個命令,默認間隔時間是2秒。要運行的命令直接傳給shell(注意引用和轉義特殊字符)。結果會展現爲全屏模式,這樣你能夠很方便的觀察改變
watch -n 60 date
,執行date命令每分鐘一次,輸入^C 退出watch -d ls -l
,查看目錄變化watch -d ’ls -l | fgrep joe’
,想找joe用戶的文件watch -d 'ls -l|grep scf'
,監測當前目錄中 scf' 的文件的變化watch -n 10 'cat /proc/loadavg'
,10秒一次輸出系統的平均負載watch -n 1 -d netstat -ant
,每隔一秒高亮顯示網絡連接數的變化watch -n 1 -d 'pstree | grep http'
,每隔一秒高亮顯示http連接數的變化vi file
按esc鍵,進入命令模式
:w 保存文件但不退出vi :w file 將修改另外保存到file中,不退出vi :w! 強制保存,不推出vi :wq 保存文件並退出vi :wq! 強制保存文件,並退出vi q: 不保存文件,退出vi :q! 不保存文件,強制退出vi :e! 放棄全部修改,從上次保存文件開始再編輯
change mode,變動文件或目錄的讀、寫、運行權限
chmod [-cfvR] [--help] [--version] mode file...
mode:權限設定字串
,格式以下 : [ugoa...][[+-=][rwxX]...][,...]u
表示該檔案的擁有者,g
表示與該檔案的擁有者屬於同一個羣體(group)者,o
表示其餘之外的人,a
表示這三者皆是+
表示增長權限、-
表示取消權限、=
表示惟一設定權限。r
表示可讀取,w
表示可寫入,x
表示可執行,X
表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。chmod也能夠用數字來表示權限
,語法爲:chmod abc file,如chmod 777 file其中a,b,c各爲一個數字
,分別表示User、Group、及Other的權限。 r=4,w=2,x=1chmod 777 file
,等同於 chmod a=rwx filechmod ug=rwx,o=x file
,等同於 chmod 771 filechmod 4755 filename
,可以使此程序具備root的權限ls -l
能夠查看列出當前用戶的文件權限zip -r filename.zip filesdir
zip -r test.zip ./*
,把當前全部文件壓縮到test.zipzip -r test.zip test
,把test文件全部文件及目錄,要是到test.zipzip -d test.zip test.txt
,刪除壓縮文件中test.txt文件zip -m test.zip ./test.txt
,向壓縮文件中test.zip中添加test.txt文件zip -r test.zip file1 file2 file3 filesdir
,處理多個文件和目錄,空格隔開unzip zip-file
,解壓到當前目錄unzip -d dst-dir zip-file
,解壓到指定的目錄,-d後爲指定目錄unzip -n zip-file
,不覆蓋已經存在的文件,-n爲不要覆蓋原有的文件unzip -n -d dst-dir zip-file
,解壓到指定的目錄,不覆蓋已經原有的文件unzip -o -d dst-dir zip-file
,-o沒必要先詢問用戶覆蓋原有文件unzip -l zip-file
,僅查看壓縮文件內所包含的文件tar cvf test.tar test
,把test下全部文件和目錄作備份
tar czvf test.tar.gz test
,把test下全部文件和目錄作備份
並進行壓縮
tar xzvf test.tar.gz
,把這個備份文件還原
並解壓縮
tar tvf test.tar | more
,查看
備份文件的內容,並以分屏方式顯示在顯示器上tar czvf test.tar.gz test --exclude=test/svn
,備份壓縮
並排除
目錄顯示瞬間行程(process)的動態,ps [options] [--help]
linux上進程有5種狀態:
動態觀察程序的變化,top [-d] | top [-bnp]
top -d 2
,每兩秒鐘更新一次top -b -n 2 > /tmp/top.txt
,將top的信息進行2次,而後將結果輸出到/tmp/top.txttop -d 2 -pid 10604
,僅觀察PID=10604的程序free [options]
free命令能夠顯示Linux系統中空閒的、已用的物理內存及swap內存,及被內核使用的buffer。在Linux系統監控的工具中,free命令是最常用的命令之一
free -m
,以MB爲單位顯示內存使用狀況free -g
,以GB爲單位顯示內存使用狀況free -s 10
,週期性的查詢內存使用信息kill [-s signal_name] pid...
發送指定的信號到相應進程,The kill utility sends a signal to the processes specified by the pid operand(s)
kill -l
,列出全部信號名稱kill -l SIGKILL
,獲得指定信號的數值,SIGKILL=9kill -9 pid
,強行停止進程,強大和危險的命令迫使進程在運行時忽然終止,進程在結束後不能自我清理。危害是致使系統資源沒法正常釋放,通常不推薦使用,除非其餘辦法都無效。kill -HUP PID
,中止和重啓進程,該命令讓Linux和緩的執行進程關閉,而後當即重啓。在配置應用程序的時候,這個命令很方便,在對配置文件修改後須要重啓進程時就能夠執行此命令。kill -l PID
,以優雅的方式結束進程,-l選項告訴kill命令用好像啓動進程的用戶已註銷的方式結束進程。當使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總能成功--或許仍然須要先手工殺死子進程,而後再殺死父進程。ps -ef | grep vim
,查找進程ping [參數] [主機名或IP地址]
肯定網絡和各外部主機的狀態;跟蹤和隔離硬件和軟件問題;測試、評估和管理網絡。
ping -b 192.168.1.1
,ping網關ping -c 10 192.168.1.2
,ping指定次數ping -c 10 -i 0.5 192.168.1.2
,時間間隔和次數限制的pingping -c 5 www.baidu.com
,經過域名ping公網上的站點netstat [-acCeFghilMnNoprstuvVwx][-A <網絡類型> ][--ip]
用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,通常用於檢驗本機各端口的網絡鏈接狀況。
netstat -a
,列出全部端口netstat -nu
,顯示當前UDP鏈接情況netstat -apu
,顯示UDP端口號的使用狀況netstat -i
,顯示網卡列表netstat -g
,顯示組播組的關係netstat -s
,顯示網絡統計信息netstat -l
,顯示監聽的套接口netstat -n
,顯示全部已創建的有效鏈接netstat -e
,顯示關於以太網的統計數據netstat -r
,顯示關於路由表的信息netstat -at
,列出全部 tcp 端口netstat -ap | grep ssh
,找出程序運行的端口netstat -pt
,在 netstat 輸出中顯示 PID 和進程名稱netstat -anpt | grep ':16064'
,找出運行在指定端口的進程telnet[參數][主機]
執行telnet指令開啓終端機階段做業,並登入遠端主機。
telnet 192.168.120.206
service xinetd restart
,啓動telnet服務ifconfig [網絡設備] [參數]
ifconfig 命令用來查看和配置網絡設備。當網絡環境發生改變時可經過此命令對網絡進行相應的配置。
ifconfig -a
顯示所有接口信息ifconfig -s
顯示摘要信息(相似於 netstat -i)svn co path --username name --password password
svn co -path -dirname
svn add file
svn update -r m path
svn update -r 200 test.php
,更新到某個版本cvs history -ca | grep username | grep 01-01
cvs history -ca | grep username | grep kp | grep 2012-10-'[1 2][0-9]'
Ant -arguments [target1,target2,target3,target4......]
Ant構建文件可以將項目編譯,打包,測試。若沒有指定任何參數, Ant會在當前目錄下檢索build.xml文件,若是找到了就運行該文件,若是沒有找到了會,會提示沒有找到相關的build.xml文件。
ant -h
,表示提供ant命令參數任務ant -projecthelp | -p
,顯示當前build.xml的主要任務,例如顯示clean、releaseant -version
,顯示當前ant版本ant -diagnostics
,診斷當前ant的全部的配置ant -debug | -d
,檢索當前構建文件配置狀況ant -quiet | -q
,顯示當前構建文件無依賴任務ant -emacs | -e
,調用編輯當前構建文件編輯器ant -lib [path]
,調用當前項目中jar,class文件ant -logfile |-l
,調用運行當前項目中*.log文件ant -buildfile |- f | -file
,調用運行相似build.xml的文件ant -propertyfile [name]
,調用運行指定的屬性文件ant -find | -s file
,檢索運行指定的構建文件ant -autoproxy
,使用系統自動代理構建文件ant-main class
,設置系統類庫文件中主要類ant -nice number
,設置主類線程容許的線程數mvn archetype:create
,建立 Maven 項目mvn compile
,編譯源代碼mvn test-compile
,編譯測試代碼mvn test
,運行應用程序中的單元測試mvn site
,生成項目相關信息的網站mvn clean
,清除目標目錄中的生成結果mvn package
,依據項目生成 jar 文件mvn install
,在本地 Repository 中安裝 jarmvn eclipse:eclipse
,生成 Eclipse 項目文件mvn -Dmaven.test.skip=true
,忽略測試文檔編譯adb kill-server
adb start-server
adb devices
adb uninstall file
adb uninstall -k file
,-k 參數,爲卸載軟件可是保留配置和緩存文件adb push <本地路徑> <遠程路徑>
,能夠把本機電腦上的文件或者文件夾複製到設備(手機)adb pull <遠程路徑> <本地路徑>
,能夠把設備(手機)上的文件或者文件夾複製到本機電腦adb reboot
,重啓adb