All posts by admin

使用 openssl 產生 SSL 電子證書

產生 SSL 電子證書很多方法,而使用 openssl 屬較手動的方法,繁瑣但適用於所有 GNU/LinuxUnix 平台。

目錄

基本流程

產生金鑰對 (public-private key pair)

首先您需要產生一對 RSA 金鑰對 (public-private key pair),可以使命令「openssl -out 私鑰檔案 genrsa [-des|des3|-idea] 大小」:

$ openssl genrsa -out www.example.com.key -des3 2048
Generating RSA private key, 2048 bit long modulus
........................+++
..............................................................................+++
e is 65537 (0x10001)
Enter pass phrase for www.example.com.key: Don't show my passphrase
Verifying - Enter pass phrase for www.example.com.key: Don't show my passphrase

命令中最尾的參數表示要產生的金鑰對位元大小,以現今電腦的效能,建議使用 2048 位元會較安全。此外,在命令中因為加入選項 -des3, 產生出來的金鑰對會以 TriDES 加密來加強私鑰 (private key) 的安全性。您亦可以使用 -des 或 -idea 取代 -des3 來改用 DES 或 IDEA 對私鑰進行加密。(當然 DES 加密演算法大弱,絕不應使用) 加密了的私鑰在會次被使用時都會輸入密碼解密才可以使用,會較安全。如果您的電子證書是用在 Apache HTTTd 等伺服器中,每次啟動伺服器時都要輸入密碼一次。不少人會選擇省去選項 -des3 來產生一個不被加密的私鑰 (即是不會問您輸入密碼,也不會把私鑰加密) :

$ openssl genrsa -out www.example.com.key 2048
Generating RSA private key, 2048 bit long modulus
........................+++
..............................................................................+++
e is 65537 (0x10001)

這個命令和上面幾乎沒有分別,只是這次不會問您輸入密碼了。這方法當然免卻每次要輸入密碼的麻煩,但如果別人只要抄走有私鑰檔案就可以較易真接盜用電子證書,非常危險。

完成後,新金鑰會以 PKCS#1 PEM 格式記錄在金鑰檔案 www.example.com.key 中 (雖然金鑰的標頭為 RSA PRIVATE KEY,意思為 RSA 私鑰,但內容載有產生對應公鑰 public key 的資料):

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA5xcy3JVptzucvBQI2tzK9HkQ7pVhdqf4x8dID9K2z6A5W4Uc
/NByWOq80EGSetm/hZxj/JIPwOoOSlV2DZx423wtM8xfV9/7nkdiE1FwBVOZTprN
l1KgHY9rvcakNFclUU1xyTcLRWATrAKq4YU8TiR7yuvsNy0CxsZNX7zJszuX8aoQ
SbKTr3ckhJveDXPGGu96TebE146MRuFo1LNZ42AjVVXF0U5RqNtzdRJjxwjgMnQ5
1xEVb4InkW2Zgy/bJDYwCuQcgvswH+43EEou/eOLPeZDp8j2VZjLk/MDcDatEDFQ
Ayd8T3Cg+YSdYj/jLSEc17ZD0r5KSzRwYRa26QIDAQABAoIBAQDfTERib6ICY4D1
ICraSWV3zBB3ajMOdArqCH9ygrsRb5JdBAhZppYHo3OljOcc/JGbat4W7ZB5afE7
FM+JIXyLIbeQCNjMUeuSKwny/stO6lQGZ4Fnynhbd/21GGAND3RI1puvwheLBuab
XMyANL1sCMbx8vyC6GR5bJ7Rdtwz6fiyPOvOBmZV920R3ZnuScI4kWwxz6dzwLP3
wzFVqozD8RiPdP5mWEmEXTDEProNEPqUA0D0ydQg+OwanrUUhavnDu1fvJ5VdWqV
K9HgHJ1PSWJEsiRe9PkDmcFrjyLdgf36pl61CTOGMyhWj7lq9zT3SQxOdtXe4Hsp
wfhKkbY9AoGBAPbPKUAIkDecHwTE5ZkVyQg7W9U6H4iPYowlOMfnntP5+arhq5cl
/CJnzIEd55tgIWgJCjtptG1qodJU52kFL0rR4Z1ce9dRPSMY2Z7hEPl1PkMeRooo
Wr8+FrXhakONQ3Kro0cH5qMkBekwXxFJ+ZQ29O+3EMLaR69iHPNi4lwjAoGBAO+y
MRIeh43qB985ps23yNDfL6FL69besKcNiuMyDc6GfBNg9j4hZVrPPiJjVDvHsqnc
RHiuO6MvXOT9atXAyyX6/h00CVoU5mxbEe4mEbpvivqaosW64eAkqdSj2HInkG9u
lTeZGPZwleK9EDgTmVZ7lFEoBgRxNSUEkXJPfLuDAoGAArkIWHd/t81WHkRZ0BWI
cTnOaozImkYSrT8f4Dyy6N3CHlt8/B7kKDEC9Y2x52npFG+9GCizX92kSWC8aNEw
0197YLQLfbWcug1lITaUbFwZwr3Lw2xsi92QfJMvC+28B8DS/U6eAcC8+/SXp+Ys
BbGRhC991Nh5n/qyHRFDNAcCgYBmH1NM1vkF+5nS/2sT5qOGajCO1hvq9gHpipmL
5r1/KkkesIb5PZ1DLVzZpdwzhAeY2yHJEOKTyhAX9+hWncdvrRorMwpw+Mqbi8l9
33ZaKj/aOZv0BoVJzBUXZZ9IM5cUAtdMUswR4zHY4phQa/k+oXQ1h4nYxqrP1Lxr
KXaJJQKBgQDVLfOLgH6sN+I1f4B3/n6pOgjiosQd1c1K6NyjD3E8lnL5W/wI0CfP
SK80ZkUwAlrGFMpL9K/qyswc0ejaswvQGTcra0V0DVzfZ4DhCOYC3shAGV3lsWzD
VQAG4iwwf61wNBVuXBKl6xBIIzu1JoqB+in+IJ3MP4u0y9IF3VV+/w==
-----END RSA PRIVATE KEY-----

以上金鑰是沒有被加密。加密的金鑰會有「Proc-Type: 4,ENCRYPTED

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B5400D0F10CAF72B

