一、命令基本格式
- 命令提示符
當登錄linux系統時,最常見的命令就是:
** [root@bogon ~]#**
其中:
root:當前登錄用戶
bogon:主機名(一般情況應該是localhost)
~:當前所在目錄(家目錄pwd 查看家目錄)管理員是/root 普通用戶是/home/user1
#:超級用戶的提示符(普通用戶的提示符是$)
關于為什么我的主機是bogon,參考:linux主機名被更改為bogon原理分析
命令格式
命令 [選項] [參數]
注意:個別命令使用不遵循此格式。當有多個選項時,可以寫在一起。簡化選項(-a)== 完整選項(--all)。查詢目錄中的內容:ls
ls [選項] [文件或目錄]
選項:
-a 顯示所有文件,包括隱藏文件
-l 顯示詳細信息
-d 查看目錄屬性
-h 人性化顯示文件大小
-i 顯示inode(索引點、信息節點)
-
其中,輸入ls -l命令顯示詳細信息(也可以簡寫成ll),顯示如圖:
Paste_Image.png-
-rw-r--r--
- -文件類型(Linux通過權限位第一個來判斷文件類型,共有7種,其中常用的有三種:- 代表文件、 d 代表目錄 、l代表軟鏈接文件)
- 除第一位判斷文件類型,余下9位,每3位為一組,他們有不同的權限,這些組依次代表: rw-(u 所有者) r--(g 所屬組) r--(o 其他人)
- r讀 w寫 x執行
那么大白話翻譯就是:這個文件的所有者有讀寫權限。所屬組和其他人只有讀權限。
.(-rw-r--r--后邊的點)代表ACL權限。(暫時沒有官方資料證明)
數字1(點后邊的數字)代表這個文件個數,如果是目錄類型,就會顯示它包含多少個文件。如果是文件,就只是1。
第一個root,代表文件所有者
第二個root,代表所屬組
-
第二個root后邊的數字,代表文件大小,單位是字節。當然,我們平常習慣看的是kb、mb這樣的。可以在-l后面加個h,h代表human,意為人性化顯示文件大小。
Paste_Image.png 后邊的【6月 2 05:20】代表最后一次修改時間。
最后一列是文件名稱
-
-
輸入ls -a命令查看所有文件
Paste_Image.png- 其中以點(.)開頭的代表隱藏文件
-
輸入ls -d表示顯示目錄自身的屬性,而不是目錄中的內容,可以和-l連寫,寫成ls -ld,代表顯示當前目錄詳細信息和屬性
Paste_Image.png -
ls -i顯示當前目錄或文件的索引
Paste_Image.png -
-h命令其實前邊例子用過了,人性化顯示文件大小,但是我發現只用-h是沒有作用的,需要和-l連寫
Paste_Image.png
當然也可以簡寫成
Paste_Image.png
上圖例子是把 -l -d -h連寫在一起了,意思是顯示當前目錄的詳細信息和屬性并且人性化顯示大小。
最后說一下linux下文件的一些文件顏色的含義:
綠色---->代表可執行文件,(綠色代表通行證的意思)
紅色---->代表壓縮文件
深藍色---->代表目錄
淺藍色----->代表鏈接文件
灰色---->代表其它的一些文件
二、文件處理命令
- 目錄處理命令
- 建立目錄:mkdir
mkdir [-p] [目錄名]
-p 遞歸創建(同時創建下一層目錄) 如:mkdir -p main/sub 就會先創建main目錄然后在它下邊創建sub目錄,必須加-p,否則報錯。
命令英文原意:make directories
* 切換目錄命令:cd [目錄名] 命令英文原意:change directory
* 簡化操作
cd ~ 或者 cd 都是進入當前用戶的家目錄
cd - 進入上次目錄
cd .. 進入上一級目錄
cd . 進入當前目錄
Linux的清屏快捷鍵:Ctrl+L
* 相對路徑:參照當前所在目錄進行查找
* 絕對路徑:從根目錄開始指定,一級一級遞歸查找。在任何目錄下,都能進入指定位置。
* 當輸入cd 后不知道后面是什么文件時,可以摁Tab鍵,會顯示此目錄下一層文件。輸入cd后,只記得目錄首字母也可以摁Tab鍵,會自動補全。忘記命令時也可以摁Tab幫助。
目錄提示補全:
命令提示補全:
* 查詢所在目錄位置:pwd 命令英文原意:print working directory
* 刪除空目錄:rmdir
rmdir [目錄名] 命令英文原意:remove empty directories
* 刪除文件或目錄:rm
rm [-rf] [文件或目錄] 命令英文原意:remove
選項:
-r 刪除目錄(如果不寫,默認是文件。如果確定刪的是目錄,就一定加上-r)
-f 強制(不強制,會提示“是否刪除”,如果某目錄下文件很多,就會每刪一個問一遍。)
因為刪除的權限很大,所以一定不要執行【rm -rf /】。這會導致Linux自殺!!!【/】是根目錄,刪除根目錄,除非你瘋了!
- 復制文件或目錄:cp
cp [選項] [原文件或目錄] [目標目錄] 命令英文原意:copy
選項:
-r 復制目錄(不加-r 復制文件)
-p 連帶文件屬性復制
-d 若原文件是鏈接文件,則復制鏈接屬性
-a 相當于-pdr,就是把上邊三個選項連寫
將install.log復制到main/sub1目錄下:
將install.log復制到main/sub1目錄下的同時更換一個新文件名:
復制main目錄到main2目錄下:
上邊例子,復制了install.log文件到main/sub1目錄下,現在查看兩份文件的詳細信息,發現時間是不一致的。工作中有一種特殊情況,需要我們保留原文件的最后一次修改時間。
使用-p選項可以將原文件屬性同時復制
使用-a選項可以同時復制文件或者目錄及其屬性
- 剪切或改名命令:mv
mv [原文件或目錄] [目標目錄] 命令英文原意:move
剪切main/anaconda-ks.cfg文件到main2目錄中(只要是不同目錄 就代表執行的是剪切)
創建abc文件,并使用mv命令更改其名稱(只要是同一層目錄,即認為是改名)
- cat命令,參考文章:linux命令——cat
-
常用目錄的作用
Paste_Image.png
* / 根目錄
* /bin 命令保存目錄(普通用戶就可以讀取的命令)
* /boot 啟動目錄。啟動相關文件
* /dev 設備文件保存目錄(不要輕易去動)
* /etc 配置文件保存目錄
* /home 普通用戶的家目錄
* /lib 系統庫保存目錄(函數庫)
* /mnt 系統掛載目錄(因為老式的linux版本,是沒有media和misc目錄的,所以建議將media和misc都寫在mnt下)
* /media 掛載目錄
* /root 超級用戶的家目錄
* /tmp 臨時目錄
* /sbin 命令保存目錄(超級用戶才能使用的目錄)
* /proc 偽文件系統,它只存在內存當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供接口。
* /sys 和/proc一樣,都是保存內存的過載點
* /usr 系統軟件資源目錄
/usr/bin 系統目錄(普通用戶)
/usr/sbin 系統命令(超級用戶)
* /var 系統相關文檔內容
關于【/proc】目錄,可閱讀這篇文章:Linux下/proc目錄簡介
根目錄下的bin和sbin,uer目錄下的bin和sbin都是用來保存系統命令的。其中sbin目錄下的命令只有root用戶可以執行。
- 鏈接命令:ln
ln [-s] [原文件] [目標文件] 命令英文原意:link
功能描述:生成鏈接文件
選項:
-s 創建軟鏈接(不加默認創建硬鏈接)
* **硬鏈接**就是一個文件的一個或多個文件名。再說白點,所謂鏈接無非是把文件名和計算機文件系統使用的節點號鏈接起來。因此我們可以用多個文件名與同一個文件進行鏈接,這些文件名可以在同一目錄或不同目錄。
硬鏈接特征:
1. 擁有相同的i節點和存儲block塊,可以看作是同一個文件
2. 可通過i節點識別
3. 不能跨分區
4. 不能針對目錄使用
未刪除newinstall.log這個硬鏈接之前呢,查查他們的i節點是否一致,發現是一樣的,更加說明,他們雖然看似兩個不同的文件,但是實質上都鏈接著同一個文件。
-
軟鏈接又叫符號鏈接,這個文件包含了另一個文件的路徑名。可以是任意文件或目錄,可以鏈接不同文件系統的文件。
特別注意:ln -s [一定要寫原文件的絕對路徑,如果不寫則表示原文件的軟鏈接也在這個路徑] [目標文件]
軟鏈接特征:
1. 類似Windows的快捷方式
2. 軟鏈接擁有自己的i節點和block塊,但數據塊中只保存原文件的文件名和i節點號,并沒有實際的文件數據
3. lrwxrwxrwx: l代表軟鏈接類型 軟連接的文件權限為rwxrwxrwx,但實際權限要看它所包含的另一個文件的權限
4. 修改任意文件,另一個都改變
5. 刪除原文件,軟鏈接不能使用
正確的姿勢:
錯誤的姿勢:
原文件不寫絕對路徑,則代表軟連接也是此目錄:
三、文件搜索命令
- 文件搜索命令 locate(優點速度快,缺點只能使用文件名搜索)
* locate 文件名(文件名如果不是絕對路徑的話,默認會從根目錄查找)
會在后臺數據庫中按文件名搜索,所以搜索速度很快。
* /var/lib/mlocate(可通過【locate locate】命令找到這個數據庫)
#locate命令所搜索的后臺數據庫(正常是一天會更新一次,導致如果創建了新文件,會搜索不到)
* updatedb(強制更新/var/lib/mlocate,這樣即使新創建的文件,也能搜索到了)
下面做個實驗:
在/tmp/目錄下創建一個test1.abc的文件,然后使用locate搜索它,結果肯定是找不到,然后使用強制更新,發現還是找不到???這是為什么呢?
切換到【/etc/updatedb.conf】配置文件:
其中:
1. PRUNE_BIND_MOUNTS = "yes" 意為開啟搜索限制,會在執行locate命令時根據這個配置去搜索
2. PRUNEFS = "……" 意為搜索時忽略的文件系統
3. PRUNENAMES = "……" 意為搜索時忽略的文件類型
4. PRUNEPATHS = "……" 意為搜索時忽略的目錄(路徑)
知道了上述知識,/tmp/下創建的test1.abc為什么找不到就不難理解了,因為根本就是故意忽略不去搜索這個目錄了嘛!
- 命令搜索命令whereis 與which
- 搜索命令的命令whereis
whereis [選項] 命令名
搜索系統命令所在路徑及幫助文檔所在位置
選項:
-b:只查找可執行文件
-m:只查找幫助文件
* 搜索命令的命令which
which 命令名
搜索系統命令所在路徑及別名。但不是所有命令都有別名。
--color=auto,意思是ls的查詢結果自動顯示各自的顏色。
注意:實際上,并不是所有命令都可以查到的,例如:cd 切換目錄命令。這是為什么呢?因為cd命令是shell自帶命令,不需要獨立的執行文件。
* PATH環境變量
* PATH環境變量:定義的是系統搜索命令的路徑。
注:echo是輸出命令。
實際上我們每輸入一個命令,都會去PATH環境變量存儲的路徑里找。每個路徑以冒號分割。
如果輸入的命令在PATH里找不到呢,就會報如下信息:
- 文件搜索命令find(遍歷全部,速度慢)
- find命令
find [搜索范圍] [選項] [搜索條件]
如果使用find命令搜索,條件是按名稱,則名稱一定要寫得準確度到達百分之百。否則不會搜出來!
當然如果忘記名稱具體內容了,可以使用通配符,結果會與通配符完全匹配才顯示。
選項:
-name 按名稱區分大小寫搜索
-iname 按名稱不區分大小寫搜索
-user 按照所有者搜索
-nouser 查找沒有所有者的文件
-atime +10 10天前文件訪問時間
-ctime 10 10天當天改變文件屬性時間
-mtime -10 10天內修改文件內容時間
#以上三條選項后綴天數可以隨意改變。
-inum 查詢符合i節點的文件
-size 查詢符合文件大小的文件(后綴參數+代表大于 -代表小雨,例如 +25k代表大于25k的為文件)
-size 復雜化,例如:find /root -size +20k -a -size -50k 意思為:在/root目錄下查詢文件大小為大約20k且小于50k的為文件 。
-a and 邏輯與,兩個條件都滿足
-o or 邏輯或,兩個條件滿足其中之一即可
-size 更加復雜,例如:find /root -size +20k -a -size -50k -exec ls -lh {} \;
意思為:在/root目錄下查詢文件大小為大約20k且小于50k的為文件并且顯示詳細信息 。
其中 -exec ls -lh {} \; 對搜索結果執行詳細展示操作。固定格式為:-exec 要執行的命令 {} \; 注意空格!!
* Linux中的通配符
```
* 匹配任意內容
? 匹配任意一個字符
[] 匹配任意一個中括號內的字符
```
匹配 *:
匹配 ? :
匹配 [] 內任意字符:
使用選項【-iname】不區分大小寫搜索文件
查詢有所有者的文件
查詢沒有所有者的文件,這樣的文件除了proc和sys目錄下和U盤文件之外,都是linux的垃圾文件,直接刪除即可。
查詢/var/log目錄下10天以前是否有修改過內容的log文件
查詢大于25k的文件。此處注意千字節要小寫的k,兆字節要大寫的M。
查詢符合i節點的文件
查詢/root目錄下文件大小大于2k且小于10k的文件并顯示結果的詳細信息!
- 字符串搜索命令grep
grep [選項] 字符串 文件名
在文件當中匹配符合條件的字符串,并將字符串所在的行一起顯示出來
選項:
-i 忽略大小寫
-v 排除指定字符串
這個命令比較簡單,就不做太多例子了。
- find命令與grep命令的區別
- find命令:在系統當中搜索符合條件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配。范圍是系統中。
- grep命令:在文件的那個中搜索符合條件的字符串。如果需要匹配則使用正則表達式匹配,正則表達式包含匹配,即結果中包含符合條件字符串,就會顯示整行。范圍是一個文件中。
四、幫助命令
- 幫助命令 man(manual)
man 命令(不包含shell內部命令)
獲取指定命令的幫助
例如,獲取ls命令的幫助
下面搜索以下man的man幫助:
會發現man這個命令有以下級別,其中:
1. 查看用戶命令幫助
2. 查看可被內核調用的函數的幫助
3. 查看函數和函數庫的幫助
4. 查看設備和特殊文件的幫助(主要是/dev目錄的文件)
5. 查看配置文件的幫助
6. 查看游戲的幫助
7. 查看其他雜項的幫助
8. 查看系統管理員可用命令的幫助
查看命令擁有哪個級別的幫助
-
man -f 命令 相當于 whatis 命令
Paste_Image.png
舉個例子:查詢passwd命令的級別,發現它有兩個級別1和5,如果直接輸入man passwd的話,默認會進入最小級別。
Paste_Image.png -
man [級別] 命令
查看命令指定的級別的幫助文檔
Paste_Image.png 查看和命令相關的所有幫助
man -k 命令 相當于 apropos 命令
會查找到所有包含指定命令的命令的幫助信息
使用apropos查詢
- 其他幫助命令
- 選項幫助
命令 --help
獲取命令選項的幫助
實際很長,下圖只是部分截圖:
- shell內部命令幫助
help shell內部命令
獲取shell內部命令的幫助
怎么區分是否是shell的內部命令呢?
使用【whereis 命令】可以區分,只要沒有找到bin目錄,即代表這個命令屬于shell自帶命令
通過whereis找不到命令的執行文件,即代表它是shell內部命令,使用【help 命令】的方式找它的幫助
- 詳細命令幫助info
info 命令
操作:
-回車 → 進入子幫助頁面(帶有*號標記)
-u → 進入上層頁面
-n → 進入下一個幫助小節
-p → 進入上一個幫助小節
-q → 退出
info這個命令,打開后是一個整體的大文檔,包含了所有的命令。
具體可參考這篇文章:重拾簡單的linux指令之info
五、壓縮與解壓縮命令
.zip格式壓縮(與windows互通,是同一種壓縮)
zip 壓縮文件名 源文件
壓縮文件
zip -r 壓縮文件名 源目錄
壓縮目錄
壓縮文件:
壓縮目錄:
.zip格式解壓縮(與windows互通,是同一種壓縮)
unzip 壓縮文件
解壓縮.zip文件
.gz格式壓縮(可以被windows的壓縮軟件解壓縮)
gzip 源文件
壓縮為.gz格式的壓縮文件,源文件會消失
gzip -c 源文件 > 壓縮文件
壓縮為.gz格式,源文件保留
gzip -r 目錄
壓縮目錄下的所有文件,但是不能壓縮目錄
.gz格式解壓縮
gzip -d 壓縮文件
解壓縮文件
gunzip 壓縮文件
解壓縮文件
解壓縮目錄,加-r
.bz2格式壓縮
注意:bzip2命令不能壓縮目錄
bzip2 源文件
壓縮為.bz2格式,不保留源文件
bzip2 -k 源文件
壓縮為.bz2格式,保留源文件
.bz2格式解壓縮
bzip2 -d 壓縮文件
解壓縮 -k 保留壓縮文件
bunzip2 壓縮文件
解壓縮 -k 保留壓縮文件
打包命令tar
tar -cvf 打包文件名 源文件
選項:
-c 打包
-v 顯示過程
-f 指定打包后的文件名
解打包命令
tar -xvf 打包文件名
選項:
-x 解打包
我發現,這個解打包命令,在解了之后,如果目錄上存在同名文件是不提示直接覆蓋的。導致我第一次解完都沒看到效果。后來刪掉了原文件,再次解包,才能看出效果。
.tar.gz壓縮格式
其實.tar.gz格式是先打包為.tar格式,再壓縮為.gz格式
tar -zcvf 壓縮包名.tar.gz 源文件
選項:
-z 壓縮為.tar.gz格式
tar -ztvf 壓縮包名.tar.gz
選項:
-t 不解壓.tar.gz格式文件,只是查看內容(.tar.bz2也通用)
tar -zxvf 壓縮包名.tar.gz
選項:
-x 解壓縮.tar.gz格式
壓縮和解壓縮.tar.gz格式文件:
.tar.bz2壓縮格式
其實.tar.bz2格式是先打包為.tar格式,再壓縮為.bz2格式
tar -jcvf 壓縮包名.tar.bz2源文件
選項:
-j 壓縮為.tar.bz2格式
tar -jxvf 壓縮包名.tar.bz2 [-C 目標路徑]
選項:
-j 解壓縮.tar.bz2格式
[-C 目標路徑] 解壓到指定路徑,不寫這項則認為當前路徑。(.tar.gz也通用)
壓縮和解壓縮.tar.bz2格式文件:
將壓縮文件壓縮到指定目錄:
將當前文件壓縮到指定路徑:
將壓縮文件解壓到指定路徑:
多個文件合并壓縮:
不解壓只查看壓縮文件內容:
六、關機與重啟命令
1. shutdown命令 (更安全,會在關機時保存信息)
shutdown [選項] 時間 [&]
選項:
-c 取消前一個關機命令
-h 關機
-r 重啟
時間:
now 代表當前時間
xx:xx 幾點積分
&:
把這條命令放入計算機后臺執行(記得敲回車才能再次回到終端)。
不加的話,只要設定了時間,沒到指定時間之前,系統就會鎖住。(如果鎖住,使用ctrl+c解鎖,可以再重新輸入一條加了&命令)
設置關機命令,完成后頁面被鎖住,不能操作。(真實場景,避免使用關機命令,因為服務器一般都不在公司里,一旦關了機,開機可不能通過命令遠程操作哦。)
這時按Ctrl+C可以取消此命令:
這時,再輸入關機命令并在后邊+&,即將此任務放入后臺,并回車,就可調出熟悉的[root@localhost ~]# :
取消關機命令:
2. 其他關機命令 (不夠安全,關機時有可能不保存信息)
- halt
- poweroff
- init 0
3. 其他重啟命令
- reboot
- init 6
4. 系統運行級別
- 0 關機
- 1 單用戶(一般操作忘記密碼 參考:linux單用戶模式)
- 2 不完全多用戶,不含NFS服務(NFS用戶共享服務)
- 3 完全多用戶(包含NFS服務)
- 4 未匹配
- 5 圖形界面(前提是給系統裝了圖形界面才能啟動)
- 6 重啟
5. 查看系統運行級別
runlevel
其中:
前一個N代表之前的運行級別是Null 后邊的3,代表當前的運行級別是3。
6. 修改系統默認運行級別
使用cat /etc/inittab命令,查看inittab內容:
7. 退出登錄命令
logout
七、其他常用命令
掛載命令
在Linux當中,將一個文件系統的頂層目錄掛到另一個文件系統的子目錄上,使它們成為一個整體,稱為掛載。把該子目錄稱為掛載點。
** 1. 查詢與自動掛載**
mount
查詢系統中已經掛載的設備
為了更容易理解,解說第一條:
/dev/sda5 on / type ext4 (rw)
代表第一塊(SCSI or SATA 接口)硬盤的第一個邏輯分區掛載在根分區,它的文件系統是ext4,權限是讀寫。
/dev/sda5:第一塊(SCSI or SATA 接口)硬盤的第一個邏輯分區
那么是不是呢?切換到根目錄下的dev目錄使用find命令搜索:
【.】:代表當前目錄,此處為dev目錄
【sda】:代表整個硬盤
【sda1~5】:代表分區1~5。由此可見,并不是所有的分區都掛載。mount查詢的已經掛載設備中只看到了sda1、3和5。
為什么說sda5是第一個邏輯分區,請看下圖
mount -a
依據配置文件/etc/fstab的內容,自動掛載
打開/etc/fstab文件,有以下內容:
雖然看不懂特別多,但大致意思是能看明白的,對吧。這就和我們之前查到的已經掛載的設備聯接上了。
只要執行mount -a就可以根據/etc/fstab內容實現自動掛載。
** 2. 掛載命令格式**
mount [-t 文件系統] [-o 特殊選項] 設備文件名 掛載點
選項:
-t 文件系統:加入文件系統類型來指定掛載的類型,可以ext3、ext4(centos 6+)、iso9660(光盤的默認文件系統)等文件系統
-o 特殊選項:可以指定掛載的額外選項
特殊選項:
做個實驗,測試exec/noexec選項:
使用vi命令創建一個hello.sh文件
關于vi,參考:vi/vim基本使用方法假如我會寫腳本了,寫了個hello world,每個程序員的第一步,首先向世界打個招呼_
#!/bin/bash
//是指此腳本使用/bin/bash來解釋執行,#!是特殊的表示符,其后面根的是此解釋此腳本的shell的路徑。
-
切換到home目錄,可以看到新創建的hello.sh文件:
Paste_Image.png -
給hello.sh設置執行權限 chmod 755 hello.sh,發現權限的確增加了x,并且文件名稱變成鮮明的綠色~
Paste_Image.png -
直接輸入它的路徑,就可以直接執行文件中腳本,so輸出了可愛可親的,“hello world”,我說hello,記得給我回world~哈哈
Paste_Image.png -
重點來了,對/home目錄執行了重新掛載并不允許執行其內部的可執行文件的特殊選項,直接導致我們剛才新建的hello.sh文件,無法打開,因為木有權限了大門都鎖上了,門里的小盒子還能打開嗎?當然是不行的!當然對root用戶是有辦法打開的,但現在重點不再此哦~
Paste_Image.png -
這樣太危險了,還是恢復會來吧~
Paste_Image.png
** 3. 掛載光盤**
mkdir /mnt/cdrom
建立掛載點
mount -t iso9660 /dev/cdrom /mnt/cdrom/
掛載光盤
or
mount /dev/sr0 /mnt/cdrom/
系統默認知道/dev/sr0是光盤,所以文件系統iso9660也可以省略。
/dev/cdrom是/dev/sr0的軟鏈接,建議寫/dev/sr0,因為軟鏈接需要系統完全啟動才生效,如果遇到故障,為了保險還是使用/dev/sr0更好。
出現一行提示,并不是報錯!因為設備掛載后默認是rw權限,但光盤是不能寫入的,所以只有讀權限。
切換到掛載點,查看是否有文件:
** 4. 卸載命令**
umount 設備文件名或掛載點
** 5. 掛載U盤**
fdisk -l
查看U盤設備文件名
mount -t vfat /dev/sdb1 /mnt/usb/
掛載U盤
vfat 文件系統fat32
/dev/sdb1 不是固定的,需要fdisk -l查到U盤的設備文件名才能確定
注意:Linux默認是不支持NTFS文件系統的。
掛載命令用戶登錄查看和用戶交互命令
- 查看登錄用戶信息
w [用戶名]
不寫用戶名,代表查看當前登錄的所有用戶信息。
寫了用戶名,只查看指定的這個用戶信息
命令輸出:
* USER:登錄的用戶
* TTY:登陸終端
* FROM:從哪個IP地址登錄
* LOGIN@:登錄時間
* IDLE:用戶閑置時間
JCPU:指的是所有和該終端連接的所有進程占用時間。這個時間里并不包括過去的后臺作業時間,但卻包括當前正在運行的后臺作業所占用時間。
* PCPU:指當前進程所占用時間
* WHAT:當前正在運行的命令
who
命令輸出:
* 登錄的用戶
* 登陸終端
* 登錄時間
* 從哪個IP地址登錄
- 查看當前登錄和過去登錄的用戶信息
last
last命令默認讀取/var/log/wtmp文件數據
命令輸出:
* 登錄的用戶
* 登陸終端
* 登陸IP
* 登錄時間
* 退出時間(在線時間)
這個數據很長,截個開頭意思意思。這個日志還是很重要的,可以查看服務器是否被入侵。
- 查看所有用戶的最后依次登陸時間
lastlog
last命令默認讀取/var/log/lastlog文件內容
命令輸出:
* 登錄的用戶
* 登陸終端
* 登陸IP
* 最后一次登錄時間