真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux的send命令,shell send命令

linux5——網(wǎng)絡命令

##Ctrl+D:在目錄下敲擊該命令,作用是退出當前用戶。

周寧網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

##Ctrl+D:在命令mail、write等命令中敲擊該命令,作用是退出當前命令。

1.write

? ? 語法:write 用戶名

? ? 功能:給用戶發(fā)信息,以Ctrl+D保存結束; 即時通信

2.wall(write all)

語法:wall [message]

功能:發(fā)廣播信息(給所有用戶發(fā)信息); 回車鍵結束命令

3.ping

語法:ping [選項] IP地址

功能:測試網(wǎng)絡連通性

-c 次數(shù):指定發(fā)送次數(shù)

-s 字節(jié):指定探測包的大小

4.ifconfig(interface configure)

語法:ifconfig(或者ifconfig 網(wǎng)卡地址 IP地址 )

功能:查看和設置網(wǎng)卡信息? ? ?

inet6: IPv6地址目前不生效

5.mail

語法:mail [用戶名]

功能:查看或者發(fā)送電子郵件? ?##輸入郵件內容時,刪除鍵為 ctrl+backspace

6.last

語法:last

功能:顯示當前與過去登入系統(tǒng)的用戶信息

7.lastlog

語法:lastlog

功能:顯示所有用戶最后登錄時間

8.traceroute

語法:traceroute [目標主機]

功能:顯示發(fā)出數(shù)據(jù)包的主機到目標主機之間的網(wǎng)關數(shù)量

?## 星號*** 可能是防火墻封掉了ICMP的返回信息,所以得不到數(shù)據(jù)包返回數(shù)據(jù)

9.netstat

語法:netstat [選項]??

功能:顯示網(wǎng)絡相關信息

-a:列出所有網(wǎng)絡狀態(tài),包括Socket程序

-c 秒數(shù):指定每隔幾秒刷新一次網(wǎng)絡狀態(tài)

-n:使用IP地址和端口號顯示,不是用域名和服務名

-p:顯示PID和程序名

-t:顯示使用TCP協(xié)議端口的鏈接狀況

-u:顯示使用UDP協(xié)議端口的鏈接狀況

-l:加顯示監(jiān)聽狀態(tài)的鏈接

-r:顯示路由表

“tuln”選項:查看本機開啟的端口,只能查看監(jiān)聽狀態(tài)的鏈接。

1) Proto:網(wǎng)絡連接的協(xié)議,一般就是 TCP 協(xié)議或者 UDP 協(xié)議。

2) Recv-Q:表示接收到的數(shù)據(jù),已經在本地的緩沖中,但是還沒有被進程取走。

3) Send-Q:表示從本機發(fā)送,對方還沒有收到的數(shù)據(jù),依然在本地的緩沖中,不具備 ACK 標志的數(shù)據(jù)包。

4) Local Address:本機的 IP 地址和端口號。

5) ForeignAddress:遠程主機的 IP 地址和端口號。

6) State:狀態(tài)。常見的狀態(tài)主要有以下幾種。

-LISTEN:監(jiān)聽狀態(tài),只有 TCP 協(xié)議需要監(jiān)聽,而 UDP 協(xié)議不需要監(jiān)聽。

-ESTABLISHED:已經建立連接的狀態(tài)。如果使用"-I"選項,則看不到已經建立連接的狀態(tài)。

-SYN_SENT:SYN 發(fā)起包,就是主動發(fā)起連接的數(shù)據(jù)包。

-SYN_RECV:接收到主動連接的數(shù)據(jù)包。

-FIN_WAIT1:正在中斷的連接。

-FIN_WAIT2:已經中斷的連接,但是正在等待對方主機進行確認。

-TIME_WAIT:連接已經中斷,但是套接字依然在網(wǎng)絡中等待結束。

-CLOSED:套接字沒有被使用。

? ? ? ? 最常用的是LISTEN和ESTABLISHED

10.numtui

語法:numtui

功能:配置網(wǎng)絡——centos7獨有的功能

11.mount

語法:mount [-t 文件系統(tǒng)] 設備文件名 掛載點

功能:掛載外接設備

linux復制文件到目錄

很多朋友都在想linux如何復制文件到目錄?下面就一起來看看吧!

linux復制文件到目錄

1、首先需要連接相應linux主機,進入到linux命令行狀態(tài)下,等待輸入shell指令。

