action=="add", kernel=="sd[a-z][0-9]", run+="/bin/umount -l /media/usb_%k"
action=="add", kernel=="sd[a-z][0-9]", run+="/bin/rm -fr /media/usb_%k"
action=="add", kernel=="sd[a-z]", run+="/bin/umount -l /media/usb_%k"
action=="add", kernel=="sd[a-z]", run+="/bin/rm -fr /media/usb_%k"
action=="add", kernel=="sd[a-z][0-9]", run+="/bin/mkdir -p /media/usb_%k"
action=="add", kernel=="sd[a-z][0-9]", run+="/bin/mount /dev/%k /media/usb_%k -o iocharset=cp936"
action=="add", kernel=="sd[a-z][0-9]", run+="/bin/mount -t msdos /dev/%k /media/usb_%k -o iocharset=cp936"
action=="remove", kernel=="sd[a-z][0-9]", run+="/bin/umount -l /media/usb_%k"
action=="remove", kernel=="sd[a-z][0-9]", run+="/bin/rm -rf /media/usb_%k"
action=="add", kernel=="sd[a-z]", run+="/bin/mkdir -p /media/usb_%k"
action=="add", kernel=="sd[a-z]", run+="/bin/mount /dev/%k /media/usb_%k -o iocharset=cp936"
action=="add", kernel=="sd[a-z]", run+="/bin/mount -t msdos /dev/%k /media/usb_%k -o iocharset=cp936"
action=="remove", kernel=="sd[a-z]", run+="/bin/umount -l /media/usb_%k"
action=="remove", kernel=="sd[a-z]", run+="/bin/rm -rf /media/usb_%k"
mkdir -p 命令,有-p選項,如果父目錄不存在,則直接建立父目錄,並建立子目錄。
規則檔名,前面數字越小越先被解析
3.(檔名中的)50為預設值;數值越小越先被解析。
規則說明:
1.udev從頭到尾逐行解析每個規則檔案,每行代表乙個規則,每個規則由若干"鍵-值"(key-value)對組成。
2.鍵分為兩種:匹配鍵(match key)、賦值鍵(assignment key)。
3.每個規則必須至少有乙個匹配鍵和乙個賦值鍵。
4.每個規則一行,不可換行。
5.不可在一行規則中混合匹配兩個不同父裝置的屬性。
6.建立的裝置節點的mode預設值為0666
7.外部程式不會在終端執行,要確保程式為可執行,且指令碼以shebang開頭,終端不會有任何輸出。
8.用於獲取名稱的外部程式執行時,裝置節點尚未建立,所以不能訪問裝置節點。
常用匹配鍵:
* kernel - 匹配裝置在核心中的命名
* subsystem - 匹配裝置(在sysfs中)的subsystem名
* driver - 匹配裝置對應的驅動名
* attr - 匹配裝置在sysfs中屬性
* kernels - 匹配裝置及其父親在核心中的命名
* subsystems - 匹配裝置及其父親(在sysfs中)的subsystem名
* drivers - 匹配裝置及其父親對應的驅動名
* attrs - 匹配裝置及其父親在sysfs中屬性
注:父親表示直到最上層的所有祖先
規則樣例:
[python]view plain
copy
print?
# 如果有裝置被核心命名為hdb,那麼建立裝置節點my_disk替代hdb(即用/dev/my_disk取代/dev/hdb)
kernel=="hdb"
, name=
"my_disk"
# 如果匹配到這樣乙個裝置:核心命名為hdb且驅動為ide-disk;那麼維持原裝置節點名不變
# 但是為它建立乙個叫sparedisk的符號連線(/dev/sparedisk->/dev/hdb)
kernel=="hdb"
, driver==
"ide-disk"
, symlink+=
"sparedisk"
# 為hdc建立兩個符號連線cdrom和cdrom0
kernel=="hdc"
, symlink+=
"cdrom cdrom0"
# 如果從sysfs匹配到乙個塊裝置且大小為234441648則為它的裝置節點建立符號連線my_disk
subsystem=="block"
, attr==
"234441648"
, symlink+=
"my_disk"
# 為/dev/mice建立符號連線/dev/input/mice
kernel=="mice"
, name=
"input/%k"
# 為loop0建立裝置節點/dev/loop/0,並為它建立符號連線/dev/loop0
kernel=="loop0"
, name=
"loop/%n"
, symlink+=
"%k"
# 為fd0~fd9建立裝置節點/dev/floppy/(0~9),並為它們建立符號連線/dev/fd(0~9)
kernel=="fd[0-9]*"
, name=
"floppy/%n"
, symlink+=
"%k"
# 為hiddev字串開頭的裝置建立裝置節點/dev/usb/diddev*
kernel=="hiddev*"
, name=
"usb/%k"
# 設定裝置節點的group、owner、mode
kernel=="fb[0-9]*"
, name=
"fb/%n"
, symlink+=
"%k"
, group=
"video"
, owner=
"john"
, mode=
"0666"
# 使用外部程式device_namer(hda為程式引數)的輸出作為符號連線名
kernel=="hda"
, program=
"/bin/device_namer %k"
, symlink+=
"%c"
# 外部程式輸出必須以單個空格隔開每個單詞; %c表示第n個單詞; %c表示從第n個到最後的所有單詞;
kernel=="hda"
, program=
"/bin/device_namer %k"
, name=
"%c"
, symlink+=
"%c"
# 執行外部程式
kernel=="sdb"
, run+=
"/usr/bin/my_program"
# 設定udev環境變數
kernel=="fd0"
, symlink+=
"floppy"
, env=
"value"
# 附加選項
kernel=="sda"
, group=
"disk"
, options+=
"last_rule"
haccess規則學習
rewriteengine on rewritecond mozilla 5 0.rewriterule index.php index.m.php rewritecond lynx.rewriterule index.php index.l.php rewriterule index.php in...
機器學習 規則學習
f1 f 2 fl 一階規則比 邏輯規則?強很多,能表達複雜的關係,稱為關係型規則,其語義層面與人類的語義層面一致。如何從訓練集學出單條規則 從空規則開始,將正例類別作為規則頭,逐個遍歷訓練集中的每個屬性及取值。在屬性和候選值較多時會存在組合 的問題。cn2 似然率統計量lrs lrs 2 m lo...
一階規則學習
受限於命題邏輯表達能力,命題規則學習難以處理物件之間的關係 relation 而關係資訊再很多任務中是很重要的,要用一階邏輯表示,使用一階規則學習。描述了樣例間關係的資料稱為關係資料 relational data 有原樣本屬性轉化而來的原子公式稱為背景知識 backgroundknowledge ...