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

文件系統:隱匿在 Linux 背后的機制

系統 Linux
在 Linux 中,最直觀、最可見的部分就是 文件系統(file system)。下面我們就來一起探討一下關于 Linux 中國的文件系統,系統調用以及文件系統實現背后的原理和思想。

[[339597]]

 本文轉載自微信公眾號「 Java建設者」,可以通過以下二維碼關注。轉載本文請聯系 Java建設者公眾號。

在 Linux 中,最直觀、最可見的部分就是 文件系統(file system)。下面我們就來一起探討一下關于 Linux 中國的文件系統,系統調用以及文件系統實現背后的原理和思想。這些思想中有一些來源于 MULTICS,現在已經被 Windows 等其他操作系統使用。Linux 的設計理念就是 小的就是好的(Small is Beautiful) 。雖然 Linux 只是使用了最簡單的機制和少量的系統調用,但是 Linux 卻提供了強大而優雅的文件系統。

Linux 文件系統基本概念

Linux 在最初的設計是 MINIX1 文件系統,它只支持 14 字節的文件名,它的最大文件只支持到 64 MB。在 MINIX 1 之后的文件系統是 ext 文件系統。ext 系統相較于 MINIX 1 來說,在支持字節大小和文件大小上均有很大提升,但是 ext 的速度仍沒有 MINIX 1 快,于是,ext 2 被開發出來,它能夠支持長文件名和大文件,而且具有比 MINIX 1 更好的性能。這使他成為 Linux 的主要文件系統。只不過 Linux 會使用 VFS 曾支持多種文件系統。在 Linux 鏈接時,用戶可以動態的將不同的文件系統掛載倒 VFS 上。

Linux 中的文件是一個任意長度的字節序列,Linux 中的文件可以包含任意信息,比如 ASCII 碼、二進制文件和其他類型的文件是不加區分的。

為了方便起見,文件可以被組織在一個目錄中,目錄存儲成文件的形式在很大程度上可以作為文件處理。目錄可以有子目錄,這樣形成有層次的文件系統,Linux 系統下面的根目錄是 /,它通常包含了多個子目錄。字符 / 還用于對目錄名進行區分,例如 /usr/cxuan 表示的就是根目錄下面的 usr 目錄,其中有一個叫做 cxuan 的子目錄。

下面我們介紹一下 Linux 系統根目錄下面的目錄名

  • /bin,它是重要的二進制應用程序,包含二進制文件,系統的所有用戶使用的命令都在這里
  • /boot,啟動包含引導加載程序的相關文件
  • /dev,包含設備文件,終端文件,USB 或者連接到系統的任何設備
  • /etc,配置文件,啟動腳本等,包含所有程序所需要的配置文件,也包含了啟動/停止單個應用程序的啟動和關閉 shell 腳本
  • /home,本地主要路徑,所有用戶用 home 目錄存儲個人信息
  • /lib,系統庫文件,包含支持位于 /bin 和 /sbin 下的二進制庫文件
  • /lost+found,在根目錄下提供一個遺失+查找系統,必須在 root 用戶下才能查看當前目錄下的內容
  • /media,掛載可移動介質
  • /mnt,掛載文件系統
  • /opt,提供一個可選的應用程序安裝目錄
  • /proc,特殊的動態目錄,用于維護系統信息和狀態,包括當前運行中進程信息
  • /root,root 用戶的主要目錄文件夾
  • /sbin,重要的二進制系統文件
  • /tmp, 系統和用戶創建的臨時文件,系統重啟時,這個目錄下的文件都會被刪除
  • /usr,包含絕大多數用戶都能訪問的應用程序和文件
  • /var,經常變化的文件,諸如日志文件或數據庫等

在 Linux 中,有兩種路徑,一種是 絕對路徑(absolute path) ,絕對路徑告訴你從根目錄下查找文件,絕對路徑的缺點是太長而且不太方便。還有一種是 相對路徑(relative path) ,相對路徑所在的目錄也叫做工作目錄(working directory)。

如果 /usr/local/books 是工作目錄,那么 shell 命令

  1. cp books books-replica  

就表示的是相對路徑,而

  1. cp /usr/local/books/books /usr/local/books/books-replica 

則表示的是絕對路徑。

