整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          程序猿常用shell命令使用詳解

          程序猿常用shell命令使用詳解

          件操作命令

          • ls:列出當前目錄下的所有文件和目錄

          在linux中使用ls命令  ls -lh 可以顯示文件或者目錄大小,下面是顯示列內容說明
          第一列:文件類型和權限
          第二列:鏈接數量
          第三列:所有者 - 顯示文件或目錄的所有者用戶名稱
          第四列:顯示文件或者目錄用戶組
          第五列:顯示文件的大小。單位為字節
          第六列:顯示文件最后的修改時間和日期
          第七列:顯示文件或者目錄名稱====================ls -l:以長格式列出文件和目錄,包括權限、所有者、大小和最后修改時間
          ls -a:顯示所有文件,包括以點(.)開頭的隱藏文件
          ls -lt:按時間排序,最新修改的文件或目錄會顯示在最前面
          ls -lh:結合 -l 和 -h 選項,以易讀的格式顯示文件大小(例如,使用KB、MB)
          • cd:改變目錄

          cd /home/user/Documents  切換到指定目錄下
          cd ..:切換到當前目錄的父目錄(返回到上一級目錄)
          • pwd:打印當前工作目錄

          • cat:查看文件內容

          cat cbus_onl_busi.log   顯示文件filename的內容
          cat -n cbus_onl_busi.log 顯示文件filename的內容,并在每行前面顯示行號
          cat cbus_onl_busi.log | tail -n 10  顯示文件filename的最后幾行
          grep "pattern" cbus_onl_busi.log | cat -n:使用grep搜索包含特定模式的行,然后通過管道將其傳遞給cat,并使用cat的-n選項顯示行號
          
          cat al-gateway-oapi.log | grep 'error'  | tail -n  10
          • more:分頁查看文件內容 它一次顯示一屏文本,允許用戶逐步瀏覽文件

          打開文件后,more默認顯示第一屏的內容
          按Space鍵可以翻到下一頁   按Enter鍵可以翻到下一行
          按b鍵可以回退到上一頁  
          按q鍵退出more
          • less:反向分頁查看文件內容 ,它允許用戶以分頁的方式瀏覽文件,而不必一次性加載整個文件
          按Space鍵(空格鍵)可以向前翻一頁  按b鍵可以向后翻一頁
          按q鍵退出less
          按:n可以顯示當前行號
          • touch:創建一個空文件或更改文件的訪問和修改時間
          touch newfile.txt  使用touch命令創建空文件
          ls -l:在使用touch命令后,通常使用ls -l命令查看文件的時間戳和其他狀態信息
          
          • cp:復制文件或目錄
          cp source destination:將名為source的文件復制到destination。如果destination是目錄,則文件將被復制到該目錄中
          cp file1 file2 file3 destination:將多個文件復制到指定的destination目錄
          cp -r source destination:遞歸地復制整個目錄source及其內容到destination。-r選項表示遞歸。
          • mv:移動或重命名文件或目錄
          移動文件:
          mv source destination:將名為source的文件移動到destination。如果destination是目錄,則文件將被移動到該目錄中
          
          移動目錄:
          mv -r source destination:遞歸地移動整個目錄source及其內容到destination。-r選項表示遞歸
          
          重命名文件:
          mv oldname newname:將文件從oldname重命名為newname
          • rm:刪除文件或目錄

          rm命令是非常危險的,特別是當使用-r選項時,因為它可以遞歸地刪除大量文件;如果不確定,可以使用-i選項,它會在刪除每個文件之前提示確認。

          刪除文件:
          rm filename  這將刪除名為filename的文件。
          
          刪除目錄:
          rm -r directory  -r(或--recursive)選項用于遞歸地刪除目錄及其內容
          
          強制刪除:
          rm -f file  -f(或--force)選項用于強制刪除文件,不提示確認
          
          強制刪除只讀文件:
          rm -i file  -i選項在刪除每個文件之前提示確認,對于只讀文件特別有用
          
          刪除舊文件:
          rm -t 7 file  -t選項刪除訪問時間超過7天的文件。
          • find:在文件系統中搜索文件或目錄
          按名稱搜索:
          find /path/to/search -name "filename"   -name選項用于按文件名搜索
          
          使用通配符:
          find /path/to/search -name "*.txt"   使用通配符*可以搜索所有擴展名為.txt的文件
          
          按大小搜索:
          find /path/to/search -size +100M  -size選項用于按文件大小搜索,+100M表示大于100MB的文件
          
          根目錄開始查找所有擴展名為 .log 的文本文件,并找出包含 “ERROR” 的行
          find / -type f -name "*.log" | xargs grep "ERROR"
          
          根目錄開始查找所有擴展名為 .log 的文本文件,并找出包含 “20240607310111936703” 的文件路徑
          find /data/logs/pm-service-onl/busi/20240607 -name "*.log" -exec zgrep "20240607310111936703" {} \; -print
          • grep:在文件中搜索具有特定模式的行
          搜索文本:
          grep "pattern"  310H001.log
          
          遞歸搜索:選項遞歸地在指定目錄及其子目錄中搜索
          grep -r "pattern" /path/to/search 
          
          使用前綴和后綴:-B選項打印每個匹配行之前的行,-A選項打印之后。數字指定要打印的行數
          grep  "pattern" 310H001.log  -B 20 -A 10
          
          搜索多個模式:使用\|操作符在單個命令中搜索多個模式
          grep "pattern1\|pattern2" 310H001.log
          • head:輸出文件的開始部分

          查看文件的前10行
          head -n 10 /var/log/syslog/test.log
          
          顯示文件的第N行到第M行
          head -n M test.log | tail -n +N
          
          • tail:輸出文件的尾部
          指定顯示的行數: -n選項允許你指定顯示的行數,lines是你想要顯示的行數
          tail -n 20 /var/log/syslog/test.log
          
          實時顯示文件新增內容: -f選項用于實時查看文件的新增內容,通常用于查看日志文件。
          tail -f  /var/log/syslog/test.log
          • sort:對文本文件的行進行排序
          sort /etc/passwd/test.log
          • wc:計算字數、行數和字節數
          計算行數:
          wc -l /var/log/syslog/test.log
          
          只顯示總計: 使用管道和awk命令只顯示總計
          wc -l file1 file2 file3 | awk '{total +=$1} END {print total}'
          • cut:從文件的每一行中剪切字節、字符和字段
          cut -d: -f1 /etc/passwd
          • nano,vi,emacs:常用的文本編輯器
          nano /home/user/file.txt
          vi /home/user/file.txt
          emacs /home/user/file.txt
          • paste:合并文件的行。
          paste file1.txt file2.txt

          搜索命令

          • find:在文件系統中搜索文件或目錄。
          find / -name '*.log'
          參考1文件命令
          • grep:在文本文件中搜索決定的文本模式。
          grep 'error' /var/log/syslog
          
          • locate:基于文件名在數據庫中快速找到文件。
          locate myFile.txt
          
          • which:返回可執行文件的路徑。
          which java
          參考16其他命令說明


          • whereis:此命令可用于查找二進制程序、源文件、手冊頁以及其他文件的位置。
          whereis ls
          參考16其他命令說明


          目錄操作命令

          • mkdir:創建一個新的目錄
          mkdir /home/user/new_directory
          • rmdir:刪除一個空目錄
          rmdir /home/user/empty_directory
          • tree:以樹形結構列出目錄的內容
          tree /home/user/
          • du:估計文件和目錄的磁盤使用空間
          du -sh /home/user/Documents
          可以參考 9磁盤命令管理
          • df:顯示磁盤使用空間
          df -h
          可以參考 9磁盤命令管理



          權限操作命令

          • chmod:更改文件或目錄的權限
           chmod 755 /home/user/file.txt
          表示設置文件的主用戶有讀,寫和執行權限(rwx=7),同組的用戶和其他用戶有讀和執行權限(rx=5)。
          
          • chown:更改文件或目錄的所有者和所屬的組
          chown newuser:newgroup /home/user/file.txt
          表示將/home/user/file.txt的所有者更改為newuser,所屬的組更改為newgroup。
          
          • chgrp:更改文件或目錄的所屬組
          chgrp newgroup /home/user/file.txt
          表示將/home/user/file.txt的所屬的組更改為newgroup。

          網絡操作命令

          • ping:發送網絡請求以測試網絡連接
          測試與 www.example.com 的網絡連通性
          ping www.baidu.com
          • ifconfig:顯示或配置網絡接口


          顯示 eth0 網絡接口的信息
          ifconfig eth0
          
          開啟 eth0 網絡接口
          sudo ifconfig eth0 up
          
          關閉 eth0 網絡接口
          sudo ifconfig eth0 down
          • netstat:顯示網絡連接、路由表等網絡狀態信息


          用于列出所有監聽的 TCP 端口以及與之關聯的進程
          netstat -ntlp
          
          用于查找所有與端口 80 相關的網絡連接,包括監聽和已建立的連接
          netstat -aonp|grep 80
          
          用于計算與端口 80 相關的網絡連接數量
          netstat -nat|grep -i "80"|wc -l
          • ssh:遠程登錄或執行遠程命令
           ssh user@remote_host
          • scp:在本地和遠程系統之間安全地復制文件
          scp /path/to/file user@remote_host:/remote/path/
          
          • curl:獲取網絡資源

          curl www.linuxyz.cn
          
          curl -H "Content-Type:application/json" -X POST -d '{"appId": "akulaku-business","data": "081915122488","token": "963444d4-88f9-4c38-b2c2-19b60b2d8"}' 'http://pre-oapi.akulaku.local/midendkmshttp/encrypt'
          • telnet:遠程登錄工具
          這將嘗試連接到 example.com 的 23 號端口(Telnet 默認端口),并開始一個 Telnet 會話 :一般用來檢查網絡是否通
          telnet example.com 23
          
          • nslookup:查詢 DNS 名稱服務器的記錄


          • ftp:在本地主機和FTP服務器之間建立FTP連接。
          ftp ftp_server
          
          • wget:獲取網絡資源
          wget www.linuxyz.cn -o google.html 

          進程和系統控制命令

          • ps:顯示當前進程的狀態
          參考11 進程管理命令
          • top:動態顯示運行中的進程
          • kill:發送信號以終止進程
          參考11 進程管理命令
          • shutdown:關閉機器
          • reboot:重啟機器
          • logout:退出登錄會話



          文本操作命令

          • echo:打印信息到終端。
          echo 'Hello, World!'
          • printf:格式化并打印信息。
          printf 'Name: %s\nAge: %d\n' 'Alice' 20
          
          • sed:流編輯器,用于對文本文件進行特定的行處理和替換。
          echo 'Hello, World!' | sed 's/World/Shell/g'
          
          • awk:在文本文件中進行模式掃描和處理語言。
          echo -e 'name\tage\nAlice\t20\nBob\t22' | awk '{if ($2 >=21) print $1}'
          



          壓縮與解壓命令

          • tar:創建、展開及管理tar包。
          創建歸檔文件: directory/ 目錄下的所有文件和子目錄打包成 archive.tar.gz 歸檔文件,并使用 gzip 壓縮
          tar -czvf archive.tar.gz directory/
            
           解壓歸檔文件:從 archive.tar.gz 歸檔文件中解壓所有文件到當前目錄
          tar -xzvf archive.tar.gz
          
          查看歸檔文件內容:列出 archive.tar.gz 歸檔文件中的所有文件和目錄
          tar -tvf archive.tar.gz

          gzip:用于文件壓縮或解壓。

          壓縮文件:
          gzip file.txt
          
          解壓文件:
          gzip -d file.txt.gz
          • gunzip:用于解壓gzip壓縮的文件。
          gunzip file.gz
          
          • zip/unzip:創建和解壓zip格式的壓縮包。
          zip -r archive.zip folder
          unzip archive.zip

          磁盤使用管理命令

          • df:報告文件系統磁盤空間使用情況。

          • du:估計并報告文件及文件夾的磁盤使用情況。


          • fdisk:對磁盤進行分區管理。


          • hdparm:查看或修改SATA/ATA磁盤參數。
          sudo hdparm -i /dev/sda

          包管理命令

          進程管理命令

          • ps:報告進程當前狀態。

          顯示所有進程,按 CPU 使用率排序:
          ps aux --sort=-%cpu
          
          結合 grep 命令來過濾輸出結果:
          ps aux | grep java
          ps -ef | grep java
          
          統計當前系統線程數量:
          pstree -p|wc -l
          • top:動態顯示當前耗費系統資源最多的進程。

          • htop:比top更友好的動態進程查看工具。


          • kill:終止或者發送一個信號到指定進程。
          終止 PID 為 1234 的進程:
          kill 1234
          
          優雅地終止 PID 為 5678 的進程:
          kill -SIGTERM 5678
          
          強制終止 PID 為 9101 的進程:使用 kill -9 強制終止進程時需謹慎,因為這會導致進程立即退出,可能不會釋放其占用的資源,也不會執行任何清理操
          kill -9 9101
          • pkill:條件地終止或者發送一個信號到指定進程。
          pkill process_name

          環境變量命令

          • env:顯示當前所有的環境變量。

          • set:顯示當前shell所有的環境變量及函數。
           輸入:set
          輸出:展示所環境變量以及函數
          • export:設置或顯示環境變量。
          輸入:
          export VARName='Value'
          echo $VARName
          輸出結果:
          Value

          系統信息發布命令

          • uname:會打印操作系統的名稱。
          • hostname:打印系統的主機名。
          • df:展示文件系統的磁盤空間使用情況。

          • free:展示系統中未使用和已經使用的物理和swap內存。


          • uptime:展示系統已經運行了多久,有多少用戶正在登錄,以及系統負載。

          • last:查看系統的重啟和關機記錄。

          • w:展示哪些用戶正在登錄。

          • who:展示哪些用戶正在登錄,和w命令相似但信息更少。


          • id:展示當前用戶的UID、GID以及所在的組。




          系統控制命令

          • halt:關機。
          輸入:sudo halt
          • reboot:重啟系統。
          輸入:sudo reboot
          • shutdown:關機或者重啟,和上述兩個命令一樣,但是提供更多的選項。
          關閉系統:sudo shutdown -h now
          重啟系統:sudo shutdown -r now
          • passwd:更改用戶密碼。
          更改密碼:passwd

          文本編輯命令

          • vi/vim:vi是一個文本編輯器,而vim是vi的改進版,提供了更多的功能。
          打開文件:
          vi vhost.conf
          
          進入編輯模式:
          當你第一次打開文件時,你會進入“普通模式”(Normal Mode)。
          按下i鍵進入“插入模式”(Insert Mode),在這里可以開始編輯文件。
          
          退出編輯器:
          在普通模式下,按下:鍵,然后輸入q(表示退出)并按Enter鍵退出編輯器。
          
          保存并退出:
          在普通模式下,按下:鍵,然后輸入wq(表示寫入并退出)并按Enter鍵保存更改并退出編輯器。
          
          撤銷更改:
          在普通模式下,輸入u鍵撤銷最近的操作。
          
          查找文本:
          在普通模式下,按下:/ 鍵,然后輸入要查找的文本,并按Enter鍵。查找zone  :/zone
          
          跳轉到行:
          在普通模式下,按下:鍵,輸入行號并按Enter鍵跳轉到指定行號。
          
          設置行號:
          在普通模式下,按下:鍵,輸入set number或簡寫為set nu啟用行號顯示。
          
          復制和粘貼:
          在普通模式下,使用v(可視模式)選擇文本,然后使用y(復制)復制文本,再使用p(粘貼)粘貼文本
          • nano:一個簡單易用的命令行文本編輯器。


          • emac:一個強大的文本編輯器,也是一個定制化的計算環境。


          其他有用命令

          • man:查看命令的幫助文檔


          • whatis:顯示一個命令的簡單描述。


          • whereis:查找命令的二進制文件、源文件及幫助文檔位置。

          • which:查找并顯示給定命令的完整路徑。

          whereis:當你需要快速找到命令的多個相關文件(如二進制、源代碼、手冊頁)時使用。
          which:當你只需要知道某個命令的可執行文件路徑時使用。
          
          whereis:默認會在/usr/bin, /bin, /usr/sbin, /sbin, /usr/local/bin等標準目錄下搜索。
          which:只搜索PATH環境變量中列出的目錄。
          • whoami:打印當前有效的用戶名。
          輸入:whoami
          輸出:user
          • date:顯示或設置系統日期和時間
          輸入:date
          輸出: Tue Dec 21 02:16:12 UTC 2021
          • cal:顯示日歷

          • history:顯示命令歷史
          顯示歷史命令:
          history
          
          顯示特定數量的歷史命令:
          history 10
          
          查看特定用戶的命令歷史:-u選項用于查看指定用戶username的命令歷史
          history -u username
          
          搜索歷史命令:
          history | grep "search_pattern"
          • clear:清除屏幕或窗口內容
          • watch:用于實時查看當前命令打印信息

          果有人說開發Web系統,從來沒用到過HTML標簽中的表單標簽的話,那他或她,肯定不是在逗你玩,而是他們開發的是靜態頁面。如果是動態內容的話,表單標簽是必須用到的,畢竟它們是標簽界的杠把子,表單是一個包含表單元素的區域。

          表單元素是允許用戶在表單中輸入內容,比如:文本域(textarea)、下拉列表、單選框(radio-buttons)、復選框(checkboxes)等等。

          6.1 登錄窗口

          細細想來,現在上什么平臺,好像都要登錄之后,才可以完成相關的業務操作。上電商平臺購物,登錄之后才可以付款,付款了才有貨收;上自媒體平臺,只有登錄之后,才可以發文章,發視頻。既然登錄這么常用,那我就HTML實現一下。

          <form>標簽用于創建供用戶輸入的HTML表單,它的action屬性綁定后端的業務處理方法(URL);method方法可選get或post。

          <input>標簽規定了用戶可以在其中輸入數據的輸入字段,type指定輸入類型,text為文本,password為密碼,可指定的類型還有好多種。name屬性指定input的名稱,而你輸入的值,會被賦給value屬性。

          <button>按鈕標簽,常用的類型的有提交用戶輸入內容的submit,有重置清空表單的reset。

          <!DOCTYPE html>
          <html>
          <head>
              <meta charset="UTF-8">
              <title>登錄之后更美</title>
          </head>
          <body>
          <form action="login">
              賬號:<input type="text" name="account"/><br/>
              密碼:<input type="password" name="pwd"/><br/><br/>
              <button type="submit">
                  登錄
              </button>
              <button type="reset">
                  重置
              </button>
          </form>
          </body>
          </html>

          輸出結果

          6.2 個人信息

          好多平臺,為了給你推薦個性化的需求,會有一個頁面讓你填寫個人信息,內容常常會有你的愛好、性別、生日什么的。如果你不填寫,不友好的平臺就不給你跳過。如果遇到這種平臺,我一般就直接跳過,不再用,畢竟有些信息是個人隱私,比如老陳搞了10多年IT。

          radio單選按鈕,屬性name的值相同時,多選一,否則都可以選擇;

          checkbox復習框:可以勾選多個。常用在興趣等多個類型選擇中;

          select下拉列表框:在多個預設選項中,選擇其中一個;

          textarea多行輸入框:輸入的內容較多時,就用它。rows屬性指定行數,cols指定列數。

          <!DOCTYPE html>
          <html>
          <head>
              <meta charset="UTF-8">
              <title>亮出你的美</title>
          </head>
          <body>
          個人信息登記 <br/> <br/>
          <form action="infoSubmit">
              姓名:<input type="text" name="name"/><br/>
              性別:<input type="radio" name="gender" value="male"/>男
              <input type="radio" name="gender" value="female"/>女<br/>
              興趣:<input type="checkbox" name="p" value="p"/>編程
              <input type="checkbox" name="k" value="k"/>看書
              <input type="checkbox" name="c" value="c"/>看電影
              <input type="checkbox" name="l" value="l"/>看美女
              <br/>
              愛好:
              <select name="love">
                  <option value="x">下象棋</option>
                  <option value="j">下軍旗</option>
                  <option value="t">下跳棋</option>
                  <option value="w">下圍棋</option>
              </select>
              <br/><br/>
              <textarea rows="10" cols="35">個人簡介</textarea><br/><br/>
              <button type="submit">
                  提交
              </button>
              <button type="reset">
                  重置
              </button>
          </form>
          </body>
          </html>

          輸出結果

          好了,有關html表單的內容,老陳講完了,如果覺得對你有所幫助,希望老鐵能轉發點贊,讓更多的人看到這篇文章。你的轉發和點贊,就是對老陳繼續創作和分享最大的鼓勵。

          一個當了10年技術總監的老家伙,分享多年的編程經驗。想學編程的朋友,可關注:老陳說編程。分享Python,前端(小程序)、App和嵌入式方面的干貨。關注我,沒錯的。

          #前端##程序員##HTML5##表單##數據#

          大家好, 我是徐小夕, 之前和大家分享了一個在線文檔編輯器PowerNice, 它可以輕松幫我們編寫文檔并一鍵導出多種格式比如html,pdf, md, png圖片等, 如下:

          image.png

          最近為了讓編輯器滿足更多場景需求, 我開發了桌面端軟件版本——powernice-electron, 支持macwindow, 大家感興趣可以參考一下.

          image.png

          接下來我來對powernice 技術實現和功能做一個介紹.

          背景

          作為一名技術工作者, 我們經常會遇到編寫技術文檔, 技術分享等需求, 網上也有很多現成的文檔管理工具, 出于好奇心, 我拉著朋友一起實現了一個, 用來自給自足. 接下來就來介紹一下輕量級且靈活方便的文檔編輯工具—— 「powerNice」.

          「powerNice」 提供兩種方式來編寫文章/文檔, 即程序員最喜歡的 markdown, 也可以使用非技術人員最容易上手的富文本編輯器.

          demo演示

          技術選型

          實現 「powerNice」 在線文檔編輯器我們采用如下核心技術棧:

          • React
          • Ant Design
          • Dva
          • For-editor
          • Braft-editor
          • Nodejs
          • 瀏覽器指紋識別技術

          功能盤點

          1.多模式編輯

          多模式編輯主要是指我們可以用富文本和md編輯器來編輯我們的文章, 我們采用最熟悉的 React 來實現, 效果如下:



          2. 多主題

          目前支持2套主題, 淺色和深色, 主要從用戶體驗的角度方便用戶夜間寫作. 效果如下:

          1. 深色
          2. 淺色

          3. 支持一鍵導入導出

          為了提高我們的寫作效率以及對文章的多路復用, 我們提供了一鍵導入導出文件等功能, 具體如下:

          • 導出 Markdown
          • 導出 PDF
          • 基于文章導出海報圖
          • 導入 Markdown 文件
          • 下載文章 html 內容

          使用截圖如下:

          下載的html內容預覽如下:

          還原度還是非常高的~

          4. 多模式預覽

          多模式預覽主要是右側的預覽區, 我們支持手機端預覽和pc端預覽, 如下圖:

          5. 字數行數統計

          字數行數統計主要是幫助作者做內容統計, 這塊實現不是很難, 我們看看預覽效果:

          6. 文章管理

          文章管理主要是管理用戶編寫的內容, 這里因為我們做的是線上工具, 用戶識別主要采用瀏覽器指紋識別技術來區分用戶, 用戶可以輕松在編輯器文章列表中切換文章進行編輯, 效果如下:

          核心技術實現

          1. 導入導出多類型文件

          • 「導入md/html文件」 導入md文件我們主要利用antupload組件和FileReader API, 具體實現如下:
          {
            name: 'file',
            showUploadList: false,
            beforeUpload(file: any): any {
              const reader=new FileReader()
              reader.onload=function(e: Event) {
                const data=(e as any).target.result
                if (editor==='richText') {
                  // ...
                } else {
                  // ...
                }
              }
              reader.readAsText(file)
            },
          }
          
          • 「下載html」 下載html的原理也很簡單, 我們拿到渲染后的html字符串, 利用html模版將其包裝成完整的html, 最后再存儲為File對象, 利用file-saver實現下載. 思路如下:

          核心代碼如下:

          const doc=document.querySelector('.for-markdown-preview') as HTMLElement
          const html=createMDHtml(doc.innerHTML, article)
          file=new File([html], `${moment().format('YYYYMMDDHHmmss')}.html`, { type: 'text/html;charset=utf-8' })
          // 下載文件
          saveAs(file)
          

          2. 基于瀏覽器指紋識別技術的用戶識別

          瀏覽器指紋這塊知識點涉及的比較多, 筆者這里簡單介紹一下canvas指紋.

          ?

          「Canvas指紋」是利用系統之間, 字體渲染引擎, 抗鋸齒、次像素渲染等處理方式的差異而實現的一種指紋識別技術. 我們使用canvas將同樣的文字轉成圖片, 即便使用Canvas繪制相同的元素,但由于上述的差別得到的結果也是不同的。

          ?


          主站蜘蛛池模板: 琪琪see色原网一区二区| 在线观看国产一区亚洲bd| 无码AV一区二区三区无码 | 久久一区二区三区精品| 波多野结衣一区在线| 中文字幕日韩一区| 亚洲国产综合无码一区| 无码av中文一区二区三区桃花岛 | 91精品乱码一区二区三区| 亚洲一区二区三区乱码A| 日韩久久精品一区二区三区| 日韩人妻无码一区二区三区久久| 国产观看精品一区二区三区| 精品久久久久久中文字幕一区| 88国产精品视频一区二区三区| 中文无码精品一区二区三区| 立川理惠在线播放一区| 在线免费观看一区二区三区| 麻豆一区二区免费播放网站| 麻豆AV一区二区三区久久| 夜夜添无码试看一区二区三区| asmr国产一区在线| 精品一区二区三区水蜜桃| 日韩久久精品一区二区三区| 国产乱人伦精品一区二区 | 亚洲一区二区电影| 久久人妻内射无码一区三区| 国产一区二区三区不卡观| 任你躁国产自任一区二区三区 | 97一区二区三区四区久久| 91成人爽a毛片一区二区| 污污内射在线观看一区二区少妇| 中文字幕aⅴ人妻一区二区| 韩日午夜在线资源一区二区 | 亚洲一区动漫卡通在线播放| 青青青国产精品一区二区| 亚洲一区二区三区高清| 亚洲综合一区二区精品导航| 91在线看片一区国产| 99精品一区二区免费视频| 日韩精品一区二区三区中文精品|