午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

對(duì)話 UNIX,第 13 部分: 另外十種命令行組合

瀏覽:223日期:2024-06-13 13:11:48

本文是“對(duì)話 Unix系列文章中的第 13 部分:我以前認(rèn)為 13 是個(gè)不吉利的數(shù)字,直到我瀏覽 Internet 搜尋這個(gè)數(shù)字之所以不吉利的原因。實(shí)際上,13 這個(gè)數(shù)字可以說是喜憂參半(請(qǐng)參見參考資料)。

好的方面:13 是元素鋁的原子序數(shù),而鋁可用于制作各種祭神儀式的奠酒容器;籃球職業(yè)運(yùn)動(dòng)員 Wilt Chamberlain 身著 13 號(hào)球衣(我們都知道,Wilt 是非常幸運(yùn)的);按照某種禁忌轉(zhuǎn)換方式,13 是第 7 個(gè)質(zhì)數(shù),而數(shù)字 7 象征著幸運(yùn)。

不好的方面:絞刑架有 13 級(jí)臺(tái)階;制造混亂的神“洛基和猶大,都是第 13 個(gè)到達(dá)的;并且無論您怎么對(duì)其劃分(除以 2、3、4、或者6),在餐館中 13 個(gè)人都很難坐,這可能正是洛基和猶大被認(rèn)為是局外人的原因。

陪審團(tuán)最多不超過 13 個(gè)人。所以,除非您在 13 號(hào)星期五閱讀本文,并且在位于 Mockingbird Lane(這是個(gè)歷史悠久的地方)1313 號(hào)的辦公樓的第 13 層,否則都是值得慶幸的。“對(duì)話 UNIX現(xiàn)在是個(gè)長(zhǎng)滿青春痘的青少年了。本文將介紹十種命令行組合和 Shell 訣竅,以慶祝本系列文章進(jìn)入青春期。恭喜您!

臨時(shí)設(shè)置一個(gè)環(huán)境變量

環(huán)境變量,如 EDITOR 和 TZ,可能影響命令執(zhí)行的結(jié)果。(前者選擇進(jìn)行文本編輯時(shí)所啟動(dòng)的程序;而后者可以指定您的時(shí)區(qū)。)通常,您可以在 Shell 啟動(dòng)文件中設(shè)置環(huán)境變量,以便對(duì)所有的 Shell 會(huì)話產(chǎn)生作用,并且您可以在任何時(shí)候使用像 export TZ=GMT 這樣的命令為一個(gè) Shell 會(huì)話更改環(huán)境變量的值。

此外,您可以為單個(gè)命令臨時(shí)地修改一個(gè)環(huán)境變量的值。只需要在啟動(dòng)命令行的時(shí)候設(shè)置環(huán)境變量以及您希望運(yùn)行的命令即可。例如,要為單個(gè)命令更改您的首選編輯器,可以在它的前面加上 EDITOR=editor ,如下所示:

$ printenv...EDITOR=vi...$ EDITOR="pico" less bigfile

這個(gè)組合可以使用 less 對(duì) bigfile 進(jìn)行分頁(yè)。如果您在 less 中輸入 v 以編輯文件,那么將啟動(dòng) pico 而不是 vi。下面是另一個(gè)實(shí)際的使用情況:

$ dateSun Aug 5 16:14:17 EDT 2007$ TZ="Japan" dateMon Aug 6 05:14:06 JST 2007

對(duì) TZ 進(jìn)行的臨時(shí)更改將影響 date 的即時(shí)實(shí)例解釋系統(tǒng)當(dāng)前日期和時(shí)間的方式。

查看您實(shí)際正在運(yùn)行的命令

大量的 Shell 特性可以影響到如何解釋您所輸入的命令名。每種 Shell 都有一個(gè)內(nèi)置命令的分類;PATH 環(huán)境變量用于指定搜索的列表和目錄;而別名可以作為簡(jiǎn)寫。要運(yùn)行一個(gè)程序可以使用許多方法,如何了解實(shí)際執(zhí)行的是什么命令呢?使用 Shell 內(nèi)置的 type 命令可以揭示實(shí)際的情況。

假設(shè)您擁有下面的這些 Shell 設(shè)置:

PATH=/bin:/usr/bin:/usr/local/binalias vi=pico