2、在linux命令行下輸入shell指令:cp-r21/send。

3、鍵盤按“回車鍵”運行shell指令,此時會看到文件夾2被成功復制到文件夾1的send目錄中了。

本文章基于ThinkpadE15品牌、centos7系統(tǒng)撰寫的。

Linux expect

expect:expect是Unix系統(tǒng)中用來進行自動化控制和測試的腳本工具,常用于實現(xiàn)交互式任務的自動化。使用命令”dnf install expect -y”進行安裝。腳本文件聲明為”#!/usr/bin/expect”。

expect常用命令如下:

1.spawn+交互命令(如spawn ssh root@192.168.1.1):”spawn”是expect的初始命令,用于啟動一個新的交互進程,之后所有的操作都會在這個進程中進行。

2.set:定義變量/為變量賦值。使用語法:set 變量名 值。

3.puts:將變量值/字符串定向到本地標準輸出文件(即定位到屏幕)。使用語法:puts “字符串/$變量名”

4.send_user:作用和使用方法類似于”puts”,區(qū)別在于”puts”會在輸出內容的結尾自動追加一個換行符,而”send_user”不會。

5.send:向交互進程發(fā)送信息/命令(字符串和一些特殊符號,\r—回車,\n—換行,\t—制表符)。使用語法:send “信息/命令[\r]”。

6.[lindex $argv 數(shù)字]:表示外部傳遞參數(shù)的值,數(shù)字是n,就表示第n-1個參數(shù)。注:$argc表示外部傳遞參數(shù)的個數(shù),也是一個值。

7.expect+字符串+{ 命令 }:將字符串與交換進程接收到的信息進行匹配。如果匹配成功(字符串是交換進程接收到的信息的一部分),執(zhí)行包含在”{}”中的命令;如果匹配失敗,不執(zhí)行包含在”{}”中的命令。該命令有三種使用方法:

第一種:單分支模式

①expect 字符串 { 命令 }

解釋:如果字符串與交換進程接收到的信息匹配成功,執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串與交換進程接收到的信息匹配失敗,timeout秒后結束該expect命令。(注:腳本執(zhí)行到expect命令時,計時器就開始計時,并會在計時器超時前不斷對交換進程接收到的信息進行掃描,嘗試字符串與信息的匹配。)

②expect {

字符串{ 命令 }

timeout { 命令 }

}

解釋:如果字符串與交換進程接收到的信息匹配成功,執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串與交換進程接收到的信息匹配失敗,timeout秒后執(zhí)行包含在”{}”中的命令,之后結束該expect命令。(注:腳本執(zhí)行到expect命令時,計時器就開始計時,并會在計時器超時前不斷對交換進程接收到的信息進行掃描,嘗試字符串與信息的匹配。)

第二種:多分支模式

①expect {

字符串1 { 命令 }

字符串2 { 命令 }

}

解釋:如果字符串1與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串1與交換進程接收到的信息匹配失敗、字符串2與交換進程接收到的信息匹配成功,執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串1、字符串2皆與交換進程接收到的信息匹配失敗,timeout秒后結束該expect命令。(注:腳本執(zhí)行到expect命令時,計時器就開始計時,并會在計時器超時前不斷對交換進程接收到的信息進行掃描,嘗試字符串與信息的匹配。)

②expect {

字符串1 { 命令 }

字符串2 { 命令 }

timeout { 命令 }

}

解釋:如果字符串1與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串1與交換進程接收到的信息匹配失敗、字符串2與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串1、字符串2皆與交換進程接收到的信息匹配失敗,timeout秒后執(zhí)行包含在”{}”中的命令,之后結束該expect命令。(注:腳本執(zhí)行到expect命令時,計時器就開始計時,并會在計時器超時前不斷對交換進程接收到的信息進行掃描,嘗試字符串與信息的匹配。)

第三種:循環(huán)多分支模式(注:exp_continue命令只能出現(xiàn)在expect命令的匹配語句中,執(zhí)行到exp_continue命令時,腳本會跳出當前expect命令,并重新執(zhí)行該expect命令,直到expect命令通過不包含exp_continue命令的匹配語句結束、或expect命令匹配超時結束。)

①expect {

字符串1 { 命令; exp_continue }

字符串2 { 命令 }

}

