1.命令格式:ifconfig [網(wǎng)絡(luò)設(shè)備] [參數(shù)]
2.命令功能: ifconfig 命令用來查看和配置網(wǎng)絡(luò)設(shè)備。當網(wǎng)絡(luò)環(huán)境發(fā)生改變時可通過此命令對網(wǎng)絡(luò)進行相應(yīng)的配置堂鲤。
3.命令參數(shù): up 啟動指定網(wǎng)絡(luò)設(shè)備/網(wǎng)卡只壳。 down 關(guān)閉指定網(wǎng)絡(luò)設(shè)備/網(wǎng)卡。該參數(shù)可以有效地阻止通過指定接口的IP信息流,如果想永久地關(guān)閉一個接口粉怕,我們還需要從核心路由表中將該接口的路由信息全部刪除。 arp 設(shè)置指定網(wǎng)卡是否支持ARP協(xié)議抒巢。 -promisc 設(shè)置是否支持網(wǎng)卡的promiscuous模式贫贝,如果選擇此參數(shù),網(wǎng)卡將接收網(wǎng)絡(luò)中發(fā)給它所有的數(shù)據(jù)包 -allmulti 設(shè)置是否支持多播模式蛉谜,如果選擇此參數(shù)稚晚,網(wǎng)卡將接收網(wǎng)絡(luò)中所有的多播數(shù)據(jù)包 -a 顯示全部接口信息 -s 顯示摘要信息(類似于 netstat -i) add 給指定網(wǎng)卡配置IPv6地址 del 刪除指定網(wǎng)卡的IPv6地址 <硬件地址> 配置網(wǎng)卡最大的傳輸單元 mtu<字節(jié)數(shù)> 設(shè)置網(wǎng)卡的最大傳輸單元 (bytes) netmask<子網(wǎng)掩碼> 設(shè)置網(wǎng)卡的子網(wǎng)掩碼。掩碼可以是有前綴0x的32位十六進制數(shù)型诚,也可以是用點分開的4個十進制數(shù)客燕。如果不打算將網(wǎng)絡(luò)分成子網(wǎng),可以不管這一選項狰贯;如果要使用子網(wǎng)也搓,那么請記住,網(wǎng)絡(luò)中每一個系統(tǒng)必須有相同子網(wǎng)掩碼涵紊。 tunel 建立隧道 dstaddr 設(shè)定一個遠端地址傍妒,建立點對點通信 -broadcast<地址> 為指定網(wǎng)卡設(shè)置廣播協(xié)議 -pointtopoint<地址> 為網(wǎng)卡設(shè)置點對點通訊協(xié)議 multicast 為網(wǎng)卡設(shè)置組播標志 address 為網(wǎng)卡設(shè)置IPv4地址 txqueuelen<長度> 為網(wǎng)卡設(shè)置傳輸列隊的長度
4.使用實例:
實例1:顯示網(wǎng)絡(luò)設(shè)備信息(激活狀態(tài)的) 命令:ifconfig 輸出:? 代碼如下: [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20 inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0 TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
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:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
說明:
eth0 表示第一塊網(wǎng)卡, 其中 HWaddr 表示網(wǎng)卡的物理地址摸柄,可以看到目前這個網(wǎng)卡的物理地址(MAC地址)是 00:50:56:BF:26:20
inet addr 用來表示網(wǎng)卡的IP地址颤练,此網(wǎng)卡的 IP地址是 192.168.120.204,廣播地址塘幅, Bcast:192.168.120.255昔案,掩碼地址Mask:255.255.255.0
lo 是表示主機的回壞地址尿贫,這個一般是用來測試一個網(wǎng)絡(luò)程序,但又不想讓局域網(wǎng)或外網(wǎng)的用戶能夠查看踏揣,只能在此臺主機上運行和查看所用的網(wǎng)絡(luò)接口庆亡。比如把 HTTPD服務(wù)器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網(wǎng)站了捞稿。但只是您能看得到又谋,局域網(wǎng)的其它主機或用戶無從知道。
第一行:連接類型:Ethernet(以太網(wǎng))HWaddr(硬件mac地址)
第二行:網(wǎng)卡的IP地址娱局、子網(wǎng)彰亥、掩碼
第三行:UP(代表網(wǎng)卡開啟狀態(tài))RUNNING(代表網(wǎng)卡的網(wǎng)線被接上)MULTICAST(支持組播)MTU:1500(最大傳輸單元):1500字節(jié)
第四、五行:接收衰齐、發(fā)送數(shù)據(jù)包情況統(tǒng)計
第七行:接收任斋、發(fā)送數(shù)據(jù)字節(jié)數(shù)統(tǒng)計信息。
實例2:啟動關(guān)閉指定網(wǎng)卡
命令:
代碼如下:
ifconfig eth0 up
ifconfig eth0 down
說明:
ifconfig eth0 up 為啟動網(wǎng)卡eth0 耻涛;ifconfig eth0 down 為關(guān)閉網(wǎng)卡eth0废酷。ssh登陸linux服務(wù)器操作要小心,關(guān)閉了就不能開啟了抹缕,除非你有多網(wǎng)卡澈蟆。
實例3:為網(wǎng)卡配置和刪除IPv6地址
命令:
代碼如下:
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
說明:
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網(wǎng)卡eth0配置IPv6地址;
ifconfig eth0 add 33ffe:3240:800:1005::2/64 為網(wǎng)卡eth0刪除IPv6地址卓研;
練習(xí)的時候趴俘,ssh登陸linux服務(wù)器操作要小心,關(guān)閉了就不能開啟了奏赘,除非你有多網(wǎng)卡寥闪。
實例4:用ifconfig修改MAC地址
命令:ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
輸出:
代碼如下:
[root@localhost ~]# ifconfig eth0 down //關(guān)閉網(wǎng)卡
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動網(wǎng)卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
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:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //關(guān)閉網(wǎng)卡并修改MAC地址
[root@localhost ~]# ifconfig eth0 up //啟動網(wǎng)卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
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:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
實例5:配置IP地址
命令:
代碼如下:
[root@localhost ~]# ifconfig eth0 192.168.120.56
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
說明:
ifconfig eth0 192.168.120.56
給eth0網(wǎng)卡配置IP地:192.168.120.56
ifconfig eth0 192.168.120.56 netmask 255.255.255.0
給eth0網(wǎng)卡配置IP地址:192.168.120.56 ,并加上子掩碼:255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
給eth0網(wǎng)卡配置IP地址:192.168.120.56志珍,加上子掩碼:255.255.255.0橙垢,加上個廣播地址: 192.168.120.255
實例6:啟用和關(guān)閉ARP協(xié)議
命令:
代碼如下:
ifconfig eth0 arp
ifconfig eth0 -arp
輸出:
代碼如下:
[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp
說明:
ifconfig eth0 arp 開啟網(wǎng)卡eth0 的arp協(xié)議;
ifconfig eth0 -arp 關(guān)閉網(wǎng)卡eth0 的arp協(xié)議伦糯;
實例7:設(shè)置最大傳輸單元
命令:ifconfig eth0 mtu 1500
輸出:
代碼如下:
[root@localhost ~]# ifconfig eth0 mtu 1480
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1480 Metric:1
RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0
TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597062089 (569.4 MiB) TX bytes:2643973 (2.5 MiB)
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:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]# ifconfig eth0 mtu 1500
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0
TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597072333 (569.4 MiB) TX bytes:2650581 (2.5 MiB)
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:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]#
說明:
設(shè)置能通過的最大數(shù)據(jù)包大小為 1500 bytes
echo
該命令的一般格式為: echo [ -n ] 字符串
其中選項n表示輸出文字后不換行;字符串能加引號嗽元,也能不加引號敛纲。用echo命令輸出加引號的字符串時,將字符串原樣輸出剂癌;用echo命令輸出不加引號的字符串時淤翔,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割佩谷。
功能說明:顯示文字旁壮。
語 法:echo [-ne][字符串]或 echo [--help][--version]
補充說明:echo會將輸入的字符串送往標準輸出监嗜。輸出的字符串間以空白字符隔開, 并在最后加上換行號。
參 數(shù):-n 不要在最后自動換行
-e 若字符串中出現(xiàn)以下字符抡谐,則特別加以處理裁奇,而不會將它當成一般
文字輸出:
\a 發(fā)出警告聲;
\b 刪除前一個字符麦撵;
\c 最后不加上換行符號刽肠;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首免胃;
\r 光標移至行首音五,但不換行;
\t 插入tab羔沙;
\v 與\f相同躺涝;
\\ 插入\字符;
\nnn 插入nnn(八進制)所代表的ASCII字符扼雏;
–help 顯示幫助
–version 顯示版本信息
ECHO命令是大家都熟悉的DOS批處理命令的一條子命令诞挨,但它的一些功能和用法也許你并不是全都知道,不信你瞧:
1. 作為控制批處理命令在執(zhí)行時是否顯示命令行自身的開關(guān) 格式:ECHO [ON|OFF] 如果想關(guān)閉“ECHO OFF”命令行自身的顯示呢蛤,則需要在該命令行前加上“@”惶傻。
2. 顯示當前ECHO設(shè)置狀態(tài) 格式:ECHO
3. 輸出提示信息 格式:ECHO信息內(nèi)容 上述是ECHO命令常見的三種用法,也是大家熟悉和會用的其障,但作為DOS命令淘金者你還應(yīng)該知道下面的技巧:
4. 關(guān)閉DOS命令提示符 在DOS提示符狀態(tài)下鍵入ECHO OFF银室,能夠關(guān)閉DOS提示符的顯示使屏幕只留下光標,直至鍵入ECHO ON励翼,提示符才會重新出現(xiàn)蜈敢。
5. 輸出空行,即相當于輸入一個回車 格式:ECHO. 值得注意的是命令行中的“.”要緊跟在ECHO后面中間不能有空格汽抚,否則“.”將被當作提示信息輸出到屏幕抓狭。另外“.”可以用,:造烁;”/[/]+等任一符號替代否过。 在下面的例子中ECHO.輸出的回車,經(jīng)DOS管道轉(zhuǎn)向作為TIME命令的輸入惭蟋,即相當于在TIME命令執(zhí)行后給出一個回車苗桂。所以執(zhí)行時系統(tǒng)會在顯示當前時間后,自動返回到DOS提示符狀態(tài): C:〉ECHO.|TIME ECHO命令輸出空行的另一個應(yīng)用實例是:將ECHO.加在自動批處理文件中告组,使原本在屏幕下方顯示的提示畫面煤伟,出現(xiàn)在屏幕上方。
6. 答復(fù)命令中的提問 格式:ECHO答復(fù)語|命令文件名 上述格式可以用于簡化一些需要人機對話的命令(如:CHKDSK/F;FORMAT Drive:便锨;del *.*)的操作围辙,它是通過DOS管道命令把ECHO命令輸出的預(yù)置答復(fù)語作為人機對話命令的輸入。下面的例子就相當于在調(diào)用的命令出現(xiàn)人機對話時輸入“Y”回車: C:〉ECHO Y|CHKDSK/F C:〉ECHO Y|DEL A :*.*
7. 建立新文件或增加文件內(nèi)容 格式:ECHO 文件內(nèi)容>文件名 ECHO 文件內(nèi)容>>文件名 例如:C:〉ECHO @ECHO OFF〉A(chǔ)UTOEXEC.BAT建立自動批處理文件 C:〉ECHO C:/CPAV/BOOTSAFE〉〉A(chǔ)UTOEXEC.BAT向自動批處理文件中追加內(nèi)容 C:TYPE AUTOEXEC.BAT顯示該自動批處理文件 @ECHO OFF C:/CPAV/BOOTSAFE
8. 向打印機輸出打印內(nèi)容或打印控制碼 格式:ECHO 打印機控制碼>PRN ECHO 打印內(nèi)容>PRN 下面的例子是向M-1724打印機輸入打印控制碼放案。<Alt>156是按住Alt鍵在小鍵盤鍵入156姚建,類似情況依此類推: C:〉ECHO 〈Alt〉+156〈Alt〉+42〈Alt〉+116〉PRN(輸入下劃線命令FS*t) C:〉ECHO 〈Alt〉+155@〉PRN(輸入初始化命令ESC@) C:〉ECHO.〉PRN(換行)
9. 使喇叭鳴響 C:〉ECHO ^G “^G”是用Ctrl+G或Alt+007輸入,輸入多個^G可以產(chǎn)生多聲鳴響卿叽。使用方法是直接將其加入批處理文件中或做成批處理文件調(diào)用桥胞。
10.執(zhí)行ESC控制序列修改屏幕和鍵盤設(shè)置 我們知道DOS的設(shè)備驅(qū)動程序ANSI.SYS提供了一套用來修改屏幕和鍵盤設(shè)置的ESC控制序列。如執(zhí)行下述內(nèi)容的批處理程序可以把功能鍵F12定義為DOS命令“DIR/W”考婴,并把屏幕顏色修改為白色字符藍色背景贩虾。 @ECHO”←[0;134;”DIR/W”;13p @ECHO”←[1;37;44m (注:批處理文件中“←”字符的輸入方法是在編輯狀態(tài)下按Alt中小鍵盤上的27)
tty
tty [選項]...
[功能]
打印連接到標準輸入的終端的文件名。
[描述]
命令項:
-s, --silent, --quiet: 什么也不打印沥阱,只是返回退出狀態(tài)碼缎罢。
--help: 打印幫助信息。
--version: 打印版本信息并退出考杉。
返回的狀態(tài)碼:
0 表示標準輸入是一個終端策精。
1 表示標準輸入不是一個終端。
2 表示給定的參數(shù)是不正確的參數(shù)崇棠。
3 表示發(fā)生了寫錯誤咽袜。
[舉例]
*查看當前的標準終端文件描述符號:
[quietheart@lv-k etc]$ tty
/dev/pts/6
這里,輸入tty之后枕稀,輸出"/dev/pts/6"就是當前連接的終端對應(yīng)的文件描述符號,我們可以通過向這個文件询刹,這樣會看到當前終端會輸出我們寫入的數(shù)據(jù),例如:
[quietheart@lv-k etc]$ echo "mytest" >/dev/pts/6
mytest
可見萎坷,向/dev/pts/6文件寫入的內(nèi)容凹联,直接顯示到我們的終端上面了。如果我在機器上面開了多個終端哆档,然后我在別的終端中輸入上面的echo命令蔽挠,那么將會看到對應(yīng)"/dev/pts/6"的終端上面會顯示相應(yīng)的字符了。
*運行tty什么也不輸出瓜浸,然后查看其退出碼:
[quietheart@lv-k etc]$ tty -s
[quietheart@lv-k etc]$ echo $?
0
這里澳淑,使用shell的命令"echo $?"來顯示上一條命令的退出狀態(tài)碼。狀態(tài)碼的含義如下:
0 表示標準輸入是一個終端斟叼。
1 表示標準輸入不是一個終端偶惠。
2 表示給定的參數(shù)是不正確的參數(shù)。
3 表示發(fā)生了寫錯誤朗涩。
[其它]
*基本概念:
1,tty(終端設(shè)備的統(tǒng)稱):
tty一詞源于Teletypes,或者teletypewriters绑改,原來指的是電傳打字機谢床,是通過串行線用打印機鍵盤通過閱讀和發(fā)送信息的東西兄一,后來這東西被鍵盤與顯示器取代,所以現(xiàn)在叫終端比較合適识腿。終端是一種字符型設(shè)備出革,它有多種類型,通常使用tty來簡稱各種類型的終端設(shè)備渡讼。
2,pty(虛擬終端):
如果我們遠程telnet到主機或使用xterm時,也需要一個終端交互骂束,這就是虛擬終端pty(pseudo-tty)
3,pts/ptmx(pts/ptmx結(jié)合使用,進而實現(xiàn)pty):
pts(pseudo-terminal slave)是pty的實現(xiàn)方法成箫,與ptmx(pseudo-terminal master)配合使用實現(xiàn)pty展箱。
*Linux終端:
在Linux系統(tǒng)的設(shè)備特殊文件目錄/dev/下,終端特殊設(shè)備文件一般有以下幾種:
1,串行端口終端(/dev/ttySn)
串行端口終端(Serial Port Terminal)是使用計算機串行端口連接的終端設(shè)備蹬昌。計算機把每個串行端口都看作是一個字符設(shè)備混驰。有段時間這些串行端口設(shè)備通常被稱為終端設(shè)備,因為那時它的最大用途就是用來連接終端皂贩。這些串行端口所對應(yīng)的設(shè)備名稱是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等栖榨,設(shè)備號分別是(4,0), (4,1)等,分別對應(yīng)于DOS系統(tǒng)下的COM1明刷、COM2等婴栽。若要向一個端口發(fā)送數(shù)據(jù),可以在命令行上把標準輸出重定向到這些特殊文件名上即可辈末。例如愚争,在命令行提示符下鍵入:echo test > /dev/ttyS1會把單詞”test”發(fā)送到連接在ttyS1(COM2)端口的設(shè)備上”境澹可接串口來實驗准脂。
2,偽終端(/dev/pty/)
偽終端(Pseudo Terminal)是成對的邏輯終端設(shè)備(即master和slave設(shè)備, 對master的操作會反映到slave上)。
例如/dev/ptyp3和/dev/ttyp3(或者在設(shè)備文件系統(tǒng)中分別是/dev/pty/m3和 /dev/pty/s3)檬洞。它們與實際物理設(shè)備并不直接相關(guān)狸膏。如果一個程序把ptyp3(master設(shè)備)看作是一個串行端口設(shè)備,則它對該端口的讀/ 寫操作會反映在該邏輯終端設(shè)備對應(yīng)的另一個ttyp3(slave設(shè)備)上面添怔。而ttyp3則是另一個程序用于讀寫操作的邏輯設(shè)備湾戳。
這樣,兩個程序就可以通過這種邏輯設(shè)備進行互相交流广料,而其中一個使用ttyp3的程序則認為自己正在與一個串行端口進行通信砾脑。這很象是邏輯設(shè)備對之間的管道操作。對于ttyp3(s3)艾杏,任何設(shè)計成使用一個串行端口設(shè)備的程序都可以使用該邏輯設(shè)備韧衣。但對于使用ptyp3的程序,則需要專門設(shè)計來使用 ptyp3(m3)邏輯設(shè)備。
例如畅铭,如果某人在網(wǎng)上使用telnet程序連接到你的計算機上氏淑,則telnet程序就可能會開始連接到設(shè)備 ptyp2(m2)上(一個偽終端端口上)。此時一個getty程序就應(yīng)該運行在對應(yīng)的ttyp2(s2)端口上硕噩。當telnet從遠端獲取了一個字符時假残,該字符就會通過m2、s2傳遞給 getty程序炉擅,而getty程序就會通過s2辉懒、m2和telnet程序往網(wǎng)絡(luò)上返回”login:”字符串信息。這樣谍失,登錄程序與telnet程序就通過“偽終端”進行通信眶俩。通過使用適當?shù)能浖涂梢园褍蓚€甚至多個偽終端設(shè)備連接到同一個物理串行端口上袱贮。
在使用設(shè)備文件系統(tǒng) (device filesystem)之前仿便,為了得到大量的偽終端設(shè)備特殊文件,使用了比較復(fù)雜的文件名命名方式攒巍。因為只存在16個ttyp(ttyp0—ttypf) 的設(shè)備文件嗽仪,為了得到更多的邏輯設(shè)備對,就使用了象q柒莉、r闻坚、s等字符來代替p。例如兢孝,ttys8和ptys8就是一個偽終端設(shè)備對窿凤。不過這種命名方式目前仍然在RedHat等Linux系統(tǒng)中使用著。
但Linux系統(tǒng)上的Unix98并不使用上述方法跨蟹,而使用了”pty master”方式雳殊,例如/dev/ptm3。它的對應(yīng)端則會被自動地創(chuàng)建成/dev/pts/3窗轩。這樣就可以在需要時提供一個pty偽終端夯秃。目錄 /dev/pts是一個類型為devpts的文件系統(tǒng),并且可以在被加載文件系統(tǒng)列表中看到痢艺。雖然“文件”/dev/pts/3看上去是設(shè)備文件系統(tǒng)中的一項仓洼,但其實它完全是一種不同的文件系統(tǒng)。
即: TELNET ---> TTYP3(S3: slave) ---> PTYP3(M3: master) ---> GETTY
*實踐:
以下過程是在ubuntu上面的實踐結(jié)果堤舒。
1,虛擬終端/dev/tty*和偽終端/dev/pts/*:
假設(shè)5個xterm終端的話色建,會發(fā)現(xiàn)/dev下面有一個/dev/ptmx /和5個/dev/pts/*
而如果用"[Ctrl][Alt]F1"進入一個終端的話,就會發(fā)現(xiàn)/dev下面多出一個/dev/tty1
2,查看終端的方法:
使用命令"tty"可以查看當前對應(yīng)的終端舌缤,命令"ps -ax"可以查看所有程序以及對應(yīng)的終端箕戳。通過這個命令某残,發(fā)現(xiàn)如果多開一個screen程序,或者用telnet登陸之后漂羊,那么機器上面就會多一個/dev/pts/*驾锰⌒读簦可知走越,一般偽終端用戶模擬終端程序。
3,向指定終端發(fā)送信息:
如果運行"echo hello >/dev/tty2"耻瑟,
那么"[Ctrl][Alt]F2"打開"/dev/tty2"對應(yīng)的終端旨指,就會發(fā)現(xiàn)剛才發(fā)送的hello了。
注意,如果發(fā)送"echo -n ls >/dev/tty2"那么會顯示ls,但是回車之后,并沒有執(zhí)行l(wèi)s歉糜±锍酰可見:ttyN是代表linux的純命令行終端,而寫到這個終端的字符串只是做為這個終端的輸出极谊,并沒有當做終端的輸入處理。
如果運行"echo hello >/dev/pts/2",
那么熬尺,就可以在xterm的第二個窗口看到hello了∥铰蓿可知粱哼,/dev/pts/n是Xwindows模式下的偽終端.
startx
startx命令
X-Windows
startx命令用來啟動X Window,實際上啟動X Window的程序為xinit檩咱。
語法
startx(參數(shù))
參數(shù)
? 客戶端及選項:X客戶端及選項揭措;
? 服務(wù)器及選項:X服務(wù)器及選項。
實例
要在工作站上或 X 終端上啟動 X 會話刻蚯,請輸入:
startx
要在工作站上強制啟動 X 會話绊含,請輸入:
startx -w
要為 X 終端啟動 X 會話,并注銷用戶的 telnet 會話炊汹,請輸入:
startx; kill -9 $$
要使用 .xinitrc 腳本啟動 X 會話躬充,請輸入:
startx -x .xinitrc
要使用 mwm 窗口管理器啟動 X 會話,請輸入:
startx -m mwm
但是兵扬,如果找到啟動腳本文件麻裳,則忽略-w選項。在啟動腳本中器钟,啟動窗口管理器津坑、裝入X資源以及產(chǎn)生X客戶機是用戶的責(zé)任。以下是.xsession腳本的一個示例傲霸。
#!/bin/csh
(mwm &)
xrdb -load .Xdefaults
(xclock -g 75x75+0+0 &)
(xbiff -g 75x75+101-0 &)
if ("/dev/lft*" == "`tty`") then
aixterm -g 80x24+0+0 +ut -C -T `hostname`
else
aixterm -g 80x24+0+0 +ut -T `hostname`
endif
對于工作站疆瑰,startup腳本中的最后一行應(yīng)該是前臺aixterm命令眉反,該命令帶有-C選項表示控制臺信息。對于X終端穆役,startup腳本中的最后一行應(yīng)該是不帶有-C選項的前臺aixterm命令寸五。另外,由于某些X終端在關(guān)閉時不終止telnet會話耿币,所以用戶必須在使用熱鍵切換至X會話前退出當前的telnet會話梳杏。
/usr/lib/X11/xdm/Xsession文件中的xdm命令也可以使用startx命令。這為xdm命令提供了startx命令的功能淹接。
以下是啟動X會話一貫使用的文件名十性。
$HOME/.xerrors 其中,startx 用來重定向錯誤消息塑悼。在缺省情況下劲适,startx 將錯誤重定向至用戶主目錄中的 .xerrors 文件中。
$HOME/.Xinit,
$HOME/.xinit,
$HOME/.Xinitrc,
$HOME/.xinitrc,
$HOME/.xsession 作為包含 shell 命令的“啟動文件”來啟動窗口管理器厢蒜、裝入 X 資源并產(chǎn)生 X 客戶機霞势。
$HOME/.Xdefaults,
$HOME/.xresources 作為裝入的 X 資源文件來設(shè)置 X 客戶機的用戶首選項。
$HOME/.mwmrc mwm 配置文件斑鸦。
$HOME/.twmrc twm 配置文件愕贡。
$HOME/.awmrc awm 配置文件。
$HOME/.uwmrc uwm 配置文件鄙才。
/dev/lft* 終端或 tty颂鸿、工作站初始 login shell 的界面。
export
export 命令
功能說明:
設(shè)置或顯示環(huán)境變量攒庵。
語 法:
export [-fnp][變量名稱]=[變量設(shè)置值]
補充說明:
在shell中執(zhí)行程序時嘴纺,shell會提供一組環(huán)境變量。 export可新增浓冒,修改或刪除環(huán)境變量栽渴,供后續(xù)執(zhí)行的程序使用。export的效力僅及于該此登陸操作稳懒。
參 數(shù):
-f 代表[變量名稱]中為函數(shù)名稱闲擦。
-n 刪除指定的變量。變量實際上并未刪除场梆,只是不會輸出到后續(xù)指令的執(zhí)行環(huán)境中墅冷。
-p 列出所有的shell賦予程序的環(huán)境變量。
export PATH
配置交叉編譯工具鏈的時候需要指定編譯工具的路徑或油,需要設(shè)置環(huán)境變量寞忿。
例如:
我的mips-linux-gcc編譯器在“ /opt/au1200_rm /build_tools/bin”目錄下
1、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看配置的環(huán)境變量:
# export
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x PATH="/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/ccy/buildroot-gcc342/bin/"
declare -x INPUTRC="/etc/inputrc"
declare -x PWD="/opt/au1200_rm/build_tools/bin"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
# echo $PATH
/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/ccy/buildroot-gcc342/bin/
2顶岸、修改profile文件:下面
#vi /etc/profile
在里面加入:
export PATH="$PATH:/ opt/au1200_rm/build_tools/bin "
3. 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH: /opt/au1200_rm/build_tools/bin "
# echo $PATH
看看輸出里面是不是已經(jīng)有了 /my_new_path這個路徑了腔彰。
另有:
4 . 修改/etc/re.local 文件:
# vi /etc/re.local
在里面加入:
export PATH="$PATH: /opt/au1200_rm/build_tools/bin "
pwd
1.命令格式:
pwd [選項]
2.命令功能:
查看”當前工作目錄“的完整路徑
3.常用參數(shù):
一般情況下不帶任何參數(shù)
如果目錄是鏈接時:
格式:pwd -P? 顯示出實際路徑叫编,而非使用連接(link)路徑。
4.常用實例:
實例1:用 pwd 命令查看默認工作目錄的完整路徑
命令:
pwd
輸出:
復(fù)制代碼
代碼如下:
[root@localhost ~]# pwd
/root
[root@localhost ~]#
實例2:使用 pwd 命令查看指定文件夾
命令:
pwd
輸出:
復(fù)制代碼
代碼如下:
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
[root@localhost soft]#
實例三:目錄連接鏈接時霹抛,pwd -P? 顯示出實際路徑搓逾,而非使用連接(link)路徑;pwd顯示的是連接路徑
命令:
pwd -P
輸出:
復(fù)制代碼
代碼如下:
[root@localhost soft]# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
實例4:/bin/pwd
命令:
/bin/pwd [選項]
選項:
-L 目錄連接鏈接時杯拐,輸出連接路徑
-P 輸出物理路徑
輸出:
復(fù)制代碼
代碼如下:
[root@localhost init.d]# /bin/pwd
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd --help
[root@localhost init.d]# /bin/pwd -P
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd -L
/etc/init.d
[root@localhost init.d]#
實例五:當前目錄被刪除了霞篡,而pwd命令仍然顯示那個目錄
輸出:
復(fù)制代碼
代碼如下:
[root@localhost init.d]# cd /opt/soft
[root@localhost soft]# mkdir removed
[root@localhost soft]# cd removed/
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# rm ../removed -rf
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# /bin/pwd
/bin/pwd: couldn't find directory entry in “..” with matching i-node
[root@localhost removed]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#
以下是補充:
本文介紹下,linux中pwd命令的詳細用法藕施,除了打印當前的工作目錄寇损,還有些特殊的用法,希望對大家有所幫助裳食。
linux上pwd命令是Print Working Directory的縮寫,基本功能是打印當前的工作目錄芙沥,但是也有一些特殊的用法诲祸,本文總結(jié)關(guān)于pwd的使用方法。
先來看下沒有參數(shù)的pwd而昨,然后介紹-P的作用救氯,例如:
復(fù)制代碼
代碼如下:
www.jb51.net:~# cd /proc/self
www.jb51.net:/proc/self# pwd
/proc/self
www.jb51.net:/proc/self# pwd -P
/proc/5401
www.jb51.net:/proc/self# ls -l /proc/self
lrwxrwxrwx 1 root root 64 Jun 23 18:25 /proc/self -> 5410
www.jb51.net:/proc/self#
pwd:顯示當前的工作路徑。
pwd? -P:如果當前的工作路徑是鏈接的話歌憨,顯示鏈接的原始路徑着憨,也就是實際路徑,如ls -l /proc/self 顯示的一樣务嫡。
pwd -L:與pwd? -P完全相反甲抖,顯示鏈接路徑
這里再談下linux系統(tǒng)中的環(huán)境變量PWD和OLDPWD。
環(huán)境變量PWD:顯示當前工作路徑的環(huán)境變量
環(huán)境變量OLDPWD:顯示上一次的工作路徑心铃。
注意:由于是環(huán)境變量准谚,使用的時候需要加上$變量標志,下面的命令詳細演示了該環(huán)境變量的用法去扣。
復(fù)制代碼
代碼如下:
www.jb51.net:~# cd /var/www
www.jb51.net:/var/www# echo $PWD
/var/www
www.jb51.net:/var/www# echo $OLDPWD
/root
www.jb51.net:/var/www#
看看還是比較容易理解的柱衔。
附,獲取當前目錄的父目錄的代碼:
復(fù)制代碼
代碼如下:
www.jb51.net:/var/www# echo $(dirname $(pwd))
/var
www.jb51.net:/var/www#
內(nèi)建命令pwd和外部命令/bin/pwd愉棱。
內(nèi)建命令pwd和外部命令/bin/pwd是兩個不同的命令唆铐,通過以下的示例,看下其中的區(qū)別:
復(fù)制代碼
代碼如下:
www.jb51.net:/var/www# pwd -P
/var/www
www.jb51.net:/var/www# /bin/pwd -P
/bin/pwd: invalid option -- P
Try `/bin/pwd --help' for more information.
可見內(nèi)建命令pwd和外部命令/bin/pwd壓根不是同一個命令奔滑,那問題就來了艾岂,這兩個命令的聯(lián)系跟區(qū)別是什么呢?
來看這些例子:
復(fù)制代碼
代碼如下:
www.jb51.net:/var/www# cd //
www.jb51.net://# pwd
//
www.jb51.net://# /bin/pwd
/
www.jb51.net://#
history
History命令主要用于顯示歷史指令記錄內(nèi)容, 下達歷史紀錄中的指令 档押。
1>History命令語法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
參數(shù):
n? :數(shù)字,要列出最近的 n 筆命令列表
-c? :將目前的shell中的所有 history 內(nèi)容全部消除
-a? :將目前新增的history 指令新增入 histfiles 中澳盐,若沒有加 histfiles 祈纯,
則預(yù)設(shè)寫入 ~/.bash_history
-r? :將 histfiles 的內(nèi)容讀到目前這個 shell 的 history 記憶中
-w? :將目前的 history 記憶內(nèi)容寫入 histfiles
Linux系統(tǒng)當你在shell(控制臺)中輸入并執(zhí)行命令時,shell會自動把你的命令記錄到歷史列表中叼耙,一般保存在用戶目錄下的.bash_history文件中腕窥。默認保存1000條,你也可以更改這個值筛婉。
如果你鍵入 history, history會向你顯示你所使用的前1000個歷史命令簇爆,并且給它們編了號,你會看到一個用數(shù)字編號的列表快速從屏幕上卷過爽撒。你可能不需要查看1000個命令中的所有項目, 當然你也可以加入數(shù)字來列出最近的 n 筆命令列表入蛆。
linux中history命令不僅僅讓我們可以查詢歷史命令而已. 我們還可以利用相關(guān)的功能來幫我們執(zhí)行命令。
2>運行特定的歷史命令
history會列出bash保存的所有歷史命令硕勿,并且給它們編了號哨毁,我們可以使用“嘆號接編號”的方式運行特定的歷史命令.
語法說明:
[test@linux]# [!number]? [!command] [!!]
參數(shù)說明:
number? :第幾個指令的意思;
command? :指令的開頭幾個字母
!? ? ? ? :上一個指令的意思源武!
3>History命令實戰(zhàn)
列出所有的歷史記錄:
[test@linux] # history
只列出最近10條記錄:
[test@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執(zhí)行命令,執(zhí)行歷史清單中的第99條命令
[test@linux] #!99 (!和99中間沒有空格)
重復(fù)執(zhí)行上一個命令
[test@linux] #!!
執(zhí)行最后一次以rpm開頭的命令(!?? ?代表的是字符串,這個String可以隨便輸扼褪,Shell會從最后一條歷史命令向前搜索,最先匹配的一條命令將會得到執(zhí)行粱栖。)
[test@linux] #!rpm
逐屏列出所有的歷史記錄:
[test@linux]# history | more
立即清空history當前所有歷史命令的記錄
[test@linux] #history -c
除了使用history命令,在 shell 或 GUI 終端提示下话浇,你也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會向前翻閱),直到你找到所需命令為止闹究。這可以讓我們很方便地編輯前面的某一條命令幔崖,而不用重復(fù)輸入類似的命令。
History命令的用途確實很大渣淤!但需要小心安全的問題!尤其是 root 的歷史紀錄檔案赏寇,這是黑客們的最愛!因為不小心的 root 會將很多的重要資料在執(zhí)行的過程中會被紀錄在 ~/.bash_history 當中砂代,如果這個檔案被解析的話蹋订,后果不堪設(shè)想!
shutdown
關(guān)閉刻伊、重啟系統(tǒng)
Linux是一個多用戶露戒、多任務(wù)系統(tǒng),如果不正確地關(guān)閉或重啟系統(tǒng)捶箱,可能會導(dǎo)致系統(tǒng)中的用戶數(shù)據(jù)丟失智什。可能的情況是用戶正在執(zhí)行某個關(guān)鍵的運算或操作等丁屎,如果不經(jīng)提示關(guān)閉系統(tǒng)荠锭,用戶將來不及保存當前數(shù)據(jù),從而導(dǎo)致數(shù)據(jù)丟失晨川。因此應(yīng)該掌握正確地關(guān)閉证九、重啟系統(tǒng)的方法删豺,以避免數(shù)據(jù)丟失。
關(guān)閉系統(tǒng)命令之shutdown
shutdown命令是最常用的關(guān)閉系統(tǒng)命令愧怜,不僅可以用于立即關(guān)閉系統(tǒng)呀页,還可以在指定時間關(guān)閉系統(tǒng)。
(1)在1分鐘后關(guān)閉系統(tǒng):
# shutdown -h 1
由于關(guān)閉拥坛、重啟系統(tǒng)需要管理員權(quán)限蓬蝶,因此應(yīng)該以root用戶的身份執(zhí)行shutdown等關(guān)閉、重啟系統(tǒng)命令猜惋。
立即關(guān)閉系統(tǒng):
# shutdown -h now
(2)指定時間關(guān)閉系統(tǒng):
# shutdown -h 15:30
當根用戶發(fā)出關(guān)機指令后丸氛,系統(tǒng)中的其他用戶可以得到如下提示:
The system is going DOWN for system halt in 2 minutes!
如果得到此提示信息,用戶應(yīng)該立即停止正在進行的作業(yè)著摔,保存必要的數(shù)據(jù)然后退出系統(tǒng)缓窜。
(3)shutdown命令也可用于重啟系統(tǒng):
# shutdown -r 2
系統(tǒng)將在2分鐘后重新啟動。
如果正在使用系統(tǒng)的用戶不止一個梨撞,關(guān)閉系統(tǒng)時應(yīng)該使用shutdown命令雹洗,并采用延時關(guān)閉的方法,以避免數(shù)據(jù)丟失卧波。
關(guān)機命令:
1、halt 立刻關(guān)機 2庇茫、poweroff 立刻關(guān)機 3港粱、shutdown -h now 立刻關(guān)機(root用戶使用) 4、shutdown -h 10 10分鐘后自動關(guān)機 如果是通過shutdown命令設(shè)置關(guān)機的話旦签,可以用shutdown -c命令取消重啟
重啟命令:
1查坪、reboot 2、shutdown -r now 立刻重啟(root用戶使用) 3宁炫、shutdown -r 10 過10分鐘自動重啟(root用戶使用) 4偿曙、shutdown -r 20:35 在時間為20:35時候重啟(root用戶使用) 如果是通過shutdown命令設(shè)置重啟的話,可以用shutdown -c命令取消重啟
在linux下一些常用的關(guān)機/重啟命令有shutdown羔巢、halt望忆、reboot、及init竿秆,它們都可以達到重啟系統(tǒng)的目的启摄,但每個命令的內(nèi)部工作過程是不同的。
Linux centos重啟命令:
1幽钢、reboot
2歉备、shutdown -r now 立刻重啟(root用戶使用)
3、shutdown -r 10 過10分鐘自動重啟(root用戶使用)
4匪燕、shutdown -r 20:35 在時間為20:35時候重啟(root用戶使用)
如果是通過shutdown命令設(shè)置重啟的話蕾羊,可以用shutdown -c命令取消重啟
Linux centos關(guān)機命令:
1喧笔、halt 立刻關(guān)機
2、poweroff 立刻關(guān)機
3龟再、shutdown -h now 立刻關(guān)機(root用戶使用)
4书闸、shutdown -h 10 10分鐘后自動關(guān)機
如果是通過shutdown命令設(shè)置關(guān)機的話,可以用shutdown -c命令取消重啟
1.shutdown
shutdown命令安全地將系統(tǒng)關(guān)機吸申。 有些用戶會使用直接斷掉電源的方式來關(guān)閉linux梗劫,這是十分危險的。因為linux與windows不同截碴,其后臺運行著許多進程梳侨,所以強制關(guān)機可能會導(dǎo)致進程的數(shù)據(jù)丟失﹐使系統(tǒng)處于不穩(wěn)定的狀態(tài)﹐甚至在有的系統(tǒng)中會損壞硬件設(shè)備。
而在系統(tǒng)關(guān)機前使用shutdown命令﹐系統(tǒng)管理員會通知所有登錄的用戶系統(tǒng)將要關(guān)閉日丹。并且login指令會被凍結(jié)﹐即新的用戶不能再登錄走哺。直接關(guān)機或者延遲一定的時間才關(guān)機都是可能的﹐還可能重啟。這是由所有進程〔process〕都會收到系統(tǒng)所送達的信號〔signal〕決定的哲虾。這讓像vi之類的程序有時間儲存目前正在編輯的文檔﹐而像處理郵件〔mail〕和新聞〔news〕的程序則可以正常地離開等等丙躏。
shutdown執(zhí)行它的工作是送信號〔signal〕給init程序﹐要求它改變runlevel。Runlevel 0被用來停機〔halt〕﹐runlevel 6是用來重新激活〔reboot〕系統(tǒng)﹐而runlevel 1則是被用來讓系統(tǒng)進入管理工作可以進行的狀態(tài)﹔這是預(yù)設(shè)的﹐假定沒有-h也沒有-r參數(shù)給shutdown束凑。要想了解在停機〔halt〕或者重新開機〔reboot〕過程中做了哪些動作﹐你可以在這個文件/etc/inittab里看到這些runlevels相關(guān)的資料晒旅。
shutdown 參數(shù)說明:
[-t] 在改變到其它runlevel之前﹐告訴init多久以后關(guān)機。
[-r] 重啟計算器汪诉。
[-k] 并不真正關(guān)機﹐只是送警告信號給每位登錄者〔login〕废恋。
[-h] 關(guān)機后關(guān)閉電源〔halt〕。
[-n] 不用init﹐而是自己來關(guān)機扒寄。不鼓勵使用這個選項﹐而且該選項所產(chǎn)生的后果往往不總是你所預(yù)期得到的鱼鼓。
[-c] cancel current process取消目前正在執(zhí)行的關(guān)機程序。所以這個選項當然沒有時間參數(shù)﹐但是可以輸入一個用來解釋的訊息﹐而這信息將會送到每位使用者该编。
[-f] 在重啟計算器〔reboot〕時忽略fsck迄本。
[-F] 在重啟計算器〔reboot〕時強迫fsck。
[-time] 設(shè)定關(guān)機〔shutdown〕前的時間课竣。
2.halt----最簡單的關(guān)機命令
其實halt就是調(diào)用shutdown -h嘉赎。halt執(zhí)行時﹐殺死應(yīng)用進程﹐執(zhí)行sync系統(tǒng)調(diào)用﹐文件系統(tǒng)寫操作完成后就會停止內(nèi)核。
參數(shù)說明:
[-n] 防止sync系統(tǒng)調(diào)用﹐它用在用fsck修補根分區(qū)之后﹐以阻止內(nèi)核用老版本的超級塊〔superblock〕覆蓋修補過的超級塊稠氮。
[-w] 并不是真正的重啟或關(guān)機﹐只是寫wtmp〔/var/log/wtmp〕紀錄曹阔。
[-d] 不寫wtmp紀錄〔已包含在選項[-n]中〕。
[-f] 沒有調(diào)用shutdown而強制關(guān)機或重啟隔披。
[-i] 關(guān)機〔或重啟〕前﹐關(guān)掉所有的網(wǎng)絡(luò)接口赃份。
[-p] 該選項為缺省選項。就是關(guān)機時調(diào)用poweroff。
3.reboot
reboot的工作過程差不多跟halt一樣﹐不過它是引發(fā)主機重啟﹐而halt是關(guān)機抓韩。它的參數(shù)與halt相差不多纠永。
4.init
init是所有進程的祖先﹐它的進程號始終為1﹐所以發(fā)送TERM信號給init會終止所有的用戶進程﹑守護進程等。shutdown 就是使用這種機制谒拴。init定義了8個運行級別(runlevel)尝江, init 0為關(guān)機﹐init 1為重啟。關(guān)于init可以長篇大論﹐這里就不再敘述英上。另外還有 telinit命令可以改變init的運行級別﹐比如﹐telinit -iS可使系統(tǒng)進入單用戶模式﹐并且得不到使用shutdown時的信息和等待時間炭序。
5.reboot 重啟命令
reboot的工作過程差不多跟halt一樣。不過它是引發(fā)主機重啟苍日,而halt是關(guān)機惭聂。它的參數(shù)與halt相差不多。
hwclock命令
用于顯示與設(shè)定硬件時鐘相恃。
在Linux中有硬件時鐘與系統(tǒng)時鐘等兩種時鐘辜纲。硬件時鐘是指主機板上的時鐘設(shè)備,也就是通忱鼓停可在BIOS畫面設(shè)定的時鐘耕腾。系統(tǒng)時鐘則是指kernel中的時鐘。當Linux啟動時杀糯,系統(tǒng)時鐘會去讀取硬件時鐘的設(shè)定扫俺,之后系統(tǒng)時鐘即獨立運作。所有Linux相關(guān)指令與函數(shù)都是讀取系統(tǒng)時鐘的設(shè)定固翰。
語法
hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=<日期與時間>]
參數(shù):
--adjust hwclock每次更改硬件時鐘時牵舵,都會記錄在/etc/adjtime文件中。使用--adjust參數(shù)倦挂,可使hwclock根據(jù)先前的記錄來估算硬件時鐘的偏差,并用來校正目前的硬件時鐘担巩。
--debug 顯示hwclock執(zhí)行時詳細的信息方援。
--directisa hwclock預(yù)設(shè)從/dev/rtc設(shè)備來存取硬件時鐘。若無法存取時涛癌,可用此參數(shù)直接以I/O指令來存取硬件時鐘犯戏。
--hctosys 將系統(tǒng)時鐘調(diào)整為與目前的硬件時鐘一致。
--set --date=<日期與時間> 設(shè)定硬件時鐘拳话。
--show 顯示硬件時鐘的時間與日期先匪。
--systohc 將硬件時鐘調(diào)整為與目前的系統(tǒng)時鐘一致。
--test 僅測試程序弃衍,而不會實際更改硬件時鐘呀非。
--utc 若要使用格林威治時間,請加入此參數(shù),hwclock會執(zhí)行轉(zhuǎn)換的工作岸裙。
--version 顯示版本信息猖败。
實例
顯示當前時間
# hwclock
2010年05月27日 星期四 18時04分31秒 -0.704214 seconds
查看版本信息
# hwclock -v
hwclock from util-linux-2.12a
date
1.命令格式:date [參數(shù)]... [+格式]2.命令功能:date 可以用來顯示或設(shè)定系統(tǒng)的日期與時間。3.命令參數(shù):必要參數(shù):%H 小時(以00-23來表示)降允。 %I 小時(以01-12來表示)恩闻。 %K 小時(以0-23來表示)。 %l 小時(以0-12來表示)剧董。 %M 分鐘(以00-59來表示)幢尚。 %P AM或PM。 %r 時間(含時分秒翅楼,小時以12小時AM/PM來表示)尉剩。 %s 總秒數(shù)。起算時間為1970-01-01 00:00:00 UTC犁嗅。 %S 秒(以本地的慣用法來表示)边涕。 %T 時間(含時分秒,小時以24小時制來表示)褂微。 %X 時間(以本地的慣用法來表示)功蜓。 %Z 市區(qū)。 %a 星期的縮寫宠蚂。 %A 星期的完整名稱式撼。 %b 月份英文名的縮寫。 %B 月份的完整英文名稱求厕。 %c 日期與時間著隆。只輸入date指令也會顯示同樣的結(jié)果。 %d 日期(以01-31來表示)呀癣。 %D 日期(含年月日)美浦。 %j 該年中的第幾天。 %m 月份(以01-12來表示)项栏。 %U 該年中的周數(shù)浦辨。 %w 該周的天數(shù),0代表周日沼沈,1代表周一流酬,異詞類推。 %x 日期(以本地的慣用法來表示)列另。 %y 年份(以00-99來表示)芽腾。 %Y 年份(以四位數(shù)來表示)。 %n 在顯示時页衙,插入新的一行摊滔。 %t 在顯示時,插入tab。 MM 月份(必要) DD 日期(必要) hh 小時(必要) mm 分鐘(必要)ss 秒(選擇性) 選擇參數(shù):-d<字符串> 顯示字符串所指的日期與時間惭载。字符串前后必須加上雙引號旱函。 -s<字符串> 根據(jù)字符串來設(shè)置日期與時間。字符串前后必須加上雙引號描滔。 -u 顯示GMT棒妨。 --help 在線幫助。 --version 顯示版本信息 4.使用說明:1.在顯示方面含长,使用者可以設(shè)定欲顯示的格式券腔,格式設(shè)定為一個加號后接數(shù)個標記,其中可用的標記列表如下: % :? 打印出 %:%n : 下一行%t : 跳格%H : 小時(00..23)%I : 小時(01..12)%k : 小時(0..23)%l : 小時(1..12)%M : 分鐘(00..59)%p : 顯示本地 AM 或 PM%r : 直接顯示時間 (12 小時制拘泞,格式為 hh:mm:ss [AP]M)%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù)%S : 秒(00..61)%T : 直接顯示時間 (24 小時制)%X : 相當于 %H:%M:%S%Z : 顯示時區(qū) %a : 星期幾 (Sun..Sat)%A : 星期幾 (Sunday..Saturday)%b : 月份 (Jan..Dec)%B : 月份 (January..December)%c : 直接顯示日期與時間%d : 日 (01..31)%D : 直接顯示日期 (mm/dd/yy)%h : 同 %b%j : 一年中的第幾天 (001..366)%m : 月份 (01..12)%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)%w : 一周中的第幾天 (0..6)%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)%x : 直接顯示日期 (mm/dd/yy)%y : 年份的最后兩位數(shù)字 (00.99)%Y : 完整年份 (0000..9999)2.在設(shè)定時間方面:date -s //設(shè)置當前時間纷纫,只有root權(quán)限才能設(shè)置,其他只能查看陪腌。date -s 20080523 //設(shè)置成20080523辱魁,這樣會把具體時間設(shè)置成空00:00:00date -s 01:01:01 //設(shè)置具體時間,不會對日期做更改date -s “01:01:01 2008-05-23″ //這樣可以設(shè)置全部時間date -s “01:01:01 20080523″ //這樣可以設(shè)置全部時間date -s “2008-05-23 01:01:01″ //這樣可以設(shè)置全部時間date -s “20080523 01:01:01″ //這樣可以設(shè)置全部時間3.加減:date +%Y%m%d? ? ? ? //顯示前天年月日date +%Y%m%d --date="+1 day"? //顯示前一天的日期date +%Y%m%d --date="-1 day"? //顯示后一天的日期date +%Y%m%d --date="-1 month"? //顯示上一月的日期date +%Y%m%d --date="+1 month"? //顯示下一月的日期date +%Y%m%d --date="-1 year"? //顯示前一年的日期date +%Y%m%d --date="+1 year"? //顯示下一年的日期5.使用實例:實例1:顯示當前時間命令:復(fù)制代碼代碼如下:datedate '+%c'date '+%D'date '+%x'date '+%T'輸出:復(fù)制代碼代碼如下:[root@localhost ~]# date2012年 12月 08日 星期六 08:31:35 CST[root@localhost ~]# date '+%c'2012年12月08日 星期六 08時34分44秒[root@localhost ~]# date '+%D'12/08/12[root@localhost ~]# date '+%x'2012年12月08日[root@localhost ~]# date '+%T'08:35:36[root@localhost ~]# date '+%X'08時35分54秒[root@localhost ~]#實例2:顯示日期和設(shè)定時間命令:date --date 08:42:00輸出:復(fù)制代碼代碼如下:[root@localhost ~]# date '+%c'2012年12月08日 星期六 08時41分37秒[root@localhost ~]# date --date 08:42:002012年 12月 08日 星期六 08:42:00 CST[root@localhost ~]# date '+%c' --date 08:45:002012年12月08日 星期六 08時45分00秒[root@localhost ~]#[code]
實例3:date -d參數(shù)使用
命令: date -d "nov 22"
輸出:
[code]
[root@localhost ~]# date -d "nov 22"
2012年 11月 22日 星期四 00:00:00 CST
[root@localhost ~]# date -d '2 weeks'
2012年 12月 22日 星期六 08:50:21 CST
[root@localhost ~]# date -d 'next monday'
2012年 12月 10日 星期一 00:00:00 CST
[root@localhost ~]# date -d next-day +%Y%m%d
20121209
[root@localhost ~]# date -d tomorrow +%Y%m%d
20121209
[root@localhost ~]# date -d last-day +%Y%m%d
20121207
[root@localhost ~]# date -d yesterday +%Y%m%d
20121207
[root@localhost ~]# date -d last-month +%Y%m
201211
[root@localhost ~]# date -d next-month +%Y%m
201301
[root@localhost ~]# date -d '30 days ago'
2012年 11月 08日 星期四 08:51:37 CST
[root@localhost ~]# date -d '-100 days'
2012年 08月 30日 星期四 08:52:03 CST
[root@localhost ~]# date -d 'dec 14 -2 weeks'
2012年 11月 30日 星期五 00:00:00 CST
[root@localhost ~]# date -d '50 days'
2013年 01月 27日 星期日 08:52:27 CST
說明:#后為需要輸入的命令
date 命令的另一個擴展是 -d 選項诗鸭,該選項非常有用染簇。使用這個功能強大的選項,通過將日期作為引號括起來的參數(shù)提供强岸,您可以快速地查明一個特定的日期锻弓。-d 選項還可以告訴您,相對于當前日期若干天的究竟是哪一天蝌箍,從現(xiàn)在開始的若干天或若干星期以后青灼,或者以前(過去)。通過將這個相對偏移使用引號括起來妓盲,作為 -d 選項的參數(shù)杂拨,就可以完成這項任務(wù)。
具體說明如下:
date -d "nov 22"? 今年的 11 月 22 日是星期三
date -d '2 weeks' 2周后的日期
date -d 'next monday' (下周一的日期)
date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d
date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d
date -d last-month +%Y%m(上個月是幾月)
date -d next-month +%Y%m(下個月是幾月)
使用 ago 指令悯衬,您可以得到過去的日期:
date -d '30 days ago' (30天前的日期)
使用負數(shù)以得到相反的日期:
date -d 'dec 14 -2 weeks' (相對:dec 14這個日期的兩周前的日期)
date -d '-100 days' (100天以前的日期)
date -d '50 days'(50天后的日期)
實例4:顯示月份和日數(shù)
命令:date? '+%B %d'
輸出:
復(fù)制代碼
代碼如下:
[root@localhost ~]# date '+%B %d'
十二月
08[root@localhost ~]#
實例5:顯示時間后跳行扳躬,再顯示目前日期
命令:date '+%T%n%D'
輸出:
復(fù)制代碼
代碼如下:
[root@localhost ~]# date '+%T%n%D'
09:00:30
12/08/12
[root@localhost ~]#