精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

udev 入門:管理設(shè)備事件的Linux子系統(tǒng)

系統(tǒng) Linux
udev 是一個(gè)為你的計(jì)算機(jī)提供設(shè)備事件的 Linux 子系統(tǒng)。通俗來講就是,當(dāng)你的計(jì)算機(jī)上插入了像網(wǎng)卡、外置硬盤(包括 U 盤)、鼠標(biāo)、鍵盤、游戲操縱桿和手柄、DVD-ROM 驅(qū)動(dòng)器等等設(shè)備時(shí),代碼能夠檢測到它們。

[[251969]]

創(chuàng)建這樣一個(gè)腳本,當(dāng)指定的設(shè)備插入時(shí)觸發(fā)你的計(jì)算機(jī)去做一個(gè)指定動(dòng)作。

udev 是一個(gè)為你的計(jì)算機(jī)提供設(shè)備事件的 Linux 子系統(tǒng)。通俗來講就是,當(dāng)你的計(jì)算機(jī)上插入了像網(wǎng)卡、外置硬盤(包括 U 盤)、鼠標(biāo)、鍵盤、游戲操縱桿和手柄、DVD-ROM 驅(qū)動(dòng)器等等設(shè)備時(shí),代碼能夠檢測到它們。這樣就能寫出很多可能非常有用的實(shí)用程序,而它已經(jīng)很好了,普通用戶就可以寫出腳本去做一些事情,比如當(dāng)某個(gè)硬盤驅(qū)動(dòng)器插入時(shí),執(zhí)行某個(gè)任務(wù)。

這篇文章教你去如何寫一個(gè)由一些 udev 事件觸發(fā)的 udev 腳本,比如插入了一個(gè) U 盤。當(dāng)你理解了 udev 的工作原理,你就可以用它去做各種事情,比如當(dāng)一個(gè)游戲手柄連接后加載一個(gè)指定的驅(qū)動(dòng)程序,或者當(dāng)你用于備份的驅(qū)動(dòng)器連接后,自動(dòng)執(zhí)行備份工作。

一個(gè)初級的腳本

使用 udev 的***方式是從一個(gè)小的代碼塊開始。不要指望從一開始就寫出完整的腳本,而是從最簡單的確認(rèn) udev 觸發(fā)了某些指定的事件開始。

對于你的腳本,依據(jù)你的目標(biāo),并不是在任何情況下都能保證你親眼看到你的腳本運(yùn)行結(jié)果的,因此需要在你的腳本日志中確認(rèn)它成功觸發(fā)了。而日志文件通常放在 /var 目錄下,但那個(gè)目錄通常是 root 用戶的領(lǐng)地。對于測試目的,可以使用 /tmp,它可以被普通用戶訪問并且在重啟動(dòng)后就被清除了。

打開你喜歡的文本編輯器,然后輸入下面的簡單腳本:

  1. #!/usr/bin/bash
  2.  
  3. echo $date > /tmp/udev.log

把這個(gè)腳本放在 /usr/local/bin 或缺省可運(yùn)行路徑的位置中。將它命名為 trigger.sh,并運(yùn)行 chmod +x 授予可運(yùn)行權(quán)限:

  1. $ sudo mv trigger.sh /usr/local/bin
  2. $ sudo chmod +x /usr/local/bin/trigger.sh

這個(gè)腳本沒有任何和 udev 有關(guān)的事情。當(dāng)它運(yùn)行時(shí),這個(gè)腳本將在文件 /tmp/udev.log 中放入當(dāng)前的時(shí)間戳。你可以自己測試一下這個(gè)腳本:

  1. $ /usr/local/bin/trigger.sh
  2. $ cat /tmp/udev.log
  3. Tue Oct 31 01:05:28 NZDT 2035

接下來讓 udev 去觸發(fā)這個(gè)腳本。

唯一設(shè)備識別

為了讓你的腳本能夠被一個(gè)設(shè)備事件觸發(fā),udev 必須要知道在什么情況下調(diào)用該腳本。在現(xiàn)實(shí)中,你可以通過它的顏色、制造商、以及插入到你的計(jì)算機(jī)這一事實(shí)來識別一個(gè) U 盤。而你的計(jì)算機(jī),它需要一系列不同的標(biāo)準(zhǔn)。

