高級指令
1、hostname 指令
- 作用: 操作(讀取|操作)服務器的主機名
- 語法1: # hostname (輸出完整的主機名)
- 語法2: # hostname -f (輸出當前主機中的FQDN)
FQDN:(Fully Qualified Domain Name)全限定域名:同時帶有主機名和域名的名稱。
2、id 指令
- 作用: 查看用戶的一些基本信息(用戶id、用戶組id、附加組id…)
- 語法1: # id
默認指定顯示當前用戶的信息 - 語法2: # id 用戶名
顯示指定用戶的id (# id marron)
- 驗證
# cat /etc/passwd (查看用戶id和組id)
# cat /etc/group (查看gid)
3、whomi 指令
- 作用: 顯示當前登錄的用戶名
- 語法: # whoami
一般用于shell腳本,用于獲取當前操作的用戶,方便記錄日志
4、ps-ef 指令 (重點)
-
作用1: 查看服務器的進程信息
-
語法1: # ps
-
作用2:
-
語法2: # ps -ef
參數含義:
-e: 等價于"-A" 表示列出全部的進程
-f: 顯示全部的列(顯示全字段)
UID: 執行該進程的用戶id
PID: 進程id
PPID: 該進程的父級進程id, 如果一個程序的父級進程找不到,該程序的進程稱之為僵尸進程
C: cpu占用率,其形式是百分數
STIME: 該進程的啟動時間
TTY: 終端設備, "?"表示該進程并不是由終端發起
TIME: 進程的執行時間
CMD: 該進程的名稱或者對應的路徑 -
栗子: 得到所有進程中名稱為gnome-panel的進程
# ps -ef | grep gnome-pane
注: 至少有1個進程(該進程是搜索時產生的進程)
- 栗子: 查看火狐瀏覽器的進程
# ps -ef | grep firefox
注: 先查看一次(未打開火狐瀏覽器),然后再查看一次(打開火狐瀏覽器)
5、top 指令
- 作用: 查看服務器的進程占的資源
- 語法: top
- 退出:
按下q鍵 - 參數含義:
PID: 進程id
USER: 該進程對應的用戶
PR: 優先級
VIRT: 虛擬內存 (申請的內存)
RES: 常駐內存 (實際使用的內存)
SHR: 共享內存 (和其他進程共同使用的內存)
一個進程實際使用的內存 = 常駐內存(RES) - 共享內存 (SHR)
S: 表示進程的狀態 (sleeping, S表示睡眠, R表示運行)
%CPU: 表示內存的占用百分比
TIME+: 執行的時間
COMMAND: 進程的名稱或者路徑 - 運行top后的快捷鍵
M: 表示將結果安裝內存從高到低降序排列
P: 表示將結果按照CPU使用率從高到低降序排列
1: 當服務器擁有多個cpu的時候,可以使用"1"快捷鍵來切換是否展示顯示各個CPU的詳細信息
6、du -sh 指令
-
作用: 查看目錄的真實大小
-
語法: # du -sh 目錄路徑
-
選項含義:
-s: summaries,只顯示匯總的大小
-h: 表示以較高可讀性的形式進行顯示 -
栗子1: 統計"/root/marron111"目錄的的實際大小
# du -sh /root/marron111
- 栗子2: 統計"/etc" 目錄的實際大小
# du -sh /etc
7、find 指令
-
作用: 用于查找文件
-
語法: # find 路徑范圍 選項 選項的值
-
選項:
-name: 按照文檔名稱進行搜索(支持模糊搜索)
-type: 按照文檔的類型進行搜索
文檔類型: "-"表示文件(在使用 find 的時候需要用f來替換),"d"表示文件夾 -
栗子1: 使用 find 來搜索 httpd.conf
# find / -name httpd.conf
- 栗子2: 搜索 /etc 目錄下所有的conf后綴文件
# find /etc -name *.conf
- 栗子3: 統計 /etc 目錄下所有conf后綴文件的數量
# find /etc -name *.conf | wc -l
- 栗子4: 統計 /etc/sane.d/ 目錄下所有文件的數量
# find /etc/sane.d -type f | wc -l
注: find 可以搜到隱藏文件
8、service 指令(重點)
-
作用: 用于控制軟件的 啟動/停止/重啟
-
語法: # service 服務名 start/stop/restart
-
栗子: 需要啟動本機安裝的 Apache (網站服務器軟件), 其服務名 httpd
# service httpd start
- 栗子2: 查詢 Apache 開啟的進程
# ps -ef | grep httpd
此處的apache的主進程 id為 3299, 其余的除3311外, 都是3299的子進程
9、kill 指令(重點)
- 作用: 殺死進程
當遇到僵尸進程或者處于某些原因需要關閉進程的時候 - 語法: # kill 進程ID(PID)
- 栗子: 關掉 Apache進程
# ps -ef | grep httpd (找到所有apache進程)
# kill PID (進程ID,第二列的數字)
- 語法2: # killall 進程名稱 (不需要提前通過ps去查詢)
- 作用2: 殺掉該名稱的進程
10、ifconfig (重點)
- 作用: 用于操作網卡相關的指令
- 語法: #ifconfig (獲取網卡信息)
- 參數說明:
eth0: 是對外的網絡地址
lo: 是本地的回環網絡地址
inet addr: 后面緊跟的是 ipv4地址
11、reboot 指令
- 作用: 重新啟動計算機
- 語法1: # reboot
- 語法2: # reboot -w (模擬重新,但是不重啟,只寫關機與開機的日志信息)
12、shutdown 指令
- 作用: 關機 (慎用)
- 語法1: # shutdown -h now (或 #shutdown -h 20:38 “關機提升”)
括號里面的表示指定時間關機 - 栗子: 指定時間關機,查看關機提示
# shutdown -h 20:45 "please save your files"
注:
使用ctrl +c 取消
在centOS 7.0 以后, 可以使用 shutdown -c 取消
13、uptime 指令
- 作用: 輸出計算機的持續在線時間 (從開機以來到現在運行的時間)
- 語法: # uptime
14、uname 指令
- 作用: 獲取計算機操作系統相關信息
- 語法: # uname (獲取操作系統的類型)
- 語法2: # uname -a (獲取全部的內容)
- 參數說明:
2.6.32-754.el6.x86_64: 內核的版本
SMP Tue Jun 19 21:16:04 UTC 2018: 系統發行的時間
GUN/Linux: 代表加入了開源GUN計劃
15、netstat -tnlp 指令
- 作用: 查看網絡的連接狀態
- 語法:# netstat -tnlp
- 選項說明:
-t: 表示列出 tcp 協議的連接
-n: 表示將域名轉換成ip地址,同時將協議名轉換成端口號,來顯示輸出
-l: 過濾出"state(狀態)"列中,值為LISTEN(監聽)的連接
-p: 發起連接的進程id和進程名稱
16、man 指令
- 作用: manual, 手冊 (包含了 Linux 中全部命令手冊, 英文)
- 語法: # man 命令 (退出 Q)
- 栗子: 查詢cp指令的用法
# man cp