天天看點

Linux指令入門-系統管理體驗簡介

體驗簡介

本場景将

提供一台配置了Aliyun Linux 2的ECS執行個體(雲伺服器)

。您可以參考本教程學習Linux系統中的文本編輯工具Vim以及文本處理指令。

涉及以下雲産品和服務

[雲伺服器ECS]

雲伺服器(Elastic Compute Service,簡稱ECS)是阿裡雲提供的性能卓越、穩定可靠、彈性擴充的IaaS(Infrastructure as a Service)級别雲計算服務。雲伺服器ECS免去了您采購IT硬體的前期準備,讓您像使用水、電、天然氣等公共資源一樣便捷、高效地使用伺服器,實作計算資源的即開即用和彈性伸縮。阿裡雲ECS持續提供創新型伺服器,解決多種業務需求,助力您的業務發展。

[Aliyun Linux 2]

Aliyun Linux 2是阿裡雲推出的下一代 Linux 發行版,它為雲上應用程式環境提供 Linux 社群的最新增強功能,在提供雲上最佳使用者體驗的同時,也針對阿裡雲基礎設施做了深度的優化。Aliyun Linux 2 OS 鏡像可以運作在阿裡雲全規格系列 VM 執行個體上,包括彈性裸金屬伺服器 (神龍)。

目錄一:常用系統工作指令

echo

指令描述:echo指令用于在終端輸出字元串或變量提取後的值。

指令格式:echo [字元串 | $變量]。

指令用法示例:

顯示普通字元串

echo "Hello World"           

顯示變量

首先在shell環境中定義一個臨時變量name。

export name="Tom"           

使用echo指令将變量name的值顯示到終端。

echo $name           

輸出結果:

Linux指令入門-系統管理體驗簡介

顯示結果定向至檔案

以下指令會将文本This is a test text.輸出重定向到檔案test.txt中,如果檔案已存在,将會覆寫檔案内容,如果不存在則建立。其中>符号表示輸出重定向。

echo "This is a test text." > test.txt           

如果您希望将文本追加到檔案内容最後,而不是覆寫它,請使用>>輸出追加重定向符号。

顯示指令執行結果

以下指令将會在終端顯示目前的工作路徑。

echo `pwd`           

注意:pwd指令是用一對反引号(``)包裹,而不是一對單引号('')。

使用$(command)形式可以達到相同效果。

echo $(pwd)           
Linux指令入門-系統管理體驗簡介

date

指令描述:date指令用于顯示和設定系統的時間和日期。

指令格式:date [選項] [+格式]。

其中,時間格式的部分控制字元解釋如下:

字元 說明
%a 當地時間的星期名縮寫(例如: 日,代表星期日)
%A 當地時間的星期名全稱 (例如:星期日)
%b 當地時間的月名縮寫 (例如:一,代表一月)
%B 當地時間的月名全稱 (例如:一月)
%c 當地時間的日期和時間 (例如:2005年3月3日 星期四 23:05:25)
%C 世紀;比如 %Y,通常為省略目前年份的後兩位數字(例如:20)
%d 按月計的日期(例如:01)
%D 按月計的日期;等于%m/%d/%y
%F 完整日期格式,等價于 %Y-%m-%d
%j 按年計的日期(001-366)
%p
%r 當地時間下的 12 小時時鐘時間 (例如:11:11:04 下午)
%R 24 小時時間的時和分,等價于 %H:%M
%s 自UTC 時間 1970-01-01 00:00:00 以來所經過的秒數
%T 時間,等于%H:%M:%S
%U 一年中的第幾周,以周日為每星期第一天(00-53)
%x 當地時間下的日期描述 (例如:12/31/99)
%X 當地時間下的時間描述 (例如:23:13:48)
%w 一星期中的第幾日(0-6),0 代表周一
%W 一年中的第幾周,以周一為每星期第一天(00-53)

按照預設格式檢視目前系統時間

date           
Linux指令入門-系統管理體驗簡介

按照指定格式檢視目前系統時間

date "+%Y-%m-%d %H:%M:%S"           
Linux指令入門-系統管理體驗簡介

檢視今天是當年中的第幾天

date "+%j"           
Linux指令入門-系統管理體驗簡介

将系統的目前時間設定為2020年02月20日20點20分20秒

date -s "20200220 20:20:20"           
Linux指令入門-系統管理體驗簡介

