重啟Rocky后,會出現如下圖所示黑框,提示我們登錄。這個登錄界面沒有出現任何圖形,因為我們沒有安裝與圖形相關的程序包。如果你想使用圖形,可以在進入系統后安裝圖形套件,然后切換到圖形界面就可以了。
3.1 初次使用命令行登錄
在如上圖所示的黑框里點擊鼠標,在localhost login:?后面輸入root并回車,然后輸入先前設置的ROOT密碼,進入Rocky系統,請注意,在你輸入密碼時你看不到任何信息,這并不是你沒有輸入成功,你盡管輸入即可。
3.2 設置網絡
前面創建虛擬機時,我們已經將這臺機器設置成NAT網絡模式,后續的操作都是基于NAT模式,如果是橋接模式操作基本類似。
請運行如下命令(注意,前面這個警號為命令前置修飾符,請忽略):
?
#?ip?add
?
它將返回如下圖所示的信息。
ip add命令就是用來查看IP地址的。這里請大家注意英文字母的大小寫,Linux操作系統是區分大小寫的。從上圖中可以看出,這臺機器有兩個網卡。第一個網卡地址127.0.0.1是回環地址,網卡名字叫作lo,Windows操作系統也有該地址,用來自己和自己通信。第二個網卡,ens33就是它的名字,你的網卡名字也不一定是ens33,這個也是沒有關系的。下面阿銘教你怎么看VMware NAT網絡模式的網段是多少。
首先同時按下Ctrl和Alt這兩個鍵,釋放你的鼠標,然后點擊VMware虛擬機左上角菜單欄中的“編輯”,選擇“虛擬網絡編輯器”,選中VMnet8(NAT模式),此時下面就可以看到子網IP為192.168.195.0,子網掩碼為255.255.255.0。然后點擊右側的“NAT 設置”按鈕,此時會出現如下圖所示的界面。
在這個界面中,我們會看到網關為192.168.195.2。請大家記住這個網關地址,因為接下來還會用到它。
在日常的運維工作中,我們是需要手動給Linux系統設置IP地址的。下面阿銘教你如何手動設置IP地址。輸入如下命令:
?
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
?
請大家注意,在Linux系統下,命令后面是需要帶空格的,這里的vi是一個用來編輯文本的命令,后面會詳細介紹它。它后面跟一個空格(當然跟多個空格也沒錯),再后面是一個文件的路徑。這個文件就是網卡的配置文件,要修改IP地址,就得編輯這個文件。你的網卡配置文件名字(ifcfg-ens33)可能和阿銘的不一樣,這個主要是看你的網卡名字是什么。回車后,進入如下圖所示的界面。
進入網卡配置文件后,我們可以使用上、下、左、右方向鍵去移動光標,但不能直接去修改文件內容。要想修改文件內容,只需按字母i鍵。我們需要修改的內容有,將BOOTPROTO="dhcp"改為BOOTPROTO="static",并增加如下幾行字符:
?
IPADDR=192.168.195.101 NETMASK=255.255.255.0 GATEWAY=192.168.195.2 DNS1=119.29.29.29
?
這里需要說明的是,BOOTPROTO用來設置網卡的啟動類型,dhcp表示自動獲取IP地址,static表示手動設置靜態IP地址。IPADDR指定IP地址(請不要設置的和阿銘的一樣,你的IP地址取決于前面你自動獲取到的地址),NETMASK指定子網掩碼,GATEWAY指定網關(這個網關就是剛剛阿銘讓大家記住的網關地址),DNS1指定上網用的DNS IP地址,這個119.29.29.29是國內DNSpod公司提供的一個公共DNS。完成以上的更改后,按一下Esc鍵,緊接著輸入“:wq”并回車,退出剛才的文檔。然后重啟網卡,運行如下兩條命令:
?
# nmcli c reload ens33 # nmcli d reapply ens33
?
上面第一條命令作用是重新加載網卡配置文件,但它并不會馬上生效,第二條命令作用是使其馬上生效。然后再查看一下IP地址:
?
#?ip?add
?
如果正確的話,你看到的結果如下圖所示。
當然,還需要再測試一下網絡連通性,此時輸入如下命令進行測試:
?
# ping -c 4 www.aminglinux.com
?
出現類似如下結果,才算正常聯網。
?
PING www.aminglinux.com (192.225.226.43) 56(84) bytes of data. 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=1 ttl=128 time=211 ms 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=2 ttl=128 time=218 ms 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=3 ttl=128 time=211 ms 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=4 ttl=128 time=211 ms --- www.aminglinux.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3006ms rtt min/avg/max/mdev = 210.806/212.708/217.906/3.055 ms
?
3.3 學會使用快捷鍵
在日常運維管理工作中,快捷鍵可以大大提高工作效率。在Linux系統中,常用的快捷鍵如下。
Ctrl+C:結束(終止)當前命令。如果你輸入了一大串字符,但不想運行,可以按Ctrl+C組合鍵,此時光標將跳入下一行,而在剛剛的光標處會留下一個^C的標記,如下圖所示。
Tab:實現自動補全功能。這個鍵比較重要,使用頻率也很高。當你輸入命令、文件或目錄的前幾個字符時,它會自動幫你補全。比如,前面阿銘教大家編輯網卡的配置文件時文件路徑很長,這時結合Tab鍵就會很輕松。有時候,如果按一下沒有出效果,可以連續按兩次,才會出現反應,這是因為具有相同特性文件名的文件有多個,你可以多嘗試幾次體驗它的用法。
Ctrl+D:退出當前終端。同樣,你也可以輸入命令exit實現該功能。
Ctrl+Z:暫停當前進程。這和Ctrl+C是有區別的,暫停后,使用fg命令恢復該進程,該知識點會在第10章中介紹到。
Ctrl+L:清屏,使光標移動到屏幕的第一行。當命令和顯示的結果占滿整個屏幕時,我們每運行一個命令,都會在最后一行顯示,這樣看起來不太方便,此時就可以使用這個快捷鍵,讓光標移動到屏幕第一行,也就是所謂的清屏。
Ctrl+A:可以讓光標移動到命令的最前面。有時候一條命令很長,快敲完時發現前面某個字母不對,此時可以直接用這個快捷鍵把光標定位到行首,然后再用左右方向鍵微調光標的位置。
Ctrl+E:可以讓光標移動到最后面,作用同上。
3.4 學會查詢幫助文檔—— man
man命令用于查看命令的幫助文檔,其格式為man命令。例如,輸入如下命令:
?
# man ls
?
這樣可以查看ls命令的幫助文檔,如下圖所示。
如果屏幕不能顯示完整,可以按空格鍵下翻,或者按上下方向鍵前后移動文本。若想退出幫助文檔,按字母鍵q。當然,想要看明白這個文檔,還需要你有一定的英文閱讀能力。這個man命令非常實用。尤其是對于初學者來講,我們剛剛學一個命令時,總是記不住它的各個選項的用法,記不清時,隨手man一下,就可以看到了,非常方便!同時,阿銘相信經常查看英文的文檔也會提升你的英文閱讀能力。
3.5 Linux系統目錄結構
登錄Linux系統后,在當前命令窗口下輸入如下命令:
?
# ls /
?
此時將會出現如下圖所示的界面:
你的結果可能和阿銘的有所不同,不要緊,目前我們探討的并不是差異,而是相同的地方。其中,ls是list的縮寫,該命令用于列出指定目錄或者文件。/是Linux操作系統里面最核心的一個目錄,所有的文件和目錄全部在它下面,所以稱它為“根目錄”。前面講磁盤分區時,阿銘也是單獨給它分了一個區的。大家要逐漸適應Linux系統的特性,畢竟它和Windows有太多的差異。
通過上一節中提到的命令man ls,可以了解ls命令具體的用法。對于ls這個最常用的命令,阿銘在這里舉幾個簡單的例子幫你快速掌握其用法:
?
# ls anaconda-ks.cfg # ls -a . .. anaconda-ks.cfg .bash_logout .bash_profile .bashrc .cshrc .tcshrcy # ls -l 總用量 4 -rw-------. 1 root 1435 12月 26 08:10 anaconda-ks.cfg # ls anaconda-ks.cfg anaconda-ks.cfg # ls /var/ account adm cache crash db empty ftp games gopher kerberos lib local lock log mail nis opt preserve run spool tmp yp
?
說明:其中以#開頭的行都是運行的命令,它下面的內容是命令運行后的結果??赡苣愕慕Y果和阿銘的有所不同,但不要緊,這是因為你的系統和阿銘的系統是存在一些差異的。如果你有疑問,請聯系阿銘獲取幫助。下面阿銘來講解一下以上幾個小案例的含義。
后面不加任何選項也不跟目錄名或者文件名:會列出當前目錄下的文件和目錄,不包含隱藏文件。
后面加-a選項、不加目錄名或者文件名:會列出當前目錄下所有文件和目錄,含有隱藏文件。
后面加-l選項、不加目錄名或者文件名:會列出當前目錄下除隱藏文件外的所有文件和目錄的詳細信息,包含其權限、所屬主、所屬組以及文件創建日期和時間。
后面不加選項、只跟文件名:會列出該文件,使用時通常都是加上-l選項,用來查看該文件的詳細信息。
后面不加選項、只跟目錄名:會列出指定目錄下的文件和目錄。
其實,ls命令的可用項還有很多,不過阿銘只介紹了最常用的選項。因為在日常工作和學習中,這些已經足夠。如果實在遇到不懂的選項,可以用man命令來查看幫助文檔。
下面我們接著來討論Linux的目錄結構。
/bin:bin是Binary的縮寫,該目錄下存放的是最常用的命令。
/boot:該目錄下存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。
/dev:dev是Device(設備)的縮寫。該目錄下存放的是Linux的外部設備。在Linux中,訪問設備的方式和訪問文件的方式是相同的。
/etc:該目錄下存放的是所有系統管理所需要的配置文件和子目錄。
/home:這是用戶的家目錄。在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
/lib和/lib64:這兩個目錄下存放的是系統最基本的動態連接共享庫,其作用類似于Windows里的DLL文件,幾乎所有的應用程序都需要用到這些共享庫。其中/lib64為64位的軟件包的庫文件所在目錄。
/media:系統會自動識別一些設備(如U盤、光驅等),當識別后,Linux會把識別的設備掛載到該目錄下。
/mnt:系統提供該目錄是為了讓用戶臨時掛載別的文件系統。我們可以將光驅掛載到/mnt/上,然后進入該目錄查看光驅里的內容。
/opt:這是給主機額外安裝軟件所設置的目錄,該目錄默認為空。比如,你要安裝一個Oracle數據庫,可以放到該目錄下。
/proc:該目錄是一個虛擬目錄,是系統內存的映射,可以直接訪問它來獲取系統信息。該目錄的內容在內存里,我們可以直接修改里面的某些文件。比如可以通過下面的命令來屏蔽主機的ping命令,使其他人無法ping你的機器。在日常工作中,你會經常用到類似的用法:
?
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
?
/root:該目錄是系統管理員的用戶家目錄。
/run:這個目錄其實和/var/run是同一個目錄,這里面存放的是一些服務的pid。一個服務啟動完后,是有一個pid文件的。至于為什么說是同一個目錄,Linux是如何做到的,4.9節會詳細介紹。
/sbin:s就是SuperUser的意思,該目錄存放的是系統管理員使用的系統管理程序。
/srv:該目錄存放的是一些服務啟動之后需要提取的數據。
/sys:該目錄存放的是與硬件驅動程序相關的信息。
/tmp:該目錄用來存放一些臨時文件。
/usr:這是一個非常重要的目錄,類似于Windows下的Program Files目錄,用戶的很多應用程序和文件都存放在該目錄下。后面的章節中,我們會多次用到這個目錄。
/usr/bin:該目錄存放的是系統用戶使用的應用程序。
/usr/sbin:該目錄存放的是超級用戶使用的比較高級的管理程序和系統守護程序。
/usr/src:該目錄是內核源代碼默認的放置目錄。
/var:該目錄存放的是不斷擴充且經常修改的目錄,包括各種日志文件或者pid文件,其中剛剛提到的/var/run就是在這個目錄下面。
在Linux系統中,有幾個重要的目錄需要注意,不要誤刪除或者隨意更改其內部文件。下面阿銘再簡單總結一下這幾個重要的目錄。
/etc目錄下是系統的配置文件,如果更改了該目錄下的某個文件,可能會導致系統無法正常啟動。
/bin、/sbin、/usr/bin和/usr/sbin目錄是系統預設的執行文件的放置目錄,其中/bin和/usr/bin目錄下是供系統用戶使用的指令(除root外的通用賬戶),而/sbin和/usr/sbin目錄下則是供root使用的指令。比如,ls指令就存放在/bin/目錄下。
/var也是一個非常重要的目錄,系統上運行各個程序時所產生的日志都被記錄在該目錄下(即/var/log目錄中)。另外mail指令的預設也放置在這里。
3.6 如何正確關機、重啟
Linux主要用在服務器領域,而在服務器上執行一項服務是永無止境的,除非遇到特殊情況,否則不會關機。和Windows不同,在 Linux系統下,很多進程都是在后臺執行的。在屏幕背后,可能有很多人同時在工作。如果直接按下電源開關關機,其他人的數據可能就此中斷。更嚴重的是,若不正常關機,嚴重的話,可能會造成文件系統損壞,從而導致數據丟失。
如果要關機,必須要保證當前系統中沒有其他用戶在登錄系統。我們可以使用who命令查看是否還有其他人在登錄,或者使用命令ps ?-aux 查看是否還有后臺進程運行。shutdown、halt、poweroff都為關機的命令,我們可以使用命令man shutdown查看其幫助文檔。例如,可以運行如下命令關機(//符號后面的內容為解釋性文字):
?
# shutdown -h 10 //計算機將在10分鐘后關機,且會顯示在登錄用戶的當前屏幕中 # shutdown -h now //立即關機 # shutdown -h 20:25 //系統會在20:25關機 # shutdown -h +10 //10分鐘后關機 # shutdown -r now //立即重啟 # shutdown -r +10 //10分鐘后重啟 # reboot //重啟,等同于shutdown -r now # halt //關閉系統,等同于shutdown -h now和poweroff
?
不管是重啟系統還是關閉系統,首先要運行sync命令,它可以把當前內存中的數據寫入磁盤中,防止數據丟失。
再來總結一下,關機的命令有shutdown -h now、halt、poweroff和init 0,重啟系統的命令有shutdown -r now、reboot和init 6。
3.7 忘記root密碼怎么辦
以前阿銘忘記了Windows的管理員密碼,當時不會用光盤清除密碼,最后只能重裝系統。現在想來那是多么愚笨的一件事情。同樣,如果你忘記了Linux系統的root密碼,該怎么辦呢?重新安裝系統嗎?當然不用!你只需要進入emergency mode更改root密碼即可。在CentOS6時,我們是進入單用戶模式修改root密碼的,其實在CentOS 7和Rocky 8已經沒有單用戶模式了,而是這個emergency模式,具體操作步驟如下。
1)重啟系統
3秒鐘內按向下的方向鍵,目的是為了不讓它進入系統,而是停留在開機界面,如下圖所示。
按方向鍵移動光標,定位在第一行,按字母e編輯它,然后進入另外一個界面,此時會出來很多字符,這些都是Rocky8啟動選項,那么這些字符有什么用呢?我們暫時先放一放不用太過關心。移動向下的方向鍵,把光標定位到linux開頭的行。
2)進入emergency模式
按向右的方向鍵,將光標移動到ro這里,把ro改成rwinit=/sysroot/bin/bash,如下圖所示。
然后同時按Ctrl和x這兩個鍵,系統就會進入如下圖所示的界面,這樣就正式進入emergency模式。
3)修改root密碼
首先切換到原始系統,然后再修改密碼,操作過程如下圖所示。
其中chroot命令用來切換系統,后面的/sysroot目錄就是原始系統(也就是我們的Rocky 8系統),在這個下面才可以修改root密碼。passwd命令就是修改root密碼的命令,后續章節還會介紹它。但運行后,返回的結果很奇怪,出現了很多小方塊,俗稱亂碼。其實這些小方塊本來是漢字的,但是在VMware里面它并不支持中文。如果大家知道這個命令的用法,此時你連續輸入兩次新密碼就ok了。但作為新用戶,第一次看到肯定會不知所措。請跟著阿銘一起輸入LANG=en,這個命令就是把當前終端的語言設置為英文。再次運行passwd命令,就可以正常顯示字符了。
密碼雖然修改完了,但是還需要一個額外的操作,相關命令如下:
?
# touch /.autorelabel
?
注意,這個文件名字一定要寫對,否則更改的密碼將不能生效。執行這一步的作用是讓SELinux生效,如果不執行,則我們修改的密碼是不會生效的。也就是說,即使你輸對了密碼,也無法登錄。至于SELinux是什么,后續會詳細介紹。執行完該命令后,同時按Ctrl+D這兩個鍵,再輸入命令reboot,這樣系統會重啟,等待幾秒后,出現登錄界面,此時使用我們新設置的密碼登錄即可。
3.8 學會使用救援模式
救援模式即rescue模式,這個模式主要應用于系統無法進入的情況,比如grub損壞或者某一個配置文件修改出錯。那么,如何使用rescue模式呢?具體的操作方法如下。
1)光盤啟動
首先檢查你的光驅是否是開機啟動。具體方法是把鼠標挪到VMware右下角的小光盤圖標處,點擊它,此時會出現兩個選項,選擇“設置”選項,會彈出“虛擬機設置”對話框,看一下右側的“設備狀態”,要保證兩個對勾都是打上的,如下圖所示。
但此時,重啟系統并不會進入光驅啟動界面,這還需要我們設置一個VMware的BIOS。由于VMware啟動很快,往往我們還沒有來得及按F2鍵(要進入BIOS,需要按F2鍵),它就已經進入系統的啟動界面了。這里有一個技巧,首先把Rocky 8關機,然后在VMware左側選中這臺虛擬機并右擊,從中選擇“電源”→“啟動時進入固件”,如下圖所示。
進入BIOS后,按向右方向鍵,選擇Boot,然后按-或者+調節各個啟動對象,其中有硬盤、光驅、網卡等,總之讓CD-ROM在最前面,也就是讓它第一個啟動。最終的結果如下圖所示。
設置完這步之后,直接按F10鍵保存設置并退出。 2)進入rescue模式 ? 隨后進入光驅啟動界面,使用上下方向鍵選擇Troubleshooting,如下圖所示。
回車后,又出現如下圖所示的界面,使用向下方向鍵選擇Rescue a Rocky Linuxsystem。
敲回車后,會出現如下圖所示的界面。
其中有一些提示,它告訴我們,初始系統在/mnt/sysimage下面,其實這和上一節的/sysroot類似。這里有4個選項:選擇第1項將會繼續往下走;選擇第2項將會把初始的系統掛載為只讀模式,我們不能寫磁盤,也就意味著不能再修改配置文件,也不能更改root密碼;選擇第3項會直接出現一個shell;而選擇第4項則會重啟。
這里選擇第1項,所以輸入數字“1”回車,如下圖所示。
它又再一次告訴我們:初始系統已經掛載到了/mnt/sysimage下面,要想進入初始系統下面,需要執行chroot /mnt/sysimage命令,再次按回車獲取到shell。進入初始系統后,執行修改root密碼的命令passwd,如下圖所示。
其實,執行完chroot命令之后,你會發現命令行前后有一處變化,即原來的sh-4.4變成了bash-4.4,這就是因為環境變量發生了變化,后面我們還會再討論這個知識點。當然,救援模式并非只有改root密碼這么簡單的作用,我們還可以在救援模式下處理一些故障、修復數據等。要想退出救援模式也很簡單,先使用Ctrl+D組合鍵退出原始系統,然后執行reboot命令即可。但是重啟后你會發現,它依然進入光驅啟動界面。所以,我們還需要再設置一遍BIOS,讓硬盤第一個啟動。這里還有一種方法,設置VMware,關閉光驅即可。
審核編輯:湯梓紅
?
評論
查看更多