經常使用系統工做命令

echo命令用於在終端顯示字符串或輸出變量提取後的值,格式爲:「echo [字符串 | $變量]」。html

將指定字符串輸出到終端屏幕:linux

[root@linuxprobe ~]# echo Linuxprobe.Com
Linuxprobe.Com

使用$變量的方式提取變量值並輸出到屏幕:緩存

[root@linuxprobe ~]# echo $SHELL
/bin/bash

date命令用於顯示及設置系統的時間或日期,格式爲:"date [選項] [+指定的格式]"。性能優化

強大的date命令只需鍵入以"+"號開頭的參數便可按照指定格式來輸出系統的時間或日期,這樣平常工做時我們即可以將打包數據的備份命令與指定格式輸出的時間信息結合到一塊兒,使得我們能夠更加便捷的區分每一個文件的備份時間啦,date命令常見的格式以下:bash

參數 做用
%t 跳格[TAB鍵]
%H 小時(00-23)
%I 小時(01-12)
%M 分鐘(00-59)
%S 秒(00-60)
%X 至關於%H:%M:%S
%Z 顯示時區
%p 顯示本地AM或PM
%A 星期幾 (Sunday-Saturday)
%a 星期幾 (Sun-Sat)
%B 完整月份 (January-December)
%b 縮寫月份 (Jan-Dec)
%d 日(01-31)
%j 一年中的第幾天(001-366)
%m 月份(01-12)
%Y 完整的年份


按照默認的格式查看當前的系統時間:網絡

[root@linuxprobe ~]# date
Mon Aug 24 16:11:23 CST 2016

按照"年-月-日 小時:分鐘:秒"的格式查看當前的系統時間:app

