一、字元模式與shell命令(一)
字元模式與shell命令
> 字元模式初識
○ 雖然圖形化操作簡單易用, 但Linux字元命令列工作模式能夠使用至今,這與它自身的優秀特性是分不開的。
○ 字元模式下,系統執行效率高,穩定性高,執行結果可直接返回。
○ 不需要啟用圖形模式,節省系統資源,這對一臺伺服器是至關重要的。
○ 字元模式採用字元方式傳輸,節省大量網路開銷,大大降低執行成本。
○ 命令列可以攜帶更多的引數,遠比圖形化操作功能強大。
伺服器最重要的就是避免系統資源的浪費;所以有時訪問網站出現卡頓問題時,並不是網路不好,可能是訪問的網站伺服器不夠好;作業系統需要幫助伺服器節省資源
這個圖就是字元模式
○ 在字元模式下,可以同時開啟6個獨立的字元介面,這6個字元介面稱為Linux的6個虛擬控制檯, 分別表示為 tty1~ tty6(TeleTYpewriter)。圖形介面可認為是第7個終端。
○ Linux可以採用以下幾種方式進入字元模式:
○ 若要開機直接進入字元模式,而不進入圖形介面,可以修改檔案/etc/inittab。
有四種進入字元模式的方式,重啟後自動進入圖形模式,如果想啟動後自動進入字元模式
開啟終端,找到 etc 目錄下的 inittab
etc 目錄是配置目錄,裡面放的都是配置檔案
vim 是開啟 linux 下的一個文字檔案的命令
vim 開啟後,就可以修改啟動模式了
這個就是 inittab 文件,井號代表註釋
# multi-user.target: analogous to runlevel 3 是 init 3 的模式,是文字模式
# graphical.target: analogous to runlevel 5 是 init 5 的模式,是圖形模式
[root@localhost ~]# cd /etc
[root@localhost etc]# ls inittab
inittab
[root@localhost etc]# vim inittab
[root@localhost etc]# systemctl get-default
graphical.target
[root@localhost etc]#
systemctl get-default
get-default 代表查詢預設啟動項是什麼
[root@localhost ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
[root@localhost ~]#
cat 代表檢視,能夠看出當前的啟動項是 5;如果改成 3 應該怎麼操作呢?
[root@localhost etc]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@localhost etc]#
[root@localhost etc]# systemctl get-default
multi-user.target
[root@localhost etc]#
修改完成後,可以 reboot 下,驗證是否修改成功,結果是直接進入文字模式下了,不用在 init 3 開啟終端進入了
○ 若當前處於字元模式下, 可以按Alt+F1~Alt+F6開啟一個新的字元介面(有些計算機需要再同時按一個shift,請讀者操作時注意)。
Alt+F1~Alt+F6 分別開啟的是 六個新的終端
○ 若由init 5進入了圖形介面, 則可按 Ctrl+Alt+F1 ~ Clrl+Alt+F6 切換至控制檯 (即字元模式),之後想再返回到圖形介面, 可以直接按Alt F7。
不過,一般 init 3 切換至控制檯是更完整的切換方式
○ 遠端登入伺服器,這也是網路管理員使用最多的方式,遠端登入將在後面的章節介紹。
遠端登入在工作中很常用,因為和機房的伺服器經常是要物理隔絕的
二、字元模式與shell命令(二)
字元模式與 shell 命令
linux開發安卓時,用的linux的級別就是 4;省電模式其實就是 linux 的 init 4
X11 就是圖形模式
> shell命令與幫助
○ 什麼是shell
○ shell可以理解為是 Linux 系統提供給使用者的使用介面。shell 為使用者提供了輸入命令和引數,並可得到命令執行結果。當一個使用者登入Linux之後, 系統會為每一個使用者設定一個稱為shell的程式,shell 提供一個保護作業系統核心(Kernel) 的外殼(shell),使用者對作業系統下達的指令通過 shell 去執行。
○ shell 是一個命令列直譯器,它為使用者提供了一個向 Linux 核心傳送請求以便執行程式的介面程式,使用者可以用 shell 來啟動、掛起、停止甚至是編寫一些程式。shell 處在核心與外層應用程式之間,起著協呼叫戶與系統的一致性以及在使用者與系統之間進行互動的作用,即 shell 為使用者提供了輸入命令和引數並可得到命令執行結果的環境。
shell 內部呼叫硬體底層裝置,對外是核心與外層應用程式之間的一個呼叫過程
linux 上面的命令,其實就是 shell,呼叫的就是 shell
○ Shell命令的兩種執行方式
○ 互動式(Interactive):解釋執行使用者的命令,使用者輸入一條命令,Shell 就解釋執行一條。
前面所有的操作,比如 ls cd 等,都是輸入一條,解釋一條,就是這樣的模式
○ 批處理(Batch):使用者事先寫一個Shell指令碼(Script),其中有很多條命令,讓Shell一次把這些命令執行完,而不必一條一條地敲命令。
所以,批處理是涉及到一定的指令碼概念
linux 上經常會用到幫助,因為 linux 本身是異平臺
○ shell命令使用幫助
○ whatis 命令
○【例2-1】使用 whatis 檢視 reboot 的功能。
○ --help引數
○【例2-2】使用 help 引數檢視 reboot 指令的幫助資訊。
○ 使用man命令
○【例2-3】使用 man 命令檢視 reboot 指令的幫助資訊。
○ (4) 使用info命令
○【例2-4】使用 info 檢視 cal 的幫助資訊。
相對來說,help 比 whatis 要更細緻一些
man 命令則是更為細緻豐富一些,用完之後 Ctrl + Z 退出即可
info 也是一個幫助資訊
info 比 man 還要細緻,所以這四個命令是越來越詳細的;只是開啟後都是英文的;
建議記住 --help 和 man,有這兩個 幫助,基本上是夠用的
三、文字編輯器 vim
文字編輯器 vi
> vim 是一個由 vi 增強版的編輯工具,是一個開源免費的軟體,它功能豐富, 使用快捷,應用廣泛,vim 也是大多數linux系統上的預設編輯器,用於對文字檔案進行建立,顯示,編輯,刪除,複製等操作,需要用命令進行控制。
> vi 有 3 種工作模式, 分別是命令模式 (Command mode) 插入模式 (Insert mode) 以及末行模式(Last line Mode)
vim 適合寫指令碼 變數和關鍵字等 有不同的顏色體現
vi 就是一個編輯器,就像 windows 上面的記事本一樣
這就是 vi 和 vim 的不同點
> vim的啟動:vim是一個在命令列 (命令終端視窗) 下使用的編輯工具
vim 檔名
進入的第一個預設的模式就是命令模式,鍵入的每一個字元都會被當做命令來處理
linux 是區分大小寫的作業系統
如果 vim 檔名 裡面的檔名不存在,那麼會建立一個新的檔案
插入模式是在進入命令模式之後,會去操作的點,在命令模式上才可以進入插入模式,有 a i o 鍵可以使用
比如通過 vim 建立一個新的檔案
[root@localhost ~]# vim abd
回車後,進入了命令模式
輸入 a 後,進入插入模式
這是在沒有檔案內容的情況下,做的插入
如果想從插入模式回到命令模式,按 ESC 鍵,左下角就沒有那個提示了
剛剛是在沒有檔案內容的情況下,做的插入,現在有檔案內容了,所以情況不一樣了
所以 a 的意思是,在游標所在字元後插入
A 意味著在行尾插入
vim
插入模式:
a 在游標所在字元後插入
A 在行尾插入
i 在游標所在字元前插入
I 在行首插入
o 在游標下插入新行
O 在游標上插入新行
在進入末行模式前,要先按 ESC,確認處於命令模式以後,在按下冒號,就可以進入末行模式了
末行模式是需要在後面輸入命令的,比如 wq 是存檔,q 是退出
末行模式需要按下 ESC,以冒號開頭,後跟命令
一些命令的使用技巧,比如需要開啟多個檔案
比如 開啟 inittab 和 剛剛建立的 abd 檔案
[root@localhost etc]# vim inittab abd
開啟後只看到了一個檔案,是因為 vmware 的版本問題,兩個檔案挨著寫就可以開啟了
wq! 表示強制退出
q! 表示不存檔退出
在命令模式下 按 dd 可以刪除整行
四、init程式與執行級別
init 程式與執行級別
> init 程式是 Linux 核心引導結束時第一個執行的程式,它會讀取配置檔案 /etc/inittab,然後計算機會啟動到該配置檔案定義的執行級別下
# Default run leve 1.The runleve1susedbyRHS are:
# O-halt(Do NOT set in it default to this)
# 1 -Single usermode
# 2-Multiuser, without NFS(The same as 3,if yo
# 3-Fu 11 multiuser mode
# 4-unused
# 5-X11
# 6-reboot (Do NOT set in it default to this)
#
id:3:init default:
但是在 CentOS7 上,已經拋棄 /etc/inittab 不會讀取了,將會以其它的方式存在
比如以一個資料庫的方式存在
其中關鍵的是 級別 3 和 5,是必須要搞清楚的
五、計算機使用基本命令(一)
計算機使用基本命令
> 命令補齊
○ 在輸入命令時,有時候命令、檔案或目錄名可能比較長,書寫起來有些困難,這時可以只寫前幾個字元,然後按下鍵盤上的Tab鍵, 即可實現命令補齊, 從而提高書寫命令的效率。
> 更改計算機名
○ 臨時修改計算機名:hostname 計算機名
○ 注意,計算機名要寫成域名的形式,如test.com。
○ 在字元介面中輸入命令exit登出計算機後生效; 在圖形介面中關閉命令終端後重新開啟也可生效,但重啟計算機後失效。
○ 永久更改計算機名
○ 使用命令vi /etc/sysconfig/network
計算機名最好寫成域名形式,防止名字衝突
exit 相當於登出了一下計算機,注意變成 root@qwer 了
reboot 重啟後失效
臨時設定計算機名 臨時設定網路 特別有意義;可以先前進行試驗,試驗某個動作是否是成功的,如果成功可以設定成永久;如果不成功重啟一下就可以恢復了
sysconfig 是一個目錄,尋找 network,ls network 能夠搜尋到就 ok;vim 開啟 network
可以在這裡設定計算機名,設定完成後,重啟就是永久的了; 輸入 :q 退出
在 CentOS 中進行了升級,不是這樣做的了
有兩種永久修改計算機名的方式
第一種方式:hostnamectl set-hostname 是永久修改
這樣計算機名 hostname 就修改了,重啟也是這樣的
第二種方式:修改文件
回車後進入檔案,修改計算機名 為 zxcv.com
然後 reboot 重啟,檢視計算機名是否有變化
> 檢視歷史命令
○ 歷史命令存放在“~/.bash_history”檔案中
○ 使用上下箭頭直接翻看輸入過的命令。 (這是最經典的)
○ 使用history命令檢視
○ 輸入 “!命令序號” 可以直接執行輸入過的歷史命令。
[root@localhost ~]# history
1 vi .bash_history
2 history
3 exit
4 date
5 hwc1ock
6 date -s“20140102 03:04:05"
7 date
8 history
[root@localhost~]# history
1 vi .bash_history
2 history
3 exit
4 date
5 hwclock
6 date -s“20140102 03:04:05
7 date
8 history
[root@localhost~]# !4
date
2014年 01月 02日 星期四 03:10:30 CST
六、計算機使用基本命令(二)
計算機使用基本命令
> 檢視和設定 IP 地址
協議 描述 使用的埠
HTTP 超文字傳輸協議,傳輸Web頁面 80
HTTPS 經過加密的HTTP 443
FTP 檔案傳輸協議 21
DNS 域名系統,用於域名解析 53
SMTP 簡單郵件傳輸協議,用於傳送郵件 25
POP3 郵局協議,用於接收郵件 110
SSH 經過加密的遠端安全Shell 22
Telnet 明文方式連線的遠端終端服務 23
比如 https://www.baidu.com/ 這個 baidu 就是域名
輸入域名就能找到網站百度,就是因為後臺有一個域名解析伺服器
遠端訪問 linux 伺服器 用的就是 SSH 埠 22
Telnet 也是遠端訪問 linux 伺服器的,但是不如 SSH 安全,因為是明文傳送的
在軟體測試的安全測試方面,就會重點檢查明文方式連線的遠端終端服務
○ 檢視 IP 地址:ifconfig 網路介面名
[root@zxcv ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:7b:35:7f txqueuelen 1000 (Ethernet)
RX packets 32 bytes 1920 (1.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 200 bytes 16544 (16.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 200 bytes 16544 (16.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:0d:72:a8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig 之後,看到的是所有計算機上的網路卡,一個是 ens33,就是我們當前這臺計算機的網路卡
lo 代表環路,lo 叫做環路測試
第三個 virbr0 暫時不需要管
ifconfig 命令會看到兩個網路介面:一個是乙太網卡eth 0, 一個是迴環裝置lo(loopback) 。
如果是雙網路卡, 則第1個網路卡為eth 0, 第2個網路卡為eth 1, 依此類推。
同時, Linux支援在一個網路卡上設定多個IP地址, 以ethN:M標識, N、M均從0開始,例如eth0:0表示第1個網路卡的第1個IP地址。
關閉其他虛擬裝置
#/etc/in it.d/lib virt d stop
#/etc/in it.d/x end stop
#chkconfig lib virt d off
#chkconfig x end off
○ 臨時設定 IP 地址
○ ifconfig 網路卡名 IP地址 netmask 子網掩碼
○ 為 eth0 設定 IP 地址和子網掩碼 (臨時)。
[root@localhost~] # ifconfig eth0 192.168.255.128 netmask 255.255.255.0
○ 為 eth0 設定第 2 個 IP 地址和子網掩碼 (臨時)。
[root@localhost~] # ifconfig eth0:1 192.168.255.129 netmask 255.255.255.0
○ 啟用 eth0: 1網路卡
[root@localhost~] # ifconfig eth0:1 up
○ 禁用網路卡 eth0: 1網路卡
[root@localhost~] # ifconfig eth0:1 down
在配置網路時,先配置的是臨時ip地址;配置臨時 ip 地址,首先要知道給哪個網路卡進行配置
這裡就是對 ens33 進行配置,那麼 ip 應該配置成什麼?虛擬機器右下角有一個網路介面卡 NAT
NAT 代表 net 連線
點選虛擬機器的 編輯 → 虛擬網路編輯器
可以看到 NAT 的子網地址 是 192.168.237
這就說明我們配置的 ip 地址就 應該是 192.168.237.??什麼;這裡就配置成 192.168.237.100
[root@zxcv ~]# ifconfig ens33 192.168.237.100
現在再一次 ifconfig 進行檢視,這時就看到了我們配置的 ip 192.168.237.100,這就是我們設定的臨時 ip
[root@zxcv ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.237.100 netmask 255.255.255.0 broadcast 192.168.237.255
ether 00:0c:29:7b:35:7f txqueuelen 1000 (Ethernet)
RX packets 644 bytes 39120 (38.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 2079 (2.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 480 bytes 39776 (38.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 480 bytes 39776 (38.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:0d:72:a8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
現在重啟系統,進入再次 ifconfig 檢視,就會發現 ip 地址消失了;這就說明配置的是一個 臨時ip地址
如果想配置一個不會消失的靜態 ip 地址應該怎麼辦?
○ 禁用和啟用網路卡:ifconfig 網路介面名 up|down
[root@localhost~]# ifconfig eth0:0 192.168.0.212 netmask 255.255.255.0
[root@localhost~]# ifconfig eth0:0 down
[root@localhost~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:3C:FA:BB
inet addr:192.168.0.211 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU: 1500 Metric: 1
RX packets: 39 errors: 0 dropped: 0 overruns: 0 frame: 0
TX packets: 0 errors: 0 dropped: 0 overruns: 0 carrier: 0
collisions: 0 txqueuelen: 1000
RX bytes: 5166 (5.0 KiB) TX bytes: 0 (0.0 b)
Interrupt: 67 Base address: 0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU: 16436 Metric : 1
RX packets : 36 errors:dropped:O overruns:O frame:O
TX packets : 36 errors:O dropped:O overruns : 0 carrier : 0
collisions : 0 txqueuelen:O
RX bytes:4258(4.1KiB) TX bytes:4258(4.1KiB)
一般情況下,現在的虛擬機器時 vmware15 所以網路卡不需要啟用了;只要網路卡配置完,就會自動去啟用
> 檢視和設定 IP 地址
○ 永久設定 IP 地址
○ vi/etc/sysconfig/network-scripts/ifcfg-eth0
首先,需要 cd 進入 etc 目錄,有一個 sysconfig 目錄,然後進入 network-scripts 目錄
然後 ls 檢視一下,在 network-scripts 下面就能夠看到 ifcfg-ens33
這個檔案其實就是我們虛擬機器的 網路卡配置檔案,我們可以藉助於它,去配置我們的永久 ip
[root@zxcv ~]# cd /etc/sysconfig/network-scripts
[root@zxcv network-scripts]# ls
ifcfg-ens33 ifdown-isdn ifup ifup-plip ifup-tunnel
ifcfg-lo ifdown-post ifup-aliases ifup-plusb ifup-wireless
ifdown ifdown-ppp ifup-bnep ifup-post init.ipv6-global
ifdown-bnep ifdown-routes ifup-eth ifup-ppp network-functions
ifdown-eth ifdown-sit ifup-ib ifup-routes network-functions-ipv6
ifdown-ib ifdown-Team ifup-ippp ifup-sit
ifdown-ippp ifdown-TeamPort ifup-ipv6 ifup-Team
ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-TeamPort
[root@zxcv network-scripts]# vim ifcfg-ens33
進入後發現裡面有東西,內容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=dc20a4c1-20e9-4e46-a95a-f4c4feeb2f26
DEVICE=ens33
ONBOOT=no
BOOTPROTO=dhcp 這個需要修改,改成 static 靜態的
ONBOOT=no ONBOOT的意思是 是否現在就啟用,所以 改成 yes,現在就啟用
需要繼續在後面的幾行,加上 ip 地址,子網掩碼,閘道器,和 DNS(可選)
修改完成後的程式碼如下:
剛剛的臨時 ip 寫的是 100,這個靜態的這次 寫為 101
一般情況下,C類網路就是採用前三節,ip 最後一位隨便配,閘道器一般最後一位就是 1
設定完成後,存檔退出,進入末行模式,輸入 wq,存檔退出
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=dc20a4c1-20e9-4e46-a95a-f4c4feeb2f26
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.237.101
NETMASK=255.255.255.0
GATEWAY=192.168.237.1
這樣的情況,就退出編輯模式了,然後需要重啟網路服務
[root@zxcv network-scripts]# systemctl restart network
重啟完成後,繼續 ifconfig 檢視
[root@zxcv network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.237.101 netmask 255.255.255.0 broadcast 192.168.237.255
inet6 fe80::b4ce:6203:d3d4:40f5 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:7b:35:7f txqueuelen 1000 (Ethernet)
RX packets 621 bytes 38108 (37.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36 bytes 4775 (4.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 584 bytes 48416 (47.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 584 bytes 48416 (47.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:0d:72:a8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@zxcv network-scripts]#
這時 ip 就變成了,192.168.237.101 這個是永久的,再次重啟虛擬機器,檢視 ip 地址是不會變的了
永久 ip 配完了,現在就需要去使用它了
現在希望通過實體機去訪問虛擬機器,去遠端訪問伺服器;
首先需要用實體機去 ping 一下,是能夠 ping 通的
這樣前提條件就有了,於是現在需要下載一個工具 —— putty
網路上有 很多的,不僅侷限於 putty
前面提到過,SSH 協議的埠號是 22,明文傳輸
在 Host Name 處輸入 ip 後,點選 Open
這是個祕鑰,現在和 linux 連線,linux 會詢問祕鑰,詢問祕鑰是否正確,點選“是”就可以了
這樣就可以遠端訪問 linux 伺服器了
putty 的字型大小是可以調節的
再次點選 session,輸入ip 連線
其實可以不用每次都寫 ip,可以在這裡儲存資訊
七、計算機使用基本命令(三)
計算機使用基本命令
> 設定DNS
○ 修改DNS,需要修改檔案 /etc/resolv.conf
search localdomain
nameserver 202.106.46.151
> 檢視作業系統資訊
○ uname 用於顯示計算機及作業系統的相關資訊,語法為:
uname 引數 -a:顯示全部的資訊。
-m:顯示當前電腦架構型別。
-n:顯示在網路上的主機名稱。
-r:顯示作業系統的發行編號,即核心版本號。
-s:顯示作業系統名稱, 與不加引數的 uname 的顯示結果相同。
-v:顯示作業系統的版本。
網路設定好之後,還需要設定DNS,DNS 其實就是域名解析系統
開啟瀏覽器 輸入 www.baidu 然後就找到了百度 伺服器,這就源自於 域名和 ip 的解析
在實際工作中,域名解析DNS就是已經搭建好了的,只需要知道應該在哪個檔案中找尋就可以了
[root@localhost ~]# uname
Linux
uname 告訴我們當前的計算機系統是 Linux
作為測試工程師,要寫測試計劃,測試計劃裡就要寫上當前系統所佔用的資訊
[root@localhost network-scripts]# uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
顯示了計算機系統的相關資訊
> 檢視和設定日期
○ date 引數
○ (1) 不使用引數時可以檢視系統當前日期和時間
○ (2) 使用日期類引數
○ (3) 使用時間類引數
○ (4) 格式引數
○ %n:顯示換行符。
○ 例如:date+%D%n%T
○ (5) 設定日期和時間:date -s “日期時間字串”
○ 日期時間字串按照 “年月日 時分秒” 的方式書寫即可,注意必須在日期和時間間加空格。
設定日期和時間:date -s “日期時間字串” 就是修改日期和時間,一般情況下,不建議修改
如果沒有設定變數,前面寫一個 加號 就可以了
[root@localhost ~]# date +%D%n%T
01/25/21
17:38:41
一般不會修改時間,修改時間很可能給系統增加一個缺陷
> 檢視和設定日期
○ date 引數
○ date 命令只能修改系統時間,硬體時間即BIOS時間不會改變。使用hwclock命令可以檢視硬體時間
○ 若要更新硬體時間,可以重啟計算機,或者執行 hwclock -w命令,此命令會使用系統時間的值修改 BIOS 時間。
不建議用 hwclock 修改硬體時間,因為現在的計算機都很智慧,改變硬體時間,計算機可能會實時報錯。知道有這個命令就 ok 了
hwclock -w 只有在一些特殊項上面才會更改,否則最好不要修改
[root@localhost~]# date
2014年 01月 02日 星期四 03:12:38 CST
[root@localhost~]# hwclock
2014年 01月 12日 星期日 15時31分01秒 -0.019410 seconds
[root@localhost]# date
2014年 01月 02日 星期四 03:04:06 CST
[root@localhost~]# hwclock
2014年 01月 12日 星期日 15時37分48秒 -0.019532 seconds
[root@localhost~]# hwclock -w
[root@localhost~]# date
2014年 01月 02日 星期四 03:04:23 CST
[root@localhost~]# hwclock
2014年 01月 02日 星期四 03時04分27秒 -0.019386 seconds
系統時間和硬體時間是兩回事
> 檢視歷史命令
○ 歷史命令存放在 “~/.bash_history” 檔案中
○ 使用上下箭頭直接翻看輸入過的命令。
○ 使用 history 命令檢視
○ 輸入 “!命令序號” 可以直接執行輸入過的歷史命令。
> echo命令
○ 使用 echo 可以向標準輸出輸送字串
○ 格式為:echo -e -n 字串
○ -e 表示對轉義字元進行替換。如果不使用 -e 選項,將會原樣輸出。
○ -n 表示輸出字串後不換行,預設換行。
○【例如】
○ echo “Hello\tLinux” 向終端輸出 Hello\tLinux,
○ echo -e “Hello\tLinux” 則輸出 “Hello Linux”。
標準輸出指的就是顯示器;echo 向顯示器輸送字串;如果 \t 不加 -e 則代表原樣輸出
有一個讓終端螢幕變大的 小技巧,CTRL + SHIFT
[root@localhost ~]# echo "Hello"
Hello
[root@localhost ~]# echo "Hello\tlinux"
Hello\tlinux
[root@localhost ~]# echo -e "Hello\tlinux"
Hello linux
> echo命令
○ 在Linux中, 字串的定界符有3種,雙引號、單引號、倒引號。
○ 雙引號" ":之中的字串,除$、倒引號、英文歎號、斜槓\外,都是普通字元,其中\表示轉義。如\n表示換行,\t表示水平製表符 (tab鍵),\\表示反斜槓。
○ 單引號' ':之中的字串全部是普通字元,原樣輸出。
○ 倒引號``(鍵盤直接敲擊鍵盤上的~,不要按 shift 即可出現):之中的字串視為命令。倒引號也被稱為反引號、命令替換符。
HOSTNAME 代表系統環境變數
[root@localhost ~]# echo "$HOSTNAME"
localhost.localdomain 顯示的是計算機的名字
[root@localhost ~]# echo '$HOSTNAME'
$HOSTNAME 單引號,原樣輸出
倒引號只能輸出命令
[root@localhost ~]# echo `hello`
bash: hello: 未找到命令...
[root@localhost ~]# echo `date`
2021年 01月 25日 星期一 18:38:10 CST
[root@localhost ~]#
所以 echo 命令 一般用於自動化 輸入顯示命令上面
> 清屏
○ 清屏可以使螢幕上方的文字除提示符外全部隱藏,清屏命令是 clear,也可以使用快捷鍵 Ctrl+L 進行清屏。