在 Linux 中經常出現一個用戶使用另一個用戶的文件或者使用文件樹結構中的文件。兩個用戶共享同一個文件,這個文件位于某個用戶的目錄結構中,另一個用戶需要使用這個文件時,必須通過絕對路徑才能引用到他。如果絕對路徑很長,那么每次輸入起來會變的非常麻煩,所以 Linux 提供了一種 鏈接(link) 機制。

舉個例子,下面是一個使用鏈接之前的圖

 

以上所示,比如有兩個工作賬戶 jianshe 和 cxuan,jianshe 想要使用 cxuan 賬戶下的 A 目錄,那么它可能會輸入 /usr/cxuan/A ,這是一種未使用鏈接之后的圖。

使用鏈接后的示意如下

 

現在,jianshe 可以創建一個鏈接來使用 cxuan 下面的目錄了。‘

當一個目錄被創建出來后,有兩個目錄項也同時被創建出來,它們就是 . 和 .. ,前者代表工作目錄自身,后者代表該目錄的父目錄,也就是該目錄所在的目錄。這樣一來,在 /usr/jianshe 中訪問 cxuan 中的目錄就是 ../cxuan/xxx

Linux 文件系統不區分磁盤的,這是什么意思呢?一般來說,一個磁盤中的文件系統相互之間保持獨立,如果一個文件系統目錄想要訪問另一個磁盤中的文件系統,在 Windows 中你可以像下面這樣。

 

兩個文件系統分別在不同的磁盤中,彼此保持獨立。

而在 Linux 中,是支持掛載的,它允許一個磁盤掛在到另外一個磁盤上,那么上面的關系會變成下面這樣

 

掛在之后,兩個文件系統就不再需要關心文件系統在哪個磁盤上了,兩個文件系統彼此可見。

Linux 文件系統的另外一個特性是支持 加鎖(locking)。在一些應用中會出現兩個或者更多的進程同時使用同一個文件的情況,這樣很可能會導致競爭條件(race condition)。一種解決方法是對其進行加不同粒度的鎖,就是為了防止某一個進程只修改某一行記錄從而導致整個文件都不能使用的情況。

POSIX 提供了一種靈活的、不同粒度級別的鎖機制,允許一個進程使用一個不可分割的操作對一個字節或者整個文件進行加鎖。加鎖機制要求嘗試加鎖的進程指定其 要加鎖的文件,開始位置以及要加鎖的字節Linux 系統提供了兩種鎖:共享鎖和互斥鎖。如果文件的一部分已經加上了共享鎖,那么再加排他鎖是不會成功的;如果文件系統的一部分已經被加了互斥鎖,那么在互斥鎖解除之前的任何加鎖都不會成功。為了成功加鎖、請求加鎖的部分的所有字節都必須是可用的。

在加鎖階段,進程需要設計好加鎖失敗后的情況,也就是判斷加鎖失敗后是否選擇阻塞,如果選擇阻塞式,那么當已經加鎖的進程中的鎖被刪除時,這個進程會解除阻塞并替換鎖。如果進程選擇非阻塞式的,那么就不會替換這個鎖,會立刻從系統調用中返回,標記狀態碼表示是否加鎖成功,然后進程會選擇下一個時間再次嘗試。

加鎖區域是可以重疊的。下面我們演示了三種不同條件的加鎖區域。

 

如上圖所示,A 的共享鎖在第四字節到第八字節進行加鎖

 

如上圖所示,進程在 A 和 B 上同時加了共享鎖,其中 6 - 8 字節是重疊鎖

 

如上圖所示,進程 A 和 B 和 C 同時加了共享鎖,那么第六字節和第七字節是共享鎖。

如果此時一個進程嘗試在第 6 個字節處加鎖,此時會設置失敗并阻塞,由于該區域被 A B C 同時加鎖,那么只有等到 A B C 都釋放鎖后,進程才能加鎖成功。

Linux 文件系統調用

許多系統調用都會和文件與文件系統有關。我們首先先看一下對單個文件的系統調用,然后再來看一下對整個目錄和文件的系統調用。

為了創建一個新的文件,會使用到 creat 方法,注意沒有 e。

這里說一個小插曲,曾經有人問 UNIX 創始人 Ken Thompson,如果有機會重新寫 UNIX ,你會怎么辦,他回答自己要把 creat 改成 create ,哈哈哈哈。