您可以在 /usr/bin 和 /usr/local/bin 中找到 Perl 的副本。要查明您正使用的是哪個(gè) Perl,可以輸入 type perl。

$ perl -vThis is perl, v5.8.7 built for darwin-2level$ type perlperl is /use/local/bin/perl$ type -a perlperl is /usr/local/bin/perlperl is /usr/bin/perl$ type -a -w perlperl: commandperl: command

type perl 命令顯示了如何在命令行中對(duì) perl 命令進(jìn)行解釋。在這個(gè)示例中,/usr/local/bin/perl 是實(shí)際的擴(kuò)展結(jié)果。type -a 命令顯示了 Shell 所知道的所有 Perl 實(shí)例,這在很大程度上依賴于 PATH 變量。

可以針對(duì)您常用的其他命令使用 type:

$ type -a vivi is an alias for picovi is /usr/bin/vi$ type -a cdcd is a shell builtincd is /usr/bin/cd

type 命令顯示出,vi 實(shí)際上是 pico 的別名。type 命令還顯示出,cd 是一個(gè)內(nèi)置的命令,并且與外部命令 /usr/bin/cd 是相同的。

使得 find 命令具有更好的可移植性

去年曾經(jīng)介紹了許多關(guān)于 find 的使用的內(nèi)容,但是我忽略了其中的一個(gè)選項(xiàng),它使得 find 命令行可以移植到其他操作系統(tǒng)。

通常,Unix® 系統(tǒng)中很少使用帶空格的文件名。然而,在 Mac OS X 和 Microsoft® Windows® 中常常使用更長(zhǎng)的、更具描述性的文件名,并且在 UNIX 中它們也變得越來越多,這是因?yàn)樵摬僮飨到y(tǒng)不斷地積聚更多的桌面特性。畢竟,將一份報(bào)告保存為 2007 Business Plan 明顯要比 bizplan07.ooo 好得多。

find 命令使用嵌入的特殊字符列舉長(zhǎng)文件名,但是,如果您希望將 find 與另一個(gè)命令組合使用,那么最安全的方法是,使用 NUL 字符(而不是空格)分隔列表中的每個(gè)文件名。讓我們來了解其中的差異。

我們假設(shè)您擁有三個(gè)文件夾,其中一個(gè)或者多個(gè)目錄的名稱中包含空格:

$ ls -1Business Plan 2007Expense ReportPictures from Spain

如果您對(duì)大量的文件運(yùn)行 find 命令,并且將結(jié)果列表傳遞給 xargs,那么文件名中的空格將會(huì)導(dǎo)致錯(cuò)誤:

$ find . -type f -print | xargs ls -1ls: ./Business: No such file or Directoryls: ./Expense: No such file or directoryls: ./Pictures: No such file or directoryls: 2007: No such file or directoryls: Plan: No such file or directoryls: Report: No such file or directoryls: Spain: No such file or directoryls: from: No such file or directory

傳遞給 xargs 的結(jié)果是單個(gè)字符串 . ./Business Plan 2007 ./Expense Report ./Pictures from Spain。在缺省情況下,xargs 將使用空格(或者換行符)對(duì)輸入字符串進(jìn)行劃分,以便產(chǎn)生可以進(jìn)行操作的一個(gè)文件列表。在這個(gè)示例中,因?yàn)槲募邪崭瘢赃@樣做將會(huì)產(chǎn)生錯(cuò)誤的列表,如前所述。

一種適當(dāng)?shù)摹⒖梢浦驳募夹g(shù)是使用 find -print0,加上 xargs -0,以便使用 NUL 字符對(duì)文件名進(jìn)行劃分。下面是這種推薦的方法:

$ find . -type f -print0 | xargs -0 ls -1./Business Plan 2007./Expense Report./Pictures from Spain

另外,如果您希望預(yù)覽 xargs 產(chǎn)生的命令,可以添加選項(xiàng) -p 或者 -t。-p 選項(xiàng)顯示每個(gè)合成的命令,并提示您進(jìn)行確認(rèn)。輸入大寫的或者小寫的 y 以便運(yùn)行命令,輸入任何其他的內(nèi)容可以拒絕該命令。-t 選項(xiàng)可以在執(zhí)行每個(gè)命令之前將命令回顯到 stderr。

更充分地利用 find 命令

