常用系统工作命令
echo命令用于在終端顯示字符串或輸出變量提取后的值,格式為:“echo [字符串 | $變量]”。
將指定字符串輸出到終端屏幕:
[root@linuxprobe?~]#?echo?Linuxprobe.Com Linuxprobe.Com使用$變量的方式提取變量值并輸出到屏幕:
[root@linuxprobe?~]#?echo?$SHELL /bin/bashdate命令用于顯示及設置系統的時間或日期,格式為:"date [選項] [+指定的格式]"。
強大的date命令只需鍵入以"+"號開頭的參數即可按照指定格式來輸出系統的時間或日期,這樣日常工作時咱們便可以將打包數據的備份命令與指定格式輸出的時間信息結合到一起,使得咱們可以更加便捷的區分每個文件的備份時間啦,date命令常見的格式如下:
| 參數 | 作用 |
| %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?"+%Y-%m-%d?%H:%M:%S" 2016-08-24?16:29:12設置當前的系統時間為2016年9月1日8點30分:
[root@linuxprobe?~]#?date?-s?"20160901?8:30:00" Tue?Sep?1?08:30:00?CST?2016再次按照默認的格式查看當前的系統時間:
[root@linuxprobe?~]#?date Tue?Sep?1?08:30:01?CST?2016查看今天是一年中的第幾天:
[root@linuxprobe?~]#?date?"+%j" 245reboot命令用于重啟系統,格式為:"reboot"。
重啟計算機這種操作會涉及到對硬件資源的管理權限,因此默認只能使用root用戶來重啟您的電腦:
[root@linuxprobe?~]#?rebootpoweroff命令用于關閉系統,格式為:"poweroff"。
關機命令也同理,默認只有root用戶才可以關閉您的電腦:
[root@linuxprobe?~]#?poweroffwget命令用于在終端中下載網絡文件,格式為:“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/s?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-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 2156kill命令用于終止某個指定PID號碼的進程,格式為:“kill [參數] [進程PID號]”。
咱們來動手將上面pidof命令查詢到的PID號碼給終止掉吧,這邊作用等同于將sshd服務強制停止。
[root@linuxprobe?~]#?kill?2156killall命令用于終止某個指定名稱的服務所對應的全部進程,格式為:“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",這樣命令的進程將會立即被終止,是比較常用的方法之一。或者有些命令在執行時會不斷的在屏幕上輸出信息,影響到咱們繼續輸入命令了,此時便可以在執行這條命令前,將這段命令的最后面添加個"&"符號,那么從一開始執行該命令就會是在后臺執行。
轉載于:https://blog.51cto.com/20169999/1867182
總結
- 上一篇: 【leetcode】42. Trappi
- 下一篇: linux系统开发环境配置