還搞不懂Linux腳本執行、別名命令方法?一文清晰歸納解釋

文本編輯器 腳本語言 Linux Bash 心中有棵白楊樹 心中有棵白楊樹 2017-09-24

腳本執行方式

比如我們在/root/下編寫了一個腳本,名字為hello.sh。那麼怎麼調用執行它呢?有兩種辦法:

(1)直接通過bash,如下:

bash hello.sh

注:採用bash執行腳本,不需要賦予執行權限。但是這不符合習慣,一般不推薦使用。

(2)先賦予權限,然後直接調用:

chmod 755 hello.sh

/root/hello.sh

注:上面的第一句就是為腳本賦予權限,第二句就是執行命令。一般推薦這種執行方式。


別名

在shell中有時候命令很長,也有時候我們想用新的命令覆蓋原來的命令,這個時候就會用到命令別名。下面就係統的講一講

這個關於別名的一些知識。

(1)查看系統中存在的別名

很簡單,一個命令搞定: alias

例如我的系統中的命令別名都有如下一些:

還搞不懂Linux腳本執行、別名命令方法?一文清晰歸納解釋

比如ll是命令“ls -l --color=auto”的別名

(2)編輯自己的別名

也很簡單,語法就是:

alias 命令別名 = ‘原命令名’

注意:是單引號。而且一般命令別名與原來命令名不一樣。但是如果你想覆蓋原來的命令,就可以命令成一樣的。

比如,我想新增加一個命令別名,讓輸入命令vi的時候,實際上執行的是vim命令。就可以如下操作:

通過上面,在用alias查看系統中存在的命令別名的時候,多了vi。以後我們再調用命令vi,實際執行就是vim命令。

但是,請注意,使用alias生成的別名只是臨時有效的,即系統退出後再進入就無效。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

那麼怎麼生成永久的別名呢?

其實也很簡單,比如我們現在的位置在/root/,那麼只需要編輯文件/root/.bashrc即可。

首先我們來看一下這個文件,利用vim /root/.bash.rc命令即可,如下截圖:

還搞不懂Linux腳本執行、別名命令方法?一文清晰歸納解釋

上面就是當前系統中存在的所有命令別名,現在我們只要將自己的命令別名加入進去即可。比如如下:

還搞不懂Linux腳本執行、別名命令方法?一文清晰歸納解釋

可以看到,我新加了vi=’vim’這個命令別名。

然後再執行source /root/.bashrc 命令即可立即生成,如果你不想立即生效,可以重啟後生效。總之這種

添加別名的方式是永久的。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(3)刪除別名

刪除別名的也很簡單,如下:

unalias 命令別名

注意:這種刪除方式也是臨時有效的,即當前系統中這個別名失效了。如果重啟後,這個別名還是有效的。原因就是

/root/.bashrc中的別名沒有真正刪除的(如果你在這個文件中編輯了這個別名)。你可以運行alias看一下,發現

別名已經被刪除,但是運行vim /root/.bashrc發現.bashrc中的別名還存在。因此只有刪除了.bashrc中的別名,

才真正刪除了這個別名(當然如果你沒有在.bashrc中編輯這個別名就無所謂了)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(4)命令生效的順序

在命令覆蓋的時候(即別名和原來的命令名相同),例如我們上例中vi=’vim’就覆蓋掉了系統原來的命令vi,你肯定有疑問

為什麼不會再去調用原來的命令了呢?明明都是一樣的名字啊。其實這是Linux中規定的命令生效順序。下面介紹Linux中的

命令有效的順序。

先後順序如下:

第一順位執行用絕對路徑或相對路徑執行的命令

第二順位執行別名

第三順位執行Bash內部的命令

第四順位執行按照$PATH環境變量定義的目錄查找順序找到的第一個命令

我們發現別名的執行級別還是挺高的哈。好了,關於別名的知識就講到這裡。


快捷鍵

我們記住下面的常用快捷鍵即可,沒有什麼好說的。如下:

ctrl+c 強制終止當前命令

ctrl+l 清屏

ctrl+a 光標移動到命令行首

ctrl+e 光標移動到命令行尾

ctrl+u 從光標所在位置一直刪除到行首

ctrl+z 把命令放入後臺

ctrl+r 在歷史命令中搜索


歷史命令

history [選項] [歷史命令保存文件]

選項:

-c 清空歷史命令

-w 把緩存中的歷史命令寫入歷史命令保存文件”~/.bash_history”

如果你在命令行只輸入命令history,就是查看當前的所有歷史命令(包括你之前登錄的和當前登錄的)

如果你在命令行只輸入命令history -c ,則會刪除當前登錄的所有歷史命令。

如果你輸入命令 history -w ,就會把當前的歷史命令寫入~/.bash_history文件中。

注意:.bash_history這個文件只會保存之前登錄的歷史命令,當前登錄只有退出後才會將歷史命令

寫入這個文件。因此使用選項 -w可以立即寫入。


自動補全

shell中自動補全只要你按下Tab鍵即可。如果按下去沒有自動補全,說明有多種補全方式,你再按一下Tab鍵,就會

將多種補全方式顯示出來,這樣子你就可以選擇適合自己的補全方式了。

相關推薦

推薦中...