linux echo指令學(xué)習(xí)
echo默認(rèn)會(huì)將結(jié)果字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)。接下來是小編為大家收集的linux echo指令學(xué)習(xí),歡迎大家閱讀:
linux echo指令學(xué)習(xí)
功能說明:顯示文字。
語 法:echo [-ne][字符串] 或 echo [--help][--version]
補(bǔ)充說明:echo默認(rèn)會(huì)將結(jié)果字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)。
參 數(shù):
-n 不要在最后自動(dòng)換行
-e 若字符串中出現(xiàn)以下字符,則特別加以處理,而不會(huì)將它當(dāng)成一般文字輸出:
\a 發(fā)出警告聲;
\b 刪除前一個(gè)字符;
\c 最后不加上換行符號(hào);
\f 換行但光標(biāo)仍舊停留在原來的位置;
\n 換行且光標(biāo)移至行首;
\r 光標(biāo)移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\ 插入\字符;
\nnn 插入nnn(八進(jìn)制)所代表的ASCII字符;
--help 顯示幫助
--version 顯示版本信息
echo要變換顏色的時(shí)候,要使用參數(shù)-e
格式: echo -e "3[字背景顏色;字體顏色m字符串3[0m"
例如:
echo -e "3[41;36m something here 3[0m"
其中41的位置代表底色, 36的位置是代表字的顏色
那些ascii code 是對(duì)顏色調(diào)用的始末.
3[ ; m …… 3[0m
讓字體變?yōu)榧t色并且不停的閃爍
#echo -e "3[31m [05m 請(qǐng)確認(rèn)是否要停止當(dāng)前的squid進(jìn)程,輸入 [Y/N] 3[0m"
或者
#echo -e "3[31m 3[05m 請(qǐng)確認(rèn)是否要停止當(dāng)前的squid進(jìn)程,輸入 [Y/N] 3[0m"
字背景顏色范圍:40----49
40:黑
41:深紅
42:綠
43:黃色
44:藍(lán)色
45:紫色
46:深綠
47:白色
字顏色:30-----------39
30:黑
31:紅
32:綠
33:黃
34:藍(lán)色
35:紫色
36:深綠
37:白色
===============================================ANSI控制碼的說明
[0m 關(guān)閉所有屬性
[1m 設(shè)置高亮度
[4m 下劃線
[5m 閃爍
[7m 反顯
[8m 消隱
[30m -- [37m 設(shè)置前景色
[40m -- [47m 設(shè)置背景色
[nA 光標(biāo)上移n行
[nB 光標(biāo)下移n行
[nC 光標(biāo)右移n行
[nD 光標(biāo)左移n行
[y;xH設(shè)置光標(biāo)位置
[2J 清屏
[K 清除從光標(biāo)到行尾的內(nèi)容
[s 保存光標(biāo)位置
[u 恢復(fù)光標(biāo)位置
[?25l 隱藏光標(biāo)
[?25h 顯示光標(biāo)
Linux的echo命令, 在shell編程中極為常用, 在終端下打印變量value的時(shí)候也是常常用到的, 因此有必要了解下echo的用法
echo命令的功能是在顯示器上顯示一段文字,一般起到一個(gè)提示的作用。
該命令的一般格式為: echo [ -n ] 字符串
其中選項(xiàng)n表示輸出文字后不換行;字符串能加引號(hào),也能不加引號(hào)。
ECHO命令是大家都熟悉的DOS批處理命令的一條子命令,但它的一些功能和用法也許你并不是全都知道,不信你瞧:
1. 作為控制批處理命令在執(zhí)行時(shí)是否顯示命令行自身的開關(guān) 格式:ECHO [ON|OFF] 如果想關(guān)閉“ECHO OFF”命令行自身的顯示,則需要在該命令行前加上“@”。
2. 顯示當(dāng)前ECHO設(shè)置狀態(tài) 格式:ECHO
3. 輸出提示信息格式:ECHO信息內(nèi)容上述是ECHO命令常見的三種用法,也是大家熟悉和會(huì)用的,但作為DOS命令淘金者你還應(yīng)該知道下面的技巧:
4. 關(guān)閉DOS命令提示符 在DOS提示符狀態(tài)下鍵入ECHO OFF,能夠關(guān)閉DOS提示符的顯示使屏幕只留下光標(biāo),直至鍵入ECHO ON,提示符才會(huì)重新出現(xiàn)。
5. 輸出空行,即相當(dāng)于輸入一個(gè)回車格式:ECHO.值得注意的是命令行中的“.”要緊跟在ECHO后面中間不能有空格,否則“.”將被當(dāng)作提示信息輸出到屏幕。另外“.”可以用,:;”/[/]+等任一符號(hào)替代。在下面的例子中ECHO.輸出的回車,經(jīng)DOS管道轉(zhuǎn)向作為TIME命令的輸入,即相當(dāng)于在TIME命令執(zhí)行后給出一個(gè)回車。所以執(zhí)行時(shí)系統(tǒng)會(huì)在顯示當(dāng)前時(shí)間后,自動(dòng)返回到DOS提示符狀態(tài): C:〉ECHO.|TIME ECHO命令輸出空行的另一個(gè)應(yīng)用實(shí)例是:將ECHO.加在自動(dòng)批處理文件中,使原本在屏幕下方顯示的提示畫面,出現(xiàn)在屏幕上方。
6. 答復(fù)命令中的提問格式:ECHO答復(fù)語|命令文件名上述格式可以用于簡化一些需要人機(jī)對(duì)話的命令(如:CHKDSK/F;FORMAT Drive:;del *.*)的操作,它是通過DOS管道命令把ECHO命令輸出的預(yù)置答復(fù)語作為人機(jī)對(duì)話命令的輸入。下面的例子就相當(dāng)于在調(diào)用的命令出現(xiàn)人機(jī)對(duì)話時(shí)輸入“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建立自動(dòng)批處理文件 C:〉ECHO C:/CPAV/BOOTSAFE〉〉A(chǔ)UTOEXEC.BAT向自動(dòng)批處理文件中追加內(nèi)容 C:TYPE AUTOEXEC.BAT顯示該自動(dòng)批處理文件 @ECHO OFF C:/CPAV/BOOTSAFE
8. 向打印機(jī)輸出打印內(nèi)容或打印控制碼 格式:ECHO 打印機(jī)控制碼>PRN ECHO 打印內(nèi)容>PRN 下面的例子是向M-1724打印機(jī)輸入打印控制碼。
9. 使喇叭鳴響 C:〉ECHO ^G “^G”是用Ctrl+G或Alt+007輸入,輸入多個(gè)^G可以產(chǎn)生多聲鳴響。使用方法是直接將其加入批處理文件中或做成批處理文件調(diào)用。
10.執(zhí)行ESC控制序列修改屏幕和鍵盤設(shè)置我們知道DOS的設(shè)備驅(qū)動(dòng)程序ANSI.SYS提供了一套用來修改屏幕和鍵盤設(shè)置的ESC控制序列。如執(zhí)行下述內(nèi)容的批處理程序可以把功能鍵F12定義為DOS命令“DIR/W”,并把屏幕顏色修改為白色字符藍(lán)色背景。 @ECHO”←[0;134;”DIR/W”;13p @ECHO”←[1;37;44m (注:批處理文件中“←”字符的輸入方法是在編輯狀態(tài)下按Alt中小鍵盤上的27)
-------------------------------------------------------------------------------------------------------------------------------------------
初識(shí)Shell socket
#include
#include
#include
#include
#include
#define ECHO_PORT 8080
#define MAX_CLIENT_NUM 10
int main()
{
int socketfd;
socketfd = socket (AF_INET, SOCK_STREAM, 0);
//aga:create server socket for listening
if ( socketfd == -1)
{
printf("errno=%d",errno);
exit(1);
}
else
{
printf("socket create successfully");
}
struct sockaddr_in sa;
bzero(&sa, sizeof(sa));
sa.sin_family = AF_INET;
sa.sin_port = htons(ECHO_PORT);
sa.sin_addr.s_addr = htons(INADDR_ANY);
//aga: set socket port and address
bzero(&(sa.sin_zero),8);
if( bind( socketfd, (struct sockaddr *)&sa, sizeof(sa) )!=0)
//aga: bind socket with socket address
{
printf("bind failed");
printf("errno=%d",errno);
}
else
{
printf("bind successfully");
}
//aga: after successfully binding, begin to listen!
if(listen(socketfd,MAX_CLIENT_NUM)!=0)
{
printf("listen error");
exit(1);
}
else
{
printf("listen successfully");
}
int clientfd;
struct sockaddr_in clientAdd;
//aga: client socket address
char buff[101];
socklen_t len = sizeof(clientAdd);
int closing=0;
while( closing == 0 && ( clientfd= accept( socketfd,(struct sockaddr*)&clientAdd,&len))>0)
//aga: listening socket waits for accepting client connection
{
send(clientfd,"connect successfully!",21,0);
int n;
while( (n=recv( clientfd,buff,100,0))>0)
//aga: after connection established, server begins to recvive msg
{
printf("number of receive bytes = %d ",n);
write ( STDOUT_FILENO, buff, n);
send( clientfd,buff,n,0);
buff[n]=' ';
if( strcmp(buff,"quit")==0)
{
break;
}
else if( strcmp(buff, "close")==0)
{
closing =1;
printf("server is closing ");
break;
}
}
close(clientfd);
}
close(socketfd);
return 0;
}
看了“linux echo指令學(xué)習(xí)”還想看:
2.初學(xué)者怎樣學(xué)習(xí)Linux系統(tǒng)命令操作