2016年12月12日 星期一

[ORACLE]導出入工具exp/imp/expdp/impdp(未整理)

相關使用參數
dmp導出語法:(加條件參數query=\"WHERE send_date between TO_DATE\(\'20151201\',\'yyyymmdd\'\) AND TO_DATE\(\'20151202\',\'yyyymmdd\'\)\")
expdp account/pwd tables=MA_STORE_M_F directory=AP_EXP_DIR dumpfile=TORE_M_F_1224.dmp logfile=STORE_M_F_1224.log
dmp導入語法:(TABLE_EXISTS_ACTION參數可下APEND或TRUNCATE)
impdp account/pwd tables=STORE_M_F directory=DATA_PUMP_DIR dumpfile=STORE_M_F_1224.dmp CONTENT=DATA_ONLY TABLE_EXISTS_ACTION=APEND


來源-http://fecbob.pixnet.net/blog/post/38083113-oracle-%E8%B3%87%E6%96%99%E5%BA%AB%E5%8C%AF%E5%87%BA(exp)--%E5%B0%8E%E5%85%A5(imp)
exp
將資料庫內的各物件以二進位方式下載成dmp 檔,方便資料移轉。
buffer :下載資料緩衝區,以位元組為單位,缺省依賴作業系統
consistent :下載期間所涉及的資料保持read only,缺省為n
direct :使用直通方式,缺省為n
feeback :顯示處理記錄條數,缺省為0,即不顯示
file:輸出檔案,缺省為expdat.dmp
filesize:輸出檔案大小,缺省為作業系統最大值
indexes:是否下載索引,缺省為n,這是指索引的定義而非資料,exp 不下載索引資料
log:log 檔,缺省為無,在標準輸出顯示
owner:指明下載的使用者名
query:選擇記錄的一個子集
rows:是否下載表記錄
tables:輸出的表名清單
匯出整個實例
exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y direct=y
user 應具有dba 許可權
匯出某個使用者所有物件
exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=4096000 feedback=10000
匯出一張或幾張表
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=4096000
feedback=10000
匯出某張表的部分資料
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1 buffer=4096000 feedback=10000
query=\」where col1=\’...\’ and col2 \<...\」
不可用於巢狀表格
以多個固定大小檔方式匯出某張表
exp dbuser/oracle file=1.dmp,2.dmp,3.dmp,... filesize=1000m tables=emp buffer=4096000
feedback=10000
這種做法通常用在:表資料量較大,單個dump 檔可能會超出檔案系統的限制
直通路徑方式
direct=y,取代buffer 選項,query 選項不可用
有利於提高下載速度
consistent 選項
自export 啟動後,consistent=y 凍結來自其它會話的對export 操作的資料物件的更新,這樣可以保證
dump 結果的一致性。但這個過程不能太長,以免回滾段和連線日誌消耗完
imp
將exp 下載的dmp 檔上載到資料庫內。
buffer:上載資料緩衝區,以位元組為單位,缺省依賴作業系統
commit:上載資料緩衝區中的記錄上載後是否執行提交
feeback :顯示處理記錄條數,缺省為0,即不顯示
file:輸入檔,缺省為expdat.dmp
filesize:輸入檔案大小,缺省為作業系統最大值
fromuser:指明來源使用者方
ignore:是否忽略物件創建錯誤,缺省為n,在上載前物件已被建立往往是一個正常現象,所以此選項建
議設為y
indexes:是否上載索引,缺省為n,這是指索引的定義而非資料,如果上載時索引已建立,此選項即使為
n 也無效,imp 自動更新索引資料
log:log 檔,缺省為無,在標準輸出顯示
rows:是否上載表記錄
tables:輸入的表名清單
touser:指明目的使用者方
導入整個實例
imp dbuser/oracle file=oradb.dmp log=oradb.log full=y buffer=4096000 commit=y ignore=y
feedback=10000
導入某個使用者所有物件
imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser touser=dbuser2 buffer=2048000
commit=y ignore=y feedback=10000
導入一張或幾張表
imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2 fromuser=dbuser
touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000
以多個固定大小檔方式導入某張表
imp dbuser/oracle file=\(1.dmp,2.dmp,3.dmp,...\) filesize=1000m tables=emp fromuser=dbuser
touser=dbuser2 buffer=4096000 commit=y ignore=y feedback=10000

Oracle 資料庫的備份與恢復


oracle資料庫有三種標準的備份方法,它們分別是匯出/導入(exp/imp).熱備份與冷備份.匯出備件是一種邏輯備份,冷備份與熱備份是物理備份.

利用export可將資料從資料庫中提取出來,利用import則可將提取出來的資料送回到oracle資料庫中去.
一. 匯出/導入(export/import)
oracle支援三種方式類型的輸出:
1. 簡單匯出資料(export)與導入資料(import)

(1).表方式(t方式),將指定表的資料匯出.
(2).使用者方式(u方式),將指定使用者的所有物件及資料匯出.

(3).全庫方式(full方式),瘵資料庫中的所有物件匯出.


資料導入(import)的過程是資料匯出(export)的逆過程,分別將資料檔案導入資料庫與將資料庫資料匯出到資料檔案.

2. 增量匯出/導入

增量匯出是一種常用的資料備份方法,它只能對整個資料庫來實施,並且必須作為system來匯出.在進行此種匯出時,系統不要求回答任何問題.匯出檔案名缺省為export.dmp,如果不希望自己的輸出檔案定名為export.dmp,必須在命令列中指出要用的檔案名.

增量匯出包括三種類型:

(1).“完全」增量匯出(complete)exp system/manager inctype=complete file=040731.dmp
即備份三個資料庫,比如:

備份上一次備份後改變的資料,比如:

(2).“增量型」增量匯出

exp system/manager inctype=incremental file=040731.dmp

(3).“累積型」增量匯出

累計型匯出方式是匯出自上次「完全」匯出之後資料庫中變化了的資訊.比如:

exp system/manager inctype=cumulative file=040731.dmp

資料庫管理員可以排定一個備份時間表,用資料匯出的三個不同方式合理高效的完成.

比如資料庫的被封任務可以做如下安排:


星期一:完全備份(a)
星期二:增量匯出(b)

星期三:增量匯出(c)

星期四:增量匯出(d)

星期五:累計匯出(e)

星期六:增量匯出(f)

星期日:增量匯出(g)

[UNIX]crontab 排程

來源=http://content.edu.tw/primary/info_edu/cy_sa/LinuxY/cmd/crontab.htm

Linux/Unix 系統有個 crontab 程式是用來讓系統各使用者自行設定在需要的時間
   ,做需要的事。例如使用者可以設定每星期三的早上8點會自動ftp 到某地去抓檔案,
   或每天半夜3點自動備份資料等...

要有定時裝置,記憶体內要常註 /usr/sbin/crond 程式
 一般 Linux 在開機時會自動載入,如果發現無 crond 在跑,
可以到 /etc/rc.d/ 目錄下看看是否有將執行crond 程式的指令加入開機自動執行檔裡面。

使用者可以用 crontab -e 指令來編寫需要做的工作或者將要執行的工作
或寫在一個 file 裡,再執行 crontab filename  就可以了
所有使用者的 crontab 檔都會存檔 /usr/spool/cron/crontab/ 下,檔名就是該帳號的名字。
crontab 的格式如下:

分 時 日 月 星期 要執行的指令
例如:

30 12   *   *   *       /usr/bin/rm xxx.txt

在 12:00 時將 xxx.txt 這個檔案殺掉
* 號表示每日每月每星期都執行
另外寫 crontab 時須注意必須使用 絕對路徑如 rm 執行檔 必須寫成 /usr/bin/rm

 

           MIN HOUR DAY MONTH DAYOFWEEK   COMMAND
           # at 6:10 a.m. every day
           10 6 * * * date

           # every two hours at the top of the hour
           0 */2 * * * date

           # every two hours from 11p.m. to 7a.m., and at 8a.m.
           0 23-7/2,8 * * * date

           # at 11:00 a.m. on the 4th and on every mon, tue, wed
           0 11 4 * mon-wed date

           # 4:00 a.m. on january 1st
           0 4 1 jan * date

 

□  BBS 的 crontab 定時工作

以下是 bbsuser 這個帳號的 crontab 檔
因為 bbs 和 bbsuser 是同uid(同一人) 所以 bbsuser 帳號所執行的東西,bbs 都可以存取
 ( # 號在 UNIX 下都是註解的意思 )
以下檔案為 ( /usr/spool/cron/crontab/bbsuser 這檔
           或是 /usr/spool/cron/crontab/bbs 這檔 都一樣)
#
#  轉信抓信部份
#
0 7,8,9,11,14,15,16,1,2,4,5,19,20 * * * /home/bbs/innd/bbsnnrp
aidebbs.edu.tw  /home/bbs/innd/aide.active
12 10,13,15,21 * * * /home/bbs/innd/bbsnnrp 140.116.2.98 /home
/bbs/innd/ncku-catv.active
20 * * * * /home/bbs/innd/bbsnnrp news.nchu.edu.tw /home/bbs/i
nnd/n2.active > /home/bbs/innd/nchulist.doc
40 1,3,5,7,9,11,13,14,15,17,19,22,23 * * * /home/bbs/innd/bbsn
nrp news.nchu.edu.tw /home/bbs/innd/n.active
#
#  轉信送信部份
#
1,30 * * * * /home/bbs/innd/bbslink -v /home/bbs >> /home/bbs/
bbslist/send.lst
#
#  每日自動砍信程式
#  殺超過 1000 天 或 超過 2000 封 的信,每版最少保留 1800 封
0 3 * * * /home/bbs/innd/expirepost /home/bbs 1000 2000 1800
#
#  身份確認信送出程式
#
15,30,45,0 * * * * /home/bbs/bin/deliver /home/bbs /home/bbs
/reclog/today.reg >> /dev/null
#
#  每天 0:0 殺掉 每日上站人數記錄檔
#
0 0 * * * rm /home/bbs/bbslist/avr.src
 #   製做BBS 每小時上站人數統計圖
#
0,14,29,44 * * * * /usr/bin/uptime > /home/bbs/bbslist/up
2,15,30,45 * * * * /home/bbs/bbslist/avr /home/bbs/bbslist/up
58 23 * * * cp /home/bbs/etc/bbsnews /home/bbs/Announce/faq/
BBS/SYSOP/yesterday
#  crontab for BBS
        5,15,25,35,45,55 * * * * innd/bbslink /home/bbs
        # 每小時的 5,15,25,35,45,55 分執行 bbslink 轉入文章

        1 * * * * bin/account10 * * * * bin/poststat /home/bbs
        # 每個小時 10 分執行熱門話題統計

        0 3 * * * bin/topusr 50
        # 每天早上三點整執行使用者排行榜更新

        20 3 * * * (/bin/rm -f expire.lst logins.bad; bin/expire > expire.lst)
        # 每天早上 3:20 將 BBS 系統中不必要的檔案砍掉

        50 3 1 * * /bin/find /home/bbs -size 0 -exec /bin/rm -f {} \;
        # 每個月一號早上 3:50 , 將 BBS 系統中長度為零的檔案砍掉

        30 4 * * 0 (/bin/gtar zcf adm/bbs.tgz .BOARDS .PASSWDS register.log; mv
        adm/usr.tgz adm/usr.bak; /bin/gtar zcf adm/usr.tgz home; /bin/rm -f
        adm/usr.bak)
        # 每週日早上 4:30 將重要檔案及看板中的資料備份起來
        # [備註] 上面三行是連在一起的一連串指令

        30 5 * * 6 (mv adm/man.tgz adm/man.bak; /bin/gtar zcf adm/man.tgz man;
        /bin/rm -f adm/man.bak)
        # 每週六早上 5:30 將精華區中的資料備份起來
        # [備註] 上面兩行是連在一起的一連串指令
        # 每個小時 1 分執行上站人次統計
        10 * * * * bin/poststat /home/bbs
        # 每個小時 10 分執行熱門話題統計

        0 3 * * * bin/topusr 50
        # 每天早上三點整執行使用者排行榜更新

        20 3 * * * (/bin/rm -f expire.lst logins.bad; bin/expire > expire.lst)
        # 每天早上 3:20 將 BBS 系統中不必要的檔案砍掉

        50 3 1 * * /bin/find /home/bbs -size 0 -exec /bin/rm -f {} \;
        # 每個月一號早上 3:50 , 將 BBS 系統中長度為零的檔案砍掉

        30 4 * * 0 (/bin/gtar zcf adm/bbs.tgz .BOARDS .PASSWDS register.log; mv
        adm/usr.tgz adm/usr.bak; /bin/gtar zcf adm/usr.tgz home; /bin/rm -f
        adm/usr.bak)
        # 每週日早上 4:30 將重要檔案及看板中的資料備份起來
        # [備註] 上面三行是連在一起的一連串指令

        30 5 * * 6 (mv adm/man.tgz adm/man.bak; /bin/gtar zcf adm/man.tgz man;
        /bin/rm -f adm/man.bak)
        # 每週六早上 5:30 將精華區中的資料備份起來
        # [備註] 上面兩行是連在一起的一連串指令

[旅遊筆記]京阪三天三夜

忽然發現沒有紀錄...
簡單來寫一下
------------------------------------------------
飯店:東横INN大阪鶴橋駅前
飛機:香草航空
旅行日期時間:2016/10/14(22:35出發)~2016/10/18(3:15返程)
------------------------------------------------
DAY1.
半夜抵達,到第二航廈案內中心(24HR)辦KIX CARD(網路先填妥資料)
→到南海電鐵-關西空港車站買大阪周遊券 南海關空版(¥2900)
→出發至飯店放行李
→四天王寺(路途上遇到上學的學生?但那天是禮拜六?!)
















→通天閣/新世界/JANJAN橫丁, 吃了章魚燒、鶴橋風月大阪燒



















→道頓堀,水上觀光船


→大阪城天守閣

















→梅田閒逛:一風堂拉麵, HEP FIVE摩天輪(展望台好遠...懶得走去)

→結束一天  飯店休息

DAY2.
黑門市場(蠻有趣的地方 推)→又來到道頓堀, 吃一蘭拉麵
→下午好像一直在逛街?!→晚上去了天保山, 其實晚上蠻空蕩的, 但有驚奇的事發生...走到一半忽然對面安安靜靜來了一大群人...原來是在抓寶阿(立馬開啟pokemon GO)






















DAY3.京都
搭JR到京都,購買回機場要用的ICOKA+HARUKA套票
→清水寺














→清水寺旁的地主神社


→金閣寺(怎麼照都覺得好假喔...)

→京都車站周邊購物(Bic camera/AEON)
→回關西機場休息 back home
→回台灣  趕上班QQ




2016年9月20日 星期二

[旅遊筆記]201609_NAGOYA四日

飯店:東急名古屋大飯店
飛機:威航
DAY1:
桃園機場→名古屋中部機場→吃炸蝦飯糰→飯店check in→HARBS下午茶→名古屋城→つけ麵本丸拉麵→榮車站周邊電視塔夜景→飯店吃消夜(手羽仙)
DAY2:
コメダ咖啡店→伊勢神宮(吃烏龍麵、赤福、豚捨、牛肉串)→名古屋車站周邊→飯店吃消夜(手羽仙)
DAY3:
鰻魚飯→犬山城→一蘭拉麵→榮車站周邊→飯店吃消夜(手羽仙)
DAY4:
check out→搭巴士到名古屋中部機場→吃炸蝦飯糰→桃園機場

2016年8月10日 星期三

[UNIX]10種使用split指令切割檔案的方法

參考網址:http://www.theunixschool.com/2012/10/10-examples-of-split-command-in-unix.html

最近用到的:每n行切為一個檔
2. Split file into multiple files with 3 lines each
$ split -l 3 file
The option -l specifies the number of lines per output file. Since the input file contains 7 lines, the output files contain 3, 3 and 1 respectively. The output files generated are: 
$ ls x*
xaa  xab  xac
$ cat xaa
Unix
Linux
AIX
  The file "xab" contains the 4th till 6th line, and the file "xac" contains the last line.

2016年8月5日 星期五

[SQL]刪除重複資料

利用rowid刪除

語法:
delete TABLEA where rowid not in (select max(rowid) from TABLEA group by column1,column2,column3);

2016年7月12日 星期二

計算 Table 所佔用的磁碟空間

計算 Table 所佔用的磁碟空間

select owner,table_name,num_rows,
blocks * (select value from v$parameter where name = 'db_block_size') / 1024 / 1024 "size mb",
empty_blocks,last_analyzed
from dba_tables
where table_name='資料表'

TABLESPACE空間
select a.TABLESPACE_NAME, to_char(a.BYTES/(1024*1024),'999,999') "Size(MB)", to_char(round((a.BYTES-b.BYTES)/(1024*1024),0),'999,999') "Used(MB)", to_char(b.BYTES/(1024*1024),'999,999') "Avail(MB)" from (select TABLESPACE_NAME, sum(BYTES) "BYTES" from dba_data_files group by tablespace_name) a, (select TABLESPACE_NAME,sum(BYTES) "BYTES" from dba_free_space group by tablespace_name) b where a.TABLESPACE_NAME=b.TABLESPACE_NAME;

2016年6月1日 星期三

[旅遊筆記]201605_TOKYO二日-DAY2

DAY2.淺草寺->晴空塔->台場->機場

早餐在飯店吃完後帶著行李出發至淺草寺
由淺草寺步行至晴空塔後搭公車回到淺草站
至新橋站放行李搭百合鷗線前往台場
最後回到機場休息飛回台灣

**雷門整修中


**仲介世通  人人人 滿滿的人







**淺草神社


**阿兩!!!





**抽支籤...別提了XD


**往晴空塔方向出發


**朝日啤酒大樓


**吾妻橋















**從晴空塔搭車回淺草站

**拉人力車的漢操很好啊XD


**


**台場


**富士電視台















[旅遊筆記]201605_TOKYO二日-DAY1

飯店:東橫INN 東京日本橋濱町明治座前
飛機:虎航IT216、IT217

DAY1.築地市場:場內市場、米本咖啡、壽司清->有樂町bic camera->飯店放行李->御茶水體育街->上野阿美橫町->飯店
DAY2.淺草寺->晴空塔->台場->機場

**夜半到機場

**築地市場, 大約早上6:00到已經人很多

**今年11月要搬家了

**壽司大超多人,跳過...



**場內運輸車來回穿梭(覺得開好快喔)

**松露玉子燒  還不錯(後來還有買紀文炸魚 也不錯)


**走累了...一早實在很睏  路邊走進一家咖啡店休息


**米本咖啡, 坐在店門口發現很多歐美人進來


**8:00 到壽司清吃一下壽司


**吃前三個時覺得很不錯啊~~但不知為何一下就飽了阿XD  然後也沒拍到壽司...


**從築地->銀座->走到有樂町,等bic camera 10:00開門, 外頭也是一堆人


**放完行李後去了體育街  然後在到上野阿美橫町
(都是逛街就沒拍啥照片了)



2016年5月27日 星期五

mount指令

umount /目錄名
mount -t nfs 172.22.5.xx:/目錄名 /本機要取的目錄名

[轉]Linux 常用指令:cat, cd, chmod, chown, cp, cut, date, find, less, ln, locate, ls & more

http://mepopedia.com/forum/read.php?135,420,420

1. cat:輸出檔案內容至螢幕或檔案


語法:cat filename [-n] [-b] [-u] [-s] [-v]
說明:將名為 filename 的檔案連接(concatenate)或處理後傳到螢幕或另一個檔案

參數﹕
-n 或 --number﹕由 1 開始對所有輸出的行數編號
-b 或 --number-nonblank﹕和 -n 相似,只不過對於空白行不編號
-s 或 --squeeze-blank ﹕遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 --show-nonprinting

範例﹕
cat -n textfile1 textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裡
cat -b textfile1 textfile2 textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3

**tail指令則為顯示每個檔案的最後幾行內容
範例:
tain -n 100 textfile1  顯示textfile1最後100行內容

2. cd:更換所在目錄/Change Directory


語法:cd [dirName]

說明 : 變換工作目錄至 dirName。其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。

另外,~ 也表示為 home directory 的意思,. 則是表示目前所在的目錄,.. 則表示目前目錄位置的上一層目錄。

範例 : 跳到 /usr/bin/ :
cd /usr/bin

跳到自己的 home directory :
cd ~ (注意:cd 和 ~ 中間有「空白」)

跳到目前目錄的上上兩層 :
cd ../..


3. chmod:設定檔案及目錄讀取屬性及狀態/Change Mode of File or Direcotry


語法 : chmod [-cfvR] [--help] [--version] mode file...

說明 : Linux/Unix 的檔案存取權限分為三級 : 檔案擁有者、群組、其他。利用 chmod 可以藉以控製檔案如何被他人所存取。

參數:
mode : 權限設定字串,格式如下 : [ugoa...][+-=][rwxX]...][,...],其中u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。
-c : 若該檔案權限確實已經更改,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本

範例 :將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt

將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt

將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt

將 ex1.py 設定為只有該檔案擁有者可以執行 :
chmod u+x ex1.py

將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *

此外 chmod 也可以用數字來表示權限
例如: chmod 777 file

語法為﹕chmod abc file

其中a,b,c各為一個數字,分別表示User、Group、及Other的權限。

r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7。

範例﹕
chmod a=rwx file


chmod 777 file

效果相同
chmod ug=rwx,o=x file


chmod 771 file

效果相同


若用chmod 4755 filename可使此程式具有root的權限

進階用法:只對「檔案」或只對「目錄」chmod (recursively)
find -type d -print0 |xargs -0 chmod 755
find -type f -print0 |xargs -0 chmod 644

chgrp 或 chown 的用法亦同。


4. chown: 設定檔案或目錄之「擁有者」 / Change Owner


語法 : chown [-cfhvR] [--help] [--version] user[:group] file...

說明 :
Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統管理者(root)所使用,一般使用者沒有權限可以改變別人的檔案擁有者,也沒有權限可以自己的檔案擁有者改設為別人。只有系統管理者(root)才有這樣的權限。

參數 :
user : 新的檔案擁有者的使用者 ID
group : 新的檔案擁有者的使用者群體(group)

-c : 若該檔案擁有者確實已經更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 只對於連結 (link) 進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本

範例 :
將檔案 file1.txt 的擁有者設為 users 群體的使用者 jessie :
chown jessie:users file1.txt

將目前目錄下的所有檔案與子目錄的擁有者皆設為 users 群體的使用者 lamport :
chmod -R lamport:users *


名稱﹕cp
使用權限﹕所有使用者

使用方式﹕

cp [options] source dest
cp [options] source... directory

說明﹕將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。

參數 :
-a : 盡可能將檔案狀態、權限等資料都照原狀予以複製。
-r : 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
-f : 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行複製。

範例 :
將檔案 aaa 複製(已存在),並命名為 bbb :
cp aaa bbb

將所有的C語言程式拷貝至 Finished 子目錄中 :
cp *.c Finished



名稱﹕cut

使用權限﹕所有使用者

用法﹕cut -cnum1-num2 filename

說明﹕顯示每行從開頭算起 num1 到 num2 的文字。

範例﹕

shell cat example
test2
this is test1
shell cut -c0-6 example ## print 開頭算起前 6 個字元
test2
this i



5. date:設定系統時間


語法:date MMDDhhmmYYYY

說明:顯示及修改系統時間

參數:
MM:月份
DD:日期
hh:小時
mm:分鐘
YYYY:西元年

範例:
顯示現在時間:
# date
Thu Jul 28 15:00:00 CST 2012

修改系統時間
# date 072816002012
Thu Jul 28 16:00:00 CST 2011

另外,若要顯示或設定 BIOS 的硬體系統時間,則是使用「hwclock [-rw]」。

顯示BIOS系統時間:#hwclock -r
將當下的軟體時間寫入BIOS:#hwclock -w



名稱 : find
用法 : find
使用說明 :

將檔案系統內符合 expression 的檔案列出來。你可以指要檔案的名稱、類別、時間、大小、權限等不同資訊的組合,只有完全相符的才會被列出來。

find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之後的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。

expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

-mount, -xdev : 只檢查和指定目錄在同一個檔案系統下的檔案,避免列出其它檔案系統中的檔案
-amin n : 在過去 n 分鐘內被讀取過
-anewer file : 比檔案 file 更晚被讀取過的檔案
-atime n : 在過去 n 天過讀取過的檔案
-cmin n : 在過去 n 分鐘內被修改過
-cnewer file :比檔案 file 更新的檔案
-ctime n : 在過去 n 天過修改過的檔案
-empty : 空的檔案-gid n or -group name : gid 是 n 或是 group 名稱是 name
-ipath p, -path p : 路徑名稱符合 p 的檔案,ipath 會忽略大小寫
-name name, -iname name : 檔案名稱符合 name 的檔案。iname 會忽略大小寫
-size n : 檔案大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c : 檔案類型是 c 的檔案。
d: 目錄
c: 字型裝置檔案
b: 區塊裝置檔案
p: 具名貯列
f: 一般檔案
l: 符號連結
s: socket
-pid n : process id 是 n 的檔案

你可以使用 ( ) 將運算式分隔,並使用下列運算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
範例:
將目前目錄及其子目錄下所有延伸檔名是 c 的檔案列出來。
# find . -name *.c


將目前目錄其其下子目錄中所有一般檔案列出
# find . -ftype f


將目前目錄及其子目錄下所有最近 20 分鐘內更新過的檔案列出
# find . -ctime -20



名稱﹕less

使用權限﹕所有使用者

使用方式﹕

less [Option] filename

說明﹕
less 的作用與 more 十分相似,都可以用來瀏覽文字檔案的內容,不同的是 less 允釣洏峈怍髡^卷動
以瀏覽已經看過的部份,同時因為 less 並未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。


範例﹕

6. ln:建立實體連結與符號連結


指令名稱 : ln
使用權限 : 所有使用者

使用方式 : ln [options] source dist,其中 option 的格式為 :

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
說明 : Linux/Unix 檔案系統中,有所謂的連結(link),我們可以將其視為檔案的別名,而連結又可分為兩種 : 硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案可以有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬連結是存在同一個檔案系統中,而軟連結卻可以跨越不同的檔案系統。
ln source dist 是產生一個連結(dist)到 source,至於使用硬連結或軟鏈結則由參數決定。

不論是硬連結或軟鏈結都不會將原本的檔案複製一份,只會佔用非常少量的磁碟空間。

參數﹕
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 允釣t統管理者硬鏈結自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟連結時,將 dist 視為一般的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在連結之前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說明
--version : 顯示版本

範例 :
將檔案 yy 產生一個 symbolic link : zz
ln -s yy zz

將檔案 yy 產生一個 hard link : zz
ln yy xx



名稱 : locate
使用權限﹕所有使用者

語法 : locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] [-l ] [-c]
[-U ] [-u]
locate [-Vh] [--version] [--help]

