linux中建立特殊檔案mknod命令用法詳解:
函式用途:
建立特殊檔案。
語法:
只能由 root 使用者或系統組成員執行
mknod name major minor
建立 fifo(已命名的管道)
mknod name
描述:
mknod 命令建立乙個目錄項和乙個特殊檔案的對應索引節點。第乙個引數是 name 項裝置的名稱。選擇乙個描述性的裝置名稱。mknod 命令有兩種形式,它們有不同的標誌。
mknod 命令的第一種形式只能由 root 使用者或系統組成員執行。在第一種形式中,使用了b 或 c 標誌。b 標誌表示這個特殊檔案是面向塊的裝置(磁碟、軟盤或磁帶)。c 標誌表示這個特殊檔案是面向字元的裝置(其他裝置)。
第一種形式的最後兩個引數是指定主裝置的數目,它幫助作業系統查詢裝置驅動程式**,和指定次裝置的數目,也就是單元驅動器或行號,它們是十進位制或八進位制的。乙個裝置的主要和次要編號由該裝置的配置方法分配,它們儲存在 odm 中的 cu***r 類裡。在這個物件類中定義了主要和次要編號以確保整個系統裝置定義的一致性,這是很重要的。
在 mknod 命令的第二種形式中,使用了 p 標誌來建立 fifo(已命名的管道)。 標誌b 表示特殊檔案是面向塊的裝置(磁碟、軟盤或磁帶)。
c 表示特殊檔案是面向字元的裝置(其他裝置)。
p 建立 fifo(已命名的管道)。
示例(匯出資料為dmp格式)#!/bin/ksh
cd /arch
mkdir data_exp
cd data_exp
mknod exp_pipe0 p
exp hr/hr file=exp_pipe0 tables=data_history direct=y recordlength=65535 indexes=n triggers=n statistics=none constraints=n query='where id < 10206' log=data_history.log &
compress < exp_pipe0 > data_history.dmp)
rm exp_pipe0
cat *.log | grep ora_
cat *.log | grep exp_
c.建立虛擬裝置(dev),日誌記錄的時候有的選項可能用到它們。在預設情況下,是使用/dev目錄下的檔案,但是由於我們需要把dns限制到乙個目錄,所以必須完全把/dev下用到的檔案(或者說裝置)模擬過來才可以。
ls -ll /dev/zero /dev/null /dev/random
看到類似
crw-rw-rw- 1 root root 1, 3 2003-09-15 /dev/null
crw-r--r-- 1 root root 1, 8 2003-09-15 /dev/random
crw-rw-rw- 1 root root 1, 5 2003-09-15 /dev/zero
這樣的,將其中的1,3這樣的數字記錄下來,這表示主裝置號和次裝置號(一般來說主裝置號用來區分裝置的種類;次裝置號則是為了作唯一性區分,標明不同屬性——注意,在unix系統中是把裝置也當作檔案來對待的),在redhat 9下,ls加不加-l引數都無所謂,但是在solaris下則一定要加上才可以顯示。
mknod dev/null c 1 3
mknod dev/zero c 1 5
mknod dev/random c 1 8
Linux中特殊檔案許可權
linux中除了常見的讀 r 寫 w 執行 x 許可權以外,還有3個特殊的許可權,分別是setuid setgid和stick bit 1 setuid setgid 先看個例項,檢視你的 usr bin passwd 與 etc passwd檔案的許可權 root mylinux ls l usr...
Linux 特殊檔案 dev zero
dev zero 是類 unix 系統中乙個特殊的檔案,當讀取該檔案時,它會提供無限的空字元 null。它的乙個主要用途是提供字元流來初始化資料儲存,也就是使用空字元覆蓋目標資料。另乙個常見的用法是產生乙個特定大小的空白檔案。你可以從 dev zero 讀取任意大小數量的 null 字元。和 dev...
Linux系統中特殊檔案許可權
檔案許可權的機制是linux系統中的一大特色,除了我們現在所熟知的du r 寫 w 執行 x 許可權外,還有三個比較特殊的許可權,分別為setuid setgid和stick bit 粘滯位 看一下系統中用到它的地方,以 etc passwd和 usr bin passwd為例 分析一下,etc p...