1. 程式人生 > >shell常用命令及基礎

shell常用命令及基礎

一、什麼是shell

在這裡插入圖片描述
shell是使用者和Linux核心之間的介面程式,如果把Linux核心想象成一個球體的中心,shell就是圍繞核心的外層。當從shell或其他程式向Linux傳遞命令時,核心會做出相應的反應。
shell是一個命令語言直譯器,它擁有自己內建的shell命令集,shell也能被系統中其他應用程式所呼叫。使用者在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。

二、shell存在的意義

linux系統的shell作為作業系統的外殼,為使用者提供使用作業系統的介面。它是命令語言、命令解釋程式及程式設計語言的統稱。

三、建立簡單的shell指令碼

什麼是shell指令碼?

指令碼是一種解釋型語言。利用shell指令碼可以儲存執行動作。它可以輕鬆又高效的實現動作的批量執行。

編寫shell指令碼

vim test.sh ##編寫指令碼,指令碼名任意,一般以.sh結尾。以方便辨認
在這裡插入圖片描述

#! 執行環境(幻數)

指令碼執行

方法一:

sh 指令碼檔案

在這裡插入圖片描述

方法二:

chmod +x 指令碼檔案                                                 ##新增執行許可權
絕對路徑/指令碼檔案                                                  ##執行指令碼

在這裡插入圖片描述

方法三:

cp 指令碼檔案 /usr/bin/                                             ##把指令碼檔案移動
chmod +x /usr/bin/指令碼					         ##執行許可權

在這裡插入圖片描述

四、建立.sh檔案自動呼叫SetTitle函式

1.需要鍵入F4才能呼叫的SETTITLE

vim /etc/vimrc                                         ##編輯vim配置檔案

在這裡插入圖片描述

測試

vim haha.sh
F9
在這裡插入圖片描述

編輯新指令碼時自動新增。

vim /etc/vimrc
在這裡插入圖片描述

"map <F9> ms:call Scripts_Dest()<cr>'s                                                       ##"是此配置檔案的註釋符號
autocmd BufNewFile *.sh,*.script exec ":call Scripts_Dest()"			             ##當建立.sh和.script檔案時自動新增SetTitle函式

在這裡插入圖片描述
牛刀小試
ip_show.sh ----->顯示當前主機的ip地址
vim ip_show.sh
ifconfig eth0 | grep "inet "|cut -d " " -f 10

user_show.sh ----->顯示當前主機可登陸的使用者名稱稱
vim user_show.sh
cat /etc/passwd | grep /bin/bash |cut -d : -f 1

host_messages.sh ----->顯示當前主機的名稱,ip地址以及可登陸的使用者名稱稱
vim host_messages.sh
hostname
ifconfig eth0 | grep "inet "|cut -d " " -f 10
cat /etc/passwd | grep /bin/bash |cut -d : -f 1