一.Linux的目錄結構
Linux系統中並沒有盤符的概念,而是通過目錄/
表示所有文件的開始,並通過掛載(mount)的方式把所有硬盤分區都放置在根目錄下。
目錄名稱 | 英文原意 | 說明 |
---|---|---|
usr | unix system resources | 存放應用程序和文件目錄 |
home | - | 用戶空間 |
etc | etcetera | 存放系統的管理文件和配置文件 |
proc | process | 虛擬目錄,系統內存中的進程以文件的形式體現 |
dev | device | 設備文件目錄 |
lib | library | 系統最基本的動態連接分享庫 |
boot | - | 存放用於啓動linux系統的核心文件 |
bin | binary | 二進制可執行文件目錄(ls等命令保存在此) |
opt | optional | 存放額外安裝的軟件 |
root | - | 超級權限者的用戶主目錄 |
sbin | super user binary | 存放超級用戶使用的二進制可執行文件 |
tmp | temporary | 存放臨時文件 |
var | variable | 存放經常變化的文件 |
mnt | mount | 臨時掛載文件的掛載點 |
二.Linux常用命令
命令 | 說明 | 參數 |
---|---|---|
ps | 用於顯示當前進程狀態 | -A/-ef |
top |
用於實時顯示 process 的動態 | -c/-b/-s/-p |
rm | 用於刪除一個文件或者目錄 | -r/-f/-i |
cp | 主要用於複製文件或目錄 | -r/-a/-f |
ll | 羅列出當前文件或目錄的詳細信息 | - |
mv | 用來爲文件或目錄改名、或將文件或目錄移入其它位置 | -i/-f |
chmod | 修改權限 | -c/-f/-v |
cat | 用於連接文件並打印到標準輸出設備上 | -n/-b/-s |
wc | 用於計算字數 | -c/-l/-w |
grep | 用於查找文件裏符合條件的字符串 | -r/-v |
find | 用來在指定目錄下查找文件 | |
xargs | 給命令傳遞參數的一個過濾器 | -a/-e |
ifconfig | 用於顯示或設置網絡設備 | - add/-del |
history | 顯示或操縱歷史列表 | -c |
netstat | 用於顯示網絡狀態 | -a/-c |
sudo | 以系統管理者的身份執行指令 | -v/-h/-l |
iostat | 用於輸出CPU和磁盤I/O相關的統計信息 | -c/-d |
df | 用於顯示目前在Linux系統上的文件系統的磁盤使用情況統計 | -f/-h/--total |
du | 用於顯示目錄或文件的大小 | -h |
crontab | 用來定期執行程序 | -e/-r/-f |
lsof | 列出當前系統打開文件的工具 | -u/-c |
ssh | 密鑰 | - |
三.Linux常見進程
3.1 init進程
介紹:它是一個由內核啓動的用戶級進程,內核自行啓動(已經被載入內存,開始運行,並已初始化所有的設備驅動程序和數據結構等)之後,就通過啓動一個用戶級程序init的方式,完成引導進程。所以,init始終是第一個進程(其進程編號始終爲1)。內核會在過去曾使用過init的幾個地方查找它,它的正確位置(對Linux系統來說)是/sbin/init。如果內核找不到init,它就會試着運行/bin/sh,如果運行失敗,系統的啓動也會失敗。
3.2 migration進程
介紹:這種內核線程共有32個,從migration/0到migration/31,每個處理器覈對應一個migration內核線程,主要作用是作爲相應CPU核的遷移進程,用來執行進程遷移操作,內核中的函數是migration_thread()
3.3 ksoftirqd進程
介紹:這個線程正是用來執行軟中斷的(準確的說應該是執行過多的軟中斷)。我們知道按照優先級來說,中斷>軟中斷>用戶進行,也就是說中斷可以打斷軟中斷,而軟中斷又可以打斷用戶進程。
3.4 events進程
介紹:這種內核線程共有32個,從events/0到events/31, 每個處理器覈對應一個 events內核線程。用來處理內核事件很多軟硬件事件(比如斷電,文件變更)被轉換爲events,並分發給對相應事件感興趣的線程進行響應。