可以。linux哪個組合可以斷開長命令,中斷l(xiāng)inux命令快捷鍵:
創(chuàng)新互聯(lián)建站專注于東湖網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供東湖營銷型網(wǎng)站建設,東湖網(wǎng)站制作、東湖網(wǎng)頁設計、東湖網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造東湖網(wǎng)絡公司原創(chuàng)品牌,更為您提供東湖網(wǎng)站排名全網(wǎng)營銷落地服務。
1、Tab這是不能沒有的Linux快捷方式。將節(jié)省Linux命令行中的大量時間。
2、Ctrl+C這個組合能在終端上中斷命令或進程。按下它將立即停止正在運行的程序。如果要停止使用在前臺運行的程序,只需按此組合鍵即可。
3、Ctrl+Z此快捷方式將在后臺發(fā)送正在運行的程序。
多練習,推薦你一個快速查找linux命令的網(wǎng)址,你可以在上面查找你想使用的命令,它也會有一些demo演示:網(wǎng)頁鏈接
然后會有命令的參數(shù)詳解,及示例:
列出當前目錄的文件
常用參數(shù):?
-a: 顯示當前目錄的所有文件,包含隱藏文件;?
-l: 顯示文件詳情;?
-Z: 顯示文件的 SE Linux context。?
示例:ls -laZ [if !vml] [endif] 以 acct 為例: drwxr-xr-x:其中 d 代表該文件為目錄,若為 l 則為軟鏈接,軟連接后又箭頭代表其實際指向的文件,如etc - /system/etc 則訪問 etc 實際等同訪問/system/etc,留空則代表該文件為一個文件;rwxr-xr-x 代表其權限為 755,具體算法為將上述字段每 3 個分為 1 組得 rwx,r-x,r-x,凡是有字母標記的皆計數(shù) 1,反之為 0,得二進制 111,101,101,轉為 10 進制數(shù)字即得7, 5,5 ,即為該文件權限; root root :依次代表該文件的所有者(owner)為 root,用戶組(group)為 root,上述屬性可通過 chown 命令修改,日常替換文件需與原文件該屬性維持一致; unlabeled:代表 SE Linux context。
前往指定目錄
更改文件所有者和用戶組? ?示例:chown root:root temfile?將 tmpfile文件 的所有者和用戶組從 meidia:media 更改為 root:root
將文件內(nèi)容顯示出來。
注意不要隨便去 cat 一個很大的文件或與 log 驅動節(jié)點無關的文件,否則將造成串口輸出亂碼或死機?。?!示例:cat /proc/kmsg 將打印出所有 kernel log。
用于抓取 android logcat 打印。
常用參數(shù):
-v : 設置打印格式,可用選項為 brief process tag thread raw time threadtime long,我們比較常用 logcat -v time,此時抓的 log 將在每一行開頭添加時間信息;
-s : 設置過濾器,過濾器的選擇取決于軟件中打印 log 時使用的 TAG ,如
ActivityManagerService.java 中的打印使用的 TAG = ActivityManager,則抓相關打印方法為 logcat -s ActivityManager;
-c : 清除 log 緩存,常用于清除之前的打印緩存,如復現(xiàn)某個必現(xiàn)問題,則可先執(zhí)行 logcat -c 再抓 logcat 重現(xiàn)必現(xiàn)手法以排除無關 log 冗余信息影響問題定位; pm
包管理命令,用于管理安卓 app 應用。
常用參數(shù):
-l : 顯示所有安裝包應用,等同于 pm list packages
以 package:/system/priv-app/Launcher2.apk=com.android.launcher 為例:
Apk Launcher2 路徑位于/system/priv-app/Launcher2.apk,其包名為 com.android.launcher
path : 根據(jù)報名返回所在 apk 路徑
install : 安裝 apk
-r :安裝一個已經(jīng)存在的 apk 并保留其數(shù)據(jù);
-d : 允許降級安裝
如:pm install -r xxx.apk
uninstall : 卸載 apk,命令僅支持卸載 data/app,后接包名;
如:pm uninstall com.sys.migusmartlink.ott.tv //卸載包名為 com.sys.migusmartlink.ott.tv 的 apk
隨機測試指令,會自動模擬一些用戶操作對 APP 進行壓力測試。
常用參數(shù):
-p :指定啟動的 APK,我們比較常用的是 monkey -p com.xxx.yyy 1 來啟動一個 apk 的隨機頁面。
用于啟動和管理 activity 和 service
常用參數(shù):
start : 后接 intent 啟動一個頁面;
startservice : 后接 intent 啟動一個 service; stopservice :后接 intent 停止一個 service; broadcast :后接一個 intent 發(fā)送一個廣播; kill :后接一個 app 包名,殺掉該 app 所有進程;在 shell 環(huán)境下用如下參數(shù)表述一個 intent:
[-a ACTION] [-d DATA_URI] [-t MIME_TYPE]
[-c CATEGORY [-c CATEGORY] ...]
[-e|--es EXTRA_KEY EXTRA_STRING_VALUE ...]
[--esn EXTRA_KEY ...]
[--ez EXTRA_KEY EXTRA_BOOLEAN_VALUE ...]
[--ei EXTRA_KEY EXTRA_INT_VALUE ...]
[--el EXTRA_KEY EXTRA_LONG_VALUE ...]
[--ef EXTRA_KEY EXTRA_FLOAT_VALUE ...]
[--eu EXTRA_KEY EXTRA_URI_VALUE ...]
[--ecn EXTRA_KEY EXTRA_COMPONENT_NAME_VALUE]
[--eia EXTRA_KEY EXTRA_INT_VALUE[,EXTRA_INT_VALUE...]]
[--ela EXTRA_KEY EXTRA_LONG_VALUE[,EXTRA_LONG_VALUE...]]
[--efa EXTRA_KEY EXTRA_FLOAT_VALUE[,EXTRA_FLOAT_VALUE...]]
[-n COMPONENT] [-f FLAGS]
示例:
如我們在 logcat 抓到如下打印啟動了播放器:
START u0 {act=android.intent.action.VIEW dat=[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204
則我們可以使用如下 am 指令來啟動它:
am start -a android.intent.action.VIEW -d [4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //啟動原生安卓設置主頁
am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //發(fā)送廣播
查找命令,查找文件中是否包含指定字符串并輸出該行示例:
grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行并展示行號
參數(shù)說明:
-a:此選項通常在復制目錄時使用,它保留鏈接、文件屬性,并復制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
-d:復制時保留鏈接。這里所說的鏈接相當于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標文件而不給出提示。
-i:與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。
-p:除復制文件的內(nèi)容外,還把修改時間和訪問權限也復制到新文件中。
-r:若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件。
-l:不復制文件,只是生成鏈接文件。
命令示例:cp -a a? parentPath/sonPath/ a對應當前文件夾下目錄或文件名? 可替換為絕對路徑?
移動指令,等效于 windows 的移動和重命名。
示例:
mv /data/tmp1 /data/local/tmp2 //將 data/tmp1移動到/data/local/ 并重命名為 tmp2
刪除指令,用于刪除文件和文件夾,示例:
rm -rf tmp // 刪除 tmp,建議加上-rf參數(shù),其會刪除 tmp 所有的目錄和文件。
創(chuàng)建目錄。常用參數(shù):
-p :若 mkdir -p 后接路徑包含不存在路徑則一并創(chuàng)建。
同步命令,常用于 cp 替換文件或指令結束后同步狀態(tài),有益無害。
重定向,即將一個命令的輸出指向另外路徑的文件,使用覆蓋模式,即重定向到的文件若存在將覆蓋里面的內(nèi)容。
示例:
logcat /data/xxx.log; //將 logcat輸出到/data/xxx.log;
cat /proc/kmsg /data/kmsg.log; //將 kmsg 打印輸出重定向到/data/kmsg.log
重定向,即將一個命令的輸出指向另外路徑的文件,使用拼接模式,即重定向到的文件若存在則將輸出拼接到原文件的后面。
示例:
logcat /data/xxx.log; //例如我們做 netreboot的時候需要每一次開關機的 log,則會用拼接模式記錄log。
將指令放至后臺靜默執(zhí)行。
依次執(zhí)行指令,若有指令執(zhí)行失敗,則后續(xù)指令不會執(zhí)行。
示例:
logcat -c logcat //先清除 logcat 緩存再抓取 log
find 命令的基本結構如下:
find 命令手冊 : man find
find 命令中的 -name 選項可以根據(jù)文件名稱進行檢索( 區(qū)分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個字符的文件
例3:查以大寫字母開頭的文件
例4:查以兩個小寫字母和兩個數(shù)字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名??梢允褂? -path 或 -ipath 選項。
例1:如查找 /usr 下所有文件名以 .txt 結尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
例2:在當前目錄除aa之外的子目錄內(nèi)搜索 txt文件
例3:在當前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時出現(xiàn)在結果中??梢允褂? -type 選項指定文件類型。
-type 選項最常用的參數(shù)如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄。空文件即文件里沒有任何內(nèi)容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當前的匹配條件進行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件。可以使用以下命令:
也可以“翻轉”任何其他的篩選條件,如:檢索 /usr 下所有內(nèi)容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項。
例:檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項, -group 選項則可以根據(jù)文件或目錄的 屬組 進行檢索。
有些時候,需要根據(jù)文件創(chuàng)建或修改的時間進行檢索。
Linux 系統(tǒng)中,與文件相關聯(lián)的時間參數(shù)有以下三種:
與此對應的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規(guī)則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項允許用戶通過文件大小進行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號表示 大于 或 小于 當前條件。
檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項以文件權限為依據(jù)進行搜索。
9.1使用符號形式
例1:如需要檢索 /usr 目錄下權限為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有權限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫權限)的文件和目錄,可以使用以下命令:
很多時候,我們只想匹配文件權限的一個 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關心文件的執(zhí)行權限,而不用管其讀寫權限是什么。
上述的需求可以通過以下命令實現(xiàn):
其中 a=x 前面的 / 符號即用來表示只匹配權限的某個子集(執(zhí)行權限),而不用關心其他權限的具體設置。
9.2使用數(shù)字形式
例如:搜索 /usr 目錄下權限為 644 (即 rwxr-xr-x )的文件
find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結果數(shù)量非常巨大??梢允褂? -maxdepth 限制 find 命令遞歸的層數(shù)。
例如:搜索時向下遞歸的層數(shù)最大為 3
在之前的例子中有出現(xiàn)多個搜索條件的 組合 以及對某個搜索條件的 反轉 。
實際上 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 選項可以對搜索到的結果執(zhí)行執(zhí)行該參數(shù)所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復制到移動存儲設備(假設路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括號 ( {} )作為檢索到的文件的 占位符 ,而分號( ; )作為命令結束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉義符 \ 。
例2:查看當前目錄下的所有普通文件,并在 - exec 選項中使用 ls -l 命令將它們列出
例3:在多個文件中檢索某個指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
創(chuàng)建 Gzip 格式的壓縮文件的命令為:
現(xiàn)在假設需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應為如下形式:
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發(fā)現(xiàn)一個音頻文件,都會再執(zhí)行一次 -exec 選項后面的壓縮命令。導致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細信息(如權限和大小等),可以直接使用 -ls 選項。
例如:瀏覽所有 1G 以上大小的文件的詳細信息
與exec作用相同,區(qū)別在于,在執(zhí)行命令之前,都會給出提示,讓用戶確認是否執(zhí)行
與 exec 作用相同 ,起承接作用。區(qū)別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數(shù)大于2的文件或目錄
例3:查找含特定字符串的文件。查找當前目錄下含有"the string you want find…"字符串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現(xiàn):
A Guide to the Linux “Find” Command
本文根據(jù)饑人谷相關課程整理,如有新知識或遺漏將繼續(xù)補充。
1.程序員為了輸入方便對命令進行縮寫
2.縮寫規(guī)則是省略A、E、I、O、U五個元音字母,留下2~3個字母(有時會例外)
注: Windows默認不支持鏈接
3. ~ 表示用戶目錄
假設用戶名是administrator,那么
· 在Windows下, ~ 表示 /User/administrator/ 目錄 (一般在C盤)
· 在Linux下, ~ 表示 /home/administrator/ 目錄
注: 永遠不要運行 rm -rf / 即強制刪除整個硬盤
在命令后加 \ ,意思是這句話沒完
有空格等特殊字符的時候加引號
1、cd命令
這是一個非?;荆彩谴蠹医?jīng)常需要使用的命令,它用于切換當前目錄,它的參數(shù)是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如:
cd
/root/Docements # 切換到目錄/root/Docements
cd ./path #
切換到當前目錄下的path目錄中,“.”表示當前目錄
cd ../path #
切換到上層目錄中的path目錄中,“..”表示上一層目錄
2、ls命令
這是一個非常有用的查看文件與目錄的命令,list之意,它的參數(shù)非常多,下面就列出一些我常用的參數(shù)吧,如下:
-l
:列出長數(shù)據(jù)串,包含文件的屬性與權限數(shù)據(jù)等
-a
:列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用)
-d
:僅列出目錄本身,而不是列出目錄的文件數(shù)據(jù)
-h
:將文件容量以較易讀的方式(GB,kB等)列出來
-R
:連同子目錄的內(nèi)容一起列出(遞歸列出),等于該目錄下的所有文件都會顯示出來
注:這些參數(shù)也可以組合使用,下面舉兩個例子:
ls -l
#以長數(shù)據(jù)串的形式列出當前目錄下的數(shù)據(jù)文件和目錄
ls -lR
#以長數(shù)據(jù)串的形式列出當前目錄下的所有文件
3、grep命令
該命令常用于分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用于對一些命令的輸出進行篩選加工等等,它的簡單語法為
grep [-acinv]
[--color=auto] '查找字符串' filename
它的常用參數(shù)如下:
-a
:將binary文件以text文件的方式查找數(shù)據(jù)
-c
:計算找到‘查找字符串’的次數(shù)
-i
:忽略大小寫的區(qū)別,即把大小寫視為相同
-v
:反向選擇,即顯示出沒有‘查找字符串’內(nèi)容的那一行
# 例如:
#
取出文件/etc/man.config中包含MANPATH的行,并把找到的關鍵字加上顏色
grep --color=auto
'MANPATH' /etc/man.config
# 把ls
-l的輸出中包含字母file(不區(qū)分大小寫)的內(nèi)容輸出
ls -l | grep -i
file
4、find命令
find是一個基于查找的功能非常強大的命令,相對而言,它的使用也相對較為復雜,參數(shù)也比較多,所以在這里將給把它們分類列出,它的基本語法如下:
find [PATH]
[option] [action]
# 與時間有關的參數(shù):
-mtime n :
n為數(shù)字,意思為在n天之前的“一天內(nèi)”被更改過的文件;
-mtime +n :
列出在n天之前(不含n天本身)被更改過的文件名;
-mtime -n :
列出在n天之內(nèi)(含n天本身)被更改過的文件名;
-newer file :
列出比file還要新的文件名
# 例如:
find /root -mtime
0 # 在當前目錄下查找今天之內(nèi)有改動的文件
# 與用戶或用戶組名有關的參數(shù):
-user name :
列出文件所有者為name的文件
-group name :
列出文件所屬用戶組為name的文件
-uid n :
列出文件所有者為用戶ID為n的文件
-gid n :
列出文件所屬用戶組為用戶組ID為n的文件
# 例如:
find
/home/ljianhui -user ljianhui # 在目錄/home/ljianhui中找出所有者為ljianhui的文件
# 與文件權限及名稱有關的參數(shù):
-name filename
:找出文件名為filename的文件
-size [+-]SIZE
:找出比SIZE還要大(+)或?。?)的文件
-tpye TYPE
:查找文件的類型為TYPE的文件,TYPE的值主要有:一般文件(f)、設備文件(b、c)、
目錄(d)、連接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode
:查找文件權限剛好等于mode的文件,mode用數(shù)字表示,如0755;
-perm -mode
:查找文件權限必須要全部包括mode權限的文件,mode用數(shù)字表示
-perm +mode
:查找文件權限包含任一mode的權限的文件,mode用數(shù)字表示
# 例如:
find / -name
passwd # 查找文件名為passwd的文件
find . -perm 0755
# 查找當前目錄中文件權限的0755的文件
find . -size +12k
# 查找當前目錄中大于12KB的文件,注意c表示byte
5、cp命令
該命令用于復制文件,copy之意,它還可以把多個文件一次性地復制到一個目錄下,它的常用參數(shù)如下:
-a :將文件的特性一起復制
-p
:連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用于備份
-i
:若目標文件已經(jīng)存在時,在覆蓋時會先詢問操作的進行
-r
:遞歸持續(xù)復制,用于目錄的復制行為
-u
:目標文件與源文件有差異時才會復制
例如 :
cp -a file1 file2
#連同文件的所有特性把文件file1復制成文件file2
cp file1 file2
file3 dir #把文件file1、file2、file3復制到目錄dir中
6、mv命令
該命令用于移動文件、目錄或更名,move之意,它的常用參數(shù)如下:
-f
:force強制的意思,如果目標文件已經(jīng)存在,不會詢問而直接覆蓋
-i
:若目標文件已經(jīng)存在,就會詢問是否覆蓋
-u
:若目標文件已經(jīng)存在,且比目標文件新,才會更新
注:該命令可以把一個文件或多個文件一次移動一個文件夾中,但是最后一個目標文件一定要是“目錄”。
例如:
mv file1 file2
file3 dir # 把文件file1、file2、file3移動到目錄dir中
mv file1 file2 #
把文件file1重命名為file2
7、rm命令
該命令用于刪除文件或目錄,remove之間,它的常用參數(shù)如下:
-f
:就是force的意思,忽略不存在的文件,不會出現(xiàn)警告消息
-i
:互動模式,在刪除前會詢問用戶是否操作
-r
:遞歸刪除,最常用于目錄刪除,它是一個非常危險的參數(shù)
例如:
rm -i file #
刪除文件file,在刪除之前會詢問是否進行該操作
rm -fr dir #
強制刪除目錄dir中的所有文件
8、ps命令
該命令用于將某個時間點的進程運行情況選取下來并輸出,process之意,它的常用參數(shù)如下:
-A :所有的進程均顯示出來
-a
:不與terminal有關的所有進程
-u :有效用戶的相關進程
-x
:一般與a參數(shù)一起使用,可列出較完整的信息
-l
:較長,較詳細地將PID的信息列出
其實我們只要記住ps一般使用的命令參數(shù)搭配即可,它們并不多,如下:
ps aux #
查看系統(tǒng)所有的進程數(shù)據(jù)
ps ax #
查看不與terminal有關的所有進程
ps -lA #
查看系統(tǒng)所有的進程數(shù)據(jù)
ps axjf #
查看連同一部分進程樹狀態(tài)
9、kill命令
該命令用于向某個工作(%jobnumber)或者是某個PID(數(shù)字)傳送一個信號,它通常與ps和jobs命令一起使用,它的基本語法如下:
kill -signal PID
signal的常用參數(shù)如下:
注:最前面的數(shù)字為信號的代號,使用時可以用代號代替相應的信號。
1:SIGHUP,啟動被終止的進程
2:SIGINT,相當于輸入ctrl+c,中斷一個程序的進行
9:SIGKILL,強制中斷一個進程的進行
15:SIGTERM,以正常的結束進程方式來終止進程
17:SIGSTOP,相當于輸入ctrl+z,暫停一個進程的進行
例如:
#
以正常的結束進程方式來終于第一個后臺工作,可用jobs命令查看后臺中的第一個工作進程
kill -SIGTERM
%1
#
重新改動進程ID為PID的進程,PID可用ps命令通過管道命令加上grep命令進行篩選獲得
kill -SIGHUP PID
10、killall命令
該命令用于向一個命令啟動的進程發(fā)送一個信號,它的一般語法如下:
killall [-iIe]
[command name]
它的參數(shù)如下:
-i
:交互式的意思,若需要刪除時,會詢問用戶
-e :表示后面接的command
name要一致,但command name不能超過15個字符
-I :命令名稱忽略大小寫
# 例如:
killall -SIGHUP
syslogd # 重新啟動syslogd
11、file命令
該命令用于判斷接在file命令后的文件的基本數(shù)據(jù),因為在Linux下文件的類型并不是以后綴為分的,所以這個命令對我們來說就很有用了,它的用法非常簡單,基本語法如下:
file filename
#例如:
file ./test
12、tar命令
該命令用于對文件進行打包,默認情況并不會壓縮,如果指定了相應的參數(shù),它還會調(diào)用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓。它的常用參數(shù)如下:
-c :新建打包文件
-t
:查看打包文件的內(nèi)容含有哪些文件名
-x
:解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現(xiàn)在同一條命令中
-j
:通過bzip2的支持進行壓縮/解壓縮
-z
:通過gzip的支持進行壓縮/解壓縮
-v
:在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
-f filename
:filename為要處理的文件
-C dir
:指定壓縮/解壓縮的目錄dir
上面的解說可以已經(jīng)讓你暈過去了,但是通常我們只需要記住下面三條命令即可:
壓縮:tar -jcv -f
filename.tar.bz2 要被處理的文件或目錄名稱
查詢:tar -jtv -f
filename.tar.bz2
解壓:tar -jxv -f
filename.tar.bz2 -C 欲解壓縮的目錄
注:文件名并不定要以后綴tar.bz2結尾,這里主要是為了說明使用的壓縮程序為bzip2
13、cat命令
該命令用于查看文本文件的內(nèi)容,后接要查看的文件名,通??捎霉艿琅cmore和less一起使用,從而可以一頁頁地查看數(shù)據(jù)。例如:
cat text | less #
查看text文件中的內(nèi)容
# 注:這條命令也可以使用less
text來代替
14、chgrp命令
該命令用于改變文件所屬用戶組,它的使用非常簡單,它的基本用法如下:
chgrp [-R]
dirname/filename
-R
:進行遞歸的持續(xù)對所有文件和子目錄更改
# 例如:
chgrp users -R
./dir # 遞歸地把dir目錄下中的所有文件和子目錄下所有文件的用戶組修改為users
15、chown命令
該命令用于改變文件的所有者,與chgrp命令的使用方法相同,只是修改的文件屬性不同,不再詳述。
16、chmod命令
該命令用于改變文件的權限,一般的用法如下:
chmod [-R] xyz
文件或目錄
-R:進行遞歸的持續(xù)更改,即連同子目錄下的所有文件都會更改
同時,chmod還可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(刪除)、=(設置)跟rwx搭配來對文件的權限進行更改。
# 例如:
chmod 0755 file #
把file的文件權限改變?yōu)?rxwr-xr-x
chmod g+w file #
向file的文件權限中加入用戶組可寫權限
18、vim命令
該命令主要用于文本編輯,它接一個或多個文件名作為參數(shù),如果文件存在就打開,如果文件不存在就以該文件名創(chuàng)建一個文件。vim是一個非常好用的文本編輯器,它里面有很多非常好用的命令,在這里不再多說。你可以從這里下載vim常用操作的詳細說明。
19、gcc命令
對于一個用Linux開發(fā)C程序的人來說,這個命令就非常重要了,它用于把C語言的源程序文件,編譯成可執(zhí)行程序,由于g++的很多參數(shù)跟它非常相似,所以這里只介紹gcc的參數(shù),它的常用參數(shù)如下:
-o
:output之意,用于指定生成一個可執(zhí)行文件的文件名
-c
:用于把源文件生成目標文件(.o),并阻止編譯器創(chuàng)建一個完整的程序
-I :增加編譯時搜索頭文件的路徑
-L
:增加編譯時搜索靜態(tài)連接庫的路徑
-S :把源文件生成匯編代碼文件
-lm:表示標準庫的目錄中名為libm.a的函數(shù)庫
-lpthread
:連接NPTL實現(xiàn)的線程庫
-std=
:用于指定把使用的C語言的版本
# 例如:
#
把源文件test.c按照c99標準編譯成可執(zhí)行程序test
gcc -o test
test.c -lm -std=c99
#把源文件test.c轉換為相應的匯編程序源文件test.s
gcc -S test.c
20、time命令
該命令用于測算一個命令(即程序)的執(zhí)行時間。它的使用非常簡單,就像平時輸入命令一樣,不過在命令的前面加入一個time即可,例如:
time ./process
time ps aux
在程序或命令運行結束后,在最后輸出了三個時間,它們分別是:
user:用戶CPU時間,命令執(zhí)行完成花費的用戶CPU時間,即命令在用戶態(tài)中執(zhí)行時間總和;
system:系統(tǒng)CPU時間,命令執(zhí)行完成花費的系統(tǒng)CPU時間,即命令在核心態(tài)中執(zhí)行時間總和;
real:實際時間,從command命令行開始執(zhí)行到運行終止的消逝時間;
來自 ;