盡管 find 非常有用,但是有兩個(gè)隱含的設(shè)置可能會(huì)限制它的結(jié)果(并使得您不知所措):-name 匹配是區(qū)分大小寫的,并且不會(huì)根據(jù)符號(hào)鏈接對(duì)文件系統(tǒng)進(jìn)行遍歷。

因此,一個(gè)以 find -name '*plan*' 開頭的命令將忽略名稱中包含 Plan 字符串的文件,假設(shè)您的 home 目錄中包含名為 music 的符號(hào)鏈接,而它指向裝入到 /media/music 的 TB 級(jí)的存儲(chǔ)介質(zhì),那么這個(gè)命令將不會(huì)列出您的符號(hào)鏈接 music。

您可以使用 -iname 覆蓋區(qū)分大小寫的匹配,并且您可以使用 -follow 根據(jù)符號(hào)鏈接進(jìn)行遍歷。下面是使用了這兩種選項(xiàng)的一個(gè)示例:

$ alias ls='ls -aF'$ ls -1bin/lib/src/tomb/tunes@$ find . -name '*music*' -type f -print$ find . -iname '*music*' -type f -print$ find . -name '*music*' -type f -follow -print$ find . -iname '*music*' -type f -follow -print./tunes/Muse/Origin Of Symmetry/04 Hyper Music.m4a./tunes/Radiohead/OK Computer/04 Exit Music (For A Film).MP3

正如 -F 選項(xiàng)生成的 @ 符號(hào)注釋所表示的,tunes 是一個(gè)符號(hào)鏈接。要查找名稱中包含字符串“music的任何變體的所有歌曲,您必須使用 -iname *music*。要遍歷到 tunes 所指向的文件系統(tǒng)層次結(jié)構(gòu),您必須使用 -follow。

為了使得 find 更具可移植性,并且類似于 Spotlight 的搜索特性,那么應(yīng)該使用 -print0 -follow -iname pattern 。

收集許多命令的輸出的簡(jiǎn)單方法

通過使用 > output 和 >> output 修飾符,您可以很容易地捕獲一個(gè)命令行的輸出,其中前者用于創(chuàng)建或者覆蓋文件 output ,而后者則將內(nèi)容追加到 output 。您可以組合使用任何修飾符以生成一系列命令的文本,如果您正嘗試對(duì)系統(tǒng)狀態(tài)進(jìn)行快照,這種方法是非常有價(jià)值的,例如:

$ ps > state.`date '+%F'`$ w >> state.`date '+%F'`

反勾號(hào)或反引號(hào)操作符 (``) 可以對(duì)命令進(jìn)行擴(kuò)展。在 Shell 對(duì)命令行進(jìn)行解釋時(shí),將執(zhí)行反勾號(hào)之間的命令,并在最終的擴(kuò)展結(jié)果中使用該命令的輸出。在本示例中,參數(shù)周圍的單引號(hào)用于保持參數(shù)不變,從而可以避免 Shell 對(duì) + 和 % 進(jìn)行解釋。

在執(zhí)行了這兩個(gè)命令之后,創(chuàng)建了文件 state.YYYY-MM-DD,如 state.2007-08-05,其內(nèi)容與以下所示類似:

 PID TTY TIME CMD9997 pts/100:00:00 zsh10351 pts/100:00:00 ps17:56:04 up 21 days, 2:53, 2 users, load average: 0.89, 0.94, 0.91USER TTY FROM LOGIN@  IDLE  JCPU  PCPU WHATadamgood pts/0c-67-169-182-255 Sat170.00s 0.37s 0.36s pinemstreich pts/1cpe-071-065-224- 17:170.00s 0.01s 0.00s w

不過,每次輸入反勾號(hào)操作是非常麻煩的。您可以使用下面的命令來代替這個(gè)序列:

$ file=state.`date '+%F'`$ ps > $file$ w >> $file

但是,雖然這樣做稍微有效一些,但仍然可能出現(xiàn)錯(cuò)誤,因?yàn)樵诘诙€(gè)或者后續(xù)的命令中,很可能使用 > 而不是 >>。要捕獲一系列命令的輸出,最簡(jiǎn)單的方法是使用大括號(hào) ({ }) 將命令括起來。

$ { ps; w } > state.`date '+%F'`

