隨筆-204  評論-90  文章-8  trackbacks-0
           
          echo "size" $'\t' "month" $'\t' "day" $'\t' "time" $'\t' "dir/file"
          posted @ 2008-04-17 12:08 一凡 閱讀(1429) | 評論 (0)編輯 收藏
              window --> preferences --> MyEclipse --> DataBase Explorer --> Drivers
                jar: 用db2jcc.jar 和 db2jcc_license_cu.jar連接
                driver :COM.ibm.db2.jdbc.net.DB2Driver

                而不是默認的COM.ibm.db2.jdbc.app.DB2Driver

                url:jdbc:db2://<host_name>:6789/<dbname>

          posted @ 2008-04-17 10:17 一凡 閱讀(1667) | 評論 (0)編輯 收藏
          1、發送源碼
          import java.io.BufferedReader;
          import java.io.BufferedWriter;
          import java.io.File;
          import java.io.FileReader;
          import java.io.IOException;
          import java.io.OutputStream;
          import java.io.OutputStreamWriter;
          import java.net.HttpURLConnection;
          import java.net.URL;



          /**
           * 通過HTTP上傳文件
           * 
          @author cnyqaio@hotmail.com
           * @create 2008-4-14
           
          */

          public class PostUrl {

              HttpURLConnection conn 
          = null;
              BufferedWriter bWriter 
          = null;
              OutputStream os 
          = null;
              OutputStreamWriter osw 
          = null;
              FileReader fr 
          = null;
              BufferedReader br 
          = null;
              String str 
          = "";
              
          char c = '\n';
              String filename 
          = "d:/shchinamobile.log";

              

              
          /**
               * 通過HTTP協議以POST形式發送指定文件至指定url
               * 
          @param url
               * 
          @throws IOException
               
          */
              
          public void sendPost(String url) {
                  
                  
          try {
                      File f 
          = new File(filename);
                      
                      URL url1 
          = new URL(url);
                      conn 
          = (HttpURLConnection)url1.openConnection();
                      conn.setRequestMethod(
          "POST");
                      conn.setRequestProperty(
          "Content-Type""application/x-www-form-urlencoded");
                      conn.setRequestProperty(
          "Connection""Keep-Alive");
                      conn.setUseCaches( 
          false);
                      conn.setDoOutput(
          true);
                      osw 
          = new OutputStreamWriter(conn.getOutputStream());
                      fr 
          = new FileReader(f);
                      br 
          = new BufferedReader(fr);
                      
          while((str = br.readLine()) != null) {
                          osw.write(str);
                          osw.write(c);
                      }
                      osw.flush() ;
                      osw.close() ;
                      
                      
          if (conn.getResponseCode() != HttpURLConnection.HTTP_OK)
                          System.out.println( 
          "connect failed!");
                  } 
          catch (IOException e) {
                      e.printStackTrace(System.out);
                  }
                  
          finally
                  {
                      
          if (osw != null)
                          
          try {
                              osw.close() ;
                          } 
          catch (IOException e1) {
                              e1.printStackTrace(System.out);
                          }
                      
                      
          if (conn != null)
                          conn.disconnect() ;
                  }
              }    

              
          public static void main(String[] args) {
                  PostUrl pu 
          = new PostUrl();
                  
          try {
                      pu.sendPost(
          "http://127.0.0.1:8080/testjava/testp.jsp");
                  } 
          catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          }

          2、接收JSP
          <%
               System.err.println(
          "This a struts page.");
               
                   
          //接收上傳的文件內容的臨時文件的文件名
                  String tempFileName=new String("tempFileName1");
                  
          //tempFile1對象指向這個臨時文件
                  File tempFile1=new File("D:/",tempFileName);
                  
          //outputFile1文件輸出流指向這個臨時文件
                  FileOutputStream outputFile1=new FileOutputStream(tempFile1);
                  
          //得到客戶端提交的所有數據
                  InputStream fileSource1=request.getInputStream();
                  
          //將得到的客戶端的數據寫入臨時文件
                  byte b[]=new byte[1000];
                  
          int n;
                  
          while((n=fileSource1.read(b))!=-1)
                      outputFile1.write(b,
          0,n);
                  
          //關閉輸出流和輸入流
                  outputFile1.close();
                  fileSource1.close();
                
               
          %>

          已測試通過

          還可以通HttpClient來發送,請參照:http://www.aygfsteel.com/willpower88/archive/2008/04/14/192679.html
          posted @ 2008-04-14 12:00 一凡 閱讀(11156) | 評論 (1)編輯 收藏
               摘要: 一般的情況下我們都是使用IE或者Navigator瀏覽器來訪問一個WEB服務器,用來瀏覽頁面查看信息或者提交一些數據等等。所訪問的這些頁面有的僅 僅是一些普通的頁面,有的需要用戶登錄后方可使用,或者需要認證以及是一些通過加密方式傳輸,例如HTTPS。目前我們使用的瀏覽器處理這些情況都不會構 成問題。不過你可能在某些時候需要通過程序來訪問這樣的一些頁面,比如從別人的網頁中“偷R...  閱讀全文
          posted @ 2008-04-14 10:35 一凡 閱讀(10052) | 評論 (1)編輯 收藏

          EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression.
          The field you are extracting must be a field of the datetime_value_expr or interval_value_expr. For example, you can extract only YEAR, MONTH, and DAY from a DATE value. Likewise, you can extract TIMEZONE_HOUR and TIMEZONE_MINUTE only from the TIMESTAMP WITH TIME ZONE datatype.
          eg.

          • SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return Current Year
          • SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return Current Month
          • SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return Current Day
          • SELECT EXTRACT(HOUR FROM SYSDATE) FROM DUAL;Error
                 Correct:SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
          • SELECT EXTRACT(MINUTE FROM SYSDATE) FROM DUAL;Error
                 Correct:SELECT EXTRACT(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;

                 以上是EXTRACT()函數的使用說明,英文部分有個很重要的部分.就是extract 抽取年月日部分和時分部分的使用方法是不同的.
          EXTRACT(YEAR FROM SYSDATE)中FROM 的下一個參數是日期類型的時候可以抽取年月日.就是說這個參數是日期類型的時候就可以抽取年\月\日,而抽取不了時\分部分.抽取時分部分得在FROM 后面加帶TIMESTAMP 且后面加時間字符.
             這里要注意,在(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10')中,如果把'2005-10-10 10:10:10'用日期類型的字段來代替并轉換成字符類型后,也是錯誤的,估計是這方法的問題.
              比如(MINUTE FROM TIMESTAMP to_date(to_char(日期類型,'YYYY-MM-DD hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss')),這樣執行不了的.


              如果真要從日期類型的字段中抽取時\分部分用to_char() 函數就可以了.比如to_char(日期類型,'hh24:mi') 


          posted @ 2008-04-07 15:24 一凡 閱讀(1294) | 評論 (1)編輯 收藏
          /   根目錄
           /bin    常用的命令 binary file 的目錄
           /boot   存放系統啟動時必須讀取的檔案,包括核心 (kernel) 在內
                /boot/grub/menu.lst   GRUB設置
                /boot/vmlinuz   內核
                /boot/initrd     核心解壓縮所需 RAM Disk
           /dev    系統周邊設備     
           /etc    系統相關設定文件
                /etc/DIR_COLORS   設定顏色
                /etc/HOSTNAME   設定用戶的節點名
                /etc/NETWORKING   只有YES標明網絡存在
                /etc/host.conf 文件說明用戶的系統如何查詢節點名
                /etc/hosts 設定用戶自已的IP與名字的對應表
                /etc/hosts.allow 設置允許使用inetd的機器使用 
                /etc/hosts.deny 設置不允許使用inetd的機器使用
                /etc/hosts.equiv 設置遠端機不用密碼
                /etc/inetd.conf 設定系統網絡守護進程inetd的配置
                /etc/gateways 設定路由器
                /etc/protocols 設定系統支持的協議
                /etc/named.boot 設定本機為名字服務器的配置文件
                /etc/sysconfig/network-scripts/ifcfg-eth0   設置IP
                /etc/resolv.conf    設置DNS  
                /etc/X11  X Window的配置文件,xorg.conf 或 XF86Config 這兩個 X Server 的設定檔
                /etc/fstab    記錄開機要mount的文件系統
                /etc/inittab 設定系統啟動時init進程將把系統設置成什么樣的runlevel
                /etc/issue 記錄用戶登錄前顯示的信息
                /etc/group 設定用戶的組名與相關信息
                /etc/passwd 帳號信息
                /etc/shadow 密碼信息
                /etc/sudoers 可以sudo命令的配置文件
                /etc/securetty 設定哪些終端可以讓root登錄
                /etc/login.defs 所有用戶登錄時的缺省配置
                /etc/exports 設定NFS系統用的
                /etc/init.d/   所有服務的預設啟動 script 都是放在這裡的,例如要啟動或者關閉
                /etc/xinetd.d/  這就是所謂的 super daemon 管理的各項服務的設定檔目錄
                /etc/modprobe.conf   內核模塊額外參數設定
                /etc/syslog.conf   日志設置文件
           /home   使用者家目錄
           /lib    系統會使用到的函數庫
                /lib/modules   kernel 的相關模塊
                /var/lib/rpm   rpm套件安裝處 
           /lost+found    系統不正常產生錯誤時,會將一些遺失的片段放置於此目錄下
           /mnt     外設的掛載點
           /media   與/mnt類似
           /opt     主機額外安裝的軟件
           /proc    虛擬目錄,是內存的映射
                 /proc/version   內核版本
                  /proc/sys/kernel   系統內核功能
           /root    系統管理員的家目錄
           /sbin    系統管理員才能執行的指令
           /srv     一些服務啟動之後,這些服務所需要取用的資料目錄
           /tmp     一般使用者或者是正在執行的程序暫時放置檔案的地方
           /usr     最大的目錄,存許應用程序和文件
               /usr/X11R6:   X-Window目錄 
               /usr/src:    Linux源代碼
               /usr/include:系統頭文件
               /usr/openwin 存放SUN的OpenWin 
               /usr/man 在線使用手冊
               /usr/bin           使用者可執行的 binary file 的目錄
               /usr/local/bin     使用者可執行的 binary file 的目錄
               /usr/lib           系統會使用到的函數庫
               /usr/local/lib     系統會使用到的函數庫
               /usr/sbin          系統管理員才能執行的指令
               /usr/local/sbin    系統管理員才能執行的指令
           /var   日志文件
               /var/log/secure    記錄登入系統存取資料的檔案,例如 pop3, ssh, telnet, ftp 等都會記錄在此檔案中
               /var/log/wtmp      記錄登入者的訊息資料, last
               /var/log/messages  幾乎系統發生的錯誤訊息
               /var/log/boot.log  記錄開機或者是一些服務啟動的時候,所顯示的啟動或關閉訊息
               /var/log/maillog   紀錄郵件存取或往來( sendmail 與 pop3 )的使用者記錄
               /var/log/cron      記錄 crontab 這個例行性服務的內容
               /var/log/httpd, /var/log/news, /var/log/mysqld.log, /var/log/samba, /var/log/procmail.log:
               分別是幾個不同的網路服務的記錄檔
            
           一些常用的基本命令:
           uname -a    查看內核版本       
           ls -al    顯示所有文件的屬性
           pwd         顯示當前路徑        
           cd -    返回上一次目錄     cd ~    返回主目錄
           date s      設置時間、日期          
           cal      顯示日歷     cal 2006
           bc          計算器具               
           man  & info     幫助手冊
           locale     顯示當前字體     locale -a    所有可用字體     /etc/sysconfig/i18n設置文件
           LANG=en    使用英文字體            
           sync       將數據同步寫入硬盤        
           shutdonw -h now & halt& poweroff  關機
           reboot     重啟                   
           startx  &  init 5   進入圖形介面
           /work  & ?work    向上、下查找文檔內容
           chgrp      改變檔案群組  chgrp testing install.log    
           chown     改變所屬人   chown root:root install.log
           chmod      改變屬性     chmod 777 install.log     read=4  write=2  execute=1
           cp   復制   cp filename
           rm   刪除文件  rm -rf filename   強制刪除文件
           rmdir   刪除文件夾
           mv  移動    mv 123.txt 222.txt  重命名
           mkdir     創建文件夾
           touch     創建文件  更新當前時間
           cat       由第一行開始顯示     cat |more  分頁
           nl        在內容前加行號
           more  &  less   一面一面翻動
           head -n filename   顯示第N行內容
           tail -n filename  顯示后N行內容
           od        顯示非純文檔
           df -h 顯示分區空間
           du  顯示目錄或文件的大小
           fdisk   分區設置    fdisk -l /dev/hda  顯示硬盤分區狀態
           mkfs    建立各種文件系統  mkfs -t ext3  /dev/ram15   
           fsck    檢查和修復LINUX檔案
           ln      硬鏈接   ln -s  軟件鏈接
           whereis   查找命令
           locate    查找
           find      查找   find / -name "***.***"
           which     查看工具
           whoami    顯示當前用戶
           gcc -v    查看GCC版本
           chattr +i filename  禁止刪除   chattr -i filename  取消禁止
           lsattr    顯示隱藏檔屬性
           updatedb  更新資料庫
           mke2fs    格式化   mkfs -t ext3 
           dd if=/etc/passwd of=/tmp/passwd.bak    備份
           mount     列出系統所有的分區
           mount -t iso9660 /dev/cdrom /mnt/cdrom   掛載光盤
           mount -t vfat /dev/fd0 /mnt/floppy       掛載軟盤
           mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2   掛載fat32分區
           mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3         掛載ntfs分區
           Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
           umount /mnt/hda3  缷載
           ifconfig   顯示或設置網絡設備
           service network restart   重啟網卡  
           ifdown eth0  關閉網卡
           ifup eth0    開啟網卡
           clear    清屏
           history    歷史記錄       !55  執行第55個指令
           stty   設置終端    stty -a
           fdisk /mbr   刪除GRUB
           at     僅進行一次的工作排程
           crontab   循環執行的例行性命令    [e]編輯,[l]顯示,[r]刪除任務
           &       后臺運行程序    tar -zxvf 123.tar.gz & --------->后臺運行
           jobs    觀看后臺暫停的程序   jobs -l
           fg      將后臺程序調到前臺   fg n ------>n是數字,可以指定進行那個程序
           bg      讓工作在后臺運行
           kill    結束進程    kill -9 PID     [9]強制結束,[15]正常結束,[l]列出可用的kill信號
           ps aux  查看后臺程序   
           top     查看后臺程序   top -d 2    每兩秒更新一次        top -d 2 -p10604   觀看某個PID
                   top -b -n 2 > /tmp/top.txt ----->將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt    
           pstree   以樹狀圖顯示程序    [A]以 ASCII 來連接, [u]列出PID, [p]列出帳號
           killall   要刪除某個服務    killall -9 httpd
           free      顯示內存狀態     free -m  -------->以M為單位顯示
           uptime    顯示目前系統開機時間
           netstat   顯示網絡狀態    netstat -tulnp------>找出目前系統上已在監聽的網路連線及其 PID
           dmesg     顯示開機信息    demsg | more
           nice      設置優先權      nice -n -5 vi & ----->用 root 給一個 nice 植為 -5 ,用於執行 vi 
           renice    調整已存在優先權
           runlevel  顯示目前的runlevel
           depmod    分析可載入模塊的相依性
           lsmod     顯示已載入系統的模塊
           modinfo   顯示kernel模塊的信息
           insmod    載入模塊
           modprobe   自動處理可載入模塊
           rmmod     刪除模塊
           chkconfig   檢查,設置系統的各種服務     chkconfig --list ----->列出各項服務狀態
           ntsysv     設置系統的各種服務
           cpio      備份文件
            

           壓縮命令:
            *.Z      compress 程式壓縮的檔案; 
            *.bz2    bzip2 程式壓縮的檔案; 
            *.gz     gzip 程式壓縮的檔案; 
            *.tar    tar 程式打包的資料,並沒有壓縮過; 
            *.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
           compress filename  壓縮文件  加[-d]解壓  uncompress
           gzip filename   壓縮  加[-d]解壓  zcat 123.gz 查看壓縮文件內容
           bzip2 -z filename  壓縮  加[-d]解壓   bzcat filename.bz2  查看壓縮文件內容
           tar -cvf /home/123.tar /etc  打包,不壓縮
           tar -xvf 123.tar   解開包
           tar -zxvf /home/123.tar.gz  以gzip解壓
           tar -jxvf /home/123.tar.bz2  以bzip2解壓
           tar -ztvf /tmp/etc.tar.gz   查看tar內容
           cpio -covB  > [file|device]   份份
           cpio -icduv < [file|device]   還原
            
           vi一般用法
           一般模式              編輯模式                  指令模式
           h 左               a,i,r,o,A,I,R,O             :w 保存
           j 下                進入編輯模式                :w! 強制保存
           k 上                dd 刪除光標當前行           :q! 不保存離開
           l 右                ndd 刪除n行                 :wq! 保存后離開
           0 移動到行首        yy 復制當前行                :e! 還原原始檔
           $ 移動到行尾        nyy 復制n行                  :w filename 另存為
           H 屏幕最上          p,P 粘貼                     :set nu 設置行號
           M 屏幕中央          u  撤消                      :set nonu 取消行號
           L 屏幕最下          [Ctrl]+r 重做上一個動作       ZZ 保存離開
           G 檔案最后一行      [ctrl]+z 暫停退出            :set nohlsearch   永久地關閉高亮顯示
           /work 向下搜索                                   :sp 同時打開兩個文檔 
           ?work 向上搜索                                   [Ctrl]+w 兩個文檔設換
           gg 移動到檔案第一行                              :nohlsearch    暫時關閉高亮顯示
            
           認識SHELL
           alias    顯示當前所有的命令別名      alias lm="ls -al"   命令別名    unalias lm 取消命令別名
           type      類似which
           exprot    設置或顯示環境變量
           exprot PATH="$PATH":/sbin  添加/sbin入PATH路徑
           echo $PATH    顯示PATH路徑
           bash      進入子程序
           name=yang     設定變量
           unset name    取消變量
           echo $name    顯示變量的內容
           myname="$name its me"   &   myname='$name its me'     單引號時$name失去變量內容
           ciw=/etc/sysconfig/network-scripts/     設置路徑
           env      列出所有環境變量
           echo $RANDOM    顯示隨意產生的數
           set      設置SHELL
           PS1='[\u@\h \w \A #\#]\$ '     提示字元的設定
              [root@linux ~]# read [-pt] variable     -----------讀取鍵盤輸入的變量
              參數:
              -p  :後面可以接提示字元!
              -t  :後面可以接等待的『秒數!』
           declare    聲明 shell 變量
           ulimit -a   顯示所有限制資料
            ls /tmp/yang && echo "exist" || echo "not exist"
            意思是說,當 ls /tmp/yang 執行後,若正確,就執行echo "exist" ,若有問題,就執行echo "not exist" 
            echo $PATH | cut -d ':' -f 5       以:為分隔符,讀取第5段內容
            export | cut -c 10-20      讀取第10到20個字節的內容
            last | grep 'root'    搜索有root的一行,加[-v]反向搜索
            cat /etc/passwd | sort    排序顯示
            cat /etc/passwd | wc      顯示『行、字數、字節數』
           正規表示法
           [root@test root]# grep [-acinv] '搜尋字串' filename
                  參數說明:
                  -a :將 binary 檔案以 text 檔案的方式搜尋資料
                  -c :計算找到 '搜尋字串' 的次數
                  -i :忽略大小寫的不同,所以大小寫視為相同
                  -n :順便輸出行號
                  -v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!
            grep -n 'the' 123.txt     搜索the字符 -----------搜尋特定字串       
            grep -n 't[ea]st' 123.txt    搜索test或taste兩個字符---------利用 [] 來搜尋集合字元
            grep -n '[^g]oo' 123.txt     搜索前面不為g的oo-----------向選擇 [^] 
            grep -n '[0-9]' 123.txt  搜索有0-9的數字
            grep -n '^the' 123.txt 搜索以the為行首-----------行首搜索^
            grep -n '^[^a-zA-Z]' 123.txt  搜索不以英文字母開頭
            grep -n '[a-z]$' 123.txt    搜索以a-z結尾的行---------- 行尾搜索$
            grep -n 'g..d' 123.txt     搜索開頭g結尾d字符----------任意一個字元 . 
            grep -n 'ooo*' 123.txt     搜索至少有兩個oo的字符---------重複字元 *
           sed    文本流編輯器    利用腳本命令來處理文本文件
           awd    模式掃描和處理語言
            nl 123.txt | sed '2,5d'   刪除第二到第五行的內容
           diff     比較文件的差異
           cmp      比較兩個文件是否有差異
           patch    修補文件
           pr       要打印的文件格式化
            

           帳號管理
           /etc/passwd    系統帳號信息
           /etc/shadow    帳號密碼信息    經MD5 32位加密
                在密碼欄前面加『 * 』『 ! 』禁止使用某帳號
           /etc/group     系統群組信息
           /etc/gshadow
           newgrp    改變登陸組
           useradd  &  adduser    建立新用戶  ---------> useradd -m test  自動建立用戶的登入目錄
                     useradd -m -g pgroup test --------->指定所屬級
           /etc/default/useradd   相關設定
           /etc/login.defs       UID/GID 有關的設定
           passwd    更改密碼 -----------> passwd test
           usermod   修改用戶帳號
           userdel   刪除帳號 ----------->userdel -r test
           chsh      更換登陸系統時使用的SHELL   [-l]顯示可用的SHELL;[-s]修改自己的SHELL
           chfn      改變finger指令顯示的信息
           finger    查找并顯示用戶信息
           id        顯示用戶的ID ----------->  id test
           groupadd   添加組
           groupmod   與usermod類似
           groupdel   刪除組
           su test    更改用戶   su -    進入root,且使用root的環境變量
           sudo       以其他身份來執行指令
           visudo     編輯/etc/sudoers      加入一行『 test ALL=(ALL) ALL 』
                      %wheel ALL = (ALL) ALL               系統里所有wheel群組的用戶都可用sudo
                      %wheel ALL = (ALL) NOPASSWD: ALL     wheel群組所有用戶都不用密碼NOPASSWD
                  User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3         加入ADMPW組
                  ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
                  !/usr/bin/passwd root      可以更改使用者密碼,但不能更改root密碼 (在指令前面加入 ! 代表不可)
           PAM (Pluggable Authentication Modules, 嵌入式模組)
           who & w     看誰在線                     
           last        最近登陸主機的信息
           lastlog     最近登入的時間    讀取 /var/log/lastlog 
           talk        與其他用戶交談
           write       發送信息    write test   [ctrl]+d 發送
           mesg        設置終端機的寫入權限    mesg n 禁止接收     mesg y 
           wall        向所有用戶發送信息    wall this is q test
           mail        寫mail   
           /etc/default/useradd    家目錄默認設置
           quota      顯示磁盤已使用的空間與限制     quota -guvs ----->秀出目前 root 自己的 quota 限制值
                      quota -vu   查詢
           quotacheck   檢查磁盤的使用空間與限制     quotacheck -avug  ----->將所有的在 /etc/mtab 內,含有 quota 支援的 partition 進行掃瞄
                        [-m] 強制掃描  
                quota一定要是獨立的分區,要有quota.user和quota.group兩件文件,在/etc/fstab添加一句:
                /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
                chmod 600 quota*         設置完成,重啟生效
           edquota    編輯用戶或群組的quota  [u]用戶,[g]群組,[p]復制,[t]設置寬限期限 
                      edquota -a yang       edquota -p yang -u young ----->復制    
           quotaon    開啟磁盤空間限制     quotaon -auvg -------->啟動所有的具有 quota 的 filesystem
           quotaoff   關閉磁盤空間限制     quotaoff -a  -------->關閉了 quota 的限制
           repquota -av     查閱系統內所有的具有 quota 的 filesystem 的限值狀態
           Quota 從開始準備 filesystem 的支援到整個設定結束的主要的步驟大概是:
           1、設定 partition 的 filesystem 支援 quota 參數:
           由於 quota 必須要讓 partition 上面的 filesystem 支援才行,一般來說, 支援度最好的是 ext2/ext3 ,
           其他的 filesystem 類型鳥哥我是沒有試過啦! 啟動 filesystem 支援 quota 最簡單就是編輯 /etc/fstab ,
           使得準備要開放的 quota 磁碟可以支援 quota 囉;
           2、建立 quota 記錄檔:
           剛剛前面講過,整個 quota 進行磁碟限制值記錄的檔案是 aquota.user/aquota.group, 
           要建立這兩個檔案就必須要先利用 quotacheck 掃瞄才行喔!
           3、編輯 quota 限制值資料:
           再來就是使用 edquota 來編輯每個使用者或群組的可使用空間囉;
           4、重新掃瞄與啟動 quota :
           設定好 quota 之後,建議可以再進行一次 quotacheck ,然後再以 quotaon 來啟動吧!

           開機流程簡介
           1、載入 BIOS 的硬體資訊,並取得第一個開機裝置的代號; 
           2、讀取第一個開機裝置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的開機資訊; 
           3、載入 Kernel 作業系統核心資訊, Kernel 開始解壓縮,並且嘗試驅動所有硬體裝置; 
           4、Kernel 執行 init 程式並取得 run-level 資訊; 
           5、init 執行 /etc/rc.d/rc.sysinit 檔案; 
           6、啟動核心的外掛模組 (/etc/modprobe.conf); 
           7、init 執行 run-level 的各個批次檔( Scripts ); 
           8、init 執行 /etc/rc.d/rc.local 檔案; 
           9、執行 /bin/login 程式,並等待使用者登入; 
           10、登入之後開始以 Shell 控管主機。 
           在/etc/rc.d/rc3.d內,以S開頭的為開機啟動,以K開頭的為關閉,接著的數字代表執行順序
           GRUB vga設定
           彩度\解析度  640x480  800x600  1024x768  1280x1024   bit 
               256        769      771      773       775      8 bit 
              32768       784      787      790       793     15 bit 
              65536       785      788      791       794     16 bit 
              16.8M       786      789      792       795     32 bit 

           ./configure    檢查系統信息       ./configure --help | more  幫助信息
           make clean     清除之前留下的文件
           make           編譯
           make install   安裝
           rpm -q  ----->查詢是否安裝             rpm -ql ------>查詢該套件所有的目錄
           rpm -qi ----->查詢套件的說明資料       rpm -qc[d] ----->設定檔與說明檔
           rpm -ivh  ---->安裝                    rpm -V  -------->查看套件有否更動過
           rpm -e  ------>刪除                    rpm -Uvh ------->升級安裝  
           --nodeps ----->強行安裝                --test ----->測試安裝
          posted @ 2008-03-19 15:21 一凡 閱讀(350) | 評論 (2)編輯 收藏
          time 指令可以顯示的資源有四大項,分別是:
          Time resources
          Memory resources
          IO resources
          Command info
          詳細的內容如下:

          Time Resources
          E 執行指令所花費的時間,格式是:[hour]:minute:second。請注意這個數字并不代表實際的 CPU 時間。
          e 執行指令所花費的時間,單位是秒。請注意這個數字并不代表實際的 CPU 時間。
          S 指令執行時在核心模式(kernel mode)所花費的時間,單位是秒。
          U 指令執行時在使用者模式(user mode)所花費的時間,單位是秒。
          P 執行指令時 CPU 的占用比例。其實這個數字就是核心模式加上使用者模式的 CPU 時間除以總時間。

          Memory Resources
          M 執行時所占用的實體記憶體的最大值。單位是 KB
          t 執行時所占用的實體記憶體的平均值,單位是 KB
          K 執行程序所占用的記憶體總量(stack+data+text)的平均大小,單位是 KB
          D 執行程序的自有資料區(unshared data area)的平均大小,單位是 KB
          p 執行程序的自有堆疊(unshared stack)的平均大小,單位是 KB
          X 執行程序間共享內容(shared text)的平均值,單位是 KB
          Z 系統記憶體頁的大小,單位是 byte。對同一個系統來說這是個常數

          IO Resources
          F 此程序的主要記憶體頁錯誤發生次數。所謂的主要記憶體頁錯誤是指某一記憶體頁已經置換到置換檔(swap file)中,而且已經分配給其他程序。此時該頁的內容必須從置換檔里再讀出來。
          R 此程序的次要記憶體頁錯誤發生次數。所謂的次要記憶體頁錯誤是指某一記憶體頁雖然已經置換到置換檔中,但尚未分配給其他程序。此時該頁的內容并未被破壞,不必從置換檔里讀出來
          W 此程序被交換到置換檔的次數
          c 此程序被強迫中斷(像是分配到的 CPU 時間耗盡)的次數
          w 此程序自愿中斷(像是在等待某一個 I/O 執行完畢,像是磁碟讀取等等)的次數
          I 此程序所輸入的檔案數
          O 此程序所輸出的檔案數
          r 此程序所收到的 Socket Message
          s 此程序所送出的 Socket Message
          k 此程序所收到的信號 ( Signal )數量

          Command Info
          C 執行時的參數以及指令名稱
          x 指令的結束代碼 ( Exit Status )

          -p or --portability
          這個選項會自動把顯示格式設定成為:
          real %e
          user %U
          sys %S
          這么做的目的是為了與 POSIX 規格相容。
          -v or --verbose
          這個選項會把所有程式中用到的資源通通列出來,不但如一般英文語句,還有說明。對不想花時間去熟習格式設定或是剛剛開始接觸這個指令的人相當有用。
          范例:
          利用下面的指令
          time -v ps -aux
          我們可以獲得執行 ps -aux 的結果和所花費的系統資源。如下面所列的資料:
          USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
          root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
          root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
          root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
          ......
          root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux
          Command being timed: "ps -aux"
          User time (seconds): 0.05
          System time (seconds): 0.06
          Percent of CPU this job got: 68%
          Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
          Average shared text size (kbytes): 0
          Average unshared data size (kbytes): 0
          Average stack size (kbytes): 0
          Average total size (kbytes): 0
          Maximum resident set size (kbytes): 0
          Average resident set size (kbytes): 0
          Major (requiring I/O) page faults: 238
          Minor (reclaiming a frame) page faults: 46
          Voluntary context switches: 0
          Involuntary context switches: 0
          Swaps: 0
          File system inputs: 0
          File system outputs: 0
          Socket messages sent: 0
          Socket messages received: 0
          Signals delivered: 0
          Page size (bytes): 4096
          Exit status: 0
          posted @ 2008-03-10 16:06 一凡 閱讀(901) | 評論 (0)編輯 收藏
              在一個群發程序中,我用了static的變量rs,在多線程下總出現rs用盡的情況,昨天才被同事發現這個毛病,所以在這里告戒大家同時也加強我的記憶,在寫多線程程序時要注意static變量的使用。
          posted @ 2008-03-07 14:30 一凡 閱讀(2403) | 評論 (0)編輯 收藏
          觸發器自動啟用事務,這個事務的取消會造成整個語句執行的失敗

          在自己的機器上試了一下.我的環境是:
          WINDOWS SERVER2003 SP1 + SQLSERVER2000 SP4 + ACCESS2003
          觸發器很簡單,只有一行:
          create trigger trg_update on testtb
          for update
          as
          insert into openrowset('Microsoft.Jet.OLEDB.4.0', 'd:\test.mdb';'admin';'',table1)(id) select id from testtb
          go

          更新表testtb時報錯:
          請求的操作未能執行,因為 OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不支持所需的事務接口。
          OLE DB 錯誤跟蹤[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IUnknown:ueryInterface returned 0x80004002]。
          -------------------------------------------------------------------------------------
          如果在insert into openrowset(...)之前加上commit則成功,例如:
          alter trigger trg_update on testtb
          for update
          as
          begin transaction /*啟用嵌套事務*/
          ... /*嵌套事務內操作*/
          commit /*提交嵌套事務*/
          commit /*提交觸發器本身的隱性事務(即最外層事務)*/
          insert into openrowset('Microsoft.Jet.OLEDB.4.0', 'd:\test.mdb';'admin';'',table1)(id) select id from testtb
          go
          這樣做的實質是觸發器中必須顯示地使用commit提交觸發器本身的隱性事務.缺點是向ACCESS插入行的操作不在事務的控制范圍內,如果向 ACCESS插入行的操作失敗,那么觸發器中所有的操作均無法被回滾,因為commit已經結束了觸發器的事務,操作已經被保存了.這樣的觸發器實際上只 是做到了實時性,卻無法保證SQLSERVER與ACCESS之間的數據一致性.

          posted @ 2008-02-28 19:46 一凡 閱讀(663) | 評論 (3)編輯 收藏
          DECLARE
              
          @IsInsert bit,
              
          @IsUpdate bit,
              
          @IsDelete bit

          IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
              
          SET @IsInsert = 1
          ELSE
              
          SET @IsInsert = 0

          IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
              
          SET @IsUpdate = 1
          ELSE
              
          SET @IsUpdate = 0

          IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
              
          SET @IsDelete = 1
          ELSE
              
          SET @IsDelete = 0 
          create   trigger   Update_Del   on   Table  
            
          for   update,delete  
            
          as  
            
          if   not   exists(select   1   from   inserted)  
            
          begin   /*inserted表無記錄,是刪除*/  
            
          end  
            
          else    
            
          begin   /*是更新*/   end  
            
          go 
          posted @ 2008-02-28 18:26 一凡 閱讀(4426) | 評論 (0)編輯 收藏
          僅列出標題
          共21頁: First 上一頁 9 10 11 12 13 14 15 16 17 下一頁 Last 
          主站蜘蛛池模板: 丁青县| 衡东县| 塔城市| 色达县| 土默特左旗| 昌邑市| 伊春市| 阿坝县| 广河县| 兴安盟| 星子县| 古交市| 拜泉县| 井冈山市| 江孜县| 盐边县| 巫山县| 凤阳县| 巢湖市| 通榆县| 吉林省| 大庆市| 同心县| 正安县| 图们市| 集贤县| 措勤县| 汕尾市| 齐齐哈尔市| 镇宁| 松溪县| 华阴市| 建宁县| 屯昌县| 汾西县| 淮北市| 廉江市| 盐源县| 龙门县| 永州市| 怀集县|