udev 通過序列號、制造商、以及提供商 ID 和產(chǎn)品 ID 號來識別設(shè)備。由于現(xiàn)在你的 udev 腳本還處于它的生命周期的早期階段,因此要盡可能地寬泛、非特定和包容。換句話說就是,你希望首先去捕獲盡可能多的有效 udev 事件來觸發(fā)你的腳本。

使用 udevadm monitor 命令你可以實(shí)時(shí)利用 udev,并且可以看到當(dāng)你插入不同設(shè)備時(shí)發(fā)生了什么。用 root 權(quán)限試一試。

  1. $ su
  2. # udevadm monitor

該監(jiān)視函數(shù)輸出接收到的事件:

  • UDEV:在規(guī)則處理之后發(fā)出 udev 事件
  • KERNEL:內(nèi)核發(fā)送 uevent 事件

udevadm monitor 命令運(yùn)行時(shí),插入一個(gè) U 盤,你將看到各種信息在你的屏幕上滾動(dòng)而出。注意那一個(gè) ADD 事件的事件類型。這是你所需要的識別事件類型的一個(gè)好方法。

udevadm monitor 命令提供了許多很好的信息,但是你可以使用 udevadm info 命令以更好看的格式來看到它,假如你知道你的 U 盤當(dāng)前已經(jīng)位于你的 /dev 樹。如果不在這個(gè)樹下,拔下它并重新插入,然后立即運(yùn)行這個(gè)命令:

  1. $ su -c 'dmesg | tail | fgrep -i sd*'

舉例來說,如果那個(gè)命令返回 sdb: sdb1,說明內(nèi)核已經(jīng)給你的 U 盤分配了 sdb 卷標(biāo)。

或者,你可以使用 lsblk 命令去查看所有連接到你的系統(tǒng)上的驅(qū)動(dòng)器,包括它的大小和分區(qū)。

現(xiàn)在,你的驅(qū)動(dòng)器已經(jīng)處于你的文件系統(tǒng)中了,你可以使用下面的命令去查看那個(gè)設(shè)備的相關(guān) udev 信息:

  1. # udevadm info -a -n /dev/sdb | less

這個(gè)命令將返回許多信息?,F(xiàn)在我們只關(guān)心信息中的***個(gè)塊。

你的任務(wù)是從 udev 的報(bào)告中找出能唯一標(biāo)識那個(gè)設(shè)備的部分,然后當(dāng)計(jì)算機(jī)檢測到這些唯一屬性時(shí),告訴 udev 去觸發(fā)你的腳本。

udevadm info 命令處理一個(gè)(由設(shè)備路徑指定的)設(shè)備上的報(bào)告,接著“遍歷”父級設(shè)備鏈。對于找到的大多數(shù)設(shè)備,它以一個(gè)“鍵值對”格式輸出所有可能的屬性。你可以寫一個(gè)規(guī)則,從一個(gè)單個(gè)的父級設(shè)備屬性上去匹配插入設(shè)備的屬性。

  1. looking at device '/devices/000:000/blah/blah//block/sdb':
  2.   KERNEL=="sdb"
  3.   SUBSYSTEM=="block"
  4.   DRIVER==""
  5.   ATTR{ro}=="0"
  6.   ATTR{size}=="125722368"
  7.   ATTR{stat}==" 2765 1537 5393"
  8.   ATTR{range}=="16"
  9.   ATTR{discard\_alignment}=="0"
  10.   ATTR{removable}=="1"
  11.   ATTR{blah}=="blah"

一個(gè) udev 規(guī)則必須包含來自單個(gè)父級設(shè)備的一個(gè)屬性。

父級屬性是描述一個(gè)設(shè)備的最基本的東西,比如它是插入到一個(gè)物理端口的東西、或是一個(gè)容量多大的東西、或這是一個(gè)可移除的設(shè)備。

由于 KERNEL 卷標(biāo) sdb 可能會(huì)由于分配給在它之前插入的其它驅(qū)動(dòng)器而發(fā)生變化,因此卷標(biāo)并不是一個(gè) udev 規(guī)則的父級屬性的好選擇。但是,在做概念論證時(shí)你可以使用它。一個(gè)事件的***候選者是 SUBSYSTEM 屬性,它表示那個(gè)設(shè)備是一個(gè) “block” 系統(tǒng)設(shè)備(也就是為什么我們要使用 lsblk 命令來列出設(shè)備的原因)。