Gkxpb1n8M3cQBH3J/l5ZzLE9GyYE+nv9+2Fk7jSJZM0W+ek/aeQYnE37OaGrabRD
1hCk0j5BoH8xa5hlwxpHM48cJbLsFmuMlVag1FTdtPozXNRBLHCNWUFWq9qQoa6K
IY/efrkzTx5WFXmidroKUPAA1kTXNjpSAjO0kLO/sqwS57bTMKb4cwxu21p3Crcy
Z1BBUPHaRdunK2Q/Gj05NO0ARX0VScKbr/sY9tt/D/viH89zwBAKmGVr3+RQlUP0
Lx9vhKK2S+Ut+GvWYPzitgrlE1txHywe9pLJ/LzJEZsBVm7M4HmNq1yoeoy95jo+
p974utG9MerlS84Wy5T4neNn2LamWCOFgOTIOfNfpvkan4KTEw5okvHCWQ+/pHcT
wDionMztMaExj4XHbtutUMVZVjsNhR3zzuZ62KQNkwLUYNHTGCKwZYc+5JJ5dWMU
dZyxHqJ+qcO4UTFoMKT1HxoYZUWhH6V2keS0NaULLXuJq5D4GZkIAl3Zb/4u83kK
0siqoIdd/97s5PnSKfsrztF8zZHxrFl8CGQp6iht+tI68m9t1WONSQ38nxzDZlWu
TA6vX78229dOs+HiQzwRYayPvC541re9ZQuj49aVWcU1oi8JcdvxlbV7cXl/Z6JB
j6PL481fiRiCSBW4WxmfNldrlNRXa7nULmwaM9dyFENE0zmWJaMfmnTAQAtZ3Bhq
p4rtRG9sDIbNvF3HPmPy/cRfwFWFE/KiW4yhodrmj6IgrB+VwK7Es7UraFWhclZk
wsVVQNAEn/22RlyHvkpN9bMuXQuiBPMPsP51TnXsy0SBBgE1bUpOxkIG3EbQ4W5Z
aPVki2Aa8gJQ5UeRv1ob4M3nkYeJjEUwo4qV5PyQnAlaEiqTCKKuFa4IdHxOeAlB
PIs5bsKMZwsBFrWGyy15W7LnHbhodvHhAyw3bGOZ0hwODAKOAaXgvN1K1fO/TqNa
DCTCm1OfDuZQVU1cS2n/HTxAOptD0XLBWQKUuQ7HX2BVbifsjAhnYIkzxq2yLafv
MRxPfrYTh1frZkUYYkQ6C9m0vkhl0vqBygeBuQLK6mMaP09uOggJklLg86roAVn9
5ZGlc5tWqnlmDqusFDvUOGJVfPTGDI7aFYn9AGS2nDGT16pGDnUgQwpMZX2Tp0Pm
iafdI8jKQjWLyDsVInfl19QytOwM2sAWegsgt2FG+KhvTQyuUbOBX+fmKaxCkL4R
3Op6nFYFGHJGiTrkNThRWDpzXYnoyl38S6rV6cmA1Oq6oD1O0W9qF1l4oHP1aKty
iMTml39UepVtvG88b/MN8sK3LsCFZ5B7flNLjnRgiyeI8rBi9Bj+TUeE/wFYUFqP
Jm6u0fWuN/RPyXaMBtfzGpBUk7If9lSpVj/36iVYxn5OCcgtncUk8JE8+hXEoV7J
InD+CAlA/RQhxgHRXUQmBJpKHhBmMFph8OwTTExLrEzO+VlxHqaXPUYfM9XaMYQl
KBzZUPMvI9TkEzVD00OH6J1J7tr8fDCvK/OoIFQQVZ1sbK+jJpEIwPlsu/gPNyWQ
EdRUrYSRJhocOwtym4+Bvq6Bed4QXeIQJbYv4t3nOQywXNzkotJ46ODAcPoa5aAA
-----END RSA PRIVATE KEY-----

產生 Certificate Signing Request (CSR)

產生了金鑰對後,您需要有公信加的人當中的公鑰 (public key) 為您所有。所以您需要產生這個公鑰的 Certificate Signing Request (CSR) 給一個 Certificate Authority (CA) 簽署才可以使用。要產生 CSR ,可以使用命令「openssl req -new -key 金鑰檔案 > CSR檔案」:

$ openssl req -new -key www.example.com.key > www.example.com.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:HK
State or Province Name (full name) [Some-State]:HKSAR
Locality Name (eg, city) []:Hong Kong
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Ltd.
Organizational Unit Name (eg, section) []:Web Team
Common Name (e.g. server FQDN or YOUR name) []:www.example.com
Email Address []:webmaster@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:abc123
An optional company name []:Example Ltd.

以上命令會詢問要產生電子證書的資料並由金鑰檔案抽出有關公鑰並產生 CSR。記謹 Common Name 必須填上將會使用此電子證書網站的全名 (FQDN, Full Qualified Domain Name),填錯了又已送去 CA 將會浪費金錢。

產生出來的 CSR 會放在 www.example.com.csr 中:

-----BEGIN CERTIFICATE REQUEST-----
MIICEDCCAXkCAQAwgZsxCzAJBgNVBAYTAkNOMQ4wDAYDVQQIEwVIS1NBUjESMBAG
A1UEBxMJSG9uZyBLb25nMRUwEwYDVQQKEwxFeGFtcGxlIEx0ZC4xETAPBgNVBAsT
CFdlYiBUZWFtMRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20xJDAiBgkqhkiG9w0B
CQEWFXdlYm1hc3RlckBleGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEAucC/Gxdd1v/5kGMLr6OoQN3BHFsFuAaNRUZs4/JITGaw7fhKwOyZux04
AUQTjeyVTfH6TTX1A0GWISwfKkqxNg4jx9LOqiecMnjKH/fzBvCZE1iNhz1mtkPh
pxWV9K6keuf6nuLXfU/NSWd9EY/VWUQX0PUDmjynrVYI29Zl1sMCAwEAAaA0MBUG
CSqGSIb3DQEJBzEIEwZhYmMxMjMwGwYJKoZIhvcNAQkCMQ4TDEV4YW1wbGUgTHRk
LjANBgkqhkiG9w0BAQQFAAOBgQAxdevQ9KuHhUf+XYHrDS04+yhesSmg2muC65mq
WHn9iIMQZIcWlcm5WtZZlamDnSxui8Utyh15U0cJDeIo8jebht+DDfC3BXc5LUaV
1TjbieB5gaM+oCNJFI3STC77ldwowCqgrbAQTpO3mx84M1gunJgGPKy/SHR3DwfN
Drzq2A==
-----END CERTIFICATE REQUEST-----

您只要把這個 CSR 檔案提交給 CA ,CA 核實您的資料後就會簽署並產生您的電子證書。

自簽 (Self-sign) 電子證書

如果您只是想做一張測試用的電子證書或不想花錢去找個 CA 簽署,您可以造一張自簽 (Self-signed) 的電子證書。當然這類電子證書沒有任何保證,大部份軟件遇到這證書會發出警告,甚至不接收這類證書。要自簽電子證書可以使用命令「openssl req -x509 -days 有效日數 -key 金鑰檔案 -in CSR檔案 > 電子證書檔案」,例如:

$ openssl req -x509 -days 60 -key www.example.com.key -in www.example.com.csr > www.example.com.crt

完成後, 檔案 www.example.com.crt 就是自簽證書。

請參看

Troubleshooting the Add Storage Wizard error: Unable to read partition information from this disk (1008886)

