Unix操作系統(tǒng)中良好習慣
當我們經(jīng)常使用Unix操作系統(tǒng)時,大家往往會陷入某種固定的使用模式。有時,您沒有養(yǎng)成以盡可能最好的方式做事的習慣。有時,您的不良習慣甚至會導致出現(xiàn)混亂。糾正此類缺點的最佳方法之一,就是有意識地采用抵制這些壞習慣的好習慣。我們在文章中提出了幾個值得采用的 Unix操作系統(tǒng) 命令行習慣——幫助您克服許多常見使用怪癖,并在該過程中提高命令行工作效率的好習慣。
在單個命令中創(chuàng)建目錄樹
1 演示了最常見的 Unix操作系統(tǒng) 壞習慣之一:一次定義一個目錄樹。
壞習慣 1 的示例:單獨定義每個目錄樹 ~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $
使用 mkdir 的 -p 選項并在單個命令中創(chuàng)建所有父目錄及其子目錄要容易得多。但是即使對于知道此選項的管理員,他們在命令行上創(chuàng)建子目錄時也仍然束縛于逐步創(chuàng)建每級子目錄。花時間有意識地養(yǎng)成這個好習慣是值得的。
好習慣 1 的示例:使用一個命令來定義目錄樹
~ $ mkdir -p tmp/a/b/c
您可以使用此選項來創(chuàng)建整個復雜的目錄樹(在腳本中使用是非常理想的),而不只是創(chuàng)建簡單的層次結構。例如:
好習慣 1 的另一個示例:使用一個命令來定義復雜的目錄樹
~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
過去,單獨定義目錄的唯一借口是您的 mkdir 實現(xiàn)不支持此選項,但是在大多數(shù)系統(tǒng)上不再是這樣了。IBM、AIX®、mkdir、GNU mkdir 和其他遵守單一 Unix操作系統(tǒng)規(guī)范 (Single Unix Specification) 的系統(tǒng)現(xiàn)在都具有此選項。
對于仍然缺乏該功能的少數(shù)系統(tǒng),您可以使用 mkdirhier 腳本,此腳本是執(zhí)行相同功能的 mkdir 的包裝: ~ $ mkdirhier project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
Unix操作系統(tǒng)更改路徑;不要移動存檔
另一個不良的使用模式是將 .tar 存檔文件移動到某個目錄,因為該目錄恰好是您希望在其中提取 .tar 文件的目錄。其實您根本不需要這樣做。您可以隨心所欲地將任何 .tar 存檔文件解壓縮到任何目錄——這就是 -C 選項的用途。在解壓縮某個存檔文件時,使用 -C 選項來指定要在其中解壓縮該文件的目錄:
好習慣 2 的示例:使用選項 -C 來解壓縮 .tar 存檔文件 ~ $ tar xvf -C tmp/a/b/c newarc.tar.gz
相對于將存檔文件移動到您希望在其中解壓縮它的位置,在Unix操作系統(tǒng)中切換到該目錄,然后才解壓縮它,養(yǎng)成使用 -C 的習慣則更加可取——當存檔文件位于其他某個位置時尤其如此。
這些都是Unix操作系統(tǒng)中一些人總結的好的使用習慣。希望大家也能夠養(yǎng)成好的習慣。
【編輯推薦】