【出處】http://h1de0ut.com/bl0g/article/2012/03/01/emacs24-ricty-centos6/
 
 

kendoit 發表在 痞客邦 留言(0) 人氣()

image
來源: http://blog.yesican.tw/?p=912
幾天突然發現記憶體完全被吃光,連swap也一樣,硬碟也發出存取的聲音,查出原因是rtorrent非常耗記憶體,雖然抓檔速度超快,但是關掉後也沒將記憶體釋放,對整個系統還是有那麼一點影響,所以還是先採取手動釋放記憶體,經過釋放記憶體後,整個系統感覺也較順了。

kendoit 發表在 痞客邦 留言(0) 人氣()

 
grep [[:blank:]]w[[:blank:]]
才會抓到w
記得要雙括號!!
下面還有一些使用方式
[:alnum:] 字母數字符號
[:alpha:] 字母
[:ascii:] ASCII符號
[:blank:] 空格或是Tab
[:cntrl:] ASCII碼控制符號
[:digit:] 數字
[:graph:] 非控制,非空格符號
[:lower:] 小寫字母
[:print:] 可打印符號
[:punct:] 邊點符號
[:space:] 空白符號,包括垂直Tab
[:upper:] 大寫符號
[:xdigit:] 十六進制數字
^ 在一行的開始
$ 在一行的結尾
. 任意一個單一字元 

kendoit 發表在 痞客邦 留言(0) 人氣()

最近重新安裝 CentOS 6,在分割磁區時並沒有自己再調整過,後來發現系统分配给root的LVM空間太少.
 


[root@e171 home]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       50G   50G   0G  53% /
tmpfs                 7.8G   88K  7.8G   1% /dev/shm
/dev/sda1             485M   60M  400M  13% /boot
/dev/mapper/VolGroup-lv_home
                      296G  161G  121G  58% /home
總共才50G,决定给它增加容量 (務必做好重要文件備份,以防萬一.)
方法:
先减小VolGroup-lv_home的容量,再把减小的容量增加到VolGroup-lv_root.

kendoit 發表在 痞客邦 留言(0) 人氣()

寫個註解好了,以免之後又要重新google
 
實例:
在Apple上新增NFS分享的路徑(/Volumes/Raid1/L15_1),並mount到自己的機器上 (/NFS)

kendoit 發表在 痞客邦 留言(0) 人氣()


在安裝PHPExcel時,出現一行錯誤訊息
PHP Warning:  preg_match(): Compilation failed: support for \P, \p, and \X has not ........
原來是因為我的CentOS的正規沒有支援unicode (可以先下 pcretest -C,看看是否有出現 'No Unicode properties support')
解決方式如下,此為轉自網路某人的解法:
I talked about how to get the most out of running
regular expressions in PHP. The reason that I needed to dig in deep on
regular expression syntax with PHP is because I needed to write some
regular expressions that deal with Unicode characters.
After much reading, I believed that I knew everything that I needed. I
started writing some regex strings and testing the code.
Unfortunately, every time I ran a test with a string that contained
Unicode characters, the match failed. When I removed the Unicode
characters from the string and tested again, it would work. I was
baffled.
Finding the Problem
I had the regex testing characters (‘\X’, ‘\pL’, etc) inside of a
character class, such as ‘[\X-]‘, since I was creating a regex to test
for domains. I wrote a really simple rule by simply looking for ‘/^\X$/’
and testing the regex with a single Unicode character. Amazingly,
having the ‘\X’ outside of the square brackets changed everything as I
now received the following very concerning warning:
PHP Warning:  preg_match(): Compilation failed: support for \P,
\p, and \X has not been compiled at offset 2 in
wp-content/plugins/dnsyogi/testunicode.php on line 4
Since PHP uses the PCRE engine to run regular expressions, I started
to dig into it. I found out that I could query PCRE directly. I ended
up with something very similar:








1


$ pcregrep ‘/\X*/u’ character.txt