校正系統時間,與網絡時間同步

a. 安裝ntp校時工具
           
yum -y install ntp           
b. 用ntpdate從時間伺服器更新時間
           
ntpdate time.nist.gov           
輸出結果:           
Linux指令入門-系統管理體驗簡介

wget

指令描述:在終端中下載下傳檔案。

指令格式:wget [參數] 下載下傳位址。

參數說明:

參數 作用
-b 背景下載下傳
-P 下載下傳到指定目錄
-t 最大重試次數
-c 斷點續傳
-p 下載下傳頁面内所有資源,包括圖檔、視訊等
-r 遞歸下載下傳

指令使用示例:

下載下傳一張圖檔到路徑/root/static/img/中,-p參數預設值為目前路徑,如果指定路徑不存在會自動建立。

wget -P /root/static/img/ http://img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png           
Linux指令入門-系統管理體驗簡介

ps

指令描述:ps指令用于檢視系統中的程序狀态。

指令格式:ps [參數]。

指令參數說明:

-a 顯示現行終端機下的所有程式,包括其他使用者的程式
-u 以使用者為主的格式來顯示程式狀況
-x 顯示沒有控制終端的程序,同時顯示各個指令的具體路徑
-e 列出程式時,顯示每個程式所使用的環境變量
-f 顯示目前所有的程序
指定終端機編号,并列出屬于該終端機的程式的狀況
ps -ef | grep sshd           
Linux指令入門-系統管理體驗簡介

top

指令描述:top指令動态地監視程序活動與系統負載等資訊。

top           
Linux指令入門-系統管理體驗簡介

指令輸出參數解釋:

以上指令輸出視圖中分為兩個區域,一個統計資訊區,一個程序資訊區。

統計資訊區

  • 第一行資訊依次為:系統時間、運作時間、登入終端數、系統負載(三個數值分别為1分鐘、5分鐘、15分鐘内的平均值,數值越小意味着負載越低)。
  • 第二行資訊依次為:程序總數、運作中的程序數、睡眠中的程序數、停止的程序數、僵死的程序數。
  • 第三行資訊依次為:使用者占用資源百分比、系統核心占用資源百分比、改變過優先級的程序資源百分比、空閑的資源百分比等。
  • 第四行資訊依次為:實體記憶體總量、記憶體使用量、記憶體空閑量、作為核心緩存的記憶體量。
  • 第五行資訊依次為:虛拟記憶體總量、虛拟記憶體使用量、虛拟記憶體空閑量、預加載記憶體量。

程序資訊區

列名 含義
PID 程序ID
USER 程序所有者的使用者名
PR 程序優先級
NI nice值。負值表示高優先級,正值表示低優先級
VIRT 程序使用的虛拟記憶體總量,機關kb
RES 程序使用的、未被換出的實體記憶體大小,機關kb
SHR 共享記憶體大小,機關kb
S 程序狀态 D:不可中斷的睡眠狀态 R:正在運作 S:睡眠 T:停止 Z:僵屍程序
%CPU 上次更新到現在的CPU時間占用百分比
%MEM 程序使用的實體記憶體百分比
TIME+ 程序使用的CPU時間總計,機關1/100秒
COMMAND 指令名

按 q 鍵退出監控頁面。

pidof

指令描述:pidof指令用于查詢指定服務程序的PID值。

指令格式:pidof [服務名稱]。

-s 僅傳回一個程序号
隻顯示運作在root目錄下的程序,這個選項隻對root使用者有效
-o 忽略指定程序号的程序
顯示由腳本開啟的程序

查詢出crond服務下的所有程序ID。

pidof crond           
Linux指令入門-系統管理體驗簡介

kill

指令描述:kill指令用于終止指定PID的服務程序。

kill可将指定的資訊送至程式。預設的資訊為SIGTERM(15),可将指定程式終止。若仍無法終止該程式,可使用SIGKILL(9)資訊嘗試強制删除程式。

指令格式:kill [參數] [程序PID]。

删除pid為1247的程序。

kill -9 1247           

killall

指令描述:killall指令用于終止指定名稱的服務對應的全部程序。

指令格式:killall [程序名稱]。

删除crond服務下的所有程序。

killall crond           

reboot

指令描述:reboot指令用來重新開機系統。

指令格式:reboot [-n] [-w] [-d] [-f] [-i]。