ps 命令運(yùn)行(列出用戶當(dāng)前的進(jìn)程),然后是 w(它將顯示誰正在使用這臺(tái)計(jì)算機(jī)),并將收集到的輸出保存到一個(gè)文件中。

注意: 您還可以在圓括號(hào)中嵌入一個(gè)命令序列,以得到相同的結(jié)果;然而,兩者之間有一個(gè)重要的區(qū)別。在圓括號(hào)中的系列命令將在一個(gè)子 Shell 中運(yùn)行,并且不會(huì)對(duì)當(dāng)前 Shell 的狀態(tài)產(chǎn)生影響。

例如,您可能希望運(yùn)行這個(gè)序列:$ { cd $HOME; ls -1}; pwd

它將與下面的命令產(chǎn)生相同的輸出:$ (cd $HOME; ls); pwd

大括號(hào)中的命令更改了當(dāng)前 Shell 的工作目錄。后面的這種技術(shù)則無能為力。是使用組合還是子 Shell,這取決于您的目的,盡管子 Shell 的功能更強(qiáng)大一些,下面將對(duì)其進(jìn)行描述。

子 Shell 可以為您提供幫助!

盡管通常運(yùn)行子 Shell 將聚合的輸出通過管道傳遞給單個(gè)命令,但您還可以使用子 Shell 對(duì)命令進(jìn)行擴(kuò)展,就像反勾號(hào)那樣。然而更有價(jià)值的是,子 Shell 可以包含另一個(gè)子 Shell,所以還可以進(jìn)行嵌套擴(kuò)展。

讓我們來看看下面簡(jiǎn)單的例子。

$ {ps; w} > state.$(date '+%F')

這個(gè)命令與 { ps; w } > state.`date '+%F'` 是相同的。$( ) 符號(hào)運(yùn)行圓括號(hào)中的命令,然后使用輸出來替換自己。換句話說,$() 可以進(jìn)行擴(kuò)展,就像反勾號(hào)一樣。然而,與反勾號(hào)不同的是,$( ) 非常復(fù)雜,并且甚至可以包括其他 $( ) 擴(kuò)展。下面提供了一些示例:

$ (cd $(grep strike /etc/passwd | cut -f6 -d':'); ls)

這個(gè)命令在密碼文件中搜索用戶 strike 對(duì)應(yīng)的條目,提取其 home 目錄(密碼文件中的第 6 個(gè)字段,如果您從 0 開始數(shù))字段,更改到這個(gè)目錄,并列出其中的內(nèi)容。grep /etc/passwd strike | cut -f6 -d':' 的輸出將在執(zhí)行任何其他操作之前進(jìn)行擴(kuò)展。

下面是另一個(gè)示例,這次的用戶名來自于 whoami 的結(jié)果:

(cd $(grep $(whoami) /etc/passwd | cut -f6 -d':'); ls)

因?yàn)樽?Shell 有許多用途,所以與組合或者反勾號(hào)操作符相比,您可能更喜歡使用它。

不再輸入長(zhǎng)路徑名

有些特性,如 PATH 和 MANPATH 環(huán)境變量,可以減少輸入工作量。這兩個(gè)變量分別為搜索可執(zhí)行文件和 man 頁(yè)面定義了一系列目錄。

Shell 支持另一個(gè)搜索路徑:CDPATH。顧名思義,CDPATH 列出了搜索命名目錄的目錄列表。讓我們看看它是如何工作的。

假設(shè)您的 home 目錄中有三個(gè)目錄,它們分別是 tomb、current 和 personal。tomb 目錄中包含舊的工作項(xiàng)目;current 目錄中包含當(dāng)前工作的內(nèi)容;而 personal 目錄中包含您所感興趣的一些文件和內(nèi)容。執(zhí)行 ls -R tomb current personal 命令可以得到與下面所示類似的內(nèi)容:

$ ls -R tomb current personalcurrent:./../  einstein/ herbIE/personal:./  ../ fishing/ novel/tomb:./  ../ mariner/ marvin/ voyager/

對(duì)于這種結(jié)構(gòu),如果不使用 CDPATH,要更改到任何目錄都需要記住文件夾的位置,并輸入完全限定的(或者相對(duì)的)路徑名:

$ cd ~/tomb/mariner$ cd ~/personal/novel$ cd ~/current/einstein

為了簡(jiǎn)化這項(xiàng)任務(wù),可以將 CDPATH 設(shè)置為您所需要的搜索命名目錄的目錄列表:

