在st_mode的特征位定義里有:
公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出永修免費做網(wǎng)站回饋大家。
S_IFIFO 0010000 //先進先出(fifo)
fifo是管道文件,分為分為無名管道和有名管道。
無名管道例如:ls-l | grep name 使用管道可將一個命令的輸出作為另一個命令的輸入。命令執(zhí)行時,無名管道對于管道兩端的進程而言,就是一個文件,但它不是普通的文件,它不屬于某種文件系統(tǒng),而是單獨構(gòu)成一種文件系統(tǒng),并且只存在于內(nèi)存中。無名管道是臨時的,執(zhí)行完成后會自動消失。由于沒有名字,無名管道只能用于親緣關(guān)系的進程間通信.
有名管道即FIFO,在文件系統(tǒng)中有自己文件名路徑名,這樣即使兩個不相關(guān)(沒有親緣關(guān)系)的進程,只要可以訪問該路徑,就能夠彼此通過創(chuàng)建FIFO相互(經(jīng)常性的而非臨時的)通信。有名管道的名字存在于文件系統(tǒng)中,但內(nèi)容還是存放在內(nèi)存中。
S_IFIFO 即表示有名管道文件。具體介紹和應(yīng)用,還請翻閱“進程間通信--管道”的相關(guān)內(nèi)容。
顯示目錄文件用linux中l(wèi)s命令
ls
命令可以說是linux下最常用的命令之一。
-a
列出目錄下的所有文件,包括以
.
開頭的隱含文件。
-b
把文件名中不可輸出的字符用反斜杠加字符編號(就象在C語言里一樣)的形式列出。
-c
輸出文件的
i
節(jié)點的修改時間,并以此排序。
-d
將目錄象文件一樣顯示,而不是顯示其下的文件。
-e
輸出時間的全部信息,而不是輸出簡略信息。
-f
-U
對輸出的文件不排序。
-g
無用。
-i
輸出文件的
i
節(jié)點的索引信息。
-k
以
k
字節(jié)的形式表示文件的大小。
-l
列出文件的詳細信息。
-m
橫向輸出文件名,并以“,”作分格符。
-n
用數(shù)字的
UID,GID
代替名稱。
-o
顯示文件的除組信息外的詳細信息。
-p
-F
在每個文件名后附上一個字符以說明該文件的類型,“*”表示可執(zhí)行的普通
文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q
用?代替不可輸出的字符。
-r
對目錄反向排序。
-s
在每個文件名后輸出該文件的大小。
-t
以時間排序。
-u
以文件上次被訪問的時間排序。
-x
按列輸出,橫向排序。
-A
顯示除
“.”和“..”外的所有文件。
-B
不輸出以
“~”結(jié)尾的備份文件。
-C
按列輸出,縱向排序。
-G
輸出文件的組的信息。
-L
列出鏈接文件名而不是鏈接到的文件。
-N
不限制文件長度。
-Q
把輸出的文件名用雙引號括起來。
-R
列出所有子目錄下的文件。
-S
以文件大小排序。
-X
以文件的擴展名(最后一個
.
后的字符)排序。
-1
一行只輸出一個文件。
--color=no
不顯示彩色文件名
--help
在標準輸出上顯示幫助信息。
--version
在標準輸出上輸出版本信息并退出。
只列出子目錄
1.
ls
-F
|
grep
/$
或者
alias
sub
=
"ls
-F
|
grep
/$"(linux)
2.
ls
-l
|
grep
"^d"
或者
ls
-lL
|
grep
"^d"
(Solaris)
計算當前目錄下的文件數(shù)和目錄數(shù)
下面命令可以分別計算當前目錄下的文件和目錄個數(shù):
#
ls
-l
*
|grep
"^-"|wc
-l
----
to
count
files
#
ls
-l
*
|grep
"^d"|wc
-l
--
to
count
dir
顯示彩色目錄列表
打開/etc/bashrc,
加入如下一行:
alias
ls="ls
--color"
下次啟動bash時就可以像在Slackware里那樣顯示彩色的目錄列表了,
其中顏色的含義如下:
1.
藍色--目錄
2.
綠色--可執(zhí)行文件
3.
紅色--壓縮文件
4.
淺藍色--鏈接文件
5.
灰色--其他文件
ls
-tl
--time-style=full-iso
sshd
ls
-ctl
--time-style=long-iso
在linux進程間通信(IPC)可以通過信號量、文件系統(tǒng)、消息隊列、共享內(nèi)存還有管道來實現(xiàn)的。其中消息隊列、內(nèi)存管理是在SystemV中提出的。進程通信間涉及到了管道,而且管道在shell命令中也大有用處。
那就簡要說說管道:管道顧名思義,你可以將其理解為日常生活中的管子,一邊流入,一邊流出。它可以有半雙工和全雙工。半雙工就是只能一邊流入,另一邊流出;全雙工則是一邊可以流入,也可以流出。
1、pipe就是一種半雙工的管道。其中,fd[1]用來向管道中寫入數(shù)據(jù),而fd[0]在另一端用來讀出數(shù)據(jù)。如果現(xiàn)有兩個進程要利用pipe進行通信。此時,就要保證只能有一個寫入端和一個讀出端,即:fd[1]和fd[0]只能有一個。
2、fifo是一種全雙工,即:它的一端既可以進行讀取fd[0],也可以進行寫入fd[1]。正因為它的這種通信方式,使其可以用來涉及基于C/S模式的網(wǎng)絡(luò)通信。
FIFO和pipe的區(qū)別在于:
FIFO在文件系統(tǒng)中有對應(yīng)的inode,可以通過ls命令查看。
sh-3.2# ls -lhF 。/fifo_file
100 prwxrwxrwx 1 root root 0 Jan 1 1970 。/fifo_file|
sh-3.2#
正因為它有一個名字,所以任何進程都可以訪問它,所以FIFO可用于任意兩個進程之間的通信。
pipe沒有名字,在現(xiàn)有文件系統(tǒng)中無法查看到它的存在。
它只能用于父子進程、兄弟進程等具有血緣關(guān)系的進程間通信。
創(chuàng)建FIFO的方法如下:
1. 調(diào)用umask系統(tǒng)調(diào)用來設(shè)定創(chuàng)建文件的權(quán)限,
#include 《sys/types.h》
#include 《sys/stat/h》
mode_t umask(mode_t mask);
2. 調(diào)用unlink系統(tǒng)調(diào)用先刪除已經(jīng)存在的fifo,
#include 《unistd.h》
int unlink(const char *pathname);
3. 調(diào)用mkfifo庫函數(shù)去創(chuàng)建一個FIFO文件
網(wǎng)站欄目:linuxfifo命令 linux kfifo
網(wǎng)頁網(wǎng)址:http://muchs.cn/article2/hjdooc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、響應(yīng)式網(wǎng)站、App開發(fā)、外貿(mào)建站、ChatGPT、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)