有時候在新增storage LUN 的時候會出錯,原因是因為ESXi host判斷這個LUN曾被分隔成不同格式,所以不認得,因此要SSH到ESXi裏面,利用 dd 指令把這個新的LUN重新格式化。

~ # fdisk -l /vmfs/devices/disks/naa.203e001378908c18

***
*** The fdisk command is deprecated: fdisk does not handle GPT partitions. Please use partedUtil
***

fdisk: device has more than 2^32 sectors, can’t use all of them
Found valid GPT with protective MBR; using GPT

Disk /vmfs/devices/disks/naa.203e001378908c18: 4294967295 sectors, 4095M
Logical sector size: 512
Disk identifier (GUID): a1a3f953-8b8f-4d34-a900-75b39e2847d1
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 152360189918

Number Start (sector) End (sector) Size Code Name
1 34 152360187999 141G 0700 Secondary
~ # dd if=/dev/zero of=”/vmfs/devices/disks/naa.203e001378908c18″ bs=512 count=34 conv=notrunc
34+0 records in
34+0 records out

refer vmWare KB

Mac OS X 鍵盤快速鍵

提供大家 OS X 鍵盤快速鍵。

以下截取自apple官網

鍵盤快速鍵讓您按鍵盤上的組合鍵,就能叫出 OS X 的功能。