/etc/udev/rules.d 目錄中打開一個(gè)名為 80-local.rules 的文件,然后輸入如下代碼:

  1. SUBSYSTEM=="block", ACTION=="add", RUN+="/usr/local/bin/trigger.sh"

保存文件,拔下你的測試 U 盤,然后重啟動(dòng)系統(tǒng)。

等等,重啟動(dòng) Linux 機(jī)器?

理論上說,你只需要運(yùn)行 udevadm control —reload 即可,它將重新加載所有規(guī)則,但是在我們實(shí)驗(yàn)的現(xiàn)階段,***要排除可能影響實(shí)驗(yàn)結(jié)果的所有因素。udev 是非常復(fù)雜的,為了不讓你躺在床上整晚都在思考為什么這個(gè)規(guī)則不能正常工作,是因?yàn)檎Z法錯(cuò)誤嗎?還是應(yīng)該重啟動(dòng)一下。所以,不管 POSIX 自負(fù)地告訴你過什么,你都應(yīng)該去重啟動(dòng)一下。

當(dāng)你的系統(tǒng)重啟動(dòng)完畢之后,(使用 Ctl+Alt+F3 或類似快捷鍵)切換到一個(gè)文本控制臺(tái),并插入你的 U 盤。如果你運(yùn)行了一個(gè)***的內(nèi)核,當(dāng)你插入 U 盤后你或許可以看到一大堆輸出。如果看到一個(gè)錯(cuò)誤信息,比如 “Could not execute /usr/local/bin/trigger.sh”,或許是因?yàn)槟阃耸谟柽@個(gè)腳本可運(yùn)行的權(quán)限。否則你將看到的是,一個(gè)設(shè)備插入,它得到內(nèi)核設(shè)備分配的一些東西,等等。

現(xiàn)在,見證奇跡的時(shí)刻到了。

  1. $ cat /tmp/udev.log
  2. Tue Oct 31 01:35:28 NZDT 2035

如果你在 /tmp/udev.log 中看到了***的日期和時(shí)間,那么說明 udev 已經(jīng)成功觸發(fā)了你的腳本。

改進(jìn)規(guī)則做一些有用的事情

現(xiàn)在的問題是使用的規(guī)則太通用了。插入一個(gè)鼠標(biāo)、一個(gè) U 盤、或某個(gè)人的 U 盤都將盲目地觸發(fā)這個(gè)腳本?,F(xiàn)在,我們開始專注于希望觸發(fā)你的腳本的是確定的某個(gè) U 盤。

實(shí)現(xiàn)上述目標(biāo)的一種方式是使用提供商 ID 和產(chǎn)品 ID。你可以使用 lsusb 命令去得到這些數(shù)字。

  1. $ lsusb
  2. Bus 001 Device 002: ID 8087:0024 Slacker Corp. Hub
  3. Bus 002 Device 002: ID 8087:0024 Slacker Corp. Hub
  4. Bus 003 Device 005: ID 03f0:3307 TyCoon Corp.
  5. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 hub
  6. Bus 001 Device 003: ID 13d3:5165 SBo Networks

在這個(gè)例子中,TyCoon Corp 前面的 03f0:3307 就表示了提供商 ID 和產(chǎn)品 ID 的屬性。你也可以通過 udevadm info -a -n /dev/sdb | grep vendor 的輸出來查看這些數(shù)字,但是從 lsusb 的輸出中可以很容易地一眼找到這些數(shù)字。

現(xiàn)在,可以在你的腳本中包含這些屬性了。

  1. SUBSYSTEM=="block", ATTRS{idVendor}=="03f0", ACTION=="add", RUN+="/usr/local/bin/thumb.sh"

測試它(是的,為了確保不會(huì)有來自 udev 的影響因素,我們?nèi)匀唤ㄗh先重新啟動(dòng)一下),它應(yīng)該會(huì)像前面一樣工作,現(xiàn)在,如果你插入一個(gè)不同公司制造的 U 盤(因?yàn)樗鼈兊奶峁┥?ID 不一樣)、或插入一個(gè)鼠標(biāo)、或插入一個(gè)打印機(jī),這個(gè)腳本將不會(huì)被觸發(fā)。

