掌握Linux的常用基本命令對以後的學習大有幫助。下面由學習啦小編為大家整理了Linux系統常用的基本命令總結,希望對大家有幫助!
Linux系統常用的基本命令總結
Linux常用命令一、查詢相關
find
按規則查找某個文件或文件夾,包括子目錄
find . -name '*.sh' -- 以.sh結尾的文件
find . -name '*channel*' -- 包含channel字符的文件
find . -name 'build*' -- 以build開頭的文件
find . -name 'abc??' -- abc後面有兩個字符的文件
grep
查找內容包含指定的范本樣式的文件,Global Regular Expression Print
grep -n pattern files -- 規則 -n表示顯示行號
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep '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關鍵字的文件
which
在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
從指定點開始將文件寫到標准輸出。使用tail命令的-f選項可以方便的查閱正在改變的日志文件,tail -f filename會把filename裡最尾部的內容顯示在屏幕上,並且不斷刷新,使你看到最新的文件內容。
tail -f test.log,循環查看文件內容,Ctrl+c來終止
tail -n 5 test.log,顯示文件最後5行內容
tail -n +5 test.log,從第5行開始顯示文件
more
more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]
more命令和cat的功能一樣都是查看文件裡的內容,但有所不同的是more可以按頁來查看文件的內容,還支持直接跳轉行等功能。
more +3 test.log,顯示文件中從第3行起的內容
more -5 test.log,設定每屏顯示行數
ls -l | more -5,每頁顯示5個文件信息
more +/day3 test.log,查找第一個出現"day3"字符串的行,並從該處前兩行開始顯示輸出
less
less [options] [file...]
與more命令一樣,less命令也用來分屏顯示文件的內容。但是二者存在差別:less命令允許用戶向前或向後浏覽文件,而more命令只能向前浏覽。用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
less test.log,查看文件
ps -ef | less,查看進程信息並通過less分頁顯示
history | less,查看命令歷史使用記錄並通過less分頁顯示
less test1.log test2.log,浏覽多個文件,n和p切換文件
watch
watch [options] command
每隔一段時間重復運行一個命令,默認間隔時間是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鏈接數的變化
Linux常用命令三、文件相關
vi
vi file
按i鍵,進入編輯模式
按esc鍵,進入命令模式
:w 保存文件但不退出vi
:w file 將修改另外保存到file中,不退出vi
:w! 強制保存,不推出vi
:wq 保存文件並退出vi
:wq! 強制保存文件,並退出vi
q: 不保存文件,退出vi
:q! 不保存文件,強制退出vi
:e! 放棄所有修改,從上次保存文件開始再編輯
chmod
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=1
chmod 777 file,等同於 chmod a=rwx file
chmod ug=rwx,o=x file,等同於 chmod 771 file
chmod 4755 filename,可使此程序具有root的權限
ls -l 可以查看列出當前用戶的文件權限
zip
zip -r filename.zip filesdir
zip -r test.zip ./*,把當前所有文件壓縮到test.zip
zip -r test.zip test,把test文件所有文件及目錄,要是到test.zip
zip -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
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
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,備份壓縮並排除目錄
touch
Linux常用命令四、內存相關
ps
顯示瞬間行程(process)的動態,ps [options] [--help]
ps -A,列出所有的進程
ps -w,顯示加寬可以顯示較多的資訊
ps -au,顯示較詳細的資訊
ps -aux,顯示所有(包含其他用戶)的進程
ps命令詳解
ps命令介紹
linux上進程有5種狀態:
運行(正在運行或在運行隊列中等待)
中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
top
動態觀察程序的變化,top [-d] | top [-bnp]
top -d 2,每兩秒鐘更新一次
top -b -n 2 > /tmp/top.txt,將top的信息進行2次,然後將結果輸出到/tmp/top.txt
top -d 2 -pid 10604,僅觀察PID=10604的程序
top命令介紹
free
free [options]
free命令可以顯示Linux系統中空閒的、已用的物理內存及swap內存,及被內核使用的buffer。在Linux系統監控的工具中,free命令是最經常使用的命令之一
free -m,以MB為單位顯示內存使用情況
free -g,以GB為單位顯示內存使用情況
free -s 10,周期性的查詢內存使用信息
kill
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=9
kill -9 pid,強行中止進程,強大和危險的命令迫使進程在運行時突然終止,進程在結束後不能自我清理。危害是導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。
kill -HUP PID,停止和重啟進程,該命令讓Linux和緩的執行進程關閉,然後立即重啟。在配置應用程序的時候,這個命令很方便,在對配置文件修改後需要重啟進程時就可以執行此命令。
kill -l PID,以優雅的方式結束進程,-l選項告訴kill命令用好像啟動進程的用戶已注銷的方式結束進程。當使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總能成功--或許仍然需要先手工殺死子進程,然後再殺死父進程。
ps -ef | grep vim,查找進程
Linux常用命令五、網絡相關
ping
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,時間間隔和次數限制的ping
ping -c 5 www.baidu.com,通過域名ping公網上的站點
netstat
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指令開啟終端機階段作業,並登入遠端主機。
telnet 192.168.120.206service xinetd restart,啟動telnet服務
ifconfig
ifconfig [網絡設備] [參數]
ifconfig 命令用來查看和配置網絡設備。當網絡環境發生改變時可通過此命令對網絡進行相應的配置。
ifconfig -a 顯示全部接口信息
ifconfig -s 顯示摘要信息(類似於 netstat -i)
Linux常用命令六、工具命令
svn
svn co path --username name --password passwordsvn co -path -dirnamesvn add filesvn update -r m pathsvn update -r 200 test.php,更新到某個版本
cvs
cvs history -ca | grep username | grep 01-01cvs history -ca | grep username | grep kp | grep 2012-10-'[1 2][0-9]'ant
Ant -arguments [target1,target2,target3,target4......]
Ant構建文件能夠將項目編譯,打包,測試。若沒有指定任何參數, Ant會在當前目錄下檢索build.xml文件,如果找到了就運行該文件,如果沒有找到了會,會提示沒有找到相關的build.xml文件。
ant -h,表示提供ant命令參數任務
ant -projecthelp | -p,顯示當前build.xml的主要任務,例如顯示clean、release
ant -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,設置主類線程允許的線程數
maven
mvn archetype:create,創建 Maven 項目
mvn compile,編譯源代碼
mvn test-compile,編譯測試代碼
mvn test,運行應用程序中的單元測試
mvn site,生成項目相關信息的網站
mvn clean,清除目標目錄中的生成結果
mvn package,依據項目生成 jar 文件
mvn install,在本地 Repository 中安裝 jar
mvn eclipse:eclipse,生成 Eclipse 項目文件
mvn -Dmaven.test.skip=true,忽略測試文檔編譯
adb
adb kill-serveradb start-serveradb devicesadb uninstall fileadb uninstall -k file,-k 參數,為卸載軟件但是保留配置和緩存文件
adb push <本地路徑> <遠程路徑>,可以把本機電腦上的文件或者文件夾復制到設備(手機)
adb pull <遠程路徑> <本地路徑>,可以把設備(手機)上的文件或者文件夾復制到本機電腦
adb reboot,重啟adb