(Command 鍵):幾種 Apple 鍵盤的這個鍵還同時印有 Apple 標誌(
(Control 鍵)
(Option 鍵):這個按鍵還可能印有“Alt”
(Shift 鍵)
(Caps Lock):切換大寫鎖定開關
fn(功能鍵)

實用功能:

關閉螢幕「Control-Shift-Eject」
一般用鍵盤調整螢幕亮度只能調到「最暗」,不過這快捷鍵可以直接把螢幕關掉。這對於使用筆記型電腦的人,相當方便,尤其是純聽歌的時候。

音量微量調整「Option-Shift-聲音放大鍵 / Option-Shift-聲音縮小鍵」
是以1/4單位作音量調整。

Home & End「Fn-↑(Home)」「Fn-↓(End)」
由於筆記型電腦都是非全尺寸鍵盤,所以剛好可以利用這功能鍵來替代。

螢幕畫面截取
Command+Shift+3 (全螢幕擷取畫面)
Command+Shift+Ctrl+3 (全螢幕擷取畫面至剪貼版)
Command+Shift+4 (選取區域擷取畫面)
———————————————————————–

開機鍵盤快速鍵

按鍵或組合鍵 功能
Option 顯示所有可開機卷宗(開機管理程式
Shift 執行安全啟動(以安全模式啟動)
C 從可開機媒體(DVD、CD、USB 隨身碟等)啟動
FireWire 目標磁碟模式啟動
N 從 NetBoot 伺服器啟動
X 強迫以 Mac OS X 啟動(如果有非 Mac OS X 啟動卷宗)
Command-V Verbose 模式啟動
Command-S “單一使用者模式”啟動


Finder 鍵盤快速鍵

組合鍵 功能
Command-A 選擇前端 Finder 視窗中的所有項目(如果沒有開啟中視窗則是桌面)
Option-Command-A 取消選取所有項目。
Shift-Command-A 打開“應用程式”檔案夾
Command-C 將選擇的項目/文字拷貝到剪貼板
Shift-Command-C 開啟“電腦”視窗
Command-D 複製選取項目
Shift-Command-D 開啟桌面檔案夾
Command-E 退出
Command-F 尋找任何相符的 Spotlight 屬性
Shift-Command-F 尋找 Spotlight 檔案名稱符合項目
Option-Command-F 移動到已經開啟的 Spotlight 視窗中的搜尋欄位
Shift-Command-G 前往檔案夾
Shift-Command-H 開啟目前登入使用者帳號的個人專屬檔案夾
Command-I 簡介
Option-Command-I 顯示檢閱器
Control-Command-I 取得摘要簡介
Shift-Command-I 開啟 iDisk
Command-J 開啟顯示方式選項
Command-K 連接伺服器
Shift-Command-K 開啟“網路”視窗
Command-L 製作所選項目的替身
Command-M 視窗最小化
Option-Command-M 將全部視窗縮到最小
Command-N 新增 Finder 視窗
Shift-Command-N 新增檔案夾
Option-Command-N 新增智慧型檔案夾
Command-O 開啟選取項目
Shift-Command-Q 登出
Option-Shift-Command-Q 立即登出
Command-R 顯示替身的原項目
Command-T 加入側邊欄
Shift-Command-T 加入喜好項目
Option-Command-T 在 Finder 視窗中隱藏工具列/顯示工具列
Shift-Command-U 打開“工具程式”檔案夾
Command-V 貼上
Command-W 關閉視窗
Option-Command-W 關閉所有視窗
Command-X 剪下
Option-Command-Y 幻燈片秀(Mac OS X v10.5 或以上版本)
Command-Z 還原/重作
Command-1 以圖像顯示
Command-2 依列表顯示
Command-3 依欄位顯示
Command-4 以 Cover Flow 檢視(Mac OS X v10.5 或以上版本)
Command-,(Command 和逗號鍵) 打開 Finder 偏好設定
Command-`(次重音符號鍵,在美式英文鍵盤佈局的 Tab 鍵上方) 循環檢視開啟中的 Finder 視窗
Command-Shift-? 打開 Mac 輔助說明
Option-Shift-Command-Esc(按住三秒)- 僅限 Mac OS X v10.5、v10.6 或以上版本 強制結束最前面的應用程式
Command-[ 返回
Command-] 往前
Command-向上鍵 打開所含的檔案夾
Control-Command-向上鍵 以新視窗開啟所含的檔案夾
Command-向下鍵 打開反白項目
Command-Tab 切換應用程式:向前循環
Shift-Command-Tab 切換應用程式:向後循環
Command-Delete 丟到垃圾桶
Shift-Command-Delete 清空垃圾桶
Option-Shift-Command-Delete 不顯示確認對話框便直接清空垃圾桶
空白鍵(或 Command-Y) 快速查看(Mac OS X v10.5 或以上版本)
按住 Command 鍵同時拖移 將拖移的項目移動到其他卷宗/位置
按住 Option 鍵同時拖移 拷貝拖移的項目
按住 Option-Command 組合鍵同時拖移 製作拖移項目的替身


應用程式和其他 Mac OS X 鍵盤指令

組合鍵 功能
Command-空白鍵 顯示或隱藏 Spotlight 搜尋欄位(如果安裝多種語言,則可能要切換到已啟用的語系)
Control-A 移動到一行或一段的開頭
Control-B 後退一個字元
Control-D 刪除游標前的字元
Control-E 移動到一行或一段的結尾
Control-F 前進一個字元
Control-H 刪除游標後的字元
Control-K 從游標前面的字元刪除到一行或一段的結尾
Control-L 將游標或所選範圍移到可視區域中央
Control-N 下移一行
Control-O 在游標後插入一行
Control-P 上移一行
Control-T 將游標後和游標前的字元位置對調
Control-V 向下移動一頁
Option-Delete 刪除游標左側的字以及後面的任何空格或標點符號
Option-Command-Space 顯示 Spotlight 搜尋結果視窗(如果安裝多種語言,則可能要切換到各語系專屬的鍵盤佈局和輸入法)
Command-Tab 向前移動到已開啟應用程式列表中的下一個近期使用應用程式
Shift-Command-Tab 向後移動已開啟應用程式的列表(依照近期使用順序排列)
Shift-Tab 反向切換控制項目
Control-Tab 把焦點移到對話框中的下一類控制項目或下一個表格(按 Tab 是移動到下一個輸入格)
Shift-Control-Tab 把焦點移到對話框中的前一類控制項目
Command-esc 打開 Front Row(如果已經安裝)
Option-退出鍵 退出第二個光碟機(如果已經安裝)
Control-退出鍵 顯示關機對話框
Option-Command-退出 使電腦進入睡眠模式
Control-Command-退出 結束所有應用程式(會先讓您儲存已開啟文件的更改內容),然後重新啟動電腦
Control Option-Command-退出 結束所有應用程式(會先讓您儲存已開啟文件的更改內容),然後關機
fn-Delete 往前刪除(在可攜式 Mac 的內建鍵盤上)
Control-F1 開啟/關閉全面鍵盤操控功能
Control-F2 把焦點移到選單列
Control-F3 把焦點移到 Dock
Control-F4 把焦點移到現用視窗或下一個視窗
Shift-Control-F4 把焦點移到前一個現用視窗
Control-F5 把焦點移到工具列
Control-F6 把焦點移到第一個面板或下一個面板
Shift-Control-F6 把焦點移到上一個面板
Control-F7 暫時覆蓋視窗和對話框的目前鍵盤操控模式
F9 並排所有開啟中視窗或取消並排
F10 並排目前現用應用程式的所有開啟中視窗或取消並排
F11 隱藏或顯示所有開啟中視窗
F12 隱藏或顯示 Dashboard
Command-` 在最上層應用程式中啟動下一個開啟中視窗
Shift-Command-` 在最上層應用程式中啟動上一個開啟中視窗
Option-Command-` 把焦點移到視窗抽屜
Command- -(減號) 縮小所選項目
Command-{ 所選範圍齊左
Command-} 所選範圍齊右
Command-| 所選範圍中間對齊
Command-: 顯示“拼字檢查”視窗
Command-; 尋找文件中的錯字
Command-, 打開前端應用程式的偏好設定視窗(如果應用程式支援這個鍵盤快速鍵)
Option-Control-Command-, 降低螢幕對比
Option-Control-Command-. 調高螢幕對比
Command-? 在輔助說明檢視程式中打開應用程式的輔助說明
Option-Command-/ 開啟或關閉字體平滑功能
Shift-Command-= 放大所選項目
Shift-Command-3 將螢幕擷取成檔案
Shift-Control-Command-3 將螢幕擷取到剪貼板
Shift-Command-4 將所選範圍擷取成檔案
Shift-Control-Command-4 將所選範圍擷取到剪貼板
Command-A 反白文件或視窗中的所有項目,或是文字欄位中的所有字元
Command-B 讓所選的文字變成粗體;啟動或關閉文字粗體功能
Command-C 將所選資料拷貝到剪貼板
Shift-Command-C 顯示“顏色”視窗
Option-Command-C 拷貝所選文字的樣式
Control-Command-C 拷貝所選項目的格式化設定,並且儲存到剪貼板
Option-Command-D 顯示或隱藏 Dock
Command-Control-D 顯示“字典”應用程式中所選文字的定義
Command-D 在“打開和儲存”對話框中選取“桌面”檔案夾
在 Mac OS X v10.6.8 和以下版本中,選取包含“不儲存”按鈕的對話框中的“不儲存”
Command-Delete 在 OS X 和 Mountain Lion 中,選取包含“不儲存”按鈕的對話框中的“不儲存”
Command-E 在所選範圍內尋找
Command-F 打開 Find 視窗
Option-Command-F 移到搜尋欄位控制項目
Command-G 尋找所選範圍下次出現的地方
Shift-Command-G 尋找所選範圍上次出現的地方
Command-H 隱藏目前執行中應用程式的視窗
Option-Command-H 隱藏其他執行中應用程式的視窗
Command-I 讓所選文字變成斜體;啟動或關閉文字斜體功能
Option-Command-I 顯示檢閱器視窗
Command-J 捲視到所選範圍
Command-M 把現用視窗縮小到 Dock
Option-Command-M 把現用應用程式的所有視窗縮小到 Dock
Command-N 在最前方的應用程式中製作新文件
Command-O 顯示對話框,以便選擇要在最前方應用程式中開啟的文件
Command-P 顯示“列印”對話框
Shift-Command-P 顯示對話框以便指定列印參數(設定頁面)
Command-Q 結束最前方的應用程式
Command-S 儲存現用的文件
Shift-Command-S 顯示“儲存為”對話框
Command-T 顯示“字體”視窗
Option-Command-T 顯示或隱藏工具列
Command-U 為所選文字加上底線;啟動或關閉文字底線功能
Command-V 在插入點貼上剪貼板內容
Option-Command-V 把一個物件的樣式套用到所選物件(貼上樣式)
Option-Shift-Command-V 把周圍文字樣式套用到插入物件(貼上並符合樣式)
Control-Command-V 把格式化設定套用到所選物件(貼上尺標指令)
Command-W 關閉最上層視窗
Shift-Command-W 關閉檔案和相關視窗
Option-Command-W 關閉應用程式的所有視窗但不結束應用程式本身
Command-X 刪除所選範圍並儲存到剪貼板
Command-Z 還原前一個指令(某些應用程式可還原多個指令)
Shift-Command-Z 重作前一個指令(某些應用程式可重作多個指令)
Control-向右鍵 把焦點移到顯示方式(例如表格)中的另一個數值或輸入格
Control-向左鍵 把焦點移到顯示方式(例如表格)中的另一個數值或輸入格
Control-向下鍵 把焦點移到顯示方式(例如表格)中的另一個數值或輸入格
Control-向上鍵 把焦點移到顯示方式(例如表格)中的另一個數值或輸入格
Command-向右鍵 將文字插入點移到目前這一行結尾
Command-向左鍵 將文字插入點移到目前這一行開頭
Command-向下鍵 將文字插入點移到文件結尾
Command-向上鍵 將文字插入點移到文件開頭
Option-向右鍵 將文字插入點移到後一個字結尾
Option-向左鍵 將文字插入點移到前一個字結尾
Shift-Command-向右鍵 選擇從插入點到目前這一行結尾之間的所有文字(*)
Shift-Command-向左鍵 選擇從插入點到目前這一行開頭之間的所有文字(*)
Shift-向右鍵 把文字所選範圍向右延伸一個字元(*)
Shift-向左鍵 把文字所選範圍向左延伸一個字元(*)
Shift-Command-向上鍵 選擇從插入點到文件開頭之間的所有文字(*)
Shift-Command-向下鍵 選擇從插入點到文件結尾之間的所有文字(*)
Shift-向上鍵 把文字所選範圍延伸到上一行相同水平位置的最近字元邊界(*)
Shift-向下鍵 把文字所選範圍延伸到下一行相同水平位置的最近字元邊界(*)
Shift-Option-向右鍵 把文字所選範圍延伸到現用字結尾,再按一次就會延伸到下一個字的結尾(*)
Shift-Option-向左鍵 把文字所選範圍延伸到現用字開頭,再按一次就會延伸到下一個字的開頭(*)
Shift-Option-向下鍵 把文字所選範圍延伸到現用段落結尾,再按一次就會延伸到下一段結尾(*)
Shift-Option-向上鍵 把文字所選範圍延伸到現用段落開頭,再按一次就會延伸到下一段開頭(*)
Command-空白鍵 在現用輸入來源和上一個輸入來源之間切換
Option-Command-空白鍵 循序切換到所有啟用的輸入來源
Option-Command-esc 強制結束

forfiles指令介紹

C:Usersxx>forfiles /p e:temp_share /s /m *.* /d -1825 /c “cmd /c echo@path”

在 WINDOWS 下, 若是要將某些檔案做什麼處理的方式, 我通常使用 VBS 的 SCRIPT 來操作, 不過其實還有更方便簡捷的方法, 看到這篇文章 windows server下的檔案處理程式Forfiles , 原來其實在 windows 下還有個這麼方便的檔案列舉工具.

一般最常用的是刪除 log 檔案, 指定目錄, 並指令時間 (例如保留一週, 一週前的刪除), 就可以利用這個指令進行刪除:

forfiles /p c:temp /s /m *.log /d -7 /c “cmd /c del @FILE”

或是列舉出指定目錄下的檔案(非目錄)的名稱列出:

forfiles /p c: /c “cmd /c if @isdir==FALSE echo @FILE”

請注意上面的 “FALSE” 要大寫!

再來看看微軟的官方說明: Forfiles

以下列出該指令的參數說明: (利用 forfiles /? 取得)

FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]

描述:
選取一個檔案 (或一組檔案),並在檔案上
執行命令。這對批次工作很有幫助。

參數清單:
/P    pathname      表示要開始搜尋的路徑。
預設資料夾是目前的
目錄 (.)。

/M    searchmask    根據 searchmask 搜尋檔案。
預設的 searchmask 是 ‘*’。

/S                  指示 forfiles 遞迴搜尋
子目錄。例如 “DIR /S”。

less..

/C    command       表示每個檔案要執行的命令。
命令字串應該包含在雙括號
之間。預設的命令是 “cmd /c echo @file”。

下列變數可以使用於命令字串:

@file    – 傳回檔案的名稱。
@fname   – 只傳回檔案的名稱,
不傳附檔名。
@ext     – 只傳回檔案的
附檔名。
@path    – 傳回檔案的完整路徑。
@relpath – 傳回檔案的相對
路徑。
@isdir   – 如果檔案類型是目錄的話,
傳回 “TRUE”,如果是檔案
的話,傳回 “FALSE”。
@fsize   – 傳回檔案的大小,
單位是位元組。
@fdate   – 傳回檔案上次修改的
日期。
@ftime   – 傳回檔案上次修改
的時間。

要在命令列中包含特殊字元的話,
請使用 0xHH 格式的十六
進位字元碼 (例如 0x09 代表 tab)。
內部的 CMD.exe 命令應該
以 “cmd /c” 執行。

/D    date          選取檔案上次修改的時間大於、
等於 (+) 或小於或等於 (-)、
使用 “yyyy/MM/dd” 格式表示指定的日期;
或選取檔案日期上次修改
的時間大於或等於 (+)
目前的日期再加上”dd” 天、
小於或等於 (-) 目前的日期減去 “dd” 天。
有效的 “dd” 可以是介於
0 – 32768 之間的數字。
如果未指定,”+” 將被視為預設符號。

/?                  顯示這個說明訊息。

範例:
FORFILES /?
FORFILES
FORFILES /P C:WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C “cmd /c type @file | more”
FORFILES /P C: /S /M *.bat
FORFILES /D -30 /M *.exe
/C “cmd /c echo @path 0x09 was changed 30 days ago”
FORFILES /D 2001/01/01
/C “cmd /c echo @fname is new since Jan 1st 2001”
FORFILES /D +2008/7/13 /C “cmd /c echo @fname is new today”
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C “cmd /c echo @fsize”
FORFILES /M *.txt /C “cmd /c if @isdir==FALSE notepad.exe @file”

refer by http://diary.tw/tim/531#recentTrackback

當你使用Cacti做為網管工具,有時會遇到圖的數據顯示不出來的情形

以下提供幾個方向進行問題查找
1.system utilities –>Rebuild poller cache
2.系统时间不准确,重新设置时间
3.图像没有生成,运行#/usr/bin/php /srv/www/htdocs/cacti/poller.php –force
4.权限问题,修改权限#chmod 777 -R /srv/www/htdocs/cacti/rra
5.数据库表有损坏,修复#mysqlcheck -ao cacti –auto-repair -uroot -p
6.重启snmpd服务#service snmpd restart

一鍵轉換!讓 OS X 10.10 Yosemite 的安裝程式轉成 ISO 光碟映像檔

還記得 OS X 原版光碟拿在手上的感覺嗎?

自從 10.7 Lion 開始,Apple 就不提供光碟的銷售了,只開放從 Mac App Store 下載,現在還買的到的光碟版本只剩下 10.6 Snow Leopard 了。

可是,如果我們真的要用到光碟片來安裝 OS X 的時候,要怎麼辦呢?

下載 Yosemite 安裝程式

到 Mac App Store 把 OS X Yosemite 抓下來,因為我已經下載過了,所以按鈕上的文字顯示為「下載」,如果還沒下載過的話,顯示的文字會是「取得」。

為什麼不是顯示「免費」,因為從 2014/11/20 開始,Apple 將免費 App 的按鈕文字全面改成「取得」,請參閱:Tech News 科技新報 – 藏有 App 內購買不算免費,蘋果下載按鈕從「免費」改為「取得」。

到「應用程式」裡確認一下,是否已經下載完畢。

接著有兩種製作方法可選擇:使用「終端機」或是使用「Automator」。

使用「終端機」輸入指令

先打開「終端機」,或是使用 iTerm2 來操作。

執行 vi,準備作成 shell script。
vi create-Yosemite-DVD.sh

把下列的指令全部貼上。

###################### 我是分隔線 ######################
echo 掛載開機壓縮檔到暫存目錄
hdiutil attach /Applications/Install OS X Yosemite.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app

echo 將程式壓縮檔轉換成 sparse bundle 格式的映像檔

hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Yosemite

echo 擴大映像檔的可用容量
hdiutil resize -size 8g /tmp/Yosemite.sparseimage

echo 把映像檔掛載到暫存目錄
hdiutil attach /tmp/Yosemite.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build

echo 刪除所有的檔案連結,改以實際檔案取代
rm /Volumes/install_build/System/Installation/Packages

cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/

cp /Volumes/install_app/BaseSystem.chunklist /Volumes/install_build/BaseSystem.chunklist

cp /Volumes/install_app/BaseSystem.dmg /Volumes/install_build/BaseSystem.dmg

echo 卸載開機壓縮檔
hdiutil detach /Volumes/install_app

echo 卸載 sparse bundle 映像檔
hdiutil detach /Volumes/install_build

echo 調整映像檔的容量,刪除所有未使用的空間
hdiutil resize -size `hdiutil resize -limits /tmp/Yosemite.sparseimage | tail -n 1 | awk ‘{ print $1 }’`b /tmp/Yosemite.sparseimage

echo 把映像檔從 sparse bundle 轉換成 ISO 格式
hdiutil convert /tmp/Yosemite.sparseimage -format UDTO -o /tmp/Yosemite

echo 刪除映像檔
rm /tmp/Yosemite.sparseimage

echo 將 ISO 光碟映像檔搬到「下載項目」
mv /tmp/Yosemite.cdr ~/Downloads/Yosemite.iso
###################### 我是分隔線 ######################

調整檔案權限,讓它可以被執行。
sudo chmod +x create-Yosemite-DVD.sh

最後,執行這個檔案。
./create-Yosemite-DVD.sh

利用「Automator」變成圖示
覺得用指令操作太麻煩了嗎?
我也是這樣子覺得,所以就讓「Automator」協助我們來完成一鍵轉換的目標吧!

首先打開「Automator」。

點選「應用程式」。

點選左側的「程式庫」裡的「工具程式」,再點選「執行 Shell 工序指令」。

把「執行 Shell 工序指令」拉到右側的空白處,就會跳出文字框可以輸入指令。

將上面的指令碼是「echo」開頭的全部刪除,只保留指令部份,再全部貼到右側的文字框裡。

選擇儲存到桌面。

執行桌面上的「製作 Yosemite 安裝光碟」。

這時,在狀態列上就會顯示一個在轉動的齒輪圖示,執行過程沒有發生錯誤的話,圖示會自動消失。

如果剛剛貼上的指令有問題的話,就會出現錯誤視窗。

大功告成

這樣子就可以把映像檔燒到光碟,或是備份起來了。

refer by

Xshell 4 超好用的 SSH 連線工具 – 強力推薦

http://evil-ms.blogspot.tw/2012/06/xshell-4-ssh.html

但是這邊要推薦 Xshell 這個免費的 SSH 軟體,”家用與教育用免費”喔

Xshell 和 SecureCRT 比較起來,不用擔心 UTF-8 中文亂碼問題,Unicode 支援度比較好。

相同性質的還有 SSH Secure Shell 軟體、WinSCP ( SFTP、SCP )

SSH Secure Shell 3.2.9 免費版之後就改成要付費了
SSH Secure Shell 和 Linux 系統也有需要設定 LANG=”zh_TW.Big5″ 的中文亂碼問題
WinSCP 則是以傳檔案為主,超實用的小程式

Xshell 除了常見的 SSH1, SSH2, SFTP, Telnet, Rlogin, Serial protocols Support
其他詳細功能可看 http://www.netsarang.com/products/xsh_specification.html
RSA/DSA public key, Password, and Keyboard Interactive authentication methods
TCP/IP and X11 forwarding
Local commands such as open, ssh, telnet, and rlogin.
Local Windows commands such as ping, ipconfig, netstat, and nslookup
Escape to the local prompt while connecting to a remote host
Drag and Drop file transfer using ZMODEM
File send and receive via SFTP
ASCII file upload

前面寫了這麼多,就是要襯托出 Xshell 好用的地方啦,
第一次使用 Xshell 建議改一下環境設定以便操作使用,也順便紀錄自己習慣的設定ψ(._. )> 筆記

Xshell 顯示畫面,在工作列的 File > Properties > Appearance
Font Name 字型,自己習慣調成 Consolas ,比較好辨識零與O、壹與l 的差別
Font Size 字體大小至少改成 12 以上,眼睛比較不累,其他就看您習慣黑底白字或是黑底綠字嚕

Xshell 完全支援 Unicode ( UTF-8 )
所以在工作列的 File > Properties > Terminal > Encoding > 建議選 Unicode (UTF-8)
而且 Xshell 顯示文字緩衝區可以支援到 32767 行,就算下了 Ctrl + L 之類的清除指令還是可以用滑鼠滾輪到上面看喔,在工作列的 File > Properties > Terminal > Scrollback

因為 Xshell 的 Scrollback size 可以到 32767,這樣一來, Xshell 要儲存紀錄的時候非常的方便。
在工作列的 Edit > To Notepad > All 或 Screen ,滑鼠右鍵也可以另存成文字檔。

自己 Xshell 實驗的紀錄,超過 50000 行還是可以儲存喔 ( ._.)-φ

以下就來介紹個人覺得超級好用的功能與特色吧

Xshell 值得推薦的特色之一就是,支援多視窗 Terminal,做大量 LAB 練習的時候 Tab 非常好用
如果要 Tab 之間快速切換,可以用 [ Alt+1~9 ] 或 [ Ctrl+Tab ] 或者 [ Shift+Tab ]
還可以同時間發送指令到多個 session ,一次全部 Poweroff 啦 XD
在工作列的 View > 勾選 Compose Bar > 左下角選擇 To All Sessions

Xshell 另一項懶人如我,最喜歡的就是記憶密碼 ( Remember Password )。做 LAB 很多台,每次都要輸入帳號密碼所浪費的時間,總是感覺有點卡卡的不順暢,讓 Xshell 儲存密碼可以省去不少的麻煩,也避免忘記密碼的窘境。至於想要用 Xshell 的 Public Key 功能就多 Google 啦。

Xshell 支援滑鼠拖曳傳檔喔,就是有 rz sz 指令啦
Xshell 預設 ZMODEM 是開啟的,不用考慮太多目前路徑問題與指令,隨丟即傳,超方便的啦

Xshell 真的太好用了,如果電腦要重灌時,要如何轉移 (備份及還原) Xshell 的設定 ?
How to Transfer ( Backup and Recover ) Xshell setting ?
因為 Xshell 所儲存的 Session 都會變成 *.xsh 檔,所以到以下路徑把 Sessions 資料夾備份出來即可
%APPDATA%NetSarangXshellSessions
Xshell 的 HostKeys *.pub 也在
%APPDATA%NetSarangSECSHHostKeys
這樣 Xshell 3 到 Xshell 4 無痛升級啦,哈哈

還有 Xshell 一些使用技巧,以及個人覺得好用的快捷鍵就紀錄在這邊嚕 ^^
1. 快速點滑鼠三下,可以選取該行文字
2. Ctrl+Insert,可以複製
3. Shift+Insert 或是點滑鼠中鍵,可以貼上剪貼簿的文字
4. Alt + Enter,可以切換全螢幕

Xshell 介面與指令自訂性非常高,Scrip、Tunneling、等等
這強大方便的能力真的是讓我愛不釋手,就如同我對 Firefox 的熱愛一般

如果您曾經因為 Firefox 的高自訂性而愛上 Firefox ,相信您也會喜歡上 Xshell 的 ( ̄▽ ̄)/
Xshell 很多好用的功能真的寫不完喔,X11、Command,快來挖掘吧

Xshell 補充連結

Xshell 4 User Guide – Secure Terminal Emualtor
http://www.netsarang.com/docs/xshell4_manual.pdf

XShell SSH使用key 連線 | FAQ Book
http://blog.faq-book.com/?p=2782

八克里: 使用 xshell 的終端機登入 switch ( keyword : USB 轉 RS-232 / 模擬 com port )
http://blog.jangmt.com/2009/11/xshell-switch.html
http://www.cpu.com.tw/kh/comp/usb/usb4.html

複製虛擬機Linux,網卡啟動失敗 Device eth0 does not seem to be present, delaying initialization

利用 VirtualBox 的"再製"功能,複製一台 Linux 虛擬主機,結果開機後發現網路卡未啟動,執行 ifup eth0 出現下列訊息。

 # ifup eth0
 
 Device eth0 does not seem to be present, delaying initialization.
 經查詢發現因為"再製"出來的虛擬機會變更新的 MAC Address,所以造成 Linux 判斷成另一張網卡,下列兩種方法任選一種就可以解決。

方法一:
 1) 我們可以先用下列指令查看系統目前抓到哪幾張網卡
 # cat /proc/net/dev
 Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 這裡可以發現網卡代號已經變成 eth1

 2) 編輯 /etc/udev/rules.d/70-persistent-net.rules
 # vi /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”08:00:27:64:f9:37″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”08:00:27:64:f9:39″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth1″

 可以將 eth1 修改為 eth0,重新開機。

 3) 編輯 /etc/sysconfig/network-scripts/ifcfg-eth0
 # vi /etc/sysconfig/network-scripts/ifcfg-eth0
 將"HWADDR="參數修改成正確的 MAC Address,或刪除此參數,若沒有這個參數應該在上一個步驟重新開機後會自動啟動網卡。

 4) 修改完成後,就可以順利啟動網卡。
 # ifup eth0