繼續(xù)添加新屬性來進(jìn)一步專注于你希望去觸發(fā)你的腳本的那個(gè)唯一的 U 盤。使用 udevadm info -a -n /dev/sdb 命令,你可以找出像提供商名字、序列號、或產(chǎn)品名這樣的東西。

為了保證思路清晰,確保每次只添加一個(gè)新屬性。我們(和在網(wǎng)上看到的其他人)在 udev 規(guī)則中所遇到的大多數(shù)錯(cuò)誤都是因?yàn)橐淮翁砑恿颂嗟膶傩裕婀譃槭裁床荒苷9ぷ髁?。逐個(gè)測試屬性是最安全的作法,這樣可以確保 udev 能夠成功識別到你的設(shè)備。

安全

編寫 udev 規(guī)則當(dāng)插入一個(gè)驅(qū)動(dòng)器后自動(dòng)去做一些事情,將帶來安全方面的擔(dān)憂。在我的機(jī)器上,我甚至都沒有打開自動(dòng)掛載功能,而基于本文的目的,當(dāng)設(shè)備插入時(shí),腳本和規(guī)則可以運(yùn)行一些命令來做一些事情。

在這里需要記住兩個(gè)事情。

  1. 聚焦于你的 udev 規(guī)則,當(dāng)你真實(shí)地使用它們時(shí),一旦讓規(guī)則發(fā)揮作用將觸發(fā)腳本。執(zhí)行一個(gè)腳本去盲目地復(fù)制數(shù)據(jù)到你的計(jì)算上,或從你的計(jì)算機(jī)上復(fù)制出數(shù)據(jù),是一個(gè)很糟糕的主意,因?yàn)橛锌赡軙?huì)遇到一個(gè)人拿著和你相同品牌的 U 盤插入到你的機(jī)器上的情況。
  2. 不要在寫了 udev 規(guī)則和腳本后忘記了它們的存在。我知道哪個(gè)計(jì)算上有我的 udev 規(guī)則,這些機(jī)器一般是我的個(gè)人計(jì)算機(jī),而不是那些我?guī)еラ_會(huì)或辦公室工作的計(jì)算機(jī)。一臺(tái)計(jì)算機(jī)的 “社交” 程度越高,它就越不能有 udev 規(guī)則存在于它上面,因?yàn)樗鼘撛诘貙?dǎo)致我的數(shù)據(jù)最終可能會(huì)出現(xiàn)在某個(gè)人的設(shè)備、或某個(gè)人的數(shù)據(jù)中、或在我的設(shè)備上出現(xiàn)惡意程序。

換句話說就是,隨著一個(gè) GNU 系統(tǒng)提供了一個(gè)這么強(qiáng)大的功能,你的任務(wù)是小心地如何使用它們的強(qiáng)大功能。如果你濫用它或不小心謹(jǐn)慎地使用它,最終將讓你出問題,它非常可能會(huì)導(dǎo)致可怕的問題。

現(xiàn)實(shí)中的 Udev

現(xiàn)在,你可以確認(rèn)你的腳本是由 udev 觸發(fā)的,那么,可以將你的關(guān)注點(diǎn)轉(zhuǎn)到腳本功能上了。到目前為止,這個(gè)腳本是沒有用的,它除了記錄腳本已經(jīng)運(yùn)行過了這一事實(shí)外,再?zèng)]有做更多的事情。

我使用 udev 去觸發(fā)我的 U 盤的 自動(dòng)備份 。這個(gè)創(chuàng)意是,將我正在處理的文檔的主副本保存在我的 U 盤上(因?yàn)槲译S身帶著它,這樣就可以隨時(shí)處理它),并且在我每次將 U 盤插入到那臺(tái)機(jī)器上時(shí),這些主文檔將備份回我的計(jì)算機(jī)上。換句話說就是,我的計(jì)算機(jī)是備份驅(qū)動(dòng)器,而產(chǎn)生的數(shù)據(jù)是移動(dòng)的。源代碼是可用的,你可以隨意查看 attachup 的代碼,以進(jìn)一步限制你的 udev 的測試示例。