pcregrep: Error in command-line regex at offset 2: support for \P, \p, and \X has not been compiled
It looked like the error was coming from PCRE itself. I searched
around for a while thinking that I could simply install a new package
using yum. I hoped to find something like pcre-utf8, pcre-unicode,
php-pcre-unicode, or something to make it simple and quick to add this
support since I much prefer using package management tools rather than
compiling and installing from source.
Unfortunately, no such package exists. This support is something that
must be an option that PCRE is compiled with, and my CentOS repository
only has packages that don’t include that support. After much digging
around, I found that this isn’t necessarily CentOS’s fault as this
package has carried over from the RHEL (Red Hat Enterprice Linux) side
of things.
A great way of checking to see if this is an issue on your system is by running the following:








1
2
3
4
5
6
7
8
9
10
11


$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
No Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack


This is the output that I received. Notice the “UTF-8 support” and
the “No Unicode properties support” lines. This means that PRCE was
compiled with the “–enable-utf8″ configure option which allows PCRE to
recognize and work with UTF-8 encoded strings. However, it wasn’t
compiled with the “–enable-unicode-properties” configure option which
works in conjunction with the enable-utf8 option to add support for the
‘\p’, ‘\P’, and ‘\X’ character classes.
This seems to have been an oversight when the rpm file was first put together. Fortunately, there is a way to fix it.
Fixing the Problem
Since I’m sure that many of you are like me and would rather not
manually compile and install software outside of the package management
system, the solution is to update the rpm to have the option that it
needs and install it.
I had never done this before. Fortunately, I found a very helpful guide that details this process out very nicely: How to patch and rebuild an RPM package.
I have provided the new rpm file that I have built at the bottom of
this post. If you don’t care about all this jibber-jabber, you can skip
down there and grab the file. However, if you would like to learn how
to address this issue yourself or have a system that my file will not
support, please read on to see how I rebuilt the rpm with the new
option.
Rebuilding the rpm
  • The first thing I did is set up my ~/.rpmmacros file and src/rpm folder structure as detailed in the Setup section of the guide that I’m following. I’ll simply refer you over there as it doesn’t need repeating here.

  • I needed to grab the source rpm for the current version of PCRE on
    my platform. I’m on CentOS 5.2 with version 6.6 of PCRE. I found the
    matching source rpm file (pcre-6.6-2.el5_1.7.src.rpm) here.

  • I then installed the source rpm in order to gain access to its files:









    1


    $ rpm -ivh pcre-6.6-2.el5_1.7.src.rpm



    This put the necessary files into my ~/src/rpm/SOURCES and ~/src/rpm/SPECS folders.



  • I opened up the ~/src/rpm/SPECS/pcre.spec file and found the following line:
    Wrote: ~/src/rpm/SRPMS/pcre-6.6-2.7.src.rpm
    Wrote: ~/src/rpm/RPMS/x86_64/pcre-6.6-2.7.x86_64.rpm
    Wrote: ~/src/rpm/RPMS/x86_64/pcre-devel-6.6-2.7.x86_64.rpm
    Wrote: ~/src/rpm/RPMS/x86_64/pcre-debuginfo-6.6-2.7.x86_64.rpm

    This tells me exactly where I can find my new source rpm and rpm files.


    Updated rpm File for CentOS 5.2 64-bit <--這是我所用的方法


    If you are running a 64-bit version of CentOS 5.2, the following file
    should work for you. If you have a different architecture, Linux
    distro, or encounter any errors when trying to install this file, then
    you should follow the instructions above to build an rpm that is
    suitable for your distribution.


    pcre-6.6-2.7.x86_64.rpm – PCRE 6.6 for CentOS 5.2 64-bit



    Thanks Robin for providing a 32-bit version: pcre-6.6-2.7.i386.rpm


    Installing New rpm


    Now that I have my new rpm file, I just need to install it. Since I
    already have a pcre package installed, I need to tell the rpm command to
    update rather than install. The following command does this for me:











    1


    # rpm -Uvh ~/src/rpm/RPMS/x86_64/pcre-6.6-2.7.x86_64.rpm



    Notice that I need to be root to run this command.


    Finally, to verify that everything worked, I ran the pcrecheck program again:











    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11


    <pre>$ pcretest -C
    PCRE version 6.6 06-Feb-2006
    Compiled with
    UTF-8 support
    Unicode properties support
    Newline character is LF
    Internal link size = 2
    POSIX malloc threshold = 10
    Default match limit = 10000000
    Default recursion depth limit = 10000000
    Match recursion uses stack



    Looks good.




  • kendoit 發表在 痞客邦 留言(0) 人氣()

    網路安裝CentOS
    Linux除了可以以光碟DVD-iso安裝外,也可以使用網路安裝
    尤其是那種老舊電腦,只有CD-Rom光碟機,沒有DVD光碟機
    就可以使用網路來安裝
    首先先到義守大學的檔案伺服器去download網路安裝開機ISO檔燒成光碟
    http://ftp.isu.edu.tw/pub/Linux/CentOS/5.5/isos/i386/CentOS-5.5-i386-netinstall.iso
    接著將開機光碟放入光碟機中,使用光碟開機
    依照提示先設定好IP後,再指定安裝來源
    安裝來源選擇HTTP或FTP,接著輸入伺服器名稱和位址
    如http來源設定為
    ftp.isu.edu.tw/pub/Linux/CentOS/5.5/isos/i386/
    接著依照提示下一步設定要安裝的套件後即可完成安裝,網路愈快當然安裝的愈快囉~~
    另外,若要是電腦老舊到連CD-Rom也沒有怎麼辦!
    還可以使用USB隨身碟來安裝Linux,不過電腦得先support USB開機
    先利用UNetbootin這支程式來建立USB開機檔
    http://unetbootin.sourceforge.net/  (只能使用網路安裝,或預先把映像檔放在硬碟中)
    建立好後,使用USB隨身碟開機後,再如同上面的步驟使用網路安裝即可

    kendoit 發表在 痞客邦 留言(0) 人氣()



    看鳥哥知道了一套分析apache log的工具 - AWStats
     
    加入來源國家分析 - 引用來源:【Awstats 安裝國家和城市插件(GeoIP/GeoIPCityLite)】

    kendoit 發表在 痞客邦 留言(0) 人氣()


    [轉貼] JQuery 批次上傳 Uploadify 詳解說明






    以下資料只轉貼部分文章。
    資料來源:http://blog.csdn.net/oec2003/archive/2010/01/06/5140732.aspx
    Uploadify是JQuery的一個上傳插件,實現的效果非常不錯,帶進度顯示。不過官方提供的實例時php版本的,本文將詳細介紹Uploadify在Aspnet中的使用,您也可以點擊下面的鏈接進行演示或下載



    uploader : uploadify.swf 文件的相對路徑,該swf文件是一個帶有文字BROWSE的按鈕,點擊後淡出打開文件對話框,默認值:uploadify.swf。
    script : 後台處理程序的相對路徑。默認值:uploadify.php
    checkScript :用來判斷上傳選擇的文件在服務器是否存在的後台處理程序的相對路徑
    fileDataName :設置一個名字,在服務器處理程序中根據該名字來取上傳文件的數據。默認為Filedata
    method : 提交方式Post 或Get 默認為Post
    scriptAccess flash腳本文件的訪問模式,如果在本地測試設置為always,默認值:sameDomain
    folder : 上傳文件存放的目錄 。
    queueID : 文件隊列的ID,該ID與存放文件隊列的div的ID一致。
    queueSizeLimit : 當允許多文件生成時,設置選擇文件的個數,默認值:999 。
    multi : 設置為true時可以上傳多個文件。
    auto : 設置為true當選擇文件後就直接上傳了,為false需要點擊上傳按鈕才上傳。
    fileDesc : 這個屬性值必須設置fileExt屬性後才有效,用來設置選擇文件對話框中的提示文本,如設置fileDesc為“請選擇rar doc pdf文件”。
    fileExt : 設置可以選擇的文件的類型,格式如:'*.doc;*.pdf;*.rar' 。
    sizeLimit : 上傳文件的大小限制 。
    simUploadLimit : 允許同時上傳的個數默認值:1 。
    buttonText : 瀏覽按鈕的文本,默認值:BROWSE 。
    buttonImg : 瀏覽按鈕的圖片的路徑 。
    hideButton : 設置為true則隱藏瀏覽按鈕的圖片。
    rollover : 值為true和false,設置為true時當鼠標移到瀏覽按鈕上時有反轉效果。
    width : 設置瀏覽按鈕的寬度,默認值:110。
    height : 設置瀏覽按鈕的高度,默認值:30。
    wmode : 設置該項為transparent 可以使瀏覽按鈕的flash背景文件透明,並且flash文件會被置為頁面的最高層。默認值:opaque 。
    cancelImg :選擇文件到文件隊列中後的每一個文件上的關閉按鈕圖標。
    上面介紹的key值的value都為字符串或是布爾類型,比較簡單,接下來要介紹的key值的value為一個函數,可以在選擇文件、出錯或其他一些操作的時候返回一些信息給用戶。
    onInit : 做一些初始化的工作。
    onSelect :選擇文件時觸發,該函數有三個參數
        * event:事件對象。
        * queueID:文件的唯一標識,由6為隨機字符組成。
        * fileObj:選擇的文件對象,有name、size、creationDate、modificationDate、type 5個屬性。
    代碼如下:


    1. $(document).ready(function()

    2. {

    3.     $("#uploadify").uploadify({

    4.         'uploader': 'JS/jquery.uploadify-v2.1.0/uploadify.swf',

    5.         'script': 'UploadHandler.ashx',

    6.         'cancelImg': 'JS/jquery.uploadify-v2.1.0/cancel.png',

    7.         'folder': 'UploadFile',

    8.         'queueID': 'fileQueue',

    9.         'auto': false,

    10.         'multi': true,

    11.         'onInit':function(){alert("1");},

    12.         'onSelect': function(e, queueId, fileObj)

    13.         {

    14.             alert("唯一標識:" + queueId + "\r\n" +

    15.                   "文件名:" + fileObj.name + "\r\n" +

    16.                   "文件大小:" + fileObj.size + "\r\n" +

    17.                   "創建時間:" + fileObj.creationDate + "\r\n" +

    18.                   "最後修改時間:" + fileObj.modificationDate + "\r\n" +

    19.                   "文件類型:" + fileObj.type

    20.             );

    21.         }

    22.     });

    23. });


    複製代碼

    onSelectOnce :在單文件或多文件上傳時,選擇文件時觸發。該函數有兩個參數event,data,data對像有以下幾個屬性:
        * fileCount:選擇文件的總數。
        * filesSelected:同時選擇文件的個數,如果一次選擇了3個文件該屬性值為3。
        * filesReplaced:如果文件隊列中已經存在A和B兩個文件,再次選擇文件時又選擇了A和B,該屬性值為2。
        * allBytesTotal:所有選擇的文件的總大小。
    onCancel : 當點擊文件隊列中文件的關閉按鈕或點擊取消上傳時觸發。該函數有event、queueId、fileObj、data四個參數,前三個參數同onSelect 中的三個參數,data對像有兩個屬性fileCount和allBytesTotal。
        * fileCount:取消一個文件後,文件隊列中剩余文件的個數。
        * allBytesTotal:取消一個文件後,文件隊列中剩余文件的大小。
    onClearQueue :當調用函數fileUploadClearQueue時觸發。有event和data兩個參數,同onCancel 中的兩個對應參數。
    onQueueFull :當設置了queueSizeLimit並且選擇的文件個數超出了queueSizeLimit的值時觸發。該函數有兩個參數event和queueSizeLimit。
    onError :當上傳過程中發生錯誤時觸發。該函數有event、queueId、fileObj、errorObj四個參數,其中前三個參數同上,errorObj對像有type和info兩個屬性。
        * type:錯誤的類型,有三種'HTTP', 'IO', or 'Security'
        * info:錯誤的描述
    onOpen :點擊上傳時觸發,如果auto設置為true則是選擇文件時觸發,如果有多個文件上傳則遍歷整個文件隊列。該函數有event、queueId、fileObj三個參數,參數的解釋同上。
    onProgress :點擊上傳時觸發,如果auto設置為true則是選擇文件時觸發,如果有多個文件上傳則遍歷整個文件隊列,在onOpen之後觸發。該函數有event、queueId、fileObj、data四個參數,前三個參數的解釋同上。 data對像有四個屬性percentage、 bytesLoaded、allBytesLoaded、speed:
        * percentage:當前完成的百分比
        * bytesLoaded:當前上傳的大小
        * allBytesLoaded:文件隊列中已經上傳完的大小
        * speed:上傳速率 kb/s
    onComplete:文件上傳完成後觸發。該函數有四個參數event、queueId、fileObj、response、data五個參數,前三個參數同上。 response為後台處理程序返回的值,在上面的例子中為1或0,data有兩個屬性fileCount和speed
        * fileCount:剩餘沒有上傳完成的文件的個數。
        * speed:文件上傳的平均速率 kb/s
    onAllComplete:文件隊列中所有的文件上傳完成後觸發。該函數有event和data兩個參數,data有四個屬性,分別為:
        * filesUploaded :上傳的所有文件個數。
        * errors :出現錯誤的個數。
        * allBytesLoaded :所有上傳文件的總大小。
        * speed :平均上傳速率 kb/s
    相關函數介紹
    在上面的例子中已經用了uploadifyUpload和uploadifyClearQueue兩個函數,除此之外還有幾個函數:
    uploadifySettings:可以動態修改上面介紹的那些key值,如下面代碼
    $('#uploadify').uploadifySettings('folder','JS');
    如果上傳按鈕的事件寫成下面這樣,文件將會上傳到uploadifySettings定義的目錄中
    <a href="javascript: $('#uploadify').uploadifySettings('folder','JS');
    $('#uploadify').uploadifyUpload()">上傳</a>
    uploadifyCancel:該函數接受一個queueID作為參數,可以取消文件隊列中指定queueID的文件。
    $('#uploadify').uploadifyCancel(id);





    kendoit 發表在 痞客邦 留言(0) 人氣()

    1、查閱資料表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷
    select * from people
    where peopleId in (select   peopleId  from   people  group  by   peopleId  having  count(peopleId) > 1)
    2、刪除表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷,只留有rowid最小的記錄
    delete from people
    where peopleId  in (select   peopleId  from people  group  by   peopleId   having  count(peopleId) > 1)
    and rowid not in (select min(rowid) from   people  group by peopleId  having count(peopleId )>1)
    3、查閱資料表中多餘的重複記錄(多個欄位)
    select * from vitae a
    where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)
    4、刪除表中多餘的重複記錄(多個欄位),只留有rowid最小的記錄
    delete from vitae a
    where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
    5、查閱資料表中多餘的重複記錄(多個欄位),不包含rowid最小的記錄
    select * from vitae a
    where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
    and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
    (二)
    比方說
    在A表中存在一個欄位“name”,
    而且不同記錄之間的“name”值有可能會相同,
    現在就是需要查詢出在該表中的各記錄之間,“name”值存在重複的項;
    Select Name,Count(*) From A Group By Name Having Count(*) > 1
    如果還查性別也相同大則如下:
    Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1
    (三)
    方法一
    declare @max integer,@id integer
    declare cur_rows cursor local for select 主欄位,count(*) from 表名 group by 主欄位 having count(*) >; 1
    open cur_rows
    fetch cur_rows into @id,@max
    while @@fetch_status=0
    begin
    select @max = @max -1
    set rowcount @max
    delete from 表名 where 主欄位 = @id
    fetch cur_rows into @id,@max
    end
    close cur_rows
    set rowcount 0
      方法二
      有兩個意義上的重複記錄,一是完全重複的記錄,也即所有欄位均重複的記錄,二是部分關鍵字段重複的記錄,比如Name欄位重複,而其他欄位不一定重複或都重複可以忽略。
      1、對於第一種重複,比較容易解決,使用
    select distinct * from tableName
      就可以得到無重複記錄的結果集。
      如果該表需要刪除重複的記錄(重複記錄保留1條),可以按以下方法刪除
    select distinct * into #Tmp from tableName
    drop table tableName
    select * into tableName from #Tmp
    drop table #Tmp
      發生這種重複的原因是表設計不周產生的,增加唯一索引列即可解決。
      2、這類重複問題通常要求保留重複記錄中的第一條記錄,操作方法如下
      假設有重複的欄位為Name,Address,要求得到這兩個欄位唯一的結果集
    select identity(int,1,1) as autoID, * into #Tmp from tableName
    select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
    select * from #Tmp where autoID in(select autoID from #tmp2)
      最後一個select即得到了Name,Address不重複的結果集(但多了一個autoID欄位,實際寫時可以寫在select子句中省去此列)
    (四)查詢重複
    select * from tablename where id in (
    select id from tablename
    group by id
    having count(id) > 1
    )

    kendoit 發表在 痞客邦 留言(0) 人氣()

    #!/bin/bash
    # FTP backup transfer script
    # For Use to transfer backup file to FTP Server
    #開始定義下面所會使用到的變數
    ##FTP主機
    hostip="192.168.1.252"
    ##時間參數 年月日
    today=`date +%Y%m%d`
    ##FTP主機 登錄帳號密碼
    fusername="fdzone"
    fpasswd="123456"
    ##本地端備份位置
    basedir="/home/backup"
    ##遠端FTP主機的路徑  如果直接複製在 根目錄 無須修改
    remodir="."
    ##定義 備份檔案 檔名
    filename="$today"_trade.tgz
    filename2="$today"_fin.tgz
    filename3="$today"_fax.tgz
    filename4="$today"_sub.tgz
    ##讓服務器重啟
    #/etc/rc.d/init.d/smb restart
    cd $basedir
    #製作當天紀錄
    echo "$today" DB1 Backup >> "$basedir"/backup.log
    echo "$today" DB1 Backup >> "$basedir"/backup_err.log
    ##開始將需要每日備份資料夾打包成tgz
    #tar -zcvf $filename /home/dbt6/TRADE6 > "$basedir"/backup.log 2> "$basedir"/backup_err.log
    #tar -zcvf $filename4 /home/dbt6/SUB > "$basedir"/backup.log 2> "$basedir"/backup_err.log
    #tar -zcvf $filename3 /home/dbt6/FAX > "$basedir"/backup.log 2> "$basedir"/backup_err.log
    #tar -zcvf $filename2 /home/fin > "$basedir"/backup.log 2> "$basedir"/backup_err.log
    ####
    ##
    ##開始針對需要遠端備份的資料夾 進行上傳
    ncftpput -u "$fusername" -p "$fpasswd" "$hostip" "$remodir" "$filename" >> "$basedir"/backup.log 2>> "$basedir"/backup_err.log
    ncftpput -u "$fusername" -p "$fpasswd" "$hostip" "$remodir" "$filename2" >> "$basedir"/backup.log 2>> "$basedir"/backup_err.log
    ncftpput -u "$fusername" -p "$fpasswd" "$hostip" "$remodir" "$filename3" >>"$basedir"/backup.log 2>> "$basedir"/backup_err.log
    ncftpput -u "$fusername" -p "$fpasswd" "$hostip" "$remodir" "$filename4" >> "$basedir"/backup.log 2>> "$basedir"/backup_err.log
    ##把 每日備份的記錄檔 寄至管理者郵件信箱
    mail -s "$today_ Backup List " ken.sd.hsu@gmail.com < /home/backup/backup.log

    kendoit 發表在 痞客邦 留言(0) 人氣()

    我的工作機系統是CentOS 5.4,但是他的PHP版本還是很老舊
    php -v
    PHP 5.1.6 (cli) (built: Jan 13 2010 17:09:42)
    Copyright (c) 1997-2006 The PHP Group
    Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

    kendoit 發表在 痞客邦 留言(0) 人氣()

    1
    Blog Stats
    ⚠️

    成人內容提醒

    本部落格內容僅限年滿十八歲者瀏覽。
    若您未滿十八歲,請立即離開。

    已滿十八歲者,亦請勿將內容提供給未成年人士。