2 系統(tǒng)與設(shè)置命令
在前面的兩個(gè)章節(jié)中职辨,我們主要介紹了Linux基本知識(shí)和虛擬機(jī)的安裝,從當(dāng)前章節(jié)開始,我們一起學(xué)習(xí)下Linux的基本命令桃漾,在當(dāng)前章節(jié),我們先簡(jiǎn)單的學(xué)習(xí)下一些系統(tǒng)的基本命令拟逮,慢慢的由淺入深撬统,在后面的章節(jié)中我們將學(xué)習(xí)其他的命令比如文件操作、備份壓縮等
2.1 學(xué)習(xí)命令的原因
命令我們可以理解成在Windows中我們常常為了查看ip輸入的ipconfig敦迄,在Linux中也有很多的命令恋追,比如操作目錄、文件罚屋、網(wǎng)絡(luò)苦囱、磁盤等等命令
Linux剛面世時(shí)并沒有圖形界面, 所有的操作全靠命令完成, 如 磁盤操作、文件存取脾猛、目錄操作撕彤、進(jìn)程管理、文件權(quán)限 設(shè)定等
-
在職場(chǎng)中猛拴,大量的 服務(wù)器維護(hù)工作 都是在 遠(yuǎn)程 通過SSH客戶端 來完成的羹铅, 并沒有圖形界面, 所有的維護(hù)工作都需要通過命令來完成
在職場(chǎng)中愉昆, 作為后端程序員或者運(yùn)維睦裳, 必須要或多或少的掌握一些Linux常用的終端命令 Linux發(fā)行版本的命令大概有200多個(gè), 但是常用的命令只有幾十個(gè)而已
總結(jié)
學(xué)習(xí)終端命令的技巧:
- 不需要死記硬背撼唾, 對(duì)于常用命令廉邑, 記住語(yǔ)法是關(guān)鍵,在用的時(shí)候去查下參數(shù)選項(xiàng)倒谷,有的很常用的命令蛛蒙,用的多自然就記住了
- 不要嘗試一次學(xué)會(huì)所有的命令, 有些命令是非常不常用的渤愁,臨時(shí)遇到牵祟,就去根據(jù)語(yǔ)法找參數(shù)選項(xiàng)
2.2 Linux 用戶和用戶組管理
2.2.1 Linux賬號(hào)管理
從當(dāng)前章節(jié)開始,我們正式進(jìn)入CentOS的學(xué)習(xí)抖格,我們先從簡(jiǎn)單的命令開始诺苹,比如操作賬號(hào)咕晋、用戶組、系統(tǒng)管理等收奔。
在實(shí)際使用場(chǎng)景中掌呜,用戶賬號(hào)的管理主要涉及到用戶賬號(hào)的添加、修改和刪除操作坪哄。
現(xiàn)在质蕉,我們就通過命令的方式添加用戶賬號(hào)(賬號(hào)名字可以自定義,但是是要符合書寫規(guī)范)
在操作前翩肌,確保我們的SecureCRT成功連接到了虛擬機(jī).
下面的章節(jié)不在贅述SecureCRT模暗,默認(rèn)已經(jīng)成功連接。
1) 添加用戶
我們?cè)赪indows創(chuàng)建賬號(hào)主要是是控制面板--用戶賬戶--創(chuàng)建一個(gè)新賬戶念祭,這是在Windows創(chuàng)建賬戶的流程兑宇,而在Linux中,我們可以通過命令的方式進(jìn)行創(chuàng)建賬戶
使用者權(quán)限:管理員用戶
useradd 選項(xiàng) 用戶名
參數(shù)說明:
-
選項(xiàng):
- -c comment 指定一段注釋性描述粱坤。
- -d 目錄 指定用戶主目錄隶糕,如果此目錄不存在,則同時(shí)使用-m選項(xiàng)比规,可以創(chuàng)建主目錄。
- -g 用戶組 指定用戶所屬的用戶組拦英。
- -G 用戶組,用戶組 指定用戶所屬的附加組。
- -s Shell文件 指定用戶的登錄Shell悯搔。
- -u 用戶號(hào) 指定用戶的用戶號(hào)照激,如果同時(shí)有-o選項(xiàng),則可以重復(fù)使用其他用戶的標(biāo)識(shí)號(hào)铃拇。
-
用戶名:
指定新賬號(hào)的用戶名(后續(xù)我們可以使用這個(gè)用戶名進(jìn)行系統(tǒng)登錄)钞瀑。
添加用戶czbk(傳智播客的首拼)執(zhí)行
useradd czbk
我們使用useradd命令創(chuàng)建了一個(gè)用戶czbk
useradd 可用來建立用戶帳號(hào)。帳號(hào)建好之后慷荔,再用 passwd 設(shè)定帳號(hào)的密碼雕什。
執(zhí)行如下
由上圖我們發(fā)現(xiàn),我們?cè)谑褂胾seradd新增用戶的時(shí)候显晶,出現(xiàn)了權(quán)限不足贷岸,也就是說我們使用用戶itcast沒有創(chuàng)建用戶的權(quán)限。
我們通過管理員賬號(hào)root進(jìn)行創(chuàng)建磷雇,首先我們從控制臺(tái)中切換到root
su root
在 密碼的地方輸入我們的root密碼【root】即可進(jìn)入到root用戶下偿警。
我們?cè)趓oot下繼續(xù)創(chuàng)建czbk用戶
以下是useradd常用選項(xiàng)
2) 用戶口令
引子:
相當(dāng)于我們?cè)赪indows系統(tǒng)中給個(gè)用戶更改密碼,只是我們?cè)贑entOS中是更改密碼是通過命令完成的唯笙。
用戶管理的一項(xiàng)重要內(nèi)容是用戶口令的管理螟蒸。用戶賬號(hào)剛創(chuàng)建時(shí)沒有口令盒使,但是被系統(tǒng)鎖定,無法使用七嫌,必須為其指定口令后才可以使用
使用者權(quán)限:管理員用戶
指定和修改用戶口令的Shell命令是passwd
少办。超級(jí)用戶可以為自己和其他用戶指定口令,普通用戶只能用它修改自己的口令抄瑟。命令的格式為:
passwd 選項(xiàng) 用戶名
可使用的選項(xiàng):
- -l 鎖定口令凡泣,即禁用賬號(hào)。
- -u 口令解鎖皮假。
- -d 使賬號(hào)無口令鞋拟。
- -f 強(qiáng)迫用戶下次登錄時(shí)修改口令。
設(shè)置當(dāng)前用戶的口令
passwd czbk
此處我們?cè)O(shè)置密碼和itcast賬號(hào)密碼一致惹资,為【Itheima888】
3) 修改用戶
相當(dāng)于我們?cè)赪indows系統(tǒng)中修改一個(gè)用戶贺纲,只是我們?cè)贑entOS中是修改用戶是通過命令完成的。
usermod 命令通過修改系統(tǒng)帳戶文件來修改用戶賬戶信息
修改用戶賬號(hào)就是根據(jù)實(shí)際情況更改用戶的有關(guān)屬性褪测,如用戶號(hào)猴誊、主目錄、用戶組侮措、登錄Shell等懈叹。
使用者權(quán)限:管理員用戶
修改已有用戶的信息使用usermod
命令,其格式如下:
usermod 選項(xiàng) 用戶名
下面命令將用戶czbk用戶名修改成czbk2019
usermod -l czbk2019 czbk
以下是usermod常用選項(xiàng)
4) 刪除用戶
相當(dāng)于我們?cè)赪indows系統(tǒng)中刪除一個(gè)用戶分扎,只是我們?cè)贑entOS中是刪除用戶是通過命令完成的澄成。
假如我們其中一個(gè)用戶的賬號(hào)不再使用,可以從系統(tǒng)中刪除畏吓。刪除用戶賬號(hào)就是要將/etc/passwd等系統(tǒng)文件中的該用戶記錄刪除墨状,必要時(shí)還刪除用戶的主目錄。
使用者權(quán)限:管理員用戶
刪除一個(gè)已有的用戶賬號(hào)使用userdel
命令菲饼,其格式如下:
userdel 選項(xiàng) 用戶名
-f:強(qiáng)制刪除用戶肾砂,即使用戶當(dāng)前已登錄;
-r:刪除用戶的同時(shí),刪除與用戶相關(guān)的所有文件
此命令刪除用戶czbk2019
userdel czbk2019
成功刪除用戶czbk2019
以下是userdel常用選項(xiàng)
2.2.2 Linux用戶組
引子:
為了方便用戶管理, 提出了 組 的概念, 如下圖所示
新增一個(gè)賬戶宏悦,它默認(rèn)屬于自己(賬戶)的組
比如新建賬戶【張三】镐确,那么它默認(rèn)對(duì)應(yīng)的組就是張三
一個(gè)用戶可以有一個(gè)或者多個(gè)組
假如說(如上圖),我們?cè)谄髽I(yè)級(jí)開發(fā)過程中饼煞,我們有多個(gè)組辫塌,其中一個(gè)開發(fā)組對(duì)應(yīng)三個(gè)賬戶,張三派哲、李四臼氨、王五、如果就像上面提到的芭届,一個(gè)用戶默認(rèn)對(duì)應(yīng)一個(gè)組储矩,那么三個(gè)賬戶張三感耙、李四、王五就有了三個(gè)不同的組持隧,如果大家都操做一個(gè)文件即硼,在進(jìn)行權(quán)限分配的時(shí)候,就要對(duì)不同的三個(gè)組進(jìn)行授權(quán)屡拨,顯然這樣是不合理的只酥,因?yàn)樘^繁瑣。
所以呀狼,才有了組(新建組)的概念裂允,我們把張三、李四哥艇、王五統(tǒng)一放到【開發(fā)組】绝编,在對(duì)文件授權(quán)的時(shí)候,我們只對(duì)【開發(fā)組】進(jìn)行授權(quán)由此貌踏,這樣的話【張三十饥、李四、王五】都有相等的權(quán)利操作了祖乳。
1) 增加用戶組
新增一個(gè)用戶組(組名可見名知意逗堵,符合規(guī)范即可),然后將用戶添加到組中
使用者權(quán)限:管理員用戶
groupadd 選項(xiàng) 用戶組
使用的選項(xiàng)有:
- -g GID 指定新用戶組的組標(biāo)識(shí)號(hào)(GID)眷昆。
- -o 一般與-g選項(xiàng)同時(shí)使用蜒秤,表示新用戶組的GID可以與系統(tǒng)已有用戶組的GID相同
新增用戶組czbk-it
groupadd czbk-it
上面的命令向系統(tǒng)中增加了一個(gè)新組czbk-it,新組的組標(biāo)識(shí)號(hào)是在當(dāng)前已有的最大組標(biāo)識(shí)號(hào)的基礎(chǔ)上加1
以下是groupadd常用選項(xiàng)
2) 修改用戶組
使用者權(quán)限:管理員用戶
groupmod 選項(xiàng) 用戶組
常用的選項(xiàng)有:
- -g GID 為用戶組指定新的組標(biāo)識(shí)號(hào)隙赁。
- -o 與-g選項(xiàng)同時(shí)使用垦藏,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同梆暖。
- -n新用戶組 將用戶組的名字改為新名字
groupmod -n czbk-it-2019 czbk-it
上面的命令將組czbk-it的組名修改為czbk-it-2019伞访。
以下是groupmod常用選項(xiàng)
3) 查詢用戶所屬組
在查詢用戶所屬的用戶組前,我們先增加一個(gè)用戶ituser-groups
useradd ituser-groups
要查詢一個(gè)用戶屬于哪個(gè)用戶組轰驳,使用groups命令厚掷,其格式如下
groups 用戶名
查詢用戶ituser-groups屬于某個(gè)用戶組,執(zhí)行g(shù)roups命令
groups ituser-groups
由此可見级解,ituser-groups用戶屬于用戶組ituser-groups(用戶組默認(rèn)與用戶名一樣)
4) 刪除用戶組
使用者權(quán)限:管理員用戶
要?jiǎng)h除一個(gè)已有的用戶組冒黑,使用groupdel命令,其格式如下
groupdel 用戶組
刪除czbk-it-2019用戶組
groupdel czbk-it-2019
刪除成功
以下是groupdel常用選項(xiàng)
2.2.3 將用戶添加到組
引子:
在上面我們學(xué)習(xí)如何新增用戶勤哗,也學(xué)習(xí)了如何新增用戶組抡爹,在當(dāng)前的小節(jié)中,我們新建一個(gè)用戶芒划、新建一個(gè)用戶組冬竟、然后把新建的用戶添加到新的組中
在實(shí)際開發(fā)過程中欧穴,我們通常把多個(gè)用戶按照業(yè)務(wù)需求歸并到統(tǒng)一的一個(gè)組中,進(jìn)行有序管理
1泵殴、創(chuàng)建一個(gè)新的組涮帘,并添加組ID(需要切換到root用戶)
groupadd -g 8888 itbj2020group
執(zhí)行效果如下
2、創(chuàng)建3個(gè)用戶(需要切換到root用戶)
useradd itbeijinguser1
useradd itbeijinguser2
useradd itbeijinguser3
3笑诅、將上面三個(gè)用戶添加到組itbj2020group
我們通過passwd命令將三個(gè)用戶添加到組
什么是gpasswd:
gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具调缨,用于將一個(gè)用戶添加到組或者從組中刪除。
語(yǔ)法
gpasswd [可選項(xiàng)] 組名
將上面的三個(gè)用戶使用gpasswd添加到組(需要切換到root用戶)
gpasswd -a itbeijinguser1 itbj2020group
gpasswd -a itbeijinguser2 itbj2020group
gpasswd -a itbeijinguser3 itbj2020group
執(zhí)行如下
查看用戶組下所有用戶(所有用戶)
注意
此處的grep命令我們將在文件管理章節(jié)詳細(xì)講解吆你,這里先使用它查看下效果
grep 'itbj2020group' /etc/group
執(zhí)行效果如下(或者直接打開/etc/group文件都可以)
由上圖可知:三個(gè)用戶全部都加入到了itbj2020group組弦叶。
2.3 系統(tǒng)管理
系統(tǒng)管理,說的就是我們的CentOS系統(tǒng)早处,它不同于Windwos湾蔓,CentOS是字符界面,我們需要通過命令進(jìn)行操作砌梆,在當(dāng)前章節(jié)默责,我們先從基本命令學(xué)起,比如創(chuàng)建用戶咸包、設(shè)置密碼桃序、修改用戶以及用戶組的相關(guān)操作。也為我們后面的章節(jié)打下基礎(chǔ)
2.3.1 日期管理
當(dāng)前日期如果通過date進(jìn)行設(shè)置烂瘫,在系統(tǒng)重啟后不會(huì)保存date的設(shè)置媒熊,常用的只是通過date命令查看日期
date 可以用來顯示或設(shè)定系統(tǒng)的日期與時(shí)間
使用者權(quán)限:所有用戶
語(yǔ)法如下:
date [參數(shù)選項(xiàng)]
參數(shù)
-d<字符串>:顯示字符串所指的日期與時(shí)間。字符串前后必須加上雙引號(hào)坟比;
-s<字符串>:根據(jù)字符串來設(shè)置日期與時(shí)間芦鳍。字符串前后必須加上雙引號(hào);
-u:顯示GMT葛账;
--help:在線幫助柠衅;
--version:顯示版本信息
1、設(shè)置時(shí)間
用 -s選項(xiàng)可以設(shè)置系統(tǒng)時(shí)間籍琳,如下:
date -s "2019-12-11 16:15:00"
2菲宴、顯示時(shí)間
date
(1)UTC
協(xié)調(diào)世界時(shí),又稱世界統(tǒng)一時(shí)間趋急、世界標(biāo)準(zhǔn)時(shí)間喝峦、國(guó)際協(xié)調(diào)時(shí)間。由于英文(CUT)和法文(TUC)的縮寫不同呜达,作為妥協(xié)谣蠢,簡(jiǎn)稱UTC。。
(2)GMT
即格林尼治 平太陽(yáng)時(shí)間眉踱,是指格林尼治所在地的標(biāo)準(zhǔn)時(shí)間勋颖,也是表示地球自轉(zhuǎn)速率的一種形式
外文名:Universal Time
其他外文名G.M.T.(Greenwich Mean Time)
(3)CST
北京時(shí)間 (中國(guó)國(guó)家標(biāo)準(zhǔn)時(shí)間) 北京時(shí)間是中國(guó)采用國(guó)際時(shí)區(qū)東八時(shí)區(qū)的區(qū)時(shí)作為標(biāo)準(zhǔn)時(shí)間。 北京時(shí)間并不是北京(東經(jīng)116.4°)的地方時(shí)間勋锤,而是東經(jīng)120°的地方時(shí)間饭玲,故東經(jīng)120度地方時(shí)比北京的地方時(shí)早約14分半鐘。因?yàn)楸本┨幱趪?guó)際時(shí)區(qū)劃分中的東八區(qū)叁执,同格林尼治時(shí)間(世界時(shí))整整相差8小時(shí)(即北京時(shí)間=世界時(shí)+8小時(shí))茄厘,故命名為“北京時(shí)間”。東八區(qū)包括的范圍從東經(jīng)112.5°到東經(jīng)127.5°谈宛,以東經(jīng)120°為中心線次哈,東西各延伸7.5°,總寬度為15°的區(qū)域吆录。 而中國(guó)幅員遼闊窑滞,東西相跨5個(gè)時(shí)區(qū)(即東五區(qū)、東六區(qū)恢筝、東七區(qū)哀卫、東八區(qū)、東九區(qū)5個(gè)時(shí)區(qū))授時(shí)臺(tái)必須建在地理中心地帶撬槽,從而也就產(chǎn)生了長(zhǎng)短波授此改。“北京時(shí)間”與“北京當(dāng)?shù)貢r(shí)間”是兩個(gè)概念侄柔, “北京時(shí)間”的發(fā)播不在北京共啃,而在陜西蒲城(處于東七區(qū))
(4)東八區(qū)
東八區(qū)(UTC/GMT+08:00)是比世界協(xié)調(diào)時(shí)間(UTC)/格林尼治時(shí)間(GMT)快8小時(shí)的時(shí)區(qū),理論上的位置是位于東經(jīng)112.5度至127.5度之間暂题,是東盟標(biāo)準(zhǔn)的其中一個(gè)候選時(shí)區(qū)移剪。當(dāng)格林尼治標(biāo)準(zhǔn)時(shí)間為0:00時(shí),東八區(qū)的標(biāo)準(zhǔn)時(shí)間為08:00
<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n486" mdtype="fences" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-size: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); border: 1px solid rgb(231, 234, 237); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); position: relative !important; background-position: inherit; background-repeat: inherit;">總結(jié):
上面提到了很多知識(shí):即UTC/GMT/CST/東八區(qū)
總結(jié)一下就是薪者,北京時(shí)間(中國(guó)國(guó)家標(biāo)準(zhǔn)時(shí)間CST)采用東八區(qū)區(qū)時(shí)纵苛,即:
協(xié)調(diào)世界時(shí)(UTC)+8 / 格林尼治時(shí)間(GMT)+8
也就是說+8后的時(shí)間才是北京時(shí)間</pre>
2.3.2 顯示用戶
logname命令用于顯示用戶名稱。
執(zhí)行l(wèi)ogname指令啸胧,它會(huì)顯示目前用戶的名稱
語(yǔ)法為如下:
logname [--help][--version]
參數(shù):
–help 在線幫助赶站。
–vesion 顯示版本信息幔虏。
顯示登錄賬號(hào)的信息
logname
2.3.3 su切換賬戶
引子:
比如我們?cè)谛略鲇脩舴哪睢⑿薷挠脩艋蛘卟僮饔脩艚M的時(shí)候常常需要切換到管理員賬戶,這個(gè)時(shí)候想括,我們就可以使用su進(jìn)行快速切換
su命令用于變更為其他使用者的身份陷谱,除 root 外,需要鍵入該使用者的密碼。
使用權(quán)限:所有使用者烟逊。
語(yǔ)法如下:
su
變更帳號(hào)為 root 并在執(zhí)行 ls 指令后退出返回原使用者
su -c ls root
切換到root
su root
這樣的話渣窜,我們就進(jìn)入到了root用戶下。
2.3.4 id命令
我們?nèi)绻枰榭串?dāng)前賬號(hào)詳細(xì)信息的時(shí)候宪躯,比如查看它的用戶id乔宿、群組id以及所屬組的時(shí)候,我們就可以使用id命令進(jìn)行查看
id命令用于顯示用戶的ID访雪,以及所屬群組的ID详瑞。
id會(huì)顯示用戶以及所屬群組的實(shí)際與有效ID。若兩個(gè)ID相同臣缀,則僅顯示實(shí)際ID坝橡。若僅指定用戶名稱,則顯示目前用戶的ID精置。
使用者權(quán)限:所有用戶
語(yǔ)法
id [-gGnru][--help][--version][用戶名稱]
參數(shù)說明:
- -g或--group 顯示用戶所屬群組的ID计寇。
- -G或--groups 顯示用戶所屬附加群組的ID。
- -n或--name 顯示用戶脂倦,所屬群組或附加群組的名稱番宁。
- -r或--real 顯示實(shí)際ID。
- -u或--user 顯示用戶ID赖阻。
- -help 顯示幫助贝淤。
- -version 顯示版本信息。
顯示當(dāng)前用戶信息
id
執(zhí)行效果如下
總結(jié)
id命令參數(shù)雖然很多
但是常用的也就是id命令政供,不帶參數(shù)的
主要看他的uid和組信息
2.3.5 sudo執(zhí)行
比如我們使用普通用戶操作用戶或者操作用戶組播聪、以及修改網(wǎng)卡配置文件的時(shí)候,需要切換到root用戶才操作布隔,此時(shí)我們可以使用sudo命令提高普通用戶的操作權(quán)限离陶,以達(dá)到操作目的
sudo:控制用戶對(duì)系統(tǒng)命令的使用權(quán)限,root允許的操作。
通過sudo可以提高普通用戶的操作權(quán)限
使用者權(quán)限:普通用戶
語(yǔ)法如下:
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
參數(shù)說明:
- -V 顯示版本編號(hào)
- -h 會(huì)顯示版本編號(hào)及指令的使用方式說明
- -l 顯示出自己(執(zhí)行 sudo 的使用者)的權(quán)限
- -v 因?yàn)?sudo 在第一次執(zhí)行時(shí)或是在 N 分鐘內(nèi)沒有執(zhí)行(N 預(yù)設(shè)為五)會(huì)問密碼衅檀,這個(gè)參數(shù)是重新做一次確認(rèn)招刨,如果超過 N 分鐘,也會(huì)問密碼
- -k 將會(huì)強(qiáng)迫使用者在下一次執(zhí)行 sudo 時(shí)問密碼(不論有沒有超過 N 分鐘)
- -b 將要執(zhí)行的指令放在背景執(zhí)行
- -p prompt 可以更改問密碼的提示語(yǔ)哀军,其中 %u 會(huì)代換為使用者的帳號(hào)名稱沉眶, %h 會(huì)顯示主機(jī)名稱
- -u username/#uid 不加此參數(shù),代表要以 root 的身份執(zhí)行指令杉适,而加了此參數(shù)谎倔,可以以 username 的身份執(zhí)行指令(#uid 為該 username 的使用者號(hào)碼)
- -s 執(zhí)行環(huán)境變數(shù)中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
- -H 將環(huán)境變數(shù)中的 HOME 指定為要變更身份的使用者HOME目錄(如不加 -u 參數(shù)就是系統(tǒng)管理者 root )
- command 要以系統(tǒng)管理者身份(或以 -u 更改為其他人)執(zhí)行的指令
sudo命令使用
sudo ls
指定root用戶執(zhí)行指令
sudo -u root ls -l
修改網(wǎng)卡配置文件
比如猿推,在下面的例子中片习,我們使用普通用戶修改網(wǎng)卡的配置文件捌肴,在進(jìn)行保存的時(shí)候,提示我們【無法打開并寫入文件】藕咏,那么此時(shí)状知,我們可以通過sudo命令來提升自己的寫入權(quán)限
執(zhí)行:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
執(zhí)行效果如下(保存)
然后點(diǎn)擊回車
那么我們?cè)谛薷纳厦娴?命令,使用sudo進(jìn)行修改
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
執(zhí)行效果如下(鍵入itcast密碼)
執(zhí)行保存
我們發(fā)現(xiàn)此時(shí)就不在報(bào)錯(cuò)了
2.3.6 top命令
在企業(yè)級(jí)開發(fā)中孽查,開發(fā)人員(運(yùn)維人員也會(huì)經(jīng)常使用)常常為了查看服務(wù)器上運(yùn)行的程序占用的CPU情況以及占用內(nèi)存情況饥悴,目的就是檢測(cè)我們的程序是否在正常范圍內(nèi)運(yùn)行
top命令用于實(shí)時(shí)顯示 process 的動(dòng)態(tài)。
使用權(quán)限:所有使用者盲再。
顯示進(jìn)程信息
top
執(zhí)行效果如下
各進(jìn)程(任務(wù))的狀態(tài)監(jiān)控屬性解釋說明:
PID — 進(jìn)程id
USER — 進(jìn)程所有者
PR — 進(jìn)程優(yōu)先級(jí)
NI — nice值铺坞。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
VIRT — 進(jìn)程使用的虛擬內(nèi)存總量洲胖,單位kb济榨。VIRT=SWAP+RES
RES — 進(jìn)程使用的、未被換出的物理內(nèi)存大小绿映,單位kb擒滑。RES=CODE+DATA
SHR — 共享內(nèi)存大小,單位kb
S — 進(jìn)程狀態(tài)叉弦。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
%CPU — 上次更新到現(xiàn)在的CPU時(shí)間占用百分比
%MEM — 進(jìn)程使用的物理內(nèi)存百分比
TIME+ — 進(jìn)程使用的CPU時(shí)間總計(jì)丐一,單位1/100秒
COMMAND — 進(jìn)程名稱(命令名/命令行)
顯示完整命令,與top命令不同的就是command屬性像是進(jìn)行了命令補(bǔ)全
top -c
執(zhí)行效果如下
顯示指定的進(jìn)程信息淹冰,以下顯示進(jìn)程號(hào)為6972的進(jìn)程信息库车,CPU、內(nèi)存占用率等
top -p 6972
執(zhí)行效果如下
top命令的用法很多
但是常用的就是top(不帶參數(shù))樱拴,有的時(shí)候柠衍,在進(jìn)程比較多的時(shí)候,我們常常記住進(jìn)程的pid晶乔,然后通過top -p pid進(jìn)行查看
也就是說珍坊,top+ top -p是經(jīng)常被用到的
2.3.7 ps命令
ps命令類似于我們?cè)赪indows中通過任務(wù)管理器查看進(jìn)程信息
Linux ps命令用于顯示當(dāng)前進(jìn)程 (process) 的狀態(tài)信息
使用者權(quán)限:所有用戶
語(yǔ)法如下:
ps
顯示進(jìn)程信息
ps -A
顯示指定用戶信息
ps -u itcast
顯示所有進(jìn)程信息
ps -ef
2.3.8 kill命令
引子:
前面,我們剛剛學(xué)習(xí)完了Windows上開發(fā)正罢,比如阵漏,我們經(jīng)常遇到的要給問題就是,我們需要經(jīng)常的啟動(dòng)或者重啟tomcat翻具,有的時(shí)候會(huì)報(bào)端口沖突履怯,這個(gè)時(shí)候,我們可能就去Windows的任務(wù)管理器中去結(jié)束這個(gè)進(jìn)程
那么在Linux中我們可以通過kill命令來實(shí)現(xiàn)Windwos上手工結(jié)束進(jìn)程的操作
Linux kill命令用于刪除執(zhí)行中的程序或工作(可強(qiáng)制中斷)
使用者權(quán)限:所有用戶
語(yǔ)法如下:
kill [-s <信息名稱或編號(hào)>][程序] 或 kill [-l <信息編號(hào)>]
參數(shù)說明:
- -l <信息編號(hào)> 若不加<信息編號(hào)>選項(xiàng)裆泳,則-l參數(shù)會(huì)列出全部的信息名稱叹洲。
- -s <信息名稱或編號(hào)> 指定要送出的信息。
- [程序] [程序]可以是程序的PID或是PGID晾虑,也可以是工作編號(hào)疹味。
殺死一個(gè)進(jìn)程
kill 15642
強(qiáng)制殺死進(jìn)程
kill -KILL 15642
徹底殺死進(jìn)程
kill -9 15642
殺死指定用戶所有進(jìn)程
1.方法一 過濾出itcast用戶進(jìn)程
kill -9 $(ps -ef | grep itcast)
2.方法二,直接殺死
kill -u itcast
注意
上面列舉了很多kill進(jìn)程的命令
但是我們我們常用的就是kill -9命令帜篇,我們常常找到進(jìn)程的pid
然后通過kill -9進(jìn)行殺死進(jìn)程
2.3.9 關(guān)機(jī)命令
shutdown命令可以用來進(jìn)行關(guān)閉系統(tǒng)糙捺,并且在關(guān)機(jī)以前傳送訊息給所有使用者正在執(zhí)行的程序,shutdown 也可以用來重開機(jī)
使用者權(quán)限:管理員用戶
語(yǔ)法如下:
shutdown [-t seconds] [-rkhncfF] time [message]
參數(shù)說明:
- -t seconds : 設(shè)定在幾秒鐘之后進(jìn)行關(guān)機(jī)程序笙隙。
- -k : 并不會(huì)真的關(guān)機(jī)洪灯,只是將警告訊息傳送給所有使用者。
- -r : 關(guān)機(jī)后重新開機(jī)竟痰。
- -h : 關(guān)機(jī)后停機(jī)签钩。
- -n : 不采用正常程序來關(guān)機(jī),用強(qiáng)迫的方式殺掉所有執(zhí)行中的程序后自行關(guān)機(jī)坏快。
- -c : 取消目前已經(jīng)進(jìn)行中的關(guān)機(jī)動(dòng)作铅檩。
- -f : 關(guān)機(jī)時(shí),不做 fcsk 動(dòng)作(檢查 Linux 檔系統(tǒng))莽鸿。
- -F : 關(guān)機(jī)時(shí)昧旨,強(qiáng)迫進(jìn)行 fsck 動(dòng)作。
- time : 設(shè)定關(guān)機(jī)的時(shí)間祥得。
- message : 傳送給所有使用者的警告訊息兔沃。
立即關(guān)機(jī)
shutdown -h now
或者
shudown
指定1分鐘后關(guān)機(jī),1分鐘關(guān)機(jī)并顯示警告信息
shutdown +1 “System will shutdown after 1 minutes”
指定1分鐘后重啟级及,并發(fā)出警告信息
shutdown –r +1 “1分鐘后關(guān)機(jī)重啟”
2.3.10 重啟命令
reboot命令用于用來重新啟動(dòng)計(jì)算機(jī)
使用者權(quán)限:管理員乒疏、普通(需要驗(yàn)證)用戶
語(yǔ)法如下:
reboot [-n] [-w] [-d] [-f] [-i]
參數(shù):
- -n : 在重開機(jī)前不做將記憶體資料寫回硬盤的動(dòng)作
- -w : 并不會(huì)真的重開機(jī),只是把記錄寫到 /var/log/wtmp 檔案里
- -d : 不把記錄寫到 /var/log/wtmp 檔案里(-n 這個(gè)參數(shù)包含了 -d)
- -f : 強(qiáng)迫重開機(jī)饮焦,不呼叫 shutdown 這個(gè)指令
- -i : 在重開機(jī)之前先把所有網(wǎng)絡(luò)相關(guān)的裝置先停止
開始重新啟動(dòng)
reboot
重啟效果如下
此時(shí)我們的虛擬機(jī)正在重啟(別忘記使用root用戶執(zhí)行)
2.3.11 who命令
在企業(yè)級(jí)開發(fā)過程中怕吴,我們使用who命令的時(shí)候常常需要快速重啟服務(wù)器,在重啟之前需要檢測(cè)下有沒有終端在連接(處理程序)县踢,如果有械哟,可能就不會(huì)重啟(會(huì)私下詢問何時(shí)弄完,弄完后在重啟)殿雪,如果沒有其他人連接暇咆,將執(zhí)行快速重啟
who命令用于顯示系統(tǒng)中有哪些使用者正在上面,顯示的資料包含了使用者 ID丙曙、使用的終端機(jī)爸业、從哪邊連上來的、上線時(shí)間亏镰、呆滯時(shí)間扯旷、CPU 使用量、動(dòng)作等等
使用者權(quán)限:所有使用者都可使用索抓。
語(yǔ)法如下:
who - [husfV] [user]
參數(shù)說明:
- -H 或 --heading:顯示各欄位的標(biāo)題信息列钧忽;
- -i 或 -u 或 --idle:顯示閑置時(shí)間毯炮,若該用戶在前一分鐘之內(nèi)有進(jìn)行任何動(dòng)作,將標(biāo)示成"."號(hào)耸黑,如果該用戶已超過24小時(shí)沒有任何動(dòng)作桃煎,則標(biāo)示出"old"字符串;
- -m:此參數(shù)的效果和指定"am i"字符串相同大刊;
- -q 或--count:只顯示登入系統(tǒng)的帳號(hào)名稱和總?cè)藬?shù)为迈;
- -s:此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決who指令其他版本的兼容性問題缺菌;
- -w 或-T或--mesg或--message或--writable:顯示用戶的信息狀態(tài)欄葫辐;
- --help:在線幫助;
- --version:顯示版本信息
顯示當(dāng)前登錄系統(tǒng)的用戶
who
顯示明細(xì)(標(biāo)題)信息
who -H
由上圖可知伴郁,截止到現(xiàn)在只有itcast在線耿战。
2.3.12 timedatectl命令
引子:
timedatectl是用于控制系統(tǒng)時(shí)間和日期『父担可以用來查詢和更改系統(tǒng)時(shí)鐘于設(shè)定昆箕,同時(shí)可以設(shè)定和修改時(shí)區(qū)信息。
在實(shí)際開發(fā)過程中租冠,系統(tǒng)時(shí)間的顯示會(huì)和實(shí)際出現(xiàn)不同步鹏倘;我們一般為了校正服務(wù)器時(shí)間、時(shí)區(qū)的時(shí)候會(huì)使用timedatectl命令</pre>
使用者權(quán)限:所有使用者都可使用顽爹,設(shè)置時(shí)間需要管理員纤泵,下面會(huì)標(biāo)注。
幾個(gè)常見的概念镜粤,進(jìn)行總結(jié)如下:
顯示系統(tǒng)的當(dāng)前時(shí)間和日期捏题,使用命令行中的timedatectl命令
timedatectl status
執(zhí)行效果如下
上圖顯示中國(guó)時(shí)區(qū)
查看所有可用的時(shí)區(qū)
timedatectl list-timezones
執(zhí)行效果如下(下面數(shù)據(jù)沒有截全)
設(shè)置本地時(shí)區(qū)
timedatectl set-timezone "Asia/Shanghai"
執(zhí)行效果如下
禁用時(shí)間同步(使用管理員賬戶)
timedatectl set-ntp false
在執(zhí)行
timedatectl set-time "2019-03-11 20:45:00"
執(zhí)行效果如下
注意: 如果ntp時(shí)間同步為true時(shí)無法修改時(shí)間設(shè)定,下面馬上介紹
打開ntp
timedatectl set-ntp true
在執(zhí)行
timedatectl set-time "2019-03-11 20:45:00"
執(zhí)行效果如下(ntp時(shí)間同步為true時(shí)無法修改時(shí)間設(shè)定)
報(bào)錯(cuò)信息 如下
啟用時(shí)間同步
NTP即Network Time Protocol(網(wǎng)絡(luò)時(shí)間協(xié)議)肉渴,是一個(gè)互聯(lián)網(wǎng)協(xié)議公荧,用于同步計(jì)算機(jī)之間的系統(tǒng)時(shí)鐘。timedatectl實(shí)用程序可以自動(dòng)同步你的Linux系統(tǒng)時(shí)鐘到使用NTP的遠(yuǎn)程服務(wù)器同规。
要開始自動(dòng)時(shí)間同步到遠(yuǎn)程N(yùn)TP服務(wù)器循狰,在終端鍵入以下命令。
timedatectl set-ntp true
比如券勺,在上面我們使用timedatectl set-time "2019-03-11 20:45:00"绪钥,如下圖
此時(shí)我們執(zhí)行timedatectl set-ntp true,發(fā)現(xiàn)時(shí)間正常同步過來了如下圖
要禁用NTP時(shí)間同步关炼,在終端鍵入以下命令
timedatectl set-ntp false
執(zhí)行上面的 命令即可關(guān)閉ntp
總結(jié)
在實(shí)際使用過程中
我們經(jīng)常使用timedatectl進(jìn)行時(shí)區(qū)程腹、CST、UTC的設(shè)置
2.3.13 clear命令
clear命令用于清除屏幕
使用者權(quán)限:所有使用者都可使用儒拂。
語(yǔ)法
clear
執(zhí)行clear前
執(zhí)行clear后
通過執(zhí)行clear命令寸潦,就可以把緩沖區(qū)的命令全部清理干凈了
2.3.14 exit命令
exit命令用于退出目前的shell色鸳。
執(zhí)行exit可使shell以指定的狀態(tài)值退出。若不設(shè)置狀態(tài)值參數(shù)见转,則shell以預(yù)設(shè)值退出命雀。狀態(tài)值0代表執(zhí)行成功,其他值代表執(zhí)行失敗池户。exit也可用在script咏雌,離開正在執(zhí)行的script凡怎,回到shell校焦。
退出碼(exit status,或exit code)的約定:
0表示成功(Zero - Success)
非0表示失斖车埂(Non-Zero - Failure)
2表示用法不當(dāng)(Incorrect Usage)
127表示命令沒有找到(Command Not Found)
126表示不是可執(zhí)行的(Not an executable)
>=128 信號(hào)產(chǎn)生
語(yǔ)法如下
exit [狀態(tài)值]
退出終端
# exit
exit會(huì)被經(jīng)常在shell中使用
我們?cè)诿魈斓恼n程【綜合案例】中會(huì)使用到exit
2.4 總結(jié)
用戶賬號(hào)管理和用戶組是我們?cè)趯?shí)際使用過程中常用的命令寨典,學(xué)習(xí)完創(chuàng)建賬號(hào)、創(chuàng)建組后房匆,需要通過gpasswd命令將用戶添加到組耸成,這也是我們學(xué)習(xí)的最終目的
系統(tǒng)管理的常用命令都是在開發(fā)過程中經(jīng)常使用到的