這個系統調用的兩個參數是文件名和保護模式

  1. fd = creat("aaa",mode); 

這段命令會創建一個名為 aaa 的文件,并根據 mode 設置文件的保護位。這些位決定了哪個用戶可能訪問文件、如何訪問。

creat 系統調用不僅僅創建了一個名為 aaa 的文件,還會打開這個文件。為了允許后續的系統調用訪問這個文件,這個 creat 系統調用會返回一個 非負整數, 這個就叫做 文件描述符(file descriptor),也就是上面的 fd。

如果在已經存在的文件上調用了 creat 系統調用,那么該文件中的內容會被清除,從 0 開始。通過設置合適的參數,open 系統調用也能夠創建文件。

下面讓我們看一看主要的系統調用,如下表所示

系統調用 描述
fd = creat(name,mode) 一種創建一個新文件的方式
fd = open(file, ...) 打開文件讀、寫或者讀寫
s = close(fd) 關閉一個打開的文件
n = read(fd, buffer, nbytes) 從文件中向緩存中讀入數據
n = write(fd, buffer, nbytes) 從緩存中向文件中寫入數據
position = lseek(fd, offset, whence) 移動文件指針
s = stat(name, &buf) 獲取文件信息
s = fstat(fd, &buf) 獲取文件信息
s = pipe(&fd[0]) 創建一個管道
s = fcntl(fd,...) 文件加鎖等其他操作

為了對一個文件進行讀寫的前提是先需要打開文件,必須使用 creat 或者 open 打開,參數是打開文件的方式,是只讀、可讀寫還是只寫。open 系統調用也會返回文件描述符。打開文件后,需要使用 close 系統調用進行關閉。close 和 open 返回的 fd 總是未被使用的最小數量。

什么是文件描述符?文件描述符就是一個數字,這個數字標示了計算機操作系統中打開的文件。它描述了數據資源,以及訪問資源的方式。

當程序要求打開一個文件時,內核會進行如下操作

  • 授予訪問權限
  • 在全局文件表(global file table)中創建一個條目(entry)
  • 向軟件提供條目的位置

文件描述符由唯一的非負整數組成,系統上每個打開的文件至少存在一個文件描述符。文件描述符最初在 Unix 中使用,并且被包括 Linux,macOS 和 BSD 在內的現代操作系統所使用。

當一個進程成功訪問一個打開的文件時,內核會返回一個文件描述符,這個文件描述符指向全局文件表的 entry 項。這個文件表項包含文件的 inode 信息,字節位移,訪問限制等。例如下圖所示

 

默認情況下,前三個文件描述符為 STDIN(標準輸入)、STDOUT(標準輸出)、STDERR(標準錯誤)。

標準輸入的文件描述符是 0 ,在終端中,默認為用戶的鍵盤輸入

標準輸出的文件描述符是 1 ,在終端中,默認為用戶的屏幕

與錯誤有關的默認數據流是 2,在終端中,默認為用戶的屏幕。

在簡單聊了一下文件描述符后,我們繼續回到文件系統調用的探討。

在文件系統調用中,開銷最大的就是 read 和 write 了。read 和 write 都有三個參數

  • 文件描述符:告訴需要對哪一個打開文件進行讀取和寫入
  • 緩沖區地址:告訴數據需要從哪里讀取和寫入哪里
  • 統計:告訴需要傳輸多少字節

這就是所有的參數了,這個設計非常簡單輕巧。

雖然幾乎所有程序都按順序讀取和寫入文件,但是某些程序需要能夠隨機訪問文件的任何部分。與每個文件相關聯的是一個指針,該指針指示文件中的當前位置。順序讀取(或寫入)時,它通常指向要讀取(寫入)的下一個字節。如果指針在讀取 1024 個字節之前位于 4096 的位置,則它將在成功讀取系統調用后自動移至 5120 的位置。

Lseek 系統調用會更改指針位置的值,以便后續對 read 或 write 的調用可以在文件中的任何位置開始,甚至可以超出文件末尾。

lseek = Lseek ,段首大寫。

lseek 避免叫做 seek 的原因就是 seek 已經在之前 16 位的計算機上用于搜素功能了。

