天天看點

linux基礎教程

1. 學會使用指令幫助

1.1. 概述

1.2. 指令使用

檢視指令的簡要說明

使用man

檢視路徑

總結

2. 檔案及目錄管理

2.1. 建立和删除

2.2. 目錄切換

2.3. 列出目錄項

2.4. 查找目錄及檔案 find/locate

2.5. 檢視檔案内容

2.6. 查找檔案内容

2.7. 檔案與目錄權限修改

2.8. 給檔案增加别名

2.9. 管道和重定向

2.10. 設定環境變量

2.11. bash快捷輸入或删除

2.12. 綜合應用

2.13. 總結

3. 文本處理

3.1. find 檔案查找

定制搜尋

找到後的後續動作

-print的定界符

3.2. grep 文本搜尋

3.3. xargs 指令行參數轉換

3.4. sort 排序

3.5. uniq 消除重複行

3.6. 用tr進行轉換

3.7. cut 按列切分文本

3.8. paste 按列拼接文本

3.9. wc 統計行和字元的工具

3.10. sed 文本替換利器

3.11. awk 資料流處理工具

print 列印目前行

特殊變量: nr nf $0 $1 $2

傳遞外部變量

用樣式對awk處理的行進行過濾

設定定界符

讀取指令輸出

在awk中使用循環

awk結合grep找到指定的服務,然後将其kill掉

awk實作head、tail指令

列印指定列

列印指定文本區域

awk常用内建函數

3.12. 疊代檔案中的行、單詞和字元

1. 疊代檔案中的每一行

2.疊代一行中的每一個單詞

3. 疊代每一個字元

4. 磁盤管理

4.1. 檢視磁盤空間

4.2. 打包/ 壓縮

4.3. 解包/解壓縮

4.4. 總結

5. 程序管理工具

5.1. 查詢程序

5.2. 終止程序

5.3. 程序監控

5.4. 分析線程棧

5.5. 綜合運用

5.6. 總結

6. 性能監控

6.1. 監控cpu

6.2. 查詢記憶體

6.3. 查詢頁面交換

6.4. 查詢硬碟使用

6.5. 綜合應用

6.6. 總結

7. 網絡工具

7.1. 查詢網絡服務和端口

7.2. 網絡路由

7.3. 鏡像下載下傳

7.4. ftp sftp lftp ssh

7.5. 網絡複制

7.6. 總結

8. 使用者管理工具

8.1. 使用者

添加使用者

删除使用者

8.2. 使用者的組

将使用者加入到組

檢視系統所有組

8.3. 使用者權限

更改讀寫權限

更改檔案或目錄的擁有者

8.4. 環境變量

8.5. 總結

9. 系統管理及ipc資源管理

9.1. 系統管理

查詢系統版本

查詢硬體資訊

設定系統時間

9.2. ipc資源管理

ipc資源查詢

檢測和設定系統資源限制

9.3. 總結

在linux終端,面對指令不知道怎麼用,或不記得指令的拼寫及參數時,我們需要求助于系統的幫助文檔; linux系統内置的幫助文檔很詳細,通常能解決我們的問題,我們需要掌握如何正确的去使用它們;

在隻記得部分指令關鍵字的場合,我們可通過man -k來搜尋;

需要知道某個指令的簡要說明,可以使用whatis;而更詳細的介紹,則可用info指令;

檢視指令在哪個位置,我們需要使用which;

而對于指令的具體參數及使用方法,我們需要用到強大的man;

下面介紹這些指令;

簡要說明指令的作用(顯示指令所處的man分類頁面):

正則比對:

更加詳細的說明文檔:

查詢指令command的說明文檔:

使用page up和page down來上下翻頁

在man的幫助手冊中,将幫助文檔分為了9個類别,對于有的關鍵字可能存在多個類别中, 我們就需要指定特定的類别來檢視;(一般我們查詢bash指令,歸類在1類中);

man頁面所屬的分類辨別(常用的是分類1和分類3)

前面說到使用whatis會顯示指令所在的具體的文檔類别,我們學習如何使用它

我們看到printf在分類1和分類3中都有;分類1中的頁面是指令操作及可執行檔案的幫助;而3是常用函數庫說明;如果我們想看的是c語言中printf的用法,可以指定檢視分類3的幫助:

