close

書-Linux命令行與shell腳本編程大全(第3版)

image

創建輸入文件描述符

創建讀寫文件描述符

關閉見描述符

列出文件描述符

 

創建輸入文件描述符

這個範例就是先創一個輸入符6用STDIN(0)定向他,再輸入testout文件,然後用while把testout的內容印出,後再把STDIN恢復成原來樣子(exec 0<&6),用read輸入。

(read 讀進來的內容是放在STDIN(0),跟我直接把文件內容定向到0是一樣的)。

image

image

創建讀寫文件描述符

對一個文件進行讀寫時要小心,因為指針可能因為讀寫的原因不再那個位置。

首先我們把3描述符去讀寫testout,下一行讀取testout的內容,最後一行在輸入'this is test'到testout。

image

image

image

可以看到this is test的放在第2行,因為前面read的時候指針是指向第1行所以印出cat,印出cat之後指針指向第二行,所以輸入才會在第二行。

image

關閉見描述符

當我們使用'exec 3>&-'就代表不使用這個描述符。

image

image

不使用3這個描述符之後再輸入內容就會報錯。

image

image

列出文件描述符

可以使用lsof,但是他是個有爭議的功能,因為他不管你的權限,只要輸入了就會顯示,所以有些Linux管理者會隱藏此功能。

指令: /usr/bin/lsof -a -p $$ -d 0,1,2 //這個不行就用下一個

指令: /usr/sbin/lsof -a -p $$ -d 0,1,2  

image

image

image

image

image

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()