$ export CDPATH=.:~/:..:../..:

這是 CDPATH 的最小設(shè)置。它將按順序搜索當(dāng)前目錄(.,或者“點(diǎn))、您的 home 目錄 (~/)、父目錄(..,或者“點(diǎn)點(diǎn))、父目錄的父目錄目錄 (../..)。最小設(shè)置首先搜索本地目錄以及附近的一些目錄。

在設(shè)置了這個(gè) CDPATH 之后,您可以快速地更改到任何頂層目錄:

$ pwd/tmp$ cd current/home/strike/current$ cd personal/fishing/home/strike/personal/fishing$ cd novel/home/strike/personal/novel$ cd /tmp$ cd personal/novel/home/strike/personal/novel$ cd /tmp$ cd novelcd: no such file or Directory: novel

除最后一個(gè) cd 命令之外,所有命令的參數(shù)都在 CDPATH 中存在匹配的目錄。然而,因?yàn)?personal 目錄不在 CDPATH 中,所以無法找到 novel(如果您位于相對(duì)路徑之外)。

如果您希望搜索 personal 目錄和其他的兩個(gè)目錄,那么可以將它們添加到 CDPATH 的最后一個(gè)冒號(hào)的后面,或者根據(jù)您所需要的搜索順序進(jìn)行添加。添加三個(gè)目錄,假設(shè)您的 Shell 啟動(dòng)文件中包含前面的 export 命令:

$ export CDPATH=$CDPATH:~/current:~/tomb:~/personal

現(xiàn)在,您只需要輸入希望切換到的目錄的名稱即可:

$ cd current/home/strike/current$ cd /tmp$ cd einstein/home/strike/current/einstein$ cd fishing/home/strike/personal/fishing$ cd personal/novel/home/strike/personal/novel

與 PATH 和 MANPATH 一樣,如果 CDPATH 中的多個(gè)條目都包含匹配項(xiàng),那么在找到第一個(gè)匹配項(xiàng)后將停止搜索。例如,如果您向 tomb 中添加一個(gè)名為 novel 的目錄,那么 cd novel 命令將得到 ~/tomb/novel。

$ mkdir ~/tomb/novel$ cd /tmp$ cd novel/home/strike/tomb/novel$ cd personal/novel/home/strike/personal/novel

如果其條目中包含唯一的目錄名,那么 CDPATH 是最有效的。否則,必須輸入足夠長(zhǎng)的路徑以進(jìn)行區(qū)別,比如 personal/novel。

取得事半功倍的效果

您已經(jīng)看到了許多示例,說明文本文件在 Unix 系統(tǒng)中有著廣泛的用途。大多數(shù)系統(tǒng)啟動(dòng)文件都是文本文件,包括 Shell 腳本、配置文件,當(dāng)然還包括數(shù)據(jù)文件。除了文本編輯器之外,最有價(jià)值的實(shí)用工具就是翻頁(yè)工具 (pager)、或者允許您逐頁(yè)瀏覽文本文件的應(yīng)用程序。

應(yīng)用程序 less 是最常用的翻頁(yè)工具之一,并且它提供了大量的選項(xiàng)以調(diào)整它的行為。事實(shí)上,您可以將 LESS 環(huán)境變量設(shè)置為相關(guān)選項(xiàng)的列表,以便控制 less 的缺省工作方式。下面是一組有用的選項(xiàng):

export LESS="-Nmsx4"

-N 可以顯示行號(hào)。

-m 能夠以百分比的形式顯示在文件的當(dāng)前位置。

-s 可以將多個(gè)空行“壓縮或者減少為單個(gè)空行。

-x4 可以將制表位設(shè)置為四個(gè)空格。

請(qǐng)仔細(xì)地閱讀 less 的 man 頁(yè)面,以便找到對(duì)您最有幫助的選項(xiàng)。

從下到上閱讀文件

在 UNIX 系統(tǒng)中,許多文件會(huì)不斷地增大,直到被截?cái)嗷蛘哌M(jìn)行存檔。例如,最重要的一些系統(tǒng)處理,如電子郵件傳輸和遠(yuǎn)程訪問、持續(xù)日志記錄活動(dòng),都會(huì)在文件的末尾添加新的條目。并且是最感興趣的日志文件的末尾。如果某個(gè)服務(wù)崩潰了,那么最后發(fā)生的事件將提供最有價(jià)值的線索。