-n:儲存資料後再重新啟動系統。

-w:僅做測試,并不是真的将系統重新開機,隻會把重新開機的資料寫入記錄檔案/var/log/wtmp。

-d:重新啟動時不把資料寫入記錄檔案/var/tmp/wtmp。

-f:強制重新開機,不調用shutdown指令的功能。

-i:關閉網絡設定之後再重新啟動系統。

reboot           

poweroff

指令描述:poweroff指令用來關閉系統。

poweroff           

目錄二:系統狀态檢測指令

ifconfig

指令描述:ifconfig指令用于擷取網卡配置與網絡狀态等資訊。

指令示例:

Linux指令入門-系統管理體驗簡介

指令輸出說明:

  • 第一部分的第一行顯示網卡狀态資訊。
    - eth0表示第一塊網卡。
    - UP代表網卡開啟狀态。
    - RUNNING代表網卡的網線被接上。
    - MULTICAST表示支援多點傳播。           
  • 第二行顯示網卡的網絡資訊。
    - inet(IP位址):172.16.132.195。
    - broadcast(廣播位址):172.16.143.255。
    - netmask(掩碼位址):255.255.240.0。
    - RX表示接收資料包的情況,TX表示發送資料包的情況。
    - lo表示主機的回環網卡,是一種特殊的網絡接口,不與任何實際裝置連接配接,而是完全由軟體實作。與回環位址(127.0.0.0/8 或           
    ::1/128)不同,回環網卡對系統顯示為一塊硬體。任何發送到該網卡上的資料都将立刻被同一網卡接收到。

uname

指令描述:uname指令用于檢視系統核心與系統版本等資訊。

指令文法:uname -amnrsv[--version]

顯示系統資訊。

uname -a           

指令輸出結果:

Linux指令入門-系統管理體驗簡介

顯示目前系統的硬體架構。

uname -i           
Linux指令入門-系統管理體驗簡介

顯示作業系統發行編号。

uname -r           
Linux指令入門-系統管理體驗簡介

顯示作業系統名稱。

uname -s           
Linux指令入門-系統管理體驗簡介

顯示主機名稱。

uname -n           
Linux指令入門-系統管理體驗簡介

uptime

指令描述:uptime 用于檢視系統的負載資訊。

Linux指令入門-系統管理體驗簡介
負載資訊 指令輸出值
目前伺服器時間 14:20:27
目前伺服器運作時長 2 min
目前使用者數 2 users
目前負載情況 load average: 0.03, 0.04, 0.02(分别取1min,5min,15min的均值)

free

指令描述:free用于顯示目前系統中記憶體的使用量資訊。

指令文法:free -bkmotV。

以Byte為機關顯示記憶體使用情況
-k 以KB為機關顯示記憶體使用情況
-m 以MB為機關顯示記憶體使用情況
-h 以合适的機關顯示記憶體使用情況,最大為三位數,自動計算對應的機關值。
Linux指令入門-系統管理體驗簡介
total 實體記憶體總數
used 已經使用的記憶體數
空間的記憶體數
share 多個程序共享的記憶體總額
buff/cache 應用使用記憶體數
available 可用的記憶體數
Swap 虛拟記憶體(阿裡雲ECS伺服器預設不開啟虛拟記憶體)

who

指令描述:who 指令顯示關于目前在本地系統上的所有使用者的資訊。

  • 顯示目前登入系統的使用者
    Linux指令入門-系統管理體驗簡介
  • 顯示使用者登入來源
Linux指令入門-系統管理體驗簡介
  • 隻顯示目前使用者
Linux指令入門-系統管理體驗簡介
  • 精簡模式顯示
Linux指令入門-系統管理體驗簡介

last

指令描述: last 指令用于顯示使用者最近登入資訊。

Linux指令入門-系統管理體驗簡介

由于這些資訊都是以日志檔案的形式儲存在系統中,黑客可以很容易地對内容進行篡改,是以該指令輸出的資訊并不能作為伺服器是否被入侵的依據。

history

指令描述:history指令用于顯示曆史執行過的指令。

bash預設記錄1000條執行過的曆史指令,被記錄在~/.bash_history檔案中。

  • 顯示最新10條執行過的指令。
Linux指令入門-系統管理體驗簡介

清除曆史記錄。

history -c           

繼續閱讀