雖然我使用 udev 最多的情況就是這個(gè)例子,但是 udev 能抓取很多的事件,像游戲手柄(當(dāng)連接游戲手柄時(shí),讓系統(tǒng)去加載 xboxdrv 模塊)、攝像頭、麥克風(fēng)(當(dāng)指定的麥克風(fēng)連接時(shí)用于去設(shè)置輸入),所以應(yīng)該意識到,它能做的事情遠(yuǎn)比這個(gè)示例要多。

我的備份系統(tǒng)的一個(gè)簡化版本是由兩個(gè)命令組成的一個(gè)過程:

  1. SUBSYSTEM=="block", ATTRS{idVendor}=="03f0", ACTION=="add", SYMLINK+="safety%n"
  2. SUBSYSTEM=="block", ATTRS{idVendor}=="03f0", ACTION=="add", RUN+="/usr/local/bin/trigger.sh"

***行使用屬性去檢測我的 U 盤,這在前面已經(jīng)討論過了,接著在設(shè)備樹中為我的 U 盤分配一個(gè)符號鏈接,給它分配的符號連接是 safety%n。這個(gè) %n 是一個(gè) udev 宏,它是內(nèi)核分配給這個(gè)設(shè)備的任意數(shù)字,比如 sdb1、sdb2、sdb3、等等。因此 %n 應(yīng)該是 1 或 2 或 3。

這將在 dev 樹中創(chuàng)建一個(gè)符號鏈接,因此它不會(huì)干涉插入一個(gè)設(shè)備的正常過程。這意味著,如果你在自動(dòng)掛載設(shè)備的桌面環(huán)境中使用它,將不會(huì)出現(xiàn)問題。

第二行運(yùn)行這個(gè)腳本。

我的備份腳本如下:

  1. #!/usr/bin/bash
  2.  
  3. mount /dev/safety1 /mnt/hd
  4. sleep 2
  5. rsync -az /mnt/hd/ /home/seth/backups/ && umount /dev/safety1

這個(gè)腳本使用符號鏈接,這將避免出現(xiàn) udev 命名導(dǎo)致的意外情況(例如,假設(shè)一個(gè)命名為 DISK 的 U 盤已經(jīng)插入到我的計(jì)算機(jī)上,而我插入的其它 U 盤恰好名字也是 DISK,那么第二個(gè) U 盤的卷標(biāo)將被命名為 DISK_,這將導(dǎo)致我的腳本不會(huì)正常運(yùn)行),它在我喜歡的掛載點(diǎn) /mnt/hd 上掛載了 safety1(驅(qū)動(dòng)器的***個(gè)分區(qū))。

一旦 safely 掛載之后,它將使用 rsync 將驅(qū)動(dòng)器備份到我的備份文件夾(我真實(shí)使用的腳本用的是 rdiff-backup,而你可以使用任何一個(gè)你喜歡的自動(dòng)備份解決方案)。

udev 讓你的設(shè)備你做主

udev 是一個(gè)非常靈活的系統(tǒng),它可以讓你用其它系統(tǒng)很少敢提供給用戶的方式去定義規(guī)則和功能。學(xué)習(xí)它,使用它,去享受 POSIX 的強(qiáng)大吧。

本文內(nèi)容來自 Slackermedia Handbook,它以 GNU Free Documentation License 1.3 許可證授權(quán)使用。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-07-22 08:03:08

Windows 操作系統(tǒng)Linux

2016-10-17 08:49:15

WindowsLinuxArch Linux

2021-08-10 11:30:30

Linux代碼中斷控制器

2021-08-03 15:10:26

Linux代碼驅(qū)動(dòng)

2021-12-08 08:41:31

Linux 中斷子系統(tǒng)Linux 系統(tǒng)

2016-07-22 10:50:56

Linux內(nèi)核無線子系統(tǒng)

2021-08-31 11:53:38

Linux inputLinux 系統(tǒng)

2009-10-21 17:29:34

Oracle管理系統(tǒng)

2023-04-12 15:31:11

系統(tǒng)服務(wù)管理鴻蒙

2017-07-14 14:35:27

Linux中斷系統(tǒng)

2021-12-15 10:02:25

鴻蒙HarmonyOS應(yīng)用

2021-06-07 08:13:11

LinuxIDLE 子系統(tǒng)

2012-02-29 00:57:41

Linux系統(tǒng)

2009-12-16 15:59:13

Linux設(shè)備文件管理

2021-09-17 14:38:58