Lseek 有三個參數:第一個是文件的文件描述符,第二個是文件的位置;第三個告訴文件位置是相對于文件的開頭,當前位置還是文件的結尾

  1. lseek(int fildes, off_t offset, int whence); 

lseek 的返回值是更改文件指針后文件中的絕對位置。lseek 是唯一從來不會造成真正磁盤查找的系統調用,它只是更新當前的文件位置,這個文件位置就是內存中的數字。

對于每個文件,Linux 都會跟蹤文件模式(常規,目錄,特殊文件),大小,最后修改時間以及其他信息。程序能夠通過 stat 系統調用看到這些信息。第一個參數就是文件名,第二個是指向要放置請求信息結構的指針。這些結構的屬性如下圖所示。

fstat 調用和 stat 相同,只有一點區別,fstat 可以對打開文件進行操作,而 stat 只能對路徑進行操作。

pipe 文件系統調用被用來創建 shell 管道。它會創建一系列的偽文件,來緩沖和管道組件之間的數據,并且返回讀取或者寫入緩沖區的文件描述符。在管道中,像是如下操作

  1. sort <in | head –40 

sort 進程將會輸出到文件描述符1,也就是標準輸出,寫入管道中,而 head 進程將從管道中讀入。在這種方式中,sort 只是從文件描述符 0 中讀取并寫入到文件描述符 1 (管道)中,甚至不知道它們已經被重定向了。如果沒有重定向的話,sort 會自動的從鍵盤讀入并輸出到屏幕中。

最后一個系統調用是 fcntl,它用來鎖定和解鎖文件,應用共享鎖和互斥鎖,或者是執行一些文件相關的其他操作。

現在我們來關心一下和整體目錄和文件系統相關的系統調用,而不是把精力放在單個的文件上,下面列出了這些系統調用,我們一起來看一下。

系統調用 描述
s = mkdir(path,mode) 創建一個新的目錄
s = rmdir(path) 移除一個目錄
s = link(oldpath,newpath) 創建指向已有文件的鏈接
s = unlink(path) 取消文件的鏈接
s = chdir(path) 改變工作目錄
dir = opendir(path) 打開一個目錄讀取
s = closedir(dir) 關閉一個目錄
dirent = readdir(dir) 讀取一個目錄項
rewinddir(dir) 回轉目錄使其在此使用

可以使用 mkdir 和 rmdir 創建和刪除目錄。但是需要注意,只有目錄為空時才可以刪除。

創建一個指向已有文件的鏈接時會創建一個目錄項(directory entry)。系統調用 link 來創建鏈接,oldpath 代表已有的路徑,newpath 代表需要鏈接的路徑,使用 unlink 可以刪除目錄項。當文件的最后一個鏈接被刪除時,這個文件會被自動刪除。

使用 chdir 系統調用可以改變工作目錄。

最后四個系統調用是用于讀取目錄的。和普通文件類似,他們可以被打開、關閉和讀取。每次調用 readdir 都會以固定的格式返回一個目錄項。用戶不能對目錄執行寫操作,但是可以使用 creat 或者 link 在文件夾中創建一個目錄,或使用 unlink 刪除一個目錄。用戶不能在目錄中查找某個特定文件,但是可以使用 rewindir 作用于一個打開的目錄,使他能在此從頭開始讀取。

責任編輯:武曉燕 來源: Java建設者
相關推薦

2021-01-12 08:06:11

ARP數據計網

2020-05-22 13:40:09

Linux文件系統

2020-05-25 09:09:01

Linux件系統導航

2009-12-14 13:33:31

linuxramdisk文件系統

2011-01-13 14:10:30

Linux文件系統

2012-07-05 09:52:06

EFS文件加密

2020-07-22 14:53:06

Linux系統虛擬文件

2009-11-06 10:05:18

Linux系統環境GFS

2009-04-20 21:20:32

Linux文件系統存儲機制

2021-04-12 05:44:44

Linux文件系統

2021-06-06 16:55:22

Linux文件系統

2014-06-23 17:04:25

2024-01-12 08:26:16

Linux磁盤文件系統

2020-09-25 07:48:12

Linux系統文件

2012-05-10 13:49:44

Linux文件系統

2011-01-11 10:29:35