解釋:如果字符串1與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并重新執(zhí)行該expect命令;如果字符串1與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并重新執(zhí)行該expect命令...;如果字符串1與交換進程接收到的信息匹配失敗、字符串2與交換進程接收到的信息匹配成功,執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串1、字符串2皆與交換進程接收到的信息匹配失敗,timeout秒后結束該expect命令。(注:腳本執(zhí)行到expect命令時,計時器就開始計時,并會在計時器超時前不斷對交換進程接收到的信息進行掃描,嘗試字符串與信息的匹配。)

②expect {

字符串1 { 命令; exp_continue }

字符串2 { 命令 }

timeout { 命令 }

}

解釋:如果字符串1與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并重新執(zhí)行該expect命令;如果字符串1與交換進程接收到的信息匹配成功,執(zhí)行執(zhí)行包含在”{}”中的命令,并重新執(zhí)行該expect命令...;如果字符串1與交換進程接收到的信息匹配失敗、字符串2與交換進程接收到的信息匹配成功,執(zhí)行包含在”{}”中的命令,并結束該expect命令;如果字符串1、字符串2皆與交換進程接收到的信息匹配失敗,timeout秒后執(zhí)行包含在”{}”中的命令,之后結束該expect命令。(注:腳本執(zhí)行到expect命令時,計時器就開始計時,并會在計時器超時前不斷對交換進程接收到的信息進行掃描,嘗試字符串與信息的匹配。)

8.timeout:timeout是expect中的一個關鍵字變量,用于控制expect命令的超時時間。需要注意的是,這個超時時間針對于整個expect命令,而不是針對于expect命令中的某條匹配語句。也就是說,只有expect命令中所有匹配語句都匹配失敗后,才會開始計算超時時間。timeout變量值缺省為10(秒),我們可以通過”set timeout=值”的方式為其重新賦值,作用范圍:本次賦值到下一次賦值間的所有expect命令。注:如果需要為timeout變量重新賦值,應在expect命令之外進行。

9.expect eof:該命令的作用是結束spawn交互進程,將命令行切回至運行腳本的主機(即從遠端服務器登出)。

10.interact:缺省情況下,expect腳本執(zhí)行完畢后會自動從遠端服務器登出(即便沒有顯式地執(zhí)行”expect eof”命令)。使用interact命令后,expect腳本執(zhí)行完畢會繼續(xù)保持當前狀態(tài),并將控制權移交給用戶。

11.exit:結束該腳本。

expect中的if語句:

if { 條件表達式 } {

命令

}

if { 條件表達式 } {

命令

} else {

命令

}

expect中的while語句:

while { 條件表達式 } {

命令

}

expect中的for語句:

for { set i 1 } { $i =10 } { incr i } {

命令

}

incr變量名 步長 ??——變量自增

incr 變量名 -步長 ???——變量自減

數(shù)學運算需使用let、expr等工具

linux手冊翻譯——send(2)

send, sendto, sendmsg - send a message on a socket

系統(tǒng)調用 send()、sendto() 和 sendmsg() 用于將消息傳輸?shù)搅硪粋€套接字。

僅當套接字處于連接狀態(tài)時才可以使用 send() 調用(以便知道預期的接收者, 也就是說send()僅僅用于數(shù)據(jù)流類型的數(shù)據(jù)發(fā)送 ,對于TCP,服務端和客戶端都可以使用send/recv;但是對于UDP,只能是客戶端使用send/recv,服務端只能使用sendto/recvfrom,因為客戶端是進行了connect操作知道要發(fā)送和接受的地址)。send() 和 write(2) 之間的唯一區(qū)別是存在 flags 參數(shù)。此外,

send(sockfd, buf, len, flags);

等價于

sendto(sockfd, buf, len, flags, NULL, 0);

參數(shù) sockfd 是發(fā)送者套接字的文件描述符。

如果在連接模式的套接字(即套接字類型為SOCK_STREAM、SOCK_SEQPACKET)上使用 sendto(),則參數(shù) dest_addr 和 addrlen 將被忽略(當它們不是NULL和0時可能返回錯誤EISCONN),若套接字沒有實際連接(還沒有三次握手建立連接)將返回錯誤ENOTCONN。 否則,目標地址由 dest_addr 給出, addrlen 指定其大小。 對于 sendmsg(),目標地址由 msg.msg_name 給出, msg.msg_namelen 指定其大小。