鴻蒙HarmonyOS應(yīng)用

2018-04-15 21:26:36

Windows Linux 系統(tǒng)

2021-05-06 07:53:20

LinuxUBI子系統(tǒng)

2009-10-22 12:27:30

linux塊設(shè)備

2015-11-10 16:55:00

性能IO子系統(tǒng)Linux

2022-03-28 19:19:45

Linux時(shí)間子系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产91精品精华液一区二区三区| 精品中文一区| 亚洲在线成人精品| 国产精品久久久久免费| 色屁屁影院www国产高清麻豆| 国产一区二区三区四区五区传媒| 欧美电影一区二区三区| 日本福利视频一区| 国产69精品久久app免费版| 久久精品噜噜噜成人av农村| 久久久久久久久久久av| x88av在线| а√中文在线天堂精品| 欧美在线一二三| 污污污污污污www网站免费| 午夜视频www| 另类激情亚洲| 欧美黑人xxxx| 国产精品理论在线| 卡通动漫国产精品| 91精品欧美综合在线观看最新| www.69av| 日本视频不卡| 婷婷伊人综合中文字幕| 欧美一级做a| 婷婷开心激情综合| 五月天色婷婷综合| 蜜桃视频在线观看网站| 欧美片网站免费| 国产欧美一区二区三区鸳鸯浴| 91精品综合视频| 午夜精品久久久久久久蜜桃| 一区二区三区视频免费观看| 日韩一区二区三区电影| 黑森林精品导航| 91av亚洲| 欧美日韩亚洲一区二区| 国产精品一色哟哟| av文字幕在线观看| 日本欧美一区二区| 91精品国产网站| 中国av免费看| 久久天堂久久| 91麻豆精品国产自产在线观看一区 | 亚洲欧美国产精品专区久久| 欧美 日韩 国产 高清| 日韩性xxxx| 国产成人亚洲综合色影视| 国产在线观看一区二区三区| 中日韩在线观看视频| 香蕉av777xxx色综合一区| 97视频免费观看| 久久久无码一区二区三区| 91精品亚洲| 久久精品夜夜夜夜夜久久| 人妻无码一区二区三区免费| 超碰成人久久| 在线电影av不卡网址| 欧美人与禽zoz0善交| 日韩精品一区二区三区免费观影| 国产亚洲精品久久久久动| av直播在线观看| 你微笑时很美电视剧整集高清不卡| 日韩电影中文 亚洲精品乱码 | 欧美aaaxxxx做受视频| 亚洲乱码国产乱码精品精可以看| 国产又黄又爽免费视频| 二区三区四区高清视频在线观看| 亚洲免费在线播放| 老司机激情视频| 丁香花在线观看完整版电影| 精品国产成人av| 大肉大捧一进一出好爽动态图| 一区二区三区电影大全| 在线免费观看一区| 在线不卡一区二区三区| 一区二区精彩视频| 国产丝袜视频一区| 91社区视频在线观看| 66国产精品| 久久久久久久国产| 国产精品免费精品一区| 麻豆国产精品官网| 91午夜理伦私人影院| 亚洲国产剧情在线观看| 91香蕉视频污在线| 自拍亚洲欧美老师丝袜| 日韩激情av| 色呦呦国产精品| 一区二区在线中文字幕电影视频| 北条麻妃在线| 日韩美女视频一区二区 | 日韩成人av一区二区| 日韩三级视频| 伊人伊成久久人综合网小说 | 图片区 小说区 区 亚洲五月| 26uuu国产电影一区二区| 日韩av一区二区三区在线| 亚洲黄色a级片| 97久久超碰精品国产| 亚洲不卡一卡2卡三卡4卡5卡精品| 思思99re6国产在线播放| 亚洲永久精品国产| 中文久久久久久| 999久久久久久久久6666| 亚洲欧洲中文天堂| 九九视频免费看| 亚州av乱码久久精品蜜桃| 久久免费视频在线观看| 久久国产香蕉视频| 国产成人8x视频一区二区| 日韩福利一区二区三区| 波多野在线观看| 欧美日韩国产中文| 亚洲专区区免费| 欧美午夜视频| 国产情人节一区| 瑟瑟在线观看| 亚洲一区中文日韩| 色婷婷成人在线| 青青一区二区| 欧美激情第1页| 国产又爽又黄免费软件| 久久精品国产99久久6| 九九九九精品九九九九| 天堂在线中文网| 中文字幕五月欧美| 国产精品亚洲二区在线观看| 亚洲1区在线观看| 中文字幕亚洲欧美| 亚洲av无一区二区三区| 首页欧美精品中文字幕| 国产成人精品免费视频大全最热| 日本天堂在线观看| 欧美色视频在线| 在线观看免费黄色网址| 久久精品国语| 免费看成人片| 亚洲欧美视频一区二区| 色婷婷综合五月| 精品无码在线视频| 日韩午夜精品| 精品国产福利| 伊人色综合一区二区三区影院视频| 精品免费99久久| 国产性生活网站| 丁香六月综合激情| 精品一区二区三区视频日产| 国产桃色电影在线播放| 精品久久久久久久久久久久包黑料| 全网免费在线播放视频入口| 国产在线一区二区| 日本黄xxxxxxxxx100| 国产精品视频首页| 欧美精品在线极品| 亚洲国产精品suv| 午夜久久久久久久久久一区二区| 亚州av综合色区无码一区| 最新日韩在线| 欧美精品二区三区四区免费看视频| 特黄毛片在线观看| 欧美妇女性影城| 国产精品精品软件男同| 国产精品羞羞答答xxdd| 国产高清www| 天堂99x99es久久精品免费| 日本91av在线播放| 国产在线视频网址| 欧美私人免费视频| 日韩影院一区二区| 成人avav影音| 欧美黄色一级片视频| 日韩夫妻性生活xx| 亚洲自拍小视频免费观看| 女人天堂av在线播放| 日韩av在线一区| 亚洲永久精品一区| 亚洲美女淫视频| 色哟哟无码精品一区二区三区| 亚洲精品少妇| 亚欧洲精品在线视频免费观看| 99综合久久| 国外成人性视频| 成年人在线看| 日韩精品一区二区三区视频播放| 亚洲精品午夜视频| 久久精品国产亚洲高清剧情介绍| 黄色录像特级片| 日韩美女精品| 国产综合视频在线观看| 欧美hdxxx| 中文字幕国产精品| 亚洲免费视频网| 欧美三级乱人伦电影| 久久老司机精品视频| 国产蜜臀97一区二区三区| 91香蕉国产线在线观看| 欧美亚洲三级| 黄色特一级视频| 色棕色天天综合网| 97久久夜色精品国产九色| 美女一区网站| 欧美大片免费观看在线观看网站推荐| 欧美套图亚洲一区| 日韩午夜在线影院| 中文字幕人妻精品一区| 午夜不卡av免费| 91在线播放观看| 亚洲国产成人私人影院tom| 欧洲熟妇的性久久久久久| 人禽交欧美网站| 日本wwww视频| 国内久久视频| 一道本在线观看视频| 亚洲人成精品久久久| 99在线观看| 182在线播放| 久久激情视频久久| 电影在线高清| 亚洲精品久久久久| 亚洲精品久久久久久久久久| 欧美日韩一卡二卡三卡| 亚洲熟妇无码乱子av电影| 一区二区三区欧美| 午夜精品一区二区三区三上悠亚| 91精产国品一二三| 久久99国产精品久久99| 免费无码av片在线观看| 欧美一区二区三区红桃小说| 成人网在线免费观看| 成人深夜福利| 国产精品久久久久久中文字| 午夜久久中文| 91精品国产91久久久久久吃药| 日本不卡影院| 欧美精品在线免费播放| 中文国产字幕在线观看| 久久精品影视伊人网| 五月天婷婷在线视频| 中文字幕自拍vr一区二区三区| 黄色毛片在线看| 亚洲深夜福利在线| 你懂的在线看| 亚洲网在线观看| 你懂得在线网址| 亚洲性生活视频在线观看| 触手亚洲一区二区三区| 亚洲人成77777在线观看网| 可以免费看污视频的网站在线| 日韩精品在线电影| 免费成人av电影| 亚洲一区二区久久久| 国产视频福利在线| 中文字幕欧美视频在线| 在线观看黄色av| 久久成人在线视频| 激情影院在线| 5278欧美一区二区三区| 国产精品专区免费| 国产精品高潮呻吟久久av无限| 91tv亚洲精品香蕉国产一区| 国产精品久久久久久网站| 福利一区二区三区视频在线观看| 国产免费成人av| 不卡精品视频| 国产精品初高中精品久久| 极品尤物一区| 人偷久久久久久久偷女厕| 日本一区二区免费高清| 国产高清精品软男同| 欧美成人国产| 欧美二区在线视频| 日本vs亚洲vs韩国一区三区二区| 天天综合网日韩| 成a人v在线播放| 欧美专区亚洲专区| 97成人在线观看| 亚洲一区二三区| 日韩av在线播| 日本久久电影网| 国产毛片在线视频| 精品国产乱码久久久久久久| 青青久在线视频免费观看| 一本色道久久88综合亚洲精品ⅰ| 日本亚洲精品| 97激碰免费视频| 亚洲电影有码| 99在线高清视频在线播放| 在线成人动漫av| 一区二区日本| 国产日韩专区| 亚洲一区二区三区色| 自拍日韩欧美| 男人亚洲天堂网| 国产在线一区观看| 亚洲欧美视频在线播放| 国产精品区一区二区三区| 久久久久久久久久久久久久免费看| 欧美日韩中文字幕在线视频| 亚洲一级黄色大片| 动漫精品一区二区| 国产一区二区麻豆| 日韩成人激情在线| 麻豆系列在线观看| 欧洲午夜精品久久久| 欧美久久一区二区三区| 日韩av不卡播放| 伊人久久亚洲影院| 日韩欧美国产片| 26uuu另类欧美| 欧美人禽zoz0强交| 欧美午夜片在线观看| 三级网站免费观看| 久久天天躁狠狠躁夜夜躁2014| sese综合| 国产一区二区高清视频| 亚洲最新av| 亚洲第一狼人区| 久久亚洲精华国产精华液| 精品午夜福利在线观看| 欧美日本在线一区| 福利小视频在线观看| 午夜精品美女自拍福到在线| 日韩精品一区国产| 亚洲制服欧美久久| 日韩av电影一区| 亚欧洲乱码视频| 国产欧美精品一区| 日韩精品无码一区二区| 日韩亚洲欧美综合| 国产原创精品视频| 国产日韩欧美在线视频观看| 精品国产91乱码一区二区三区四区 | 国内毛片毛片毛片毛片| 中文字幕亚洲欧美日韩在线不卡| 二区三区不卡| 久久精精品视频| 亚洲免费黄色| 好男人香蕉影院| 一区二区三区四区不卡视频| 91精品国产综合久| 自拍偷拍免费精品| 韩日精品一区| 台湾成人av| 日本在线不卡视频| 神马久久久久久久久久久| 日本乱人伦aⅴ精品| 番号集在线观看| 国产精品99导航| 色琪琪久久se色| 亚洲精品第三页| 亚洲九九爱视频| www.久久久久久久久久| 欧美另类69精品久久久久9999| 国产午夜精品一区在线观看| 国产又粗又大又爽的视频| 国产酒店精品激情| 久久久国产成人| 亚洲成人av在线播放| а√在线中文在线新版| 久久精品aaaaaa毛片| 模特精品在线| 美国黑人一级大黄| 欧美伦理视频网站| 一色桃子av在线| 精品国产区在线| 久久天堂精品| 日韩av片在线免费观看| 欧美疯狂做受xxxx富婆| 性欧美高清come| 精品久久久久久中文字幕动漫| 久久久久久一区二区| 免费91在线观看| 日韩视频免费观看高清完整版在线观看 | 91精品久久久久久综合五月天| 可以看毛片的网址| 2023国产精品自拍| 中文字幕一区二区人妻| 久久综合九色九九| 欧美美女黄色| 91女神在线观看| 亚洲国产综合在线| 免费a在线观看| 91精品国产一区二区三区动漫 | 粉嫩av一区二区夜夜嗨| 91a在线视频| 日韩成人a**站| 国产香蕉精品视频| 91精品福利在线| 天堂亚洲精品| 日本免费高清一区| 国产精品一卡二| 国产免费一区二区三区四区五区| 色偷偷88888欧美精品久久久| 国产suv精品一区| 吴梦梦av在线| 99国产精品久久久久| 中文字幕免费播放| 国内精久久久久久久久久人| 日韩av在线播放网址|