Linux文件

2012-12-24 11:32:08

2017-04-20 14:55:36

LinuxPyinotifyPython

2010-11-15 15:44:11

Oracle文件系統

2009-12-10 09:42:07

點贊
收藏

51CTO技術棧公眾號

麻豆传媒在线免费| 久草国产精品视频| 国内自拍亚洲| 亚洲欧美日韩在线| 黑人中文字幕一区二区三区| 五月天婷婷久久| 成人羞羞动漫| 日韩天堂在线观看| 国产av无码专区亚洲精品| aaa在线观看| 成人在线综合网| 清纯唯美亚洲综合| 男人晚上看的视频| 岛国成人av| 在线视频一区二区三区| 欧美做受777cos| 极品白浆推特女神在线观看| 极品少妇xxxx精品少妇偷拍| 中文字幕av一区 二区| 国产精品91久久久久久| 九九精品视频免费| 九九亚洲精品| 精品国精品国产| 欧美女同在线观看| 手机在线理论片| 亚洲人成在线播放网站岛国| 青青草国产精品| 亚洲成a人片77777精品| 免费高清视频精品| 2019中文字幕全在线观看| 国产真实乱在线更新| 国产99久久精品一区二区300| 精品国产一二三| 亚洲一级片av| 欧美aaa大片视频一二区| 亚洲国产综合在线| 糖心vlog在线免费观看| av大全在线免费看| 久久人人爽爽爽人久久久| 成人片在线免费看| 国产精品久久久久久免费| 美女诱惑黄网站一区| 欧美极品第一页| 中文字幕手机在线观看| 久久视频国产| 在线精品国产欧美| 国产精品一二三区在线观看| 日韩有码av| 亚洲国产成人精品久久久国产成人一区| 国内自拍第二页| 欧洲亚洲精品久久久久| 日本精品一级二级| 黄色一级大片在线观看| 免费成人在线电影| 五月婷婷另类国产| 欧美图片激情小说| 女囚岛在线观看| 一区二区三区在线视频观看 | 国产日韩av一区二区| 国产伦精品一区二区三区高清| 国产高清免费在线观看| 国产一区二区三区四区五区美女| 成人h猎奇视频网站| 91在线你懂的| 国内外成人在线| 亚洲最大福利视频网| 国产婷婷一区二区三区久久| 国产老肥熟一区二区三区| 亚洲va男人天堂| 国产视频在线免费观看| 国产成人精品影院| 超碰97网站| 亚洲精品一区二区口爆| av在线免费不卡| 欧美日韩在线一二三| 日韩黄色影片| 国产精品网曝门| 女女同性女同一区二区三区按摩| 影音先锋在线播放| 亚洲午夜久久久久久久久久久| 久久99中文字幕| 中国字幕a在线看韩国电影| 色婷婷综合五月| 99re精彩视频| 欧美.com| 日韩av在线网页| 91成人在线免费视频| 久久激情电影| 精品中文字幕乱| 青青草成人av| 日本色综合中文字幕| 成人国内精品久久久久一区| 国内爆初菊对白视频| 91亚洲精华国产精华精华液| 亚洲精品成人久久久998| 国产精品剧情| 欧美午夜无遮挡| 五月婷婷六月合| 国产精品nxnn| 伊人精品在线观看| 久久久美女视频| 日本特黄久久久高潮| 999热视频在线观看| 日本中文字幕一区二区有码在线| 中文字幕一区二区三| 91亚洲精品国产| 欧美精品高清| 欧美精品一区二| 992在线观看| 国产日韩欧美| 亚洲伊人第一页| 国产人成在线视频| 亚洲成av人片www| 国产一伦一伦一伦| 欧美午夜寂寞| 欧美老少配视频| 蜜臀尤物一区二区三区直播| 成人午夜免费视频| 亚洲精品永久www嫩草| 国产777精品精品热热热一区二区| 欧美亚洲综合一区| 免费看毛片的网站| 亚洲精品成人影院| 国产精品激情av在线播放| 人妻夜夜爽天天爽| 亚洲色图19p| 日韩a在线播放| 国产精品自在| 日韩在线视频国产| 精品不卡一区二区| av日韩在线网站| 欧美少妇在线观看| 欧美一级免费| 在线一区二区日韩| 色一情一乱一伦| 2019国产精品| 香港三级日本三级a视频| 欧美日韩免费电影| 亚洲精品一区二区三区不| 国产污视频在线观看| 国产成人在线电影| 2021国产视频| 亚洲国产中文在线| 久久国产精品影片| 国产乱码久久久久| 综合久久综合久久| 91视频这里只有精品| 成人羞羞网站| 国产精品欧美风情| 国产大片在线免费观看| 色系网站成人免费| 中文字幕免费视频| 日韩精品成人一区二区三区| 欧美中文娱乐网| 日韩精品三区| 日韩在线激情视频| 一区二区 亚洲| 亚洲天堂成人网| 免费人成视频在线播放| 欧美日韩视频| 国产亚洲情侣一区二区无| 免费在线观看的电影网站| 精品国产乱码久久久久久牛牛| 9999热视频| 国产v日产∨综合v精品视频| 久久99久久99精品| 欧美亚洲大陆| 国产精品黄视频| 黄a在线观看| 精品少妇一区二区三区免费观看 | 91精产国品一二三| 欧美体内she精视频在线观看| 粉嫩av四季av绯色av第一区| 久草在线资源站手机版| 日韩精品免费电影| 精品国产www| 亚洲狼人国产精品| 黄色污在线观看| 三级欧美韩日大片在线看| 亚洲日本精品国产第一区| 麻豆国产一区二区三区四区| 欧美激情在线播放| 久久精品蜜桃| 欧美一区二视频| 日本一区二区三区四区五区| 欧美激情一区在线观看| 91香蕉视频免费看| 国产欧美日韩亚洲一区二区三区| 日韩精品一区二区三区丰满| 999精品视频在线观看| 欧美精品激情在线| 激情在线视频| 欧美xfplay| www.久久视频| 一区二区久久久| av网站免费在线看| 国产成人精品在线看| 激情五月婷婷久久| 国产精品jizz在线观看美国| 日本亚洲欧洲精品| 免费看一区二区三区| 国产经典一区二区| 七七久久电影网| 亚洲一区二区久久| 亚洲精品喷潮一区二区三区| 欧美日韩在线播放一区| 国产极品在线播放| 国产精品久久久久久久久快鸭| 69亚洲乱人伦| 精品一区二区三区在线观看 | 男男成人高潮片免费网站| 国产乱人伦精品一区二区三区| 少妇精品久久久| 国产精品.com| 久久久久久爱| 国产精品高潮在线| 蜜臀久久精品| 久久久久久com| 麻豆tv免费在线观看| 亚洲毛片在线观看.| 亚洲精品人妻无码| 91精品在线观看入口| 337p粉嫩色噜噜噜大肥臀| 午夜精品影院在线观看| 男人操女人的视频网站| 亚洲国产精品v| 一区二区三区免费在线观看视频| 国产成人精品亚洲日本在线桃色| 香蕉视频999| 蜜臀av性久久久久蜜臀av麻豆| 日韩欧美国产综合在线| 欧美激情四色| 日本精品免费视频| 欧美电影免费观看高清| 亚洲国产另类久久久精品极度| 久久av资源| 久久精品成人一区二区三区蜜臀| 99国产精品久久一区二区三区| 999视频在线观看| 国产91在线精品| 国产精品三级美女白浆呻吟| 国产一区二区精品调教| 国产成人在线一区二区| 亚洲欧洲日本韩国| 欧美中文在线观看国产| 是的av在线| 欧亚精品在线观看| xxxxx性欧美特大| 日本伊人精品一区二区三区介绍| 夜鲁夜鲁夜鲁视频在线播放| 91福利视频网| av老司机免费在线| 韩日精品中文字幕| 欧美巨大丰满猛性社交| 欧美在线视频网| 九九热线视频只有这里最精品| 日本一欧美一欧美一亚洲视频| 在线看欧美视频| 国产精品久久久久国产a级| 日韩三区在线| 国产日韩欧美夫妻视频在线观看 | 视频一区二区三区在线| 无码精品国产一区二区三区免费| 久久亚洲色图| 国产又大又黄又粗又爽| 久久成人麻豆午夜电影| 国产999免费视频| 成人黄色小视频在线观看| 女同毛片一区二区三区| 国产亚洲综合在线| 貂蝉被到爽流白浆在线观看| 亚洲久草在线视频| 日本一级淫片免费放| 一本一道久久a久久精品| 自拍偷拍色综合| 91精品国产欧美一区二区成人| 国产77777| 亚洲欧美成人精品| 日本中文字幕伦在线观看| 色综合天天综合网国产成人网 | 成人免费在线视频网址| 视频在线亚洲| 蜜桃导航-精品导航| 91久久夜色精品国产按摩| 青草全福视在线| 六月丁香综合| 99精品视频国产| www.99精品| 99国产精品无码| 亚洲v日本v欧美v久久精品| 无码人妻久久一区二区三区不卡| 538在线一区二区精品国产| 亚洲精品国产精品乱码不卡| 亚洲色图在线观看| 综合久久2019| 国产精品va在线播放| 免费一级欧美在线大片| 欧美日韩一区二区三区在线视频| 日韩一区欧美| 99热自拍偷拍| 精品亚洲aⅴ乱码一区二区三区| 国产 xxxx| 自拍av一区二区三区| aaaaaa毛片| 精品欧美久久久| 在线日本视频| 欧美一级大片视频| 国产精品一区二区三区四区在线观看| 麻豆91av| 狠狠爱www人成狠狠爱综合网| 久久久久久三级| 成人av第一页| 国产精品成人免费观看| 91福利视频久久久久| 人妻一区二区三区| 日韩一区二区福利| 国产精品av一区二区三区| 99久久久久国产精品免费| 欧美国产小视频| 国产精品亚洲a| 99久久精品国产导航| 欧美成人精品一区二区免费看片| 欧美在线观看一区二区| 涩爱av在线播放一区二区| 欧美精品www| 色悠久久久久综合先锋影音下载| 亚洲精品中文字幕在线 | 日本91av在线播放| 日韩激情综合| 四虎免费在线观看视频| 蜜臀av亚洲一区中文字幕| 久久久久久久毛片| 精品久久久久人成| 你懂的网站在线| 欧美日韩电影在线观看| 亚洲伊人精品酒店| 亚洲欧美日韩另类精品一区二区三区| 久久成人国产| 在线观看国产三级| 亚洲成av人片一区二区| 风流老熟女一区二区三区| 色综合久久88色综合天天看泰| 成人自拍视频| 致1999电视剧免费观看策驰影院| 男人操女人的视频在线观看欧美| 自拍偷拍亚洲天堂| 色综合天天综合网国产成人综合天| 天天干天天爽天天操| 91超碰caoporn97人人| 性人久久久久| 亚洲国产精品久久久久爰色欲| 99精品国产99久久久久久白柏| 中文字幕在线观看免费视频| 亚洲国产高清福利视频| 欧亚av在线| 免费电影一区| 日产国产高清一区二区三区| 丁香激情五月少妇| 欧美日韩另类一区| 国产在线一区二区视频| 3d动漫啪啪精品一区二区免费| 国内精品久久久久久久97牛牛 | 99久久婷婷国产综合精品青牛牛| 丰满的少妇愉情hd高清果冻传媒| 波多野结衣视频一区| 少妇一级淫片免费放中国 | 国产一区不卡在线观看| 日韩一级在线| www亚洲色图| 欧美一区二区三区免费视频| 久久香蕉av| 欧美激情论坛| 六月丁香综合在线视频| 2021亚洲天堂| 日韩精品视频在线观看网址| 日韩毛片在线| 黄色影视在线观看| 91亚洲午夜精品久久久久久| 一区二区三区黄色片| 欧美精品久久久久久久免费观看| 免费观看久久av| 国产三级精品三级在线| 亚洲成人资源在线| 黄色片在线播放| 91手机在线观看| 久久三级视频| 国产成人av免费在线观看| 亚洲精品91美女久久久久久久| 成人黄色在线| 久艹视频在线免费观看| 国产女人aaa级久久久级| 精品人妻av一区二区三区| 亲子乱一区二区三区电影| 99视频精品全部免费在线视频| 国产51自产区| 欧美日韩精品综合在线| 国产伦子伦对白在线播放观看| 午夜在线视频免费观看| 91首页免费视频| 国产女同91疯狂高潮互磨|