說明 :
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。

在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執行。一般使用者在使用時只要用

# locate your_file_name

的型式就可以了。 參數﹕
-u
-U

建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。

-e


排除在尋找的範圍之外。

-l
如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的權限資料。

-f
將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中。

-q
安靜模式,不會顯示任何錯誤訊息。

-n
至多顯示 個輸出。

-r
使用正規運算式 做尋找的條件。

-o
指定資料庫存的名稱。

-d

指定資料庫的路徑

-h
顯示輔助訊息

-v
顯示更多的訊息

-V
顯示程式的版本訊息 範例﹕

locate chdrv : 尋找所有叫 chdrv 的檔案
locate -n 100 a.out : 尋找所有叫 a.out 的檔案,但最多只顯示 100 個
locate -u : 建立資料庫


名稱 : ls
使用權限 : 所有使用者

使用方式 : ls [-alrtAFR] [name...]

說明 : 顯示指定工作目錄下之內容(列出目前工作目錄所含之檔案及子目錄)。


-a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭為.的視為隱藏檔,不會列出)
-l 除檔案名稱外,亦將檔案型態、權限、擁有者、檔案大小等資訊詳細列出
-r 將檔案以相反次序顯示(原定依英文字母次序)
-t 將檔案依建立時間之先後次序列出
-A 同 -a ,但不列出 . (目前目錄) 及 .. (父目錄)
-F 在列出的檔案名稱後加一符號;例如可執行檔則加 *, 目錄則加 /
-R 若目錄下有檔案,則以下之檔案亦皆依序列出

範例﹕
列出目前工作目錄下所有名稱是 s 開頭的檔案,愈新的排愈後面 :
ls -ltr s*

將 /bin 目錄以下所有目錄及檔案詳細資料列出 :
ls -lR /bin

列出目前工作目錄下所有檔案及目錄;目錄於名稱後加 /, 可執行檔於名稱後加 * :
ls -AF

名稱﹕more
使用權限﹕所有使用者

語法 : more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

說明 :
類似 cat ,不過會以一頁一頁的顯示方便使用者逐頁嬝炕A而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的弁遄]與 vi 相似),使用中的說明文件,請按 h 。

參數 :
-num 一次顯示的行數
-d : 提示使用者,在畫面下方顯示 [Press space to continue, q to quit.] ,如果使用者按錯鍵,則會顯示 [Press h for instructions.] 而不是 嗶 聲
-l : 取消遇見特殊字元 ^L(送紙字元)時會暫停的弁