學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux系統(tǒng)常用的基本命令總結(jié)

Linux系統(tǒng)常用的基本命令總結(jié)

時(shí)間: 佳洲1085 分享

Linux系統(tǒng)常用的基本命令總結(jié)

  掌握Linux的常用基本命令對以后的學(xué)習(xí)大有幫助。下面由學(xué)習(xí)啦小編為大家整理了Linux系統(tǒng)常用的基本命令總結(jié),希望對大家有幫助!

  Linux系統(tǒng)常用的基本命令總結(jié)

  Linux常用命令一、查詢相關(guān)

  find

  按規(guī)則查找某個(gè)文件或文件夾,包括子目錄

  find . -name '*.sh' -- 以.sh結(jié)尾的文件

  find . -name '*channel*' -- 包含channel字符的文件

  find . -name 'build*' -- 以build開頭的文件

  find . -name 'abc??' -- abc后面有兩個(gè)字符的文件

  grep

  查找內(nèi)容包含指定的范本樣式的文件,Global Regular Expression Print

  grep -n pattern files -- 規(guī)則 -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進(jìn)程

  ps -e | grep -i qq --所有qq進(jìn)程,不區(qū)分大小寫

  find . -name '*channel.xml' | xargs grep -n 'aapt' -- 在以channel.xml結(jié)尾的文件中查找包含‘aapt’關(guān)鍵字的地方

  ls | grep 'channel' -- 包含channel關(guān)鍵字的文件

  which

  在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果

  which zipwhich grep

  Linux常用命令二、查看命令

  tail

  tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]

  從指定點(diǎn)開始將文件寫到標(biāo)準(zhǔn)輸出。使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,使你看到最新的文件內(nèi)容。

  tail -f test.log,循環(huán)查看文件內(nèi)容,Ctrl+c來終止

  tail -n 5 test.log,顯示文件最后5行內(nèi)容

  tail -n +5 test.log,從第5行開始顯示文件

  more

  more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]

  more命令和cat的功能一樣都是查看文件里的內(nèi)容,但有所不同的是more可以按頁來查看文件的內(nèi)容,還支持直接跳轉(zhuǎn)行等功能。

  more +3 test.log,顯示文件中從第3行起的內(nèi)容

  more -5 test.log,設(shè)定每屏顯示行數(shù)

  ls -l | more -5,每頁顯示5個(gè)文件信息

  more +/day3 test.log,查找第一個(gè)出現(xiàn)"day3"字符串的行,并從該處前兩行開始顯示輸出

  less

  less [options] [file...]

  與more命令一樣,less命令也用來分屏顯示文件的內(nèi)容。但是二者存在差別:less命令允許用戶向前或向后瀏覽文件,而more命令只能向前瀏覽。用less命令顯示文件時(shí),用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應(yīng)按Q鍵。

  less test.log,查看文件

  ps -ef | less,查看進(jìn)程信息并通過less分頁顯示

  history | less,查看命令歷史使用記錄并通過less分頁顯示

  less test1.log test2.log,瀏覽多個(gè)文件,n和p切換文件

  watch

  watch [options] command

  每隔一段時(shí)間重復(fù)運(yùn)行一個(gè)命令,默認(rèn)間隔時(shí)間是2秒。要運(yùn)行的命令直接傳給shell(注意引用和轉(zhuǎn)義特殊字符)。結(jié)果會(huì)展示為全屏模式,這樣你可以很方便的觀察改變

  watch -n 60 date,執(zhí)行date命令每分鐘一次,輸入^C 退出

  watch -d ls -l,查看目錄變化

  watch -d ’ls -l | fgrep joe’,想找joe用戶的文件

  watch -d 'ls -l|grep scf',監(jiān)測當(dāng)前目錄中 scf' 的文件的變化

  watch -n 10 'cat /proc/loadavg',10秒一次輸出系統(tǒng)的平均負(fù)載

  watch -n 1 -d netstat -ant,每隔一秒高亮顯示網(wǎng)絡(luò)鏈接數(shù)的變化

  watch -n 1 -d 'pstree | grep http',每隔一秒高亮顯示http鏈接數(shù)的變化

  Linux常用命令三、文件相關(guān)

  vi

  vi file

  按i鍵,進(jìn)入編輯模式

  按esc鍵,進(jìn)入命令模式

  :w 保存文件但不退出vi

  :w file 將修改另外保存到file中,不退出vi

  :w! 強(qiáng)制保存,不推出vi

  :wq 保存文件并退出vi

  :wq! 強(qiáng)制保存文件,并退出vi

  q: 不保存文件,退出vi

  :q! 不保存文件,強(qiáng)制退出vi

  :e! 放棄所有修改,從上次保存文件開始再編輯

  chmod

  change mode,變更文件或目錄的讀、寫、運(yùn)行權(quán)限

  chmod [-cfvR] [--help] [--version] mode file...

  mode:權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...]

  u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是

  + 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

  r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

  chmod也可以用數(shù)字來表示權(quán)限,語法為:chmod abc file,如chmod 777 file

  其中a,b,c各為一個(gè)數(shù)字,分別表示User、Group、及Other的權(quán)限。 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的權(quán)限

  ls -l 可以查看列出當(dāng)前用戶的文件權(quán)限

  zip

  zip -r filename.zip filesdir

  zip -r test.zip ./*,把當(dāng)前所有文件壓縮到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,處理多個(gè)文件和目錄,空格隔開

  unzip

  unzip zip-file,解壓到當(dāng)前目錄

  unzip -d dst-dir zip-file,解壓到指定的目錄,-d后為指定目錄

  unzip -n zip-file,不覆蓋已經(jīng)存在的文件,-n為不要覆蓋原有的文件

  unzip -n -d dst-dir zip-file,解壓到指定的目錄,不覆蓋已經(jīng)原有的文件

  unzip -o -d dst-dir zip-file,-o不必先詢問用戶覆蓋原有文件

  unzip -l zip-file,僅查看壓縮文件內(nèi)所包含的文件

  tar

  tar cvf test.tar test,把test下所有文件和目錄做備份tar czvf test.tar.gz test,把test下所有文件和目錄做備份并進(jìn)行壓縮tar xzvf test.tar.gz,把這個(gè)備份文件還原并解壓縮tar tvf test.tar | more,查看備份文件的內(nèi)容,并以分屏方式顯示在顯示器上

  tar czvf test.tar.gz test --exclude=test/svn,備份壓縮并排除目錄

  touch

  Linux常用命令四、內(nèi)存相關(guān)

  ps

  顯示瞬間行程(process)的動(dòng)態(tài),ps [options] [--help]

  ps -A,列出所有的進(jìn)程

  ps -w,顯示加寬可以顯示較多的資訊

  ps -au,顯示較詳細(xì)的資訊

  ps -aux,顯示所有(包含其他用戶)的進(jìn)程

  ps命令詳解

  ps命令介紹

  linux上進(jìn)程有5種狀態(tài):

  運(yùn)行(正在運(yùn)行或在運(yùn)行隊(duì)列中等待)

  中斷(休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號)

  不可中斷(收到信號不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生)

  僵死(進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)

  停止(進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運(yùn)行運(yùn)行)

  top

  動(dòng)態(tài)觀察程序的變化,top [-d] | top [-bnp]

  top -d 2,每兩秒鐘更新一次

  top -b -n 2 > /tmp/top.txt,將top的信息進(jìn)行2次,然后將結(jié)果輸出到/tmp/top.txt

  top -d 2 -pid 10604,僅觀察PID=10604的程序

  top命令介紹

  free

  free [options]

  free命令可以顯示Linux系統(tǒng)中空閑的、已用的物理內(nèi)存及swap內(nèi)存,及被內(nèi)核使用的buffer。在Linux系統(tǒng)監(jiān)控的工具中,free命令是最經(jīng)常使用的命令之一

  free -m,以MB為單位顯示內(nèi)存使用情況

  free -g,以GB為單位顯示內(nèi)存使用情況

  free -s 10,周期性的查詢內(nèi)存使用信息

  kill

  kill [-s signal_name] pid...

  發(fā)送指定的信號到相應(yīng)進(jìn)程,The kill utility sends a signal to the processes specified by the pid operand(s)

  kill -l,列出所有信號名稱

  kill -l SIGKILL,得到指定信號的數(shù)值,SIGKILL=9

  kill -9 pid,強(qiáng)行中止進(jìn)程,強(qiáng)大和危險(xiǎn)的命令迫使進(jìn)程在運(yùn)行時(shí)突然終止,進(jìn)程在結(jié)束后不能自我清理。危害是導(dǎo)致系統(tǒng)資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。

  kill -HUP PID,停止和重啟進(jìn)程,該命令讓Linux和緩的執(zhí)行進(jìn)程關(guān)閉,然后立即重啟。在配置應(yīng)用程序的時(shí)候,這個(gè)命令很方便,在對配置文件修改后需要重啟進(jìn)程時(shí)就可以執(zhí)行此命令。

  kill -l PID,以優(yōu)雅的方式結(jié)束進(jìn)程,-l選項(xiàng)告訴kill命令用好像啟動(dòng)進(jìn)程的用戶已注銷的方式結(jié)束進(jìn)程。當(dāng)使用該選項(xiàng)時(shí),kill命令也試圖殺死所留下的子進(jìn)程。但這個(gè)命令也不是總能成功--或許仍然需要先手工殺死子進(jìn)程,然后再殺死父進(jìn)程。

  ps -ef | grep vim,查找進(jìn)程

  Linux常用命令五、網(wǎng)絡(luò)相關(guān)

  ping

  ping [參數(shù)] [主機(jī)名或IP地址]

  確定網(wǎng)絡(luò)和各外部主機(jī)的狀態(tài);跟蹤和隔離硬件和軟件問題;測試、評估和管理網(wǎng)絡(luò)。

  ping -b 192.168.1.1,ping網(wǎng)關(guān)

  ping -c 10 192.168.1.2,ping指定次數(shù)

  ping -c 10 -i 0.5 192.168.1.2,時(shí)間間隔和次數(shù)限制的ping

  ping -c 5 www.baidu.com,通過域名ping公網(wǎng)上的站點(diǎn)

  netstat

  netstat [-acCeFghilMnNoprstuvVwx][-A<網(wǎng)絡(luò)類型>][--ip]

  用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。

  netstat -a,列出所有端口

  netstat -nu,顯示當(dāng)前UDP連接狀況

  netstat -apu,顯示UDP端口號的使用情況

  netstat -i,顯示網(wǎng)卡列表

  netstat -g,顯示組播組的關(guān)系

  netstat -s,顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息

  netstat -l,顯示監(jiān)聽的套接口

  netstat -n,顯示所有已建立的有效連接

  netstat -e,顯示關(guān)于以太網(wǎng)的統(tǒng)計(jì)數(shù)據(jù)

  netstat -r,顯示關(guān)于路由表的信息

  netstat -at,列出所有 tcp 端口

  netstat -ap | grep ssh,找出程序運(yùn)行的端口

  netstat -pt,在 netstat 輸出中顯示 PID 和進(jìn)程名稱

  netstat -anpt | grep ':16064',找出運(yùn)行在指定端口的進(jìn)程

  telnet

  telnet[參數(shù)][主機(jī)]

  執(zhí)行telnet指令開啟終端機(jī)階段作業(yè),并登入遠(yuǎn)端主機(jī)。

  telnet 192.168.120.206service xinetd restart,啟動(dòng)telnet服務(wù)

  ifconfig

  ifconfig [網(wǎng)絡(luò)設(shè)備] [參數(shù)]

  ifconfig 命令用來查看和配置網(wǎng)絡(luò)設(shè)備。當(dāng)網(wǎng)絡(luò)環(huán)境發(fā)生改變時(shí)可通過此命令對網(wǎng)絡(luò)進(jìn)行相應(yīng)的配置。

  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,更新到某個(gè)版本

  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構(gòu)建文件能夠?qū)㈨?xiàng)目編譯,打包,測試。若沒有指定任何參數(shù), Ant會(huì)在當(dāng)前目錄下檢索build.xml文件,如果找到了就運(yùn)行該文件,如果沒有找到了會(huì),會(huì)提示沒有找到相關(guān)的build.xml文件。

  ant -h,表示提供ant命令參數(shù)任務(wù)

  ant -projecthelp | -p,顯示當(dāng)前build.xml的主要任務(wù),例如顯示clean、release

  ant -version,顯示當(dāng)前ant版本

  ant -diagnostics,診斷當(dāng)前ant的所有的配置

  ant -debug | -d,檢索當(dāng)前構(gòu)建文件配置情況

  ant -quiet | -q,顯示當(dāng)前構(gòu)建文件無依賴任務(wù)

  ant -emacs | -e,調(diào)用編輯當(dāng)前構(gòu)建文件編輯器

  ant -lib [path],調(diào)用當(dāng)前項(xiàng)目中jar,class文件

  ant -logfile |-l,調(diào)用運(yùn)行當(dāng)前項(xiàng)目中*.log文件

  ant -buildfile |- f | -file,調(diào)用運(yùn)行類似build.xml的文件

  ant -propertyfile [name],調(diào)用運(yùn)行指定的屬性文件

  ant -find | -s file,檢索運(yùn)行指定的構(gòu)建文件

  ant -autoproxy,使用系統(tǒng)自動(dòng)代理構(gòu)建文件

  ant-main class,設(shè)置系統(tǒng)類庫文件中主要類

  ant -nice number,設(shè)置主類線程允許的線程數(shù)

  maven

  mvn archetype:create,創(chuàng)建 Maven 項(xiàng)目

  mvn compile,編譯源代碼

  mvn test-compile,編譯測試代碼

  mvn test,運(yùn)行應(yīng)用程序中的單元測試

  mvn site,生成項(xiàng)目相關(guān)信息的網(wǎng)站

  mvn clean,清除目標(biāo)目錄中的生成結(jié)果

  mvn package,依據(jù)項(xiàng)目生成 jar 文件

  mvn install,在本地 Repository 中安裝 jar

  mvn eclipse:eclipse,生成 Eclipse 項(xiàng)目文件

  mvn -Dmaven.test.skip=true,忽略測試文檔編譯

  adb

  adb kill-serveradb start-serveradb devicesadb uninstall fileadb uninstall -k file,-k 參數(shù),為卸載軟件但是保留配置和緩存文件

  adb push <本地路徑> <遠(yuǎn)程路徑>,可以把本機(jī)電腦上的文件或者文件夾復(fù)制到設(shè)備(手機(jī))

  adb pull <遠(yuǎn)程路徑> <本地路徑>,可以把設(shè)備(手機(jī))上的文件或者文件夾復(fù)制到本機(jī)電腦

  adb reboot,重啟adb

3645690