對于 send() 和 sendto(),消息位于 buf 中,長度為 len 。 對于sendmsg(),消息存放于 msg.msg_iov 元素指向 數(shù)組數(shù)據(jù)區(qū) (見下)中。 sendmsg() 調用還允許發(fā)送輔助數(shù)據(jù)(也稱為控制信息) 。

如果消息太長而無法通過底層協(xié)議原子傳遞( too long to pass atomically through the underlying protocol ),則返回錯誤 EMSGSIZE,并且不會傳輸消息。

No indication of failure to deliver is implicit in a send(). Locally detected errors are indicated by a return value of -1.

當消息不適合套接字的發(fā)送緩沖區(qū)時,send() 通常會阻塞,除非套接字已置于非阻塞 I/O 模式。 在這種情況下,在非阻塞模式下它會失敗并顯示錯誤 EAGAIN 或 EWOULDBLOCK。 select(2) 調用可用于確定何時可以發(fā)送更多數(shù)據(jù) 。

上面的的描述還是很籠統(tǒng)的,以TCP為例,按我的理解,我認為只要發(fā)送緩沖區(qū)有空閑位置,且此時協(xié)議棧沒有向網(wǎng)絡發(fā)送數(shù)據(jù),那么就可以寫入,對于阻塞模式,直到所有數(shù)據(jù)寫入到緩沖區(qū),就會返回,否則一直阻塞,對于非阻塞模式,是有一個超時時間的,這個由 SO_SNDTIMEO 選項控制,詳細見 socket(7) ,如果當前有空閑位置可以發(fā)即當前可寫入,那么就寫入到緩沖區(qū),知道超時之前寫入多少算多少,然后返回成功寫入的字節(jié)數(shù),如果超時時任何數(shù)據(jù)都沒寫出去,或者當前就是不可寫入,那么返回-1 ,并設置errno為 EAGAIN 或 EWOULDBLOCK。

The flags argument is the bitwise OR of zero or more of the following flags.

sendmsg() 使用的 msghdr 結構的定義如下:

對于未連接的套接字 msg_name 指定數(shù)據(jù)報的目標地址,它指向一個包含地址的緩沖區(qū); msg_namelen 字段應設置為地址的大小。 對于連接的套接字,這些字段應分別指定為 NULL 和 0。 這里的未連接指的是數(shù)據(jù)報協(xié)議,連接指的是數(shù)據(jù)流協(xié)議

The msg_iov and msg_iovlen fields specify scatter-gather locations, as for writev(2).

msg_iov是一個buffer數(shù)組:

使用 msg_control 和 msg_controllen 成員發(fā)送控制信息(輔助數(shù)據(jù))。 內核可以處理的每個套接字最大控制緩沖區(qū)長度由 /proc/sys/net/core/optmem_max 中的值限制; 見 socket(7) 。 有關在各種套接字域中使用輔助數(shù)據(jù)的更多信息,請參閱 unix(7) 和 ip(7)。

msg_flags 字段被忽略。

成功時,返回成功發(fā)送的字節(jié)數(shù),這個字節(jié)數(shù)并不一定和我們的緩沖區(qū)大小相同 。 出錯時,返回 -1,并設置 errno 以指示錯誤。

這些是套接字層生成的一些標準錯誤。 底層協(xié)議模塊可能會產生和返回額外的錯誤; 請參閱它們各自的手冊頁。

4.4BSD, SVr4, POSIX.1-2001. These interfaces first appeared in 4.2BSD.

POSIX.1-2001 describes only the MSG_OOB and MSG_EOR flags. POSIX.1-2008 adds a specification of MSG_NOSIGNAL. The MSG_CONFIRM flag is a Linux extension.

根據(jù) POSIX.1-2001,msghdr 結構的 msg_controllen 字段應該是 socklen_t 類型,而 msg_iovlen 字段應該是 int 類型,但是 glibc 目前將兩者都視為 size_t。

有關可用于在單個調用中傳輸多個數(shù)據(jù)報的 Linux 特定系統(tǒng)調用的信息,請參閱 sendmmsg(2)。

Linux may return EPIPE instead of ENOTCONN.

getaddrinfo(3) 中顯示了使用 send() 的示例。


網(wǎng)頁名稱:linux的send命令,shell send命令
標題來源:http://weahome.cn/article/hcdpgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部