有兩種方法可以逆序顯示文件中的行:tac(將 cat 反過來)和 tail -r 命令。

$ cat smallfileabc$ tac smallfilecba$ tail -r smallfilecba

您可能會(huì)發(fā)現(xiàn) tac 更加實(shí)用一些,因?yàn)樗鼘@示整個(gè)文件,這與 tail 是不同的,后者將對(duì)輸出進(jìn)行截?cái)啵伙@示若干行的內(nèi)容。例如,您可以組合使用 tac 和 less 以創(chuàng)建一個(gè)別名,用于對(duì)文件進(jìn)行逆序分頁(yè):

$ alias rless="LESSOPEN='|tac %s' less"$ rless smallfilecba

rless 別名臨時(shí)地將 LESSOPEN 設(shè)置為 |tac %s,這是特定于 less 的一個(gè)環(huán)境變量。這樣可以強(qiáng)制使用 tac 對(duì)每個(gè)文件(%s 是文件名的占位符)進(jìn)行預(yù)處理(所以使用了管道 |)。

下面提供了這個(gè)相同技巧的另一種變體,但是它使用了 perl 而不是 tac,在您的系統(tǒng)中可能無法使用這個(gè)命令:

LESSOPEN="|perl -e 'print reverse (<>)' %s" less small

包含 perl 的那行命令表示“將所有的輸入行讀入一個(gè)匿名數(shù)組 ((<>)),顛倒元素的順序,并打印這個(gè)新的數(shù)組。

進(jìn)行新的數(shù)學(xué)運(yùn)算

如果您需要計(jì)算一個(gè)結(jié)果,那么并不需要轉(zhuǎn)到一個(gè)新的應(yīng)用程序。您可以繼續(xù)在命令行中完成這項(xiàng)任務(wù)。您可以使用 dc(這是一種逆波蘭式計(jì)算器),或者 bc(這是一種用于數(shù)學(xué)運(yùn)算的完整的腳本編程語(yǔ)言)。或者,如果您需要馬上獲得答案,那么可以使用命令行和 $(( )) 操作符。

$ echo $(( 100 / 10 ))10$ echo $(( 10 ** 2 ))100

Shell 并沒有提供大量的算術(shù)操作符,但是已經(jīng)足以完成大多數(shù)編程任務(wù),包括移位、求余和比較。

還有很多的內(nèi)容需要學(xué)習(xí)

“對(duì)話 Unix已經(jīng)是第 13 部分了,但是仍然有許多內(nèi)容需要介紹。我們需要學(xué)習(xí)更多的命令和技巧、研究各種各樣的相關(guān)概念,當(dāng)然還包括大量的開放源代碼軟件,以便提高您的工作效率。

還有一點(diǎn)就是,必須克服各種困難。高年級(jí)學(xué)生有時(shí)會(huì)捉弄人,有時(shí)的確令人尷尬,但他們相處融洽。也許我看起來像是在倚老賣老了!. . 孩子們相處很融洽,是吧!

感謝您的閱讀!我希望您能夠喜歡本專欄。

標(biāo)簽: Unix系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 在线观看成人免费视频 | 成人看| 三级黄色片网站 | 97福利影院 | 欧美在线网站 | 国产视频不卡在线 | 黄大色黄大片女爽一次 | 亚洲第一色站 | 亚洲男女av | 国产福利精品在线 | 激情网站在线 | 国产精品久久久网站 | 香蕉综合网 | 久久久久久久久99 | 婷婷一区二区三区 | 久久久久国产一区二区三区 | 国内av在线| 97色在线视频 | 亚洲色图偷 | 色婷婷综合网 | 国产免费久久久久 | 国产毛片高清 | 欧美三级黄色大片 | 亚洲精品在线免费播放 | 午夜精品免费 | 91丨porny丨海角社区 | 精品美女久久 | 国产精品一二三在线观看 | 中文字幕在线网 | 久草一区二区 | 岛国av片| 亚洲欧美日韩精品 | 亚洲一区在线免费观看 | 亚洲综合成人在线 | 日本天天色 | 激情五月色播五月 | 性一交一乱一精一晶 | 一二三区中文字幕 | a级在线| av网在线播放 | 黄色大片在线免费观看 |