命令列星期二 第五部分

2021-09-23 16:21:21 字數 1692 閱讀 4867

對,你也許已經猜到了又是我們相見的時候了。這一次我們將會學習如何使用命令工作。因此,事不宜遲,我們直入正題吧。

肖茨先生指出,到現在為止,我們學習了一些神奇的命令及其引數和選項,而今天正是我們揭開他們那神秘面紗一角的一天。我們將會學習如下的一些命令及其作用:type, which, help和man。但是在此之前,我麼先學習一下——

我們可以將命令分為四個種類。

1)可執行的程式:命令可以是乙個可執行程式。如果你在前面的課程中有遍歷過你的系統,這也是你應該做的。你也許已經發現了/user/bin這個目錄,你看到很多的像transmission-gtk, deluge-gtk等的名字。對我們新手來說,現在這些可以編譯成二進位制檔案或者用指令碼語言編寫的可執行程式具體是什麼並不太重要。重點是,他們是可執行檔案,你可以執行它們。找到/user/bin這個目錄,列出裡面的檔案,隨便挑乙個去執行它。

2)shell內建命令: bash提供了一系列的shell內建命令,例如,cd命令就是乙個shell內建命令。

3)shell函式:內置於系統環境中的小型的shell指令碼。現在我們簡單的提及一下它,因為在後面的幾個星期中我們將要學習它。

4)別名:你可以基於其他命令定義你自己的命令。我們也會在後面的課程中學習到。

現在,知道我們要處理的命令的哪一類是有意義的。我們可以使用type命令檢視。

你可以使用type + command來檢視你要使用的命令屬於什麼型別。你只要輸入type command就可以得到命令型別的輸出,如下:

type mkdir

或者type ls

從上面例子可以看出『ls』命令實際上是『_ls』的別名。(lctt譯註:不同機器上的別名定義可能不同,比如redhat/centos系列上,ls實際上是『ls --color=auto』的別名,而這個『_ls』想必是opensuse上的情況。)

有時(雖然在桌面系統中很少會出現這種情況),在一台機器中存在乙個可執行程式的多個版本。為了找到某個可執行程式的準確位置,我們可以使用which命令。which命令只對可執行程式有用。

which transmission-gtk

如今,多數的命令都會附帶說明文件,因此,當你在沒有網路的的情況下使用命令行時,你不能在論壇或者irc上提問,但是你又必須要知道某個命令的準確用法。此時你有兩種解決方法,第乙個是——

help命令對shell內建命令有用(在上面的第二類中我們有提到過)。所以,你可以選擇乙個shell內建命令為例,如cd,簡單的輸入help cd即可。你會得到乙個有用的頁面,去試一下看cd為我們提供了什麼功能。該頁面列出了該命令的用法和可選項(選項列在方括號中,表明它們是可選的,如果方括號中有垂直分隔符分隔某些選項,則這些選項是互斥的,不要同時使用他們!)

(lctt譯註:linux上的命令中,通常單字元引數前使用乙個破折號,而多個字元的長引數則使用兩個破折號,原文此處用的是「-help」,實際上這種情況很少,所以修正為「--help」)

help只對shell內建命令有用。但是很多的可執行程式有--help選項。其作用類似於help命令,但是你必須在你要檢視幫助的命令後輸入 --help。例如,transmission-gtk --help。試一下看在改該可執行程式中有什麼可選項可以使用。

這周我們就到先講這裡了。

我想再花一分鐘來感謝大家對本節的建議和貢獻。是你們讓這個系列的文章變得越來越好,我希望在你們的幫助下,我們這些新使用者在夏季結束前可以使用基本的命令列工具。你們是最棒的。像我一樣的新使用者們,我們都會感到失落,堅持到底,我們的付出總會有回報的!

譯 Reduce(軟體編寫)(第五部分)

本文講的是 譯 reduce 軟體編寫 第五部分 array.reduce reducer accumulator any,current any any,initialvalue any accumulator any 2,4,6 reduce acc,n acc n,0 12const summ...

Python學習手冊(第五部分 模組)

注意 匯入只發生一次!如果需要乙個模組的 通過某種匯入後再一次執行,需要使用內建函式reload來實現。最好使用import直接匯入模組,使用from import 語句匯入的變數名可能會有問題。import匯入模組包的語句中的目錄路徑只能是以點號間隔的變數。相對匯入與絕對匯入 絕對匯入的格式為 i...

Job 儲存和持久化 第五部分

十.使用資料庫儲存 scheduler 資訊 載入 job 到資料庫中 在前面有一節,使用記憶體儲存 scheduler 資訊 我們談到關於在使用 ramjobstore 時如何載入 job 和 trigger 資訊到記憶體中。那麼 job 和 trigger 又是如何載入到資料庫中的呢?存在以下幾...