⑴ linux中read,write和recv,send的區別
Linux的recv、send函數和read、write函數都可以用於套接字編程。
區別:
1、recv、send只用於套接字通信;
2、read、write是底層系統調用,只要是文件操作就都可以用, 比如套接字操作,套接字描述符屬於是文件描述符的一種,套接字本身在Linux上就叫做套接字文件。
所以read、write函數不光可以用於套接字編程,也可以用於讀取其他各種文件,比如用於文件編程讀寫普通文件。
⑵ Linux shell編程 exec 4<&0 0<stock.txt read line1 read line2 exec 0<&4 echo $line1 echo $line2
將文件描述符4指向標准輸入,然後標准輸入從 stock.txt 獲取數據。使用 exec 進行執行,從而在整個腳本中都生效,直到後面恢復標准輸入為止。
read 命令可以使用 -u 參數指定從特定的文件描述符進行讀取,不加參數默認從標准輸入進行讀取。那麼這里就直接從 stock.txt 中進行讀取內容了。
⑶ Linux 命令 read (文件管理)——想玩轉linux就請一直看下去
Linux read命令用於從標准輸入讀取數值。
read 內部命令被用來從標准輸入讀取單行數據。這個命令可以用來讀取鍵盤輸入,當使用重定向的時候,可以讀取文件中的一行數據。
參數說明:
1、簡單讀取
測試結果為:
2、-p 參數,允許在 read 命令行中直接指定一個提示。
測試結果為:
3、-t 參數指定 read 命令等待輸入的秒數,當計時滿時,read命令返回一個非零退出狀態。
執行程序不輸入,等待 5 秒後:
4、除了輸入時間計時,還可以使用 -n 參數設置 read 命令計數輸入的字元。當輸入的字元數目達到預定數目時,自動退出,並將輸入的數據賦值給變數。
該例子使用了-n 選項,後接數值 1,指示 read 命令只要接受到一個字元就退出。只要按下一個字元進行回答,read 命令立即接受輸入並將其傳給變數,無需按回車鍵。
只接收 2 個輸入就退出:
執行程序輸入兩個字元:
5、 -s 選項能夠使 read 命令中輸入的數據不顯示在命令終端上(實際上,數據是顯示的,只是 read 命令將文本顏色設置成與背景相同的顏色)。輸入密碼常用這個選項。
執行程序輸入密碼後是不顯示的:
6.讀取文件
每次調用 read 命令都會讀取文件中的 "一行" 文本。當文件沒有可讀的行時,read 命令將以非零狀態退出。
通過什麼樣的方法將文件中的數據傳給 read 呢?使用 cat 命令並通過管道將結果直接傳送給包含 read 命令的 while 命令。
測試文件 test.txt 內容如下:
測試代碼:
執行結果為:
使用 -e 參數,以下實例輸入字元 a 後按下 Tab 鍵就會輸出相關的文件名(該目錄存在的):