基礎知識 橋接和僅主機模式的區別 橋接模式 在橋接模式下,相當於VM虛擬出了一個交換機,然後交換機也連接在物理的連接上,這時,虛擬主機都可以獲取到和物理主機在同一個網段上的地址。所以可以通過橋接模式,來連接同一個區域網內的虛擬主機。比如你可以連接你的小伙伴的虛擬的主機,如果他也是橋接在當前的區域網中 ...
基礎知識
橋接和僅主機模式的區別
橋接模式
在橋接模式下,相當於VM虛擬出了一個交換機,然後交換機也連接在物理的連接上,這時,虛擬主機都可以獲取到和物理主機在同一個網段上的地址。所以可以通過橋接模式,來連接同一個區域網內的虛擬主機。比如你可以連接你的小伙伴的虛擬的主機,如果他也是橋接在當前的區域網中。
僅主機模式
在僅主機的模式下,也相當於虛擬出了一個虛擬交換機,各個虛擬機都連接在虛擬的交換機上,同時你的物理主機也會連接在這台交換機上,地址是由你的VMWare的DHCP服務來分配的,所以自己的虛擬主機之間是可以互通的,但是即使你和你的小伙伴的地址是同一個網段內的都是不可以互通的。
設備的文件名
如linux的哲學思想所說一切皆文件,在linux中設備也可以看做成是文件,
設備文件放在/dev目錄下麵,磁碟通過不同的介面接在設備上,其設備名也是不一樣的。
- IDE硬碟:/dev/hd[a-z]
- SCSI硬碟:/dev/sd[a-z]
- SATA硬碟:/dev/sd[a-z]
- SAS硬碟:/dev/sd[a-z]
- U盤:/dev/sd[a-z]
- CDROM:/dev/sr0
磁碟只有在分區之後才能使用,分區之後的命名為,這裡就拿sda來說,比如第一個分區就叫做sda1,第二個分區就叫做sda2,以此類推!
終端terminal
- 設備終端:比如我們使用的鍵盤,滑鼠和顯示器
- 物理終端(/dev/console):控制台console口
- 虛擬終端(/dev/tty,tty[2-6]):tty可以有N個,使用Ctrl+Alt+F[2-6]可以切換虛擬終端
- 圖形化終端(/dev/tty1):在Centos6中是Ctrl+Alt+F1,但是在Centos7中,在哪一個終端啟動即位於哪一個終端上
- 串列終端(/dev/ttyS#):串列終端由ttyS+數字,可以有很多個
- 偽終端(/dev/pts/#):當使用xshell,CRT或者putty等客戶端SSH連接到linux主機上的時候,就會有/dev/pts/0,後面的數字根據連接數遞增
- 命令提示符:[root@centos6 ~]# 是命令提示符,root代表當前用戶,@後面的是檔期那的主機名,相當於hostname,空格後面的用戶是當前所在的目錄,#代表是管理員賬戶,普通用戶是$。
cat
查看文件的內容,比如我們可以查看一下當前系統所安裝的shell有哪些:
[root@centos6 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
還可以查看一下當前的shell:
[root@centos6 ~]# echo $SHELL
/bin/bash
type
用來查看命令的類型,內置命令和外置命令會有不同的顯示結果
內置命令:
[root@centos6 ~]# type cd
cd is a shell builtin
外置命令:會顯示出外置命令的路徑
[root@centos6 ~]# type cat
cat is hashed (/bin/cat)
which
查看外部命令的路徑
[root@centos6 ~]# which cat
/bin/cat
enable
查看已經啟用的內部命令
- -n command:禁用指定的內部命令
- -n:查看已經禁用的內部命令
-a:啟用指定的內部命令
[root@centos6 ~]# enable -n cd [root@centos6 ~]# enable -n enable -n cd [root@centos6 ~]# enable cd [root@centos6 ~]# enable -a |wc -l 61
hash
外部命令在第一次執行的時候,會在系統下的路徑去找,當執行過以後就會緩存下來,可以通過hash查看緩存的命令
- -d command:刪除指定的hash
-r:清除所有的hash
[root@centos6 ~]# hash hits command 2 /usr/bin/tty 1 /bin/cat 9 /bin/date 1 /usr/bin/man [root@centos6 ~]# type cat cat is hashed (/bin/cat)
alias
查看別名或定義別名
[root@centos6 ~]# alias
alias copy='cp'
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
定義新的別名
[root@centos6 ~]# alias copy=cp
取消別名
[root@centos6 ~]# unalias copy
取消所有別名
[root@centos6 ~]# unalias -a
當前定義的別名只在本次會話中有效,重啟終端以後不會生效,如果想對當前用戶生效,可以將別名寫入~/.bashrc,如果想對本機所有用戶生效,可以將別名寫入/etc/.bashrc
[root@centos7 ~]# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
命令執行的優先順序
alias>內部命令>外部命令(hash>PATH)
執行一條命令的時候,會現在alias中查找,如果找不到就在內部命令中去查找,如果還找不到的話就在外部命令中去查找,如果依然找不到的話就會在hash緩存中去查找,最後找不到的話就會去PATH下去找。
那怎麼使用命令不受別名的影響呢?
- /bin/ls:路徑執行
- \ls:反斜線
- 'ls':單引號
- "ls":雙引號
命令的格式
command options arguments:options是選項,arguments是參數
date
查看日期,此為軟時間
[root@centos6 ~]# date
Thu May 17 19:19:07 CST 2018
輸出指定格式的日期
[root@centos6 ~]# date "+%F %T %u"
2018-05-17 19:23:53 4
設置軟時間
[root@centos6 ~]# date -s "2018-5-12 12:12:12"
Sat May 12 12:12:12 CST 2018
cal
顯示當前月份的日曆
[root@centos6 ~]# cal
May 2018
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
顯示指定的年月
[root@centos6 ~]# cal 8 2018
August 2018
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
clock和hwclock
顯示硬體時間
- -s:將硬體時間寫到軟體時間
-w:將軟體時間寫到硬體時間
[root@centos6 ~]# date Wed Aug 8 18:18:20 CST 2018 [root@centos6 ~]# clock -s [root@centos6 ~]# date Thu May 17 20:24:33 CST 2018
關機
- init 0:關機
- init 6:重啟
- poweroff
- shutdown -h +minute:多少分鐘後關機
- shutdown -h +0:立即關機
- shutdown 19:11:指定時間關機
- shutdown -c:取消關機
顯示當前用戶
whoami
顯示當前的用戶
[root@centos6 ~]# whoami
root
who am i
顯示當前用戶的詳細信息
[root@centos6 ~]# who am i
root pts/0 2018-05-17 14:01 (172.18.118.140)
who
顯示當前所有用戶
[root@centos6 ~]# who
root pts/0 2018-05-17 14:01 (172.18.118.140)
root pts/1 2018-05-17 14:55 (172.18.118.140)
w
顯示當前所有用戶的詳細信息
[root@centos6 ~]# w
20:59:59 up 6:07, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.18.118.140 14:01 1.00s 2.42s 0.60s w
root pts/1 172.18.118.140 14:55 1:39m 3.68s 0.01s man date
screen
使用場景
比如複製一個很大的文件時,系統會等待複製完成才可以繼續輸入命令,而且一旦不小心關閉終端,複製就結束了,這樣就要用到screen。
screen的安裝
[root@centos6 ~]# mount /dev/sr0 /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@centos6 ~]# rpm -ivh /media/Packages/screen-4.0.3-19.el6.x86_64.rpm
warning: /media/Packages/screen-4.0.3-19.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
package screen-4.0.3-19.el6.x86_64 is already installed
echo
輸出,相當於易語言的調試輸出或者java的println
[root@centos6 ~]# echo nihao
nihao
[root@centos6 ~]# echo $SHELL
/bin/bash
發出報警聲,e表示擴展
[root@centos6 ~]# echo -e "\a"
$的用法
$varname:引用變數的值
[root@centos6 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@centos6 ~]# a=1
[root@centos6 ~]# echo $a
1
$()或反引號:引用命令的執行結果
創建一個當前時間的txt文件
[root@centos6 ~]# touch $(date "+%H時%M分%S秒").txt
[root@centos6 ~]# ls
21時16分59秒.txt Documents install.log.syslog Public
anaconda-ks.cfg Downloads Music Templates
Desktop install.log Pictures Videos
$[]或$(()):表示算術運算
[root@centos6 ~]# echo $[19+10]
29
[root@centos6 ~]# echo $((19+10))
29
${}或$varname
強調了變數的起始和終止的範圍
[root@centos6 ~]# s=123
[root@centos6 ~]# echo ${s}456
123456
{}的用法
連續的值:
[root@centos6 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@centos6 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@centos6 ~]# echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z
添加步長
[root@centos6 ~]# echo {1..10..2}
1 3 5 7 9
history
查看命令歷史
- -c:清空歷史
- -a:追加本次會話新執行的命令歷史至歷史文件
- -w /PATH/TO/SOMEFILE:保存歷史列表到指定的歷史文件
- -r:讀取歷史文件中的所有歷史到當前終端的歷史
- -n:僅讀取未度過的歷史到當前終端的歷史緩存
- !n:執行第n條的命令
- !!:再執行一次上次執行的命令
- Ctrl + r:來在命令歷史中搜索命令
Ctrl + g:從歷史搜索模式退出
[root@centos6 ~]# history 1 ifconfig 2 ifcon 3 ifconfig 4 ls 5 ls -l 6 ls -a
在登錄shell的時候,會讀取命令歷史文件中的記錄,在~/.bash_history裡面,登錄進shell後新執行的命令是保存在緩存中的,這些命令在退出shell的時候才會追加到.bash_history中。
bash常用的快捷鍵介紹
- Ctrl + l: 清屏,相當於clear
- Ctrl + c: 終止命令
- Alt + number: 按住Alt輸入指定數字後,鬆開Alt,輸入字元 重覆顯示該字元n次
- Alt + .: 重新調用前一個命令中最後一個參數