[root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
2016-08-24 16:29:12

設置當前的系統時間爲2016年9月1日8點30分:ssh

[root@linuxprobe ~]# date -s "20160901 8:30:00"
Tue Sep 1 08:30:00 CST 2016

再次按照默認的格式查看當前的系統時間:ide

[root@linuxprobe ~]# date
Tue Sep 1 08:30:01 CST 2016

查看今天是一年中的第幾天:性能

[root@linuxprobe ~]# date "+%j"
245

reboot命令用於重啓系統,格式爲:"reboot"。

重啓計算機這種操做會涉及到對硬件資源的管理權限,所以默認只能使用root用戶來重啓您的電腦:

[root@linuxprobe ~]# reboot

poweroff命令用於關閉系統,格式爲:"poweroff"。

關機命令也同理,默認只有root用戶才能夠關閉您的電腦:

[root@linuxprobe ~]# poweroff

wget命令用於在終端中下載網絡文件,格式爲:「wget [參數] 下載地址」。

若是這是您在第一次讀《Linux就該這麼學》這本書而且暫時尚未對Linux系統的管理經驗,那麼切記不要急於求成,此次只須要看下wget命令的演示過程便可,我們將在後面的章節中逐步學習完Linux系統的管理方法,等您學習會了網卡的配置方法後再回來作這個實驗吧,從本站的資源庫中下載RHEL7系統鏡像:

參數 做用
-b 後臺下載模式。
-O 下載到指定目錄。
-t 最大嘗試次數。
-c 斷點續傳
-p 下載頁面內全部資源,包括圖片、視頻等。
-r 遞歸下載


[root@linuxprobe ~]# wget http://down.linuxprobe.com/Tools/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
--2016-08-24 18:25:24-- http://down.linuxprobe.com/Tools/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
Resolving www.linuxprobe.com... 106.185.25.197
Connecting to www.linuxprobe.com|106.185.25.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3743416320 (3.5G) [application/octet-stream]
Saving to: 'RHEL-server-7.0-x86_64-LinuxProbe.Com.iso'
100%[====================================>] 3,743,416,320 1.82M/in 32m 27s
2016-08-24 18:57:51 (1.83 MB/s) - 'RHEL-server-7.0-x86_64-LinuxProbe.Com.iso' saved [3743416320/3743416320]

遞歸下載《Linux就該這麼學》的整站頁面與全部資料,下載完成後會自動保存到當前目錄中名字爲"www.linuxprobe.com"的目錄中:

[root@linuxprobe ~]# wget -r -p http://www.linuxprobe.com
--2016-08-24 19:31:41-- http://www.linuxprobe.com/
Resolving www.linuxprobe.com... 106.185.25.197
Connecting to www.linuxprobe.com|106.185.25.197|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `www.linuxprobe.com/index.html'
………………省略下載過程………………

ps命令用於查看系統中的進程狀態,格式爲:「ps [參數]」,一樣搭配的參數以下:

當您第一次執行這個命令時估計要驚呆下,這麼多輸出值怎麼看的過來?其實日常我們會將ps命令與管道符來結合使用,用於來抓取到某個指定服務進程所對應的PID號碼,而常見的ps命令參數包括有:

參數 做用
-a 顯示全部的進程(包括其餘用戶的)
-u 用戶以及其餘詳細信息
-x 顯示沒有控制終端的進程


Linux系統中時刻運行着許許多多的進程,若是可以合理的管理它們,絕對有益於系統的性能優化,Linux系統中進程最多見的5種不一樣的狀態是運行、中斷、不可中斷、僵死與中止,它們的特性分別是:

R(運行):正在運行或在運行隊列中等待。

S(中斷):休眠中, 在等待某個條件的造成或接受到信號。

D(不可中斷):收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生。

Z:(僵死):進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放。

T:(中止):進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後中止運行。

當執行"ps aux"命令後一般會看到下面格式的進程狀態,表格中只是列舉了部分輸出值,並且正常的輸出值中不包括中文註釋部分:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
進程的全部者 進程ID號 運算器佔用率 內存佔用率 虛擬內存使用量(單位是KB) 佔用的固定內存量(單位是KB) 所在終端 進程狀態 被啓動的時間 實際使用CPU的時間 命令名稱與參數
root 1 0.0 0.4 53684 7628 ? Ss 07:22 0:02 /usr/lib/systemd/systemd
root 2 0.0 0.0 0 0 ? S 07:22 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:22 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 07:22 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S 07:22 0:00 [migration/0]


top命令用於動態的監視進程活動與系統負載等信息,格式爲:「top」。

這個top命令可真的是太厲害了,徹底能夠比喻成是「強化版的Windows任務管理器」,運行界面如圖2-5所示:

第2章 新手必須掌握的Linux命令。第2章 新手必須掌握的Linux命令。

圖2-5 top命令的執行界面

前面的五行爲系統總體的統計信息,下面我們來逐行的講解:

1行:系統時間,運行時間,登錄用戶數,系統負載(分別爲1分鐘、5分鐘、15分鐘的平均值)。

2行:進程總數,運行中的,睡眠中的,中止的,僵死的。

3行:用戶佔用資源,系統內核佔用資源,改變過優先級的進程,空閒的資源,等待輸入輸出的時間。

此行數據均爲CPU數據並以百分比格式顯示,例如"99.2 id"意味着有99.2%的CPU資源正在空閒中。

4行:物理內存總量,使用量,空閒量,做爲內核緩存的內存量。

5行:虛擬內存總量,使用量,空閒量,已被提早加載的內存數據。

pidof命令用於查詢某個指定服務的進程PID號碼值,格式爲:「pidof [參數] [服務名稱]」。

PID值是區別每一個進程的號碼,在不一樣的計算機上運行相同的服務程序都不多會得到一樣值的PID號碼,例如查詢本機sshd服務程序的PID號碼值:

[root@linuxprobe ~]# pidof sshd
2156

kill命令用於終止某個指定PID號碼的進程,格式爲:「kill [參數] [進程PID號]」。

我們來動手將上面pidof命令查詢到的PID號碼給終止掉吧,這邊做用等同於將sshd服務強制中止。

[root@linuxprobe ~]# kill 2156

killall命令用於終止某個指定名稱的服務所對應的所有進程,格式爲:「killall [參數] [進程名稱]」。

通常大型軟件的服務程序一般都會有數個進程協同爲其提供服務,那麼若是逐個去結束PID號碼又實在麻煩,所以即可以使用killall命令來批量結束某個服務程序帶有的所有進程,例如結束掉網絡服務的所有進程,下面我們以httpd服務程序爲例,默認您的RHEL7系統未安裝它,因此此時只需看操做過程和結果便可:

[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]#

平時在系統終端中執行一個命令後若是想當即的中止它,您能夠同時按下系統組合鍵"Ctrl+c",這樣命令的進程將會當即被終止,是比較經常使用的方法之一。或者有些命令在執行時會不斷的在屏幕上輸出信息,影響到我們繼續輸入命令了,此時即可以在執行這條命令前,將這段命令的最後面添加個"&"符號,那麼從一開始執行該命令就會是在後臺執行。

相關文章
相關標籤/搜索