方法二:
 1) 我們可以先用下列指令查看系統目前抓到哪幾張網卡
 # cat /proc/net/dev
 Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 這裡可以發現網卡代號已經變成 eth1

 2) 編輯 /etc/sysconfig/network-scripts/ifcfg-eth0
 # vi /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE=eth0 -> 修改為 DEVICE=eth1
 HWADDR= -> 刪除或修改成正確的 MAC Address

 3) 因為裝置名稱已變更,所以 ifcfg-eth0 也要跟著更名
 # mv ifcfg-eth0 ifcfg-eth1

 4) 修改完成後,就可以順利啟動網卡。
 # ifup eth1

ROBOCOPY高速同步備份、複製、移動大量檔案

ROBOCOPY高速同步備份、複製、移動大量檔案
.
■ Vista以後的作業系統 (含 Windows 7 ),不須靠外來任何工具程式,XP,2000,2003可由Windows Server 2003 時出的ResourceKit之Tools,裡面約126個命令。
Microsoft官網下載 ResourceKit ,下載完後,直按安裝,安裝程式會自動將 ResourceKit 的資料夾加入Path環境變數,所以可以馬上使用。

.
■ Windows下,也許會習慣用copy或Xcopy指令的方式來作檔案的拷貝。如果在您的資料夾下,有比較特殊的檔名或太多層的資料夾深度,那這些常見的拷貝也許就會失敗,尤其一次要拷貝很多檔案時,更容易會因單一檔案失敗而造成需重頭來過。
.

