Linux系統(tǒng)命令使用詳解

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 ~]#

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市甚亭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌击胜,老刑警劉巖亏狰,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異偶摔,居然都是意外死亡暇唾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來策州,“玉大人瘸味,你說我怎么就攤上這事」还遥” “怎么了旁仿?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長孽糖。 經(jīng)常有香客問我枯冈,道長,這世上最難降的妖魔是什么办悟? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任尘奏,我火速辦了婚禮,結(jié)果婚禮上病蛉,老公的妹妹穿的比我還像新娘炫加。我一直安慰自己,他們只是感情好铺然,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布俗孝。 她就那樣靜靜地躺著,像睡著了一般探熔。 火紅的嫁衣襯著肌膚如雪驹针。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天诀艰,我揣著相機與錄音柬甥,去河邊找鬼。 笑死其垄,一個胖子當著我的面吹牛苛蒲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绿满,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼臂外,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喇颁?” 一聲冷哼從身側(cè)響起漏健,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎橘霎,沒想到半個月后蔫浆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡姐叁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年瓦盛,在試婚紗的時候發(fā)現(xiàn)自己被綠了洗显。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡原环,死狀恐怖挠唆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嘱吗,我是刑警寧澤玄组,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站柜与,受9級特大地震影響巧勤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弄匕,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一颅悉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迁匠,春花似錦剩瓶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亡哄,卻和暖如春枝缔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚊惯。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工愿卸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人截型。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓趴荸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宦焦。 傳聞我的和親對象是個殘疾皇子发钝,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容