① linux使用技巧與故障排除速查手冊的目錄
第1篇Linux使用技巧篇
第1章Linux的基本使用知識
1.1系統安裝
1.1.1技巧001如何安裝Fedora7系統
1.1.2技巧002安裝後如何設置Fedora7
1.2Linux圖形操作界面
1.2.1技巧003認識XWindow
1.2.2技巧004詳解xorg.conf配置文件
1.2.3技巧005如何使用GNOME和KDE桌面
1.3字元界面操作基礎
1.3.1技巧006如何進行圖形界面和字元界面的切換
1.3.2技巧007如何使用vim文本編輯器
1.4Linux系統常用命令
1.4.1技巧008何為終端窗口
1.4.2技巧009如何進行信息顯示
1.4.3技巧010如何備份文件
1.4.4技巧011如何進行系統管理
1.4.5技巧012如何進行網路管理
第2章Linux基本操作技巧
2.1XWindow基本操作
2.1.1技巧013桌面環境基本操作技巧
2.1.2技巧014搜索文件技巧
2.1.3技巧015打開文件與運行程序技巧
2.1.4技巧016查看磁碟分區技巧
2.1.5技巧017掛載Windows分區技巧
2.1.6技巧018開機自動掛載Windows分區技巧
2.2玩轉桌面
2.2.1技巧019關於XGL3D桌面的使用技巧
2.2.2技巧020虛擬桌面設置技巧
2.2.3技巧021使用應用程序菜單和桌面菜單技巧
2.2.4技巧022面板添加小程序技巧
2.2.5技巧023添加面板技巧
2.2.6技巧024桌面添加應用程序啟動器技巧
2.2.7技巧025面板添加抽屜技巧
2.2.8技巧026啟動自動登錄及登錄畫面設置技巧
2.2.9技巧027設置GRUB技巧
2.3文字環境的操作
2.3.1技巧028進入文本操作技巧
2.3.2技巧029登錄技巧
2.3.3技巧030注銷關機技巧
2.3.4技巧031創建和刪除目錄技巧
2.3.5技巧032改變工作目錄和顯示目錄內容技巧
2.3.6技巧033鏈接文件技巧
2.3.7技巧034文件顯示技巧
2.3.8技巧035匹配、排序技巧
2.3.9技巧036比較文件內容技巧
2.3.10技巧037復制、刪除和移動文件技巧
2.3.11技巧038載入光碟和軟盤技巧
2.3.12技巧039打包、壓縮與解壓縮的技巧
第3章Linux常用軟體使用技巧
3.1瀏覽器軟體使用技巧
3.1.1技巧040指定默認下載文件夾
3.1.2技巧041讓臨時文件搬家
3.1.3技巧042滾動速度自由指定
3.1.4技巧043自由定製工具欄
3.1.5技巧044關閉標簽時請勿警告
3.1.6技巧045網頁文字大小隨意調
3.1.7技巧046主頁個數隨你定
3.1.8技巧047備份收藏的網頁
3.1.9技巧048教你如何玩提速
3.1.10技巧049在Konqueror中用axel下載
3.2Kmail郵件客戶端軟體使用技巧
3.2.1技巧050如何在Kmail中添加簽名檔
3.2.2技巧051如何在Kmail中配置郵件收發
3.2.3技巧052Kmail配置的其他注意事項
3.3命令行下載工具使用技巧
3.3.1技巧053Wget軟體使用技巧
3.3.2技巧054Prozilla軟體使用技巧
3.3.3技巧055Axel軟體使用技巧
3.3.4技巧056MyGet軟體使用技巧
3.3.5技巧057Curl軟體使用技巧
3.4Linux下聊天軟體使用技巧
3.4.1技巧058Pidgin軟體使用技巧
3.4.2技巧059Linux系統下QQ的使用技巧
3.5文本編輯軟體使用技巧
3.5.1技巧060打開Vim文本編輯器的技巧
3.5.2技巧061Vim文本編輯器在編輯模式下的使用技巧
3.5.3技巧062Vim文本編輯器在插入模式下的使用技巧
3.5.4技巧063Vim文本編輯器在命令模式下的使用技巧
3.5.5技巧064設置Vim文本編輯器的運行環境
3.5.6技巧065Emacs文本編輯器的啟動技巧
3.5.7技巧066Emacs文本編輯器中移動游標的技巧
3.5.8技巧067Emacs文本編輯器中插入與刪除的技巧
3.5.9技巧068Emacs文本編輯器中恢復與撤銷技巧
3.5.10技巧069Emacs文本編輯器對文件的操作技巧
3.5.11技巧070Emacs文本編輯器的緩沖區操作技巧
3.5.12技巧071Emacs文本編輯器搜索字元和字元串的技巧
3.5.13技巧072Emacs文本編輯器的多窗口操作技巧
3.5.14技巧073gedit文本編輯軟體的打開技巧
3.5.15技巧074gedit文本編輯軟體的使用技巧
3.6Office軟體的使用技巧
3.6.1技巧075打開OpenOffice.org的技巧
3.6.2技巧076OpenOffice.org的打開與保存文件的技巧
3.6.3技巧077OpenOffice.orgWriter的「剪切」、「粘貼」和「復制」技巧
3.6.4技巧078OpenOffice.orgWriter的「替換和查找」技巧
3.6.5技巧079OpenOffice.orgWriter中添加工具條的技巧
3.6.6技巧080使用OpenOffice.orgWriter編輯文本的插入技巧
3.6.7技巧081OpenOffice.orgWriter中對表格的編輯技巧
3.6.8技巧082在OpenOffice.orgWriter中使用快捷鍵的技巧
3.6.9技巧083OpenOffice.orgCalc中插入和重命名工作表的技巧
3.6.10技巧084OpenOffice.orgCalc中進行數據編輯的技巧
3.6.11技巧085OpenOffice.orgImpress操作界面的區域劃分
3.6.12技巧086OpenOffice.orgImpress的創建與保存技巧
3.6.13技巧087OpenOffice.orgImpress編輯幻燈片的技巧
3.6.14技巧088OpenOffice.orgImpress中快捷鍵的使用技巧
3.7應用軟體技巧
3.7.1技巧089如何安裝圖形管理軟體Picasa
3.7.2技巧090Picasa的圖片瀏覽技巧
3.7.3技巧091Picasa中星標的妙用
3.7.4技巧092如何使Picasa找到.avi等格式的視頻文件
3.7.5技巧093利用Picasa輕松製作相片拼貼效果
3.8多種視聽娛樂軟體的使用技巧
3.8.1技巧094如何安裝MPlayer
3.8.2技巧095巧妙添寫MPlayer的配置文件
3.8.3技巧096MPlayer使用技巧簡介
3.8.4技巧097如何安裝RealPlayer
3.8.5技巧098RealPlayer10針對低配置機器的優化措施
3.8.6技巧099如何安裝音頻軟體Amarok
3.8.7技巧100Amarok的快捷鍵技巧
3.8.8技巧101修正Amarok歌曲信息中的亂碼
3.9在Linux上玩Windows
3.9.1技巧102如何安裝Wine
3.9.2技巧103Linux系統下運行WarcraftⅢ
第4章Linux系統管理技巧
4.1賬號與磁碟空間管理技巧
4.1.1技巧104如何創建賬號
4.1.2技巧105如何停用賬號
4.1.3技巧106如何刪除賬號
4.1.4技巧107如何創建組群
4.1.5技巧108賬號切換
4.1.6技巧109普通賬號執行root許可權
4.1.7技巧110賬號查詢
4.1.8技巧111教你進行用戶空間管理(quota)
4.2文件系統和許可權設置技巧
4.2.1技巧112詳解文件系統的結構
4.2.2技巧113如何查看目錄、文件的使用許可權
4.2.3技巧114如何修改目錄、文件的使用許可權
4.2.4技巧115特殊許可權設置
4.2.5技巧116如何應用硬鏈接和符號鏈接
4.3系統信息查看技巧
4.3.1技巧117如何查看登錄的用戶
4.3.2技巧118如何管理執行中的程序
4.3.3技巧119如何修改進程的優先順序
4.4用戶環境設置技巧
4.4.1技巧120巧解shell的各種功能
4.4.2技巧121shell下的特殊字元
4.4.3技巧122如何設置shell環境變數
第5章Linux系統升級和安全配置技巧
5.1Linux系統升級技巧
5.1.1技巧123進行准備工作
5.1.2技巧124如何設置內核
5.1.3技巧125如何編譯內核
5.1.4技巧126如何安裝內核
5.1.5技巧127如何修補內核
5.2Linux系統安全設置技巧
5.2.1技巧128如何進行BIOS安全設置229
5.2.2技巧129如何進行GRUB安全設置
5.2.3技巧130賬號安全設置技巧
5.2.4技巧131重要文件的安全設置技巧
5.3Linux系統服務安全保障技巧
5.3.1技巧132如何保障系統開啟服務的安全
5.3.2技巧133系統埠安全配置技巧
5.3.3技巧134日誌文件的安全技巧
5.3.4技巧135如何進行網路安全設置
第6章Linux防火牆配置技巧
6.1iptables命令使用技巧
6.1.1技巧136iptables命令參數
6.1.2技巧137常用處理動作(用參數j指定)
6.1.3技巧138常用封包對比參數
6.2iptables配置技巧
6.2.1技巧139安裝iptables
6.2.2技巧140開啟和關閉iptables服務
6.2.3技巧141設置靜態防火牆
6.2.4技巧142設置FTP伺服器防火牆
6.2.5技巧143設置郵件伺服器防火牆
6.2.6技巧144使用腳本進行防火牆設置
6.2.7技巧145設置有狀態防火牆
6.2.8技巧146如何運行iptables腳本防火牆
6.3iptables訪問控制技巧
6.3.1技巧147如何用iptables實現NAT或IP偽裝
6.3.2技巧148如何使用iptables實現埠轉發
6.3.3技巧149如何使用iptables禁止ping連接
第7章Linux網路配置技巧
7.1DHCP伺服器配置與使用技巧
7.1.1技巧150如何安裝DHCP伺服器
7.1.2技巧151如何配置DHCP伺服器
7.1.3技巧152啟動和停止DHCP伺服器技巧
7.1.4技巧153如何使用denyunknown-clients
7.1.5技巧154小型共享網路中DHCP地址池的設置技巧
7.2DNS伺服器配置與使用技巧
7.2.1技巧155如何配置DNS伺服器
7.2.2技巧156如何使用圖形化工具配置DNS伺服器
7.2.3技巧157如何管理配置DNS詳細日誌
7.2.4技巧158如何配置實現域名伺服器的負載均衡
7.2.5技巧159如何配置實現泛域名解析
7.3NFS伺服器配置與使用技巧
7.3.1技巧160NFS伺服器的配置技巧
7.3.2技巧161NFS伺服器的圖形化配置技巧
7.3.3技巧162配置NFS客戶端技巧
7.3.4技巧163啟動和停止NFS伺服器技巧
7.3.5技巧164NFS伺服器調優技巧
7.3.6技巧165加強NFS伺服器安全的技巧
7.4Samba伺服器配置與使用技巧
7.4.1技巧166Samba伺服器安裝啟動技巧
7.4.2技巧167Samba配置文件說明
7.4.3技巧168設置一個簡單的share等級Server端
7.4.4技巧169用圖形化界面配置user等級Server端
7.4.5技巧170利用webmin中的Samba伺服器設置共享列印機
7.4.6技巧171查看連接到Samba伺服器上的用戶
7.5Apache伺服器使用技巧
7.5.1技巧172如何安裝Apache伺服器
7.5.2技巧173如何啟動/停止/重新啟動Apache伺服器
7.5.3技巧174詳解Apache伺服器配置文件httpd.conf
7.5.4技巧175Apache伺服器如何實現用戶驗證
7.6FTP伺服器配置與使用
7.6.1技巧176如何安裝、啟動vsftpd
7.6.2技巧177詳解vsftpd配置文件
7.6.3技巧178如何配置FTP匿名伺服器
7.6.4技巧179如何配置真實賬號FTP伺服器
7.6.5技巧180FTP伺服器常用命令
7.6.6技巧181如何配置FTP伺服器其他常見功能
7.6.7技巧182FTP伺服器日誌管理
7.7Mail伺服器配置與使用技巧
7.7.1技巧183如何啟動sendmail
7.7.2技巧184sendmail的配置技巧
7.7.3技巧185設置主機名稱技巧
7.7.4技巧186伺服器使用許可權的設置技巧
7.7.5技巧187為賬號設置別名技巧
7.7.6技巧188使用客戶端寄信的技巧
7.7.7技巧189使用客戶端收信的技巧
7.7.8技巧190設置檢查郵件時間間隔技巧
7.8SSH伺服器配置與使用技巧
7.8.1技巧191SSH伺服器安裝技巧
7.8.2技巧192SSH伺服器啟動和停止技巧
7.8.3技巧193SSH伺服器文件配置說明
7.8.4技巧194用Webmin設置SSH伺服器
7.8.5技巧195Linux客戶端遠程登錄SSH伺服器
7.8.6技巧196Windows客戶端遠程登錄SSH伺服器
7.8.7技巧197使用公鑰認證登錄
7.9Linux下NAT配置與使用技巧
7.9.1技巧198簡述NAT的優缺點
7.9.2技巧199NAT伺服器的安裝與使用
7.9.3技巧200如何正確使用「-jMASQUERADE」與「-jSNAT」
7.9.4技巧201高負載NAT時的一些優化技巧
7.9.5技巧202如何正確設定NAT同時支持的用戶數量
7.10代理伺服器Squid配置與使用技巧
7.10.1技巧203安裝Squid後如何更改訪問控制列表的默認設置
7.10.2技巧204啟動Squid後,如何驗證Squid是否在工作
7.10.3技巧205如何查看Squid代理的詳盡執行信息
7.10.4技巧206如何在Linux中設置Squid的用戶認證存取控制
7.10.5技巧207如何限定squid最大連接數
第8章管理工具Webmin使用技巧
8.1Webmin概述
8.1.1Webmin運行原理
8.1.2Webmin相對於其他GUI管理工具的優點
8.2安裝Webmin
8.2.1技巧208下載rpm包安裝Webmin
8.2.2技巧209下載.tar.gz壓縮包安裝Webmin
8.3Webmin的管理與配置
8.3.1技巧210順利啟動Webmin
8.3.2技巧211如何進入Webmin
8.3.3技巧212如何修改Webmin的默認埠
8.3.4技巧213如何將Webmin修改為中文環境
8.3.5技巧214Webmin界面功能的簡介
8.3.6技巧215如何將Webmin設置為開機自動啟動
8.3.7技巧216Webmin密碼忘了怎麼辦
8.3.8技巧217注意Webmin的安全性
8.4Webmin的配置設定
8.4.1技巧218Webmin的活動日誌(Log文件)
8.4.2技巧219創建Webmin的新用戶
8.4.3技巧220創建Webmin的新工作組
8.4.4技巧221如何安裝和刪除Webmin模塊
第2篇Linux故障排除篇
第9章Linux安裝及更新故障排除
9.1Linux啟動安裝進程故障排除
9.1.1故障001開機啟動後GRUB失敗
9.1.2故障002使用GRUB引導Windows系統失敗
9.1.3故障003使用GRUB引導Linux系統失敗
9.1.4故障004使用GRUB引導多系統失敗
9.2救援模式
9.2.1故障005無法進入救援模式
9.2.2故障006配置文件丟失
9.3重裝Windows後無法進入Linux系統的故障排除
9.3.1故障007無法進入Linux系統
9.3.2故障008MBR損壞無法進入GRUB引導系統
9.3.3故障009無法進入GRUB界面
第10章Linux圖形界面支持故障排除
10.1鍵盤、滑鼠故障排除
10.1.1故障010更換鍵盤後檢測不到鍵盤
10.1.2故障011更換滑鼠後檢測不到滑鼠
10.1.3故障012滑鼠左右鍵功能與平時相反
10.2顯示卡驅動配置故障排除
10.2.1故障013無法判斷是否安裝顯示卡驅動程序
10.2.2故障014無法在X下雙擊安裝顯示卡驅動程序
10.2.3故障015顯示卡驅動程序成功安裝仍無法開啟桌面效果
10.2.4故障016開啟桌面效果後窗口邊框消失,終端顯示空白
10.2.5故障017更改顯示卡驅動程序設置導致無法進入X界面
10.3音效卡驅動故障排除
10.3.1故障018播放mp3時沒有聲音
10.3.2故障019播放時聲音效果不好
10.4界面故障排除
10.4.1故障020桌面背景更換程序崩潰
10.4.2故障021解析度達不到1024×768
10.4.3故障022誤更改配置文件xorg.conf導致無法進入X界面
10.4.4故障023刷新率過高、過低引起黑屏、閃爍
第11章Linux軟體安裝故障排除
11.1軟體包安裝與管理
11.2安裝軟體包故障排除
11.2.1故障024在Fedora7系統中安裝NS2軟體後無法運行
11.2.2故障025FedoraCore6中的添加刪除程序無法使用
11.2.3故障026RHEL5Server無法使用system-config-packages
11.2.4故障027安裝httpd軟體rpm包時提示依賴性錯誤
11.2.5故障028如何將.src.rpm格式的包編譯成.rpm格式
11.2.6故障029rpm包安裝之後找不到486
11.2.7故障030安裝fcitx-3.0.0-1.i386.rpm包後無法打開輸入法
11.2.8故障031RedHatAS3.0下安裝gcc出錯
11.2.9故障032不知該下載i386.rpm還是i686.rpm
11.2.10故障033rpm升級程序不成功的問題
11.2.11故障034rpm-e卸載模塊問
第12章Linux系統管理故障排除
12.1編譯內核後的常見故障
12.1.1故障035kernelpanics
12.1.2故障036內核無法啟動
12.1.3故障037無法啟動X
12.1.4故障038出現異常I/O錯誤
12.1.5故障039無法關機
12.1.6故障040內核反應緩慢
12.1.7故障041滑鼠燈亮卻無法驅動
12.1.8故障042主板自帶音效卡無法識別或無法多音頻輸出
12.2Linux文件系統分區和磁碟管理故障排除
12.2.1故障043計算機不引導(沒有引導界面)
12.2.2故障044文件誤被刪除
12.2.3故障045不能卸載目錄
12.2.4故障046ext3文件系統損壞
12.3yum和用戶管理故障排除
12.3.1故障047使用yum太慢
12.3.2故障048root用戶密碼丟失
第13章Linux中文顯示故障排除
13.1中文顯示
13.1.1故障049SCIM輸入法無法用「Ctrl+Space」啟動
13.1.2故障050英文環境下SCIM輸入法無法使用
13.2常見中文顯示故障
13.2.1故障051英文界面下系統無法按拼音排序中文
13.2.2故障052掛載光碟的中文文件名稱為亂碼
13.2.3故障053在Fedora7系統下掛載光碟的中文名稱為亂碼
13.2.4故障054Fat32分區無法顯示中文文件名稱
13.2.5故障055字體在GNOME環境和KDE環境下大小不同
13.3字體美化
13.3.1電腦字體簡介
13.3.2故障056XFree86下無法使用TrueType字體
13.3.3故障057X.Org下無法像在XFree86下一樣安裝VeraSansYuanTi字體
13.3.4故障058如何安裝文泉驛字體
13.3.5故障059在Fedora7下沒有root用戶許可權,無法按上述方法安裝字體
13.4控制台中文顯示問題
13.4.1故障060FedoraCore5的文本模式下無法顯示中文
13.4.2故障061無法將zhcon設置為開機自動啟動
13.5其他常見應用程序中文顯示故障
13.5.1故障062Samba伺服器無法顯示中文共享名稱
13.5.2故障063Xmms軟體無法顯示中文歌曲名和播放列表
13.5.3故障064MPlayer軟體無法使用中文字幕
13.5.4故障065Evolution軟體升級後中文顯示效果不好
13.5.5故障066Xpdf軟體中文顯示問題
13.5.6故障067Apache伺服器(2.0.x版)無法正常顯示中文
13.5.7故障068Wine軟體下無法顯示中文
13.5.8故障069Wine軟體運行緩慢
13.5.9故障070使用Gaim軟體進入中文聊天室無法顯示中文
13.5.10故障071Emacs軟體無法正確辨別中文編碼
13.5.11故障072某些gtk程序無法正確顯示中文
第14章Linux網路配置故障排除
14.1DHCP伺服器配置故障排除
14.1.1故障073/var/lib/dhcp/dhcpd.leases造成的啟動問題
14.1.2故障074subnet設置錯誤造成的啟動問題
14.1.3故障075客戶端沒有eth0,造成無法上網
14.2DNS伺服器配置故障排除
14.2.1故障076DNS啟動時找不到文件
14.2.2故障077DNS無法載入地址記錄和別名
14.2.3故障078未設定授權記錄文件的TTL值來代替默認的最小值
14.3NFS伺服器配置故障排除
14.3.1故障079NFS伺服器啟動失敗
14.3.2故障080掛載遠程NFS目錄失敗
14.3.3故障081卸載遠程NFS目錄失敗
14.4Samba伺服器配置故障排除
14.4.1故障082連接Samba伺服器時出現無許可權訪問
14.4.2故障083陌生人訪問Samba
14.4.3故障084連接數太多影響機器性能
14.5Web伺服器配置與管理故障排除
14.5.1故障085伺服器Apache進程自動退出的案例分析
14.5.2故障086Apache運行故障
14.5.3故障087MySQL連接數滿導致內存大量消耗、伺服器宕機
14.5.4故障088修改Apache伺服器默認埠後無法訪問Web站點
14.5.5故障089區域網內其他電腦無法訪問Apache伺服器主機
14.6FTP伺服器配置與使用故障排除
14.6.1故障090用戶名或密碼錯誤,無法登錄FTP伺服器
14.6.2故障091連接用戶太多,無法登錄FTP伺服器
14.6.3故障092匿名用戶無法登錄FTP伺服器
14.6.4故障093用戶IP受限,無法登錄FTP伺服器
14.6.5故障094同一用戶無法多線程連接FTP伺服器
14.6.6故障095匿名用戶無法上傳文件到FTP伺服器
14.6.7故障096防火牆設置不正確,用戶無法登錄FTP伺服器
14.6.8故障097vsftpd下顯示的時間與系統時間不一致
14.7Mail伺服器配置與使用故障排除
14.7.1故障098sendmail無法發送郵件
14.7.2故障099接收郵件的故障
14.7.3故障100大量電子郵件排隊
14.8SSH伺服器配置故障排除
14.8.1故障101使用公鑰認證登錄顯示「Serverrefusedourkey」
14.8.2故障102使用putty登錄SSH顯示不出中文
14.9NAT配置故障排除
14.9.1故障103通過NAT上網的內部IP主機連接FTP出錯
14.9.2故障104伺服器主機的連接跟蹤表提示「tablefull」
14.9.3故障105常見NAT故障一例
14.10代理伺服器Squid故障排除
14.10.1故障106在運行一段時間後,Squid變慢
14.10.2故障107Squid出現錯誤「Addressalreadyinuse」14.10.3故障108找不到core文件
② linux手冊翻譯——socket(2)
socket - 創建一個用於通信的端點
socket() 創建用於通信的端點並返回引用該端點的文件描述符。 成功調用時返回的文件描述符,將是當前沒有被進程打開的所有文件描述符中編號最低的。
domain 參數指定一個通信域; 以決定用於通信的協議族。 這些系列在 <sys/socket.h> 中定義。 目前 Linux 內核理解的格式包括:
當然最常用的當然是 AF_INET ,即IPV4。
上述地址族的更多詳細信息以及其他幾個地址族的信息可以在 address_families(7) 中找到。
套接字具有指定的 type ,它指定了通信語義。 當前定義的類型有:
某些套接字類型可能不會被所有協議族實現。
從 Linux 2.6.27 開始,type 參數有第二個用途:除了指定套接字類型之外,它還可以包含以下任何值的按位或,以修改 socket() 的行為:
老朋友了,上述兩個,第一個是非阻塞,第二個是執行exec時自動關閉。
protocol 指定要與套接字一起使用的特定協議。 通常只存在一個協議來支持給定協議族中的特定套接字類型 ,在這種情況下,protocol 可以指定為 0。但是,可能存在許多協議,在這種情況下,必須在此指定特定協議方式。 特定協議對應的編號可以查看文件: /etc/protocols
SOCK_STREAM 類型的套接字是全雙工位元組流。 它們不保留記錄邊界。 流套接字必須處於連接狀態,然後才能在其上發送或接收任何數據。 到另一個套接字的連接是通過 connect(2) 調用創建的。 連接後,可以使用 read(2) 和 write(2) 調用或 其變體send(2) 和 recv(2) 的來傳輸數據。 當會話完成時,可以執行 close(2)。 帶外數據也可以按照 send(2) 中的描述進行傳輸,並按照 recv(2) 中的描述進行接收。
實現 SOCK_STREAM 的通信協議確保數據不會丟失或重復。 如果協議的緩沖空間中存在一條數據在合理的時間內不能成功傳輸,則認為該連接已失效。 當 SO_KEEPALIVE 在套接字上啟用時,將會以特定於協議的方式檢查另一端是否仍然存在。 如果進程在損壞的流上發送或接收,則會引發 SIGPIPE 信號; 這會導致不處理信號的進程退出。 SOCK_SEQPACKET 套接字使用與 SOCK_STREAM 套接字相同的系統調用。 唯一的區別是 read(2) 調用將只返回請求的數據量,到達數據包中剩餘的其他數據都將被丟棄。 傳入數據報中的所有消息邊界也被保留。
SOCK_DGRAM 和 SOCK_RAW 套接字允許將數據報發送到在 sendto(2) 調用中指定的通信者。 數據報通常用 recvfrom(2) 接收,它返回下一個數據報及其發送者的地址。
SOCK_PACKET 是一種過時的套接字類型,用於直接從設備驅動程序接收原始數據包。 改用 packet(7)。
An fcntl(2) F_SETOWN operation can be used to specify a process or process group to receive a SIGURG signal when the out-of-band data arrives or SIGPIPE signal when a SOCK_STREAM connection breaks unexpectedly. This operation may also be used to set the process or process group that receives the I/O and asynchronous notification of I/O events via SIGIO. Using F_SETOWN is equivalent to an ioctl(2) call with the FIOSETOWN or SIOCSPGRP argument.
When the network signals an error condition to the protocol mole (e.g., using an ICMP message for IP) the pending error flag is set for the socket. The next operation on this socket will return the error code of the pending error. For some protocols it is possible to enable a per-socket error queue to retrieve detailed information about the error; see IP_RECVERR in ip(7).
套接字的操作由套接字選項控制。 這些選項在 <sys/socket.h> 中定義。 函數setsockopt(2) 和getsockopt(2) 用於設置和獲取選項。對於選項的描述,詳見socket(7).
成功時,將返回新套接字的文件描述符。 出錯時,返回 -1,並設置 errno 以指示錯誤。
POSIX.1-2001, POSIX.1-2008, 4.4BSD.
The SOCK_NONBLOCK and SOCK_CLOEXEC flags are Linux-specific.
socket() appeared in 4.2BSD. It is generally portable to/from non-BSD systems supporting clones of the BSD socket layer (including System V variants).
在 4.x BSD 下用於協議族的清單常量是 PF_UNIX、PF_INET 等,而 AF_UNIX、AF_INET 等用於地址族。 但是,BSD 手冊頁已經承諾:「協議族通常與地址族相同」,隨後的標准到處都使用 AF_*。
③ linux怎麼切換用戶
Linux系統中用戶切換的命令為su。
1、命令格式及參數
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
參數說明:
-f , –fast:不必讀啟動文件(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。
-l , –login:加了這個參數之後,就好像是重新登陸一樣,大部分環境變數(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,並且工作目錄也會改變。如果沒有指定USER,預設情況是root。
-m, -p ,–preserve-environment:執行su時不改變環境變數。
-c command:變更賬號為USER的使用者,並執行指令(command)後再變回原來使用者。
–help 顯示說明文件
–version 顯示版本資訊
USER:欲變更的使用者賬號,
ARG: 傳入新的Shell參數。
2. su [user] 和 su - [user]的區別:
su [user]切換到其他用戶,但是不切換環境變數,su - [user]則是完整的切換到新的用戶環境。
如:
[root@rac1 ~]# pwd --當前目錄
/root
[root@rac1 ~]# su oracle --使用su [user]
[oracle@rac1 root]$ pwd --當前目錄沒有改變,還是之前的用戶目錄
/root
[oracle@rac1 root]$ su - oracle --使用su - [user]
Password:
[oracle@rac1 ~]$ pwd --當前目錄變為當前用戶的家目錄
/home/oracle
[oracle@rac1 ~]$