■ Robocopy除了是個資料夾/檔案的複製指令外,基本上已經作到了「同步」的功能及滿足「差異化備份」的需求。
.
■ 如果需求就是差異化備份,那常用的參數為:
robocopy 來源 目的 /e /xo /purge
/e :代表複製子資料夾,含空的資料夾
/xo :排除較舊的檔案,意思是來源端沒有比目的端新時,就不複製(差異化備份,很重要的參數)
/purge :刪除來源中,不再存在的資料夾或檔案(這個也是差異化備份,很重要的參數)
.
■ 範例架構 (將E槽的123資料夾 備份到 U槽的456資料夾):
robocopy E:123 U:456 /MIR /MT:100

後面的”/MIR” (為備份模式)以來源為主,對目的刪除多餘檔案 (該指令只會改寫有異動的檔案!!對於電腦上班族儲存檔案極為方便!!)
“/MT” 指的是通道數量,一般而言設定100就夠了。另還可替換以下功能:
“/E” (複製模式) 包含子目錄一併複製
“/S” (複製模式) 包含子目錄一併複製,但空目錄除外
“/MOVE” (移動模式) 移動來源到目的,並刪除來源
.
■ 把硬碟 E: 的全部資料 (含資料夾與檔案) 複製到硬碟 U:,保留檔案時間,也不刪除 E: 上的資料。組合出來的參數如下:
.
robocopy E: U: /e /dcopy:t /xo /xa:sh /xj /unicode /eta
.
Windows 系列的指令沒有大小寫之分。這些參數所代表的如下:
.
E: :: 檔案來源 硬碟 E:
U: :: 檔案目的地 硬碟 U:
/e :: 複製所有的子資料夾,包含空的資料夾。
/dcopy:t :: 保留所有檔案與資料夾的時間戳記。
/xo :: 如果已有相同的檔案,且時間相同或較舊就跳過。注意不是零 -:)
/xa:sh :: 跳過屬性為 s (系統) 與 h (隱藏) 的檔案。因為是複製整個硬碟,預設會連 Windows 隱藏的系統檔都複製過去,所以要排除。
/xj :: 跳過 NTFS junction 檔案,關於 junction 請參考這篇文章。
/unicode :: 畫面上的進度資訊以 unicode 顯示,若是操作非中文及英文檔名,這參數可以正確顯示名稱。有無開啟並不影響檔案複製、移動等操作,只是差在畫面顯示正不正確。
/eta :: 顯示預計完成時間。
.
ps. 這個指令跟其他的 dos / windows 指令不一樣的地方是檔案名稱並不是接在資料夾後面的。
.
■另要複製 C:MyDocuments 底下的 .txt、.bmp、.jpg 到 U:BackUp,那指令要組合成…
.
robocopy C:MyDocuments U:BackUp *.txt *.bmp *.jpg
.
反過來,如不想複製這些檔案,需加上參數 /xf
.
robocopy C:MyDocuments U:BackUp /xf *.txt *.bmp *.jpg
.
■以下列出參數說明: (也可用「robocopy /?」 取得說明)
.
——————————————————————————
Usage :: ROBOCOPY source destination [file [file]…] [options]
source 來源:: 原始目錄(驅動器:路徑或\伺服器共用路徑)。
destination目錄:: 目標目錄(驅動器:路徑或\伺服器共用路徑)。
file 文件:: 要複製的檔(名稱/萬用字元: 默認為 “*.*”)。
——————————————————————————
複製選項:
——————————————————————————
/S :: 複製子目錄,但不複製空的子目錄。
/E :: 複製子目錄,包括空的子目錄。
/LEV:n :: 僅複製原始目錄樹的前 n 層。
/Z :: 在可重新開機模式下複製檔。
/B :: 在備份模式下複製檔。
/ZB :: 使用可重新開機模式;如果拒絕訪問,請使用備份模式。
/EFSRAW :: 在 EFS RAW 模式下複製所有加密的檔。
/COPY:複製標記:: 要複製的檔內容(預設為 /COPY:DAT)。
(複製標記: D=資料,A=屬性,T=時間戳記)。
(S=安全=NTFS ACL,O=所有者資訊,U=審核資訊)。
/DCOPY:T :: 複製目錄時間戳記。
/SEC :: 複製具有安全性的檔(等同於 /COPY:DATS)。
/COPYALL :: 複製所有檔資訊(等同於 /COPY:DATSOU)。
/NOCOPY :: 不複製任何檔資訊(與 /PURGE 一起使用生效)。
/SECFIX :: 修復所有檔的檔安全性,即使是跳過的文件。
/TIMFIX :: 修復所有檔的檔時間,即使是跳過的檔。
/PURGE :: 刪除來源中不再存在的目的檔案/目錄。
/MIR :: 鏡像目錄樹(等同於 /E 和 /PURGE)。
/MOV :: 移動檔(複製後從源中刪除)。
/MOVE :: 移動檔和目錄(複製後從源中刪除)。
/A+:[RASHCNET] :: 將給定的屬性添加到複製檔。
/A-:[RASHCNET] :: 從複製檔中刪除給定的屬性。
/CREATE :: 僅創建目錄樹和長度為零的檔。
/FAT :: 僅使用 8.3 FAT 檔案名創建目的檔案。
/256 :: 關閉超長路徑(> 256 字元)支援。
/MON:n :: 監視源;發現多於 n 個更改時再次運行。
/MOT:m :: 監視源;如果更改,在 m 分鐘時間內再次運行。
/RH:hhmm-hhmm :: 運行小時數 – 可以啟動新副本的時間。
/PF :: 以每個檔(而不是每個步驟)為基礎檢查運行小時數。
/IPG:n :: 套裝程式間的間距(ms),以釋放低速線路上的頻寬。
——————————————————————————
檔選擇選項:
——————————————————————————
/A :: 僅複製具有存檔屬性集的檔。
/M :: 僅複製具有存檔屬性的檔並重置存檔屬性。
/IA:[RASHCNETO] :: 僅包含具有任意給定屬性集的檔。
/XA:[RASHCNETO] :: 排除具有任意給定屬性集的檔。
/XF 文件[文件]… :: 排除與給定名稱/路徑/萬用字元匹配的檔。
/XD 目錄[目錄]… :: 排除與給定名稱/路徑匹配的目錄。
/XC :: 排除已更改的文件。
/XN :: 排除較新的檔。
/XO :: 排除較舊的文件。
/XX :: 排除多餘的檔和目錄。
/XL :: 排除孤立的檔和目錄。
/IS :: 包含相同檔。
/IT :: 包含已調整的檔。
/MAX:n :: 最大的檔大小 – 排除大於 n 位元組的檔。
/MIN:n :: 最小的檔大小 – 排除小於 n 位元組的檔。
/MAXAGE:n :: 最長的檔存在時間 – 排除早於 n 天/日期的檔。
/MINAGE:n :: 最短的檔存在時間 – 排除晚於 n 天/日期的檔。
/MAXLAD:n :: 最大的最後訪問日期 – 排除自 n 以來未使用的檔。
/MINLAD:n :: 最小的最後訪問日期 – 排除自 n 以來使用的檔。
(If n < 1900 then n = n days, else n = YYYYMMDD date)。 /XJ :: 排除接合點。(預設情況下通常包括)。 /FFT :: 假設 FAT 檔時間(2 秒細微性)。 /DST :: 彌補 1 小時的 DST 時間差。 /XJD :: 排除目錄的接合點。 /XJF :: 排除文件的接合點。 ------------------------------------------------------------------------------ 重試選項: ------------------------------------------------------------------------------ /R:n :: 失敗副本的重試次數: 默認為 1 百萬。 /W:n :: 兩次重試間的等待時間: 默認為 30 秒。 /REG :: 將註冊表中的 /R:n 和 /W:n 保存為默認設置。 /TBD :: 等待定義共用名稱稱(重試錯誤 67)。 ------------------------------------------------------------------------------ 日誌記錄選項: ------------------------------------------------------------------------------ /L :: 僅列出 - 不複製、添加時間戳記或刪除任何檔。 /X :: 報告所有多餘的文件,而不只是選中的檔。 /V :: 生成詳細輸出,同時顯示跳過的檔。 /TS :: 在輸出中包含原始檔案的時間戳記。 /FP :: 在輸出中包含檔的完整路徑名稱。 /BYTES :: 以位元組列印大小。 /NS :: 無大小 - 不記錄檔大小。 /NC :: 無類別 - 不記錄檔類別。 /NFL :: 無檔清單 - 不記錄檔案名。 /NDL :: 無目錄清單 - 不記錄目錄名稱。 /NP :: 無進度 - 不顯示已複製的百分比。 /ETA :: 顯示複製檔的預期到達時間。 /LOG:文件:: 將狀態輸出到日誌檔(覆蓋現有日誌)。 /LOG+:文件:: 將狀態輸出到日誌檔(附加到現有日誌中)。 /UNILOG:文件:: 以 UNICODE 方式將狀態輸出到日誌檔(覆蓋現有日誌)。 /UNILOG+:文件:: 以 UNICODE 方式將狀態輸出到日誌檔(附加到現有日誌中)。 /TEE :: 輸出到控制台視窗和日誌檔。 /NJH :: 沒有作業標頭。 /NJS :: 沒有作業摘要。 /UNICODE :: 以 UNICODE 方式輸出狀態。 ------------------------------------------------------------------------------ 作業選項 : ------------------------------------------------------------------------------ /JOB:作業名稱:: 從命名的作業檔中提取參數。 /SAVE:作業名稱:: 將參數保存到命名的作業檔 /QUIT :: 處理命令列後退出(以查看參數)。 /NOSD :: 未指定原始目錄。 /NODD :: 未指定目標目錄。 /IF :: 包含以下檔。 ================ http://keynayuki.blogspot.tw/2013/04/robocopy.html