查詢關鍵字 根據指令中部分關鍵字來查詢指令,适用于隻記住部分指令的場合;

eg:查找gnome的config配置工具指令:

對于某個單詞搜尋,可直接使用/word來使用: /-a; 多關注下see also 可看到更多精彩内容

檢視程式的binary檔案所在路徑:

eg:查找make程式安裝路徑:

檢視程式的搜尋路徑:

當系統中安裝了同一軟體的多個版本時,不确定使用的是哪個版本時,這個指令就能派上用場;

whatis info man which whereis

檔案管理不外乎檔案或目錄的建立、删除、查詢、移動,有mkdir/rm/mv

檔案查詢是重點,用find來進行查詢;find的參數豐富,也非常強大;

檢視檔案内容是個大的話題,文本的處理有太多的工具供我們使用,在本章中隻是點到即止,後面會有專門的一章來介紹文本的處理工具;

有時候,需要給檔案建立一個别名,我們需要用到ln,使用這個别名和使用原檔案是相同的效果;

建立:mkdir

删除:rm

删除非空目錄:rm -rf file目錄

删除日志 rm *log (等價: $find ./ -name “*log” -exec rm {} ????

移動:mv

複制:cp (複制目錄:cp -r )

檢視目前目錄下檔案個數:

複制目錄:

找到檔案/目錄位置:cd

切換到上一個工作目錄: cd -

切換到home目錄: cd or cd ~

顯示目前路徑: pwd

更改目前工作路徑為path: $cd path

顯示目前目錄下的檔案 ls

按時間排序,以清單的方式顯示目錄項 ls -lrt

以上這個指令用到的頻率如此之高,以至于我們需要為它建立一個快捷指令方式:

在.bashrc 中設定指令别名:

這樣,使用lsl,就可以顯示目錄中的檔案按照修改時間排序;以清單方式顯示;

給每項檔案前面增加一個id編号(看上去更加整潔):

1 a 2 a.out 3 app 4 b 5 bin 6 config

注:.bashrc 在/home/你的使用者名/ 檔案夾下,以隐藏檔案的方式存儲;可使用 ls -a 檢視;

搜尋檔案或目錄:

查找目标檔案夾中是否有obj檔案:

遞歸目前目錄及子目錄删除所有.o檔案:

find是實時查找,如果需要更快的查詢,可試試locate;locate會為檔案系統建立索引資料庫,如果有檔案更新,需要定期執行更新指令來更新索引庫:

尋找包含有string的路徑:

與find不同,locate并不是實時查找。你需要更新資料庫,以獲得最新的檔案索引資訊。

檢視檔案:cat vi head tail more

顯示時同時顯示行号:

按頁顯示清單内容:

隻看前10行:

顯示檔案第一行:

顯示檔案倒數第五行:

檢視兩個檔案間的差别:

動态顯示文本最新資訊:

使用egrep查詢檔案内容:

改變檔案的擁有者 chown

改變檔案讀、寫、執行等屬性 chmod

遞歸子目錄修改: chown -r tuxapp source/

增加腳本可執行權限: chmod a+x myscript

建立符号連結/硬連結:

批處理指令連接配接執行,使用 |

串聯: 使用分号 ;

前面成功,則執行後面一條,否則,不執行:&&

前面失敗,則後一條執行: ||

能夠提示命名是否執行成功or失敗;

與上述相同效果的是:

重定向:

等價的是:

清空檔案:

啟動帳号後自動執行的是 檔案為 .profile,然後通過這個檔案可設定自己的環境變量;

安裝的軟體路徑一般需要加入到path中:

快捷鍵:

查找record.log中包含aaa,但不包含bbb的記錄的總數:

檔案管理,目錄的建立、删除、查詢、管理: mkdir rm mv

檔案的查詢和檢索: find locate

檢視檔案内容:cat vi tail more

管道和重定向: ; | && >

本節将介紹linux下使用shell處理文本時最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和參數都是常用的; 我對shell腳本使用的原則是指令單行書寫,盡量不要超過2行; 如果有更為複雜的任務需求,還是考慮python吧;

查找txt和pdf檔案:

正則方式查找.txt和pdf:

-iregex: 忽略大小寫的正則

否定參數 ,查找所有非txt文本:

指定搜尋深度,列印出目前目錄的檔案(深度為1):

按類型搜尋

-type f 檔案 / l 符号連結 / d 目錄

find支援的檔案檢索類型可以區分普通檔案和符号連結、目錄等,但是二進制檔案和文本檔案無法直接通過find的類型區分出來;

file指令可以檢查檔案具體類型(二進制或文本):

是以,可以用以下指令組合來實作查找本地目錄下的所有二進制檔案:

按時間搜尋

-atime 通路時間 (機關是天,分鐘機關則是-amin,以下類似)-mtime 修改時間 (内容被修改)-ctime 變化時間 (中繼資料或權限變化)

最近第7天被通路過的所有檔案:

最近7天内被通路過的所有檔案:

查詢7天前被通路過的所有檔案:

按大小搜尋:

w字 k m g 尋找大于2k的檔案:

按權限查找:

按使用者查找:

删除

删除目前目錄下所有的swp檔案:

另一種文法:

執行動作(強大的exec)

将目前目錄下的所有權變更為weber:

注:{}是一個特殊的字元串,對于每一個比對的檔案,{}會被替換成相應的檔案名;

将找到的檔案全都copy到另一個目錄:

結合多個指令

如果需要後續執行多個指令,可以将多個指令寫成一個腳本。然後 -exec 調用時執行腳本即可:

預設使用’\n’作為檔案的定界符;

-print0 使用’\0’作為檔案的定界符,這樣就可以搜尋包含空格的檔案;

常用參數

-o 隻輸出比對的文本行 vs -v 隻輸出沒有比對的文本行

-c 統計檔案中包含文本的次數

grep -c “text” filename

-n 列印比對的行号

-i 搜尋時忽略大小寫

-l 隻列印檔案名

在多級目錄中對文本遞歸搜尋(程式員搜代碼的最愛):

比對多個模式:

grep輸出以0作為結尾符的檔案名(-z):

綜合應用:将日志中的所有帶where條件的sql查找查找出來:

查找中文示例:工程目錄中utf-8格式和gb2312格式兩種檔案,要查找字的是中文;

查找到它的utf-8編碼和gb2312編碼分别是e4b8ade69687和d6d0cec4

查詢:

漢字編碼查詢:http://bm.kdd.cc/

xargs 能夠将輸入資料轉化為特定指令的指令行參數;這樣,可以配合很多指令來組合使用。比如grep,比如find; - 将多行輸出轉化為單行輸出

n 是多行文本間的定界符

将單行轉化為多行輸出

-n:指定每行顯示的字段數

xargs參數說明

-d 定義定界符 (預設為空格 多行的定界符為 n)

-n 指定輸出為多行

-i {} 指定替換字元串,這個字元串在xargs擴充時會被替換掉,用于待執行的指令需要多個參數時

-0:指定0為輸入定界符

示例:

字段說明

-n 按數字進行排序 vs -d 按字典序進行排序

-r 逆序排序

-k n 指定按第n列排序

消除重複行

統計各行在檔案中出現的次數

找出重複行

可指定每行中需要比較的重複内容:-s 開始位置 -w 比較字元數

通用用法

tr删除字元

-c 求補集

tr壓縮字元

tr -s 壓縮文本中出現的重複字元;最常用于壓縮多餘的空格:

字元類

tr中可用各種字元類:

alnum:字母和數字alpha:字母digit:數字space:空白字元lower:小寫upper:大寫cntrl:控制(非可列印)字元print:可列印字元

使用方法:tr [:class:] [:class:]

截取檔案的第2列和第4列

去檔案除第3列的所有列

-d 指定定界符

cut 取的範圍

n- 第n個字段到結尾-m 第1個字段為mn-m n到m個字段

cut 取的機關

-b 以位元組為機關-c 以字元為機關-f 以字段為機關(使用定界符)

截取文本的第5到第7列

将兩個文本按列拼接到一起;

預設的定界符是制表符,可以用-d指明定界符:

首處替換

全局替換

預設替換後,輸出替換後的内容,如果需要直接替換原檔案,使用-i:

移除空白行

變量轉換

已比對的字元串通過标記&來引用.

子串比對标記

第一個比對的括号内容使用标記 1 來引用

雙引号求值

sed通常用單引号來引用;也可使用雙引号,使用雙引号後,雙引号會對表達式求值:

當使用雙引号時,我們可以在sed樣式和替換字元串中指定變量;

其它示例

字元串插入字元:将文本中每行内容(abcdef) 轉換為 abc/def:

awk腳本結構

工作方式

1.執行begin中語句塊;

2.從檔案或stdin中讀入一行,然後執行statements2,重複這個過程,直到檔案全部被讀取完畢;

3.執行end語句塊;

使用不帶參數的print時,會列印目前行

print 以逗号分割時,參數以空格定界;

使用-拼接符的方式(”“作為拼接符);

nr:表示記錄數量,在執行過程中對應目前行号;

nf:表示字段數量,在執行過程總對應目前行的字段數;

$0:這個變量包含執行過程中目前行的文本内容;

$1:第一個字段的文本内容;

$2:第二個字段的文本内容;

列印每一行的第二和第三個字段

統計檔案的行數

累加每一行的第一個字段

使用-f來設定定界符(預設為空格):

使用getline,将外部shell指令的輸出讀入到變量cmdout中:

eg:以下字元串,列印出其中的時間串:

而如果需要将後面的部分也列印出來(時間部分和後文分開列印):

以逆序的形式列印行:(tac指令的實作):

head

tail

awk方式實作

cut方式實作

确定行号

确定文本

列印處于start_pattern 和end_pattern之間的文本:

index(string,search_string):傳回search_string在string中出現的位置

sub(regex,replacement_str,string):将正則比對到的第一處内容替換為replacement_str;

match(regex,string):檢查正規表達式是否能夠比對字元串;

length(string):傳回字元串長度

printf 類似c語言中的printf,對輸出進行格式化:

while 循環法

awk法

${string:start_pos:num_of_chars}:從字元串中提取一個字元;(bash文本切片)

${#word}:傳回變量word的長度

以ascii字元顯示檔案:

日程磁盤管理中,我們最常用的有檢視目前磁盤使用情況,檢視目前目錄所占大小,以及打包壓縮與解壓縮;

檢視磁盤空間利用大小:

-h: human縮寫,以易讀的方式顯示結果(即帶機關:比如m/g,如果不加這個參數,顯示的數字以b為機關)

檢視目前目錄所占空間大小:

-h 人性化顯示

-s 遞歸整個目錄的大小

檢視目前目錄下所有子檔案夾排序後的大小:

在linux中打包和壓縮和分兩步來實作的;

打包

打包是将多個檔案歸并到一個檔案:

-c :打包選項

-v :顯示打包進度

-f :使用檔案檔案

注:有的系統中指定參數時不需要在前面加上-,直接使用tar xvf

示例:用tar實作檔案夾同步,排除部分檔案不同步:

壓縮

生成 demo.txt.gz

解包

-x 解包選項

解壓字尾為 .tar.gz的檔案 1. 先解壓縮,生成**.tar:

解包:

bz2解壓:

如果tar 不支援j,則同樣需要分兩步來解包解壓縮,使用bzip2來解壓,再使用tar解包:

-d decompose,解壓縮

tar解壓參數說明:

-z 解壓gz檔案

-j 解壓bz2檔案

-j 解壓xz檔案

檢視磁盤空間 df -h

檢視目錄大小 du -sh

打包 tar -cvf

解包 tar -xvf

壓縮 gzip

解壓縮 gunzip bzip

這一節我們介紹程序管理工具;

使用程序管理工具,我們可以查詢程式目前的運作狀态,或終止一個程序;

任何程序都與檔案關聯;我們會用到lsof工具(list opened files),作用是列舉系統中已經被打開的檔案。在linux環境中,任何事物都是檔案,裝置是檔案,目錄是檔案,甚至sockets也是檔案。用好lsof指令,對日常的linux管理非常有幫助。

查詢正在運作的程序資訊

eg:查詢歸屬于使用者colin115的程序

查詢程序id(适合隻記得部分程序字段)

以完整的格式顯示所有的程序

顯示程序資訊,并實時更新

檢視端口占用的程序狀态:

檢視使用者username的程序所打開的檔案

查詢init程序目前打開的檔案

查詢指定的程序id(23295)打開的檔案:

查詢指定目錄下被程序開啟的檔案(使用+d 遞歸目錄):

殺死指定pid的程序 (pid為process id)

殺死相關程序

殺死job工作 (job為job number)

檢視系統中使用cpu、使用記憶體最多的程序;

輸入top指令後,進入到互動界面;接着輸入字元指令後顯示相應的程序狀态:

對于程序,平時我們最常想知道的就是哪些程序占用cpu最多,占用記憶體最多。以下兩個指令就可以滿足要求:

這裡介紹最使用的幾個選項,對于更詳細的使用,詳見 top linux下的任務管理器 ;

使用指令pmap,來輸出程序記憶體的狀況,可以用來分析線程堆棧;

将使用者colin115下的所有程序名以av_開頭的程序終止:

将使用者colin115下所有程序名中包含host的程序終止:

ps top lsof kill pmap

在使用作業系統的過程中,我們經常需要檢視目前的性能如何,需要了解cpu、記憶體和硬碟的使用情況; 本節介紹的這幾個工具能滿足日常工作要求;

檢視cpu使用率

後面的兩個參數表示監控的頻率,比如例子中的1和2,表示每秒采樣一次,總共采樣2次;

檢視cpu平均負載

sar指定-q後,就能檢視運作隊列中的程序數、系統上的程序大小、平均負載等;

檢視記憶體使用狀況 sar指定-r之後,可檢視記憶體使用狀況;

檢視記憶體使用量

檢視頁面交換發生狀況 頁面發生交換時,伺服器的吞吐量會大幅下降;伺服器狀況不良時,如果懷疑因為記憶體不足而導緻了頁面交換的發生,可以使用sar -w這個指令來确認是否發生了大量的交換;

檢視磁盤空間利用情況

查詢目前目錄下空間使用情況

檢視該目錄下所有檔案夾的排序後的大小

當系統中sar不可用時,可以使用以下工具替代:linux下有 vmstat、unix系統有prstat

eg: 檢視cpu、記憶體、使用情況: vmstat n m (n 為監控頻率、m為監控次數)

使用watch 工具監控變化 當需要持續的監控應用的某個資料變化時,watch工具能滿足要求; 執行watch指令後,會進入到一個界面,輸出目前被監控的資料,一旦資料變化,便會高亮顯示變化情況;

eg:操作redis時,監控記憶體變化:

top / sar / free / watch

netstat 指令用于顯示各種網絡相關資訊,如網絡連接配接,路由表,接口狀态 (interface statistics),masquerade 連接配接,多點傳播成員 (multicast memberships) 等等。

列出所有端口 (包括監聽和未監聽的):

列出所有 tcp 端口:

列出所有有監聽的服務狀态:

使用netstat工具查詢端口:

lsof(list open files)是一個列出目前系統打開檔案的工具。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以通路正常資料,還可以通路網絡連接配接和硬體。是以如傳輸控制協定 (tcp) 和使用者資料報協定 (udp) 套接字等; 在查詢網絡端口時,經常會用到這個工具。

查詢7902端口現在運作什麼程式:

注解

以上介紹lsof關于網絡方面的應用,這個工具非常強大,需要好好掌握,詳見 lsof 一切皆檔案 ;

檢視路由狀态:

發送ping包到位址ip:

探測前往位址ip的路由路徑:

dns查詢,尋找域名domain對應的ip:

反向dns查詢:

直接下載下傳檔案或者網頁:

常用選項:

–limit-rate :下載下傳限速

-o:指定日志檔案;輸出都寫入日志;

-c:斷點續傳

ssh登陸:

ssh登陸遠端伺服器host,id為使用者名。

ftp/sftp檔案傳輸:

登陸伺服器host,id為使用者名。sftp登陸後,可以使用下面的指令進一步操作:

get filename # 下載下傳檔案

put filename # 上傳檔案

ls # 列出host上目前路徑的所有檔案

cd # 在host上更改目前路徑

lls # 列出本地主機上目前路徑的所有檔案

lcd # 在本地主機更改目前路徑

lftp同步檔案夾(類似rsync工具):

将本地localpath指向的檔案上傳到遠端主機的path路徑:

以ssh協定,周遊下載下傳path路徑下的整個檔案系統,到本地的localpath:

netstat lsof route ping host wget sftp scp

該指令為使用者建立相應的帳号和使用者目錄/home/username;

使用者添加之後,設定密碼:

密碼以互動方式建立:

不帶選項使用 userdel,隻會删除使用者。使用者的家目錄将仍會在/home目錄下。要完全的删除使用者資訊,使用-r選項;

帳号切換 登入帳号為usera使用者狀态下,切換到userb使用者帳号工作:

進入互動模型,輸入密碼授權進入;

預設情況下,添加使用者操作也會相應的增加一個同名的組,使用者屬于同名組; 檢視目前使用者所屬的組:

一個使用者可以屬于多個組,将使用者加入到組:

變更使用者所屬的根組(将用加入到新的組,并從原有的組中除去):

系統的所有使用者及所有組資訊分别記錄在兩個檔案中:/etc/passwd , /etc/group 預設情況下這兩個檔案對所有使用者可讀:

檢視所有使用者及權限:

檢視所有的使用者組及權限:

使用ls -l可檢視檔案的屬性字段,檔案屬性字段總共有10個字母組成,第一個字母表示檔案類型,如果這個字母是一個減号”-”,則說明該檔案是一個普通檔案。字母”d”表示該檔案是一個目錄,字母”d”,是dirtectory(目錄)的縮寫。 後面的9個字母為該檔案的權限辨別,3個為一組,分别表示檔案所屬使用者、使用者所在組、其它使用者的讀寫和執行權限; 例如:

表示這個檔案對檔案擁有者colin這個使用者可讀寫、可執行;對colin所在的組(king)可讀可寫;對其它使用者隻可讀;

使用chmod指令更改檔案的讀寫權限,更改讀寫權限有兩種方法,一種是字母方式,一種是數字方式

字母方式:

usermark取值:

u:使用者

g:組

o:其它使用者

a:所有使用者

permissionsmark取值:

r:讀

w:寫

x:執行

例如:

數字方式:

數字方式直接設定所有權限,相比字母方式,更加簡潔友善;

使用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他使用者的權限,每位通過4(讀)、2(寫)、1(執行)三種數值的和來确定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的權限。

使用-r選項遞歸更改該目下所有檔案的擁有者:

bashrc與profile都用于儲存使用者的環境資訊,bashrc用于互動式non-loginshell,而profile用于互動式login shell。

/etc/profile,/etc/bashrc 是系統全局環境變量設定

/.profile,/.bashrc使用者目錄下的私有環境變量設定

當登入系統獲得一個shell程序時,其讀取環境設定腳本分為三步:

首先讀入的是全局環境變量設定檔案/etc/profile,然後根據其内容讀取額外的文檔,如/etc/profile.d和/etc/inputrc

讀取目前登入使用者home目錄下的檔案/.bash_profile,其次讀取/.bash_login,最後讀取~/.profile,這三個文檔設定基本上是一樣的,讀取有優先關系

讀取~/.bashrc

/.profile與/.bashrc的差別:

這兩者都具有個性化定制功能

~/.profile可以設定本使用者專有的路徑,環境變量,等,它隻能登入的時候執行一次

~/.bashrc也是某使用者專有設定文檔,可以設定路徑,指令别名,每次shell script的執行都會使用它一次

例如,我們可以在這些環境變量中設定自己經常進入的檔案路徑,以及指令的快捷方式:

通過上述設定,我們進入log目錄就隻需要輸入cd $log即可;

useradd passwd userdel usermod chmod chown .bashrc .bash_profile

檢視linux系統版本:

檢視unix系統版本:作業系統版本:

檢視cpu使用情況:

查詢cpu資訊:

檢視cpu的核的個數:

檢視記憶體資訊:

顯示記憶體page大小(以kbyte為機關):

顯示架構:

顯示目前系統時間:

設定系統日期和時間(格式為2014-09-15 17:05:00):

設定時區:

強制把系統時間寫入cmos(這樣,重新開機後時間也正确了):

警告

設定系統時間需要root使用者權限.

格式化輸出目前日期時間:

檢視系統使用的ipc資源:

檢視系統使用的ipc共享記憶體資源:

檢視系統使用的ipc隊列資源:

檢視系統使用的ipc信号量資源:

應用示例:檢視ipc資源被誰占用

有個ipckey:51036 ,需要查詢其是否被占用;

首先通過電腦将其轉為十六進制:

51036 -> c75c

如果知道是被共享記憶體占用:

如果不确定,則直接查找:

顯示目前所有的系統資源limit 資訊:

對生成的 core 檔案的大小不進行限制:

uname sar arch date ipcs ulimit