在Linux下,如果你需要執行shell腳本,那么應該使用那個命令呢?下面由我為大家整理了linux shell腳本執行命令的相關知識,希望對大家有幫助!
漳浦ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
linux shell腳本執行
linux shell腳本執行方法一: 切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:
cd /data/shell
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變量PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變量PASH中的,所以必須加上./才可執行。
linux shell腳本執行方法二: 以絕對路徑的方式去執行bash shell腳本:
/data/shell/hello.sh
linux shell腳本執行方法三: 直接使用bash 或sh 來執行bash shell腳本:
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來執行,那么,可以不必事先設定shell的執行權限,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行權限。那么不用指定bash路徑自然也好理解了啊。
linux shell腳本執行方法四: 在當前的shell環境中執行bash shell腳本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完后子shell環境隨即關閉,然后又回到父shell中。而方法四則是在當前shell中執行的。
一、cd命令(切換目錄 )
(1)切換到目錄 /usr/local
cd /usr/local
(2)去到目前的上層目錄
cd ..
(3)回到自己的主文件夾
cd ~
二、ls命令(查看文件與目錄)
(4)查看目錄/usr下所有的文件
cd /usr ls -al
三、mkdir命令(新建新目錄 )
(5)進入/tmp目錄,創建一個名為a的目錄,并查看有多少目錄存在
cd /tmp
mkdir a ls -al
(6)創建目錄a1/a2/a3/a4
mkdir -p a1/a2/a3/a4
四、?rmdir命令(刪除空的目錄)
(7)將上例創建的目錄a(/tmp下面)刪除
rmdir a
(8)刪除目錄a1/a2/a3/a4,查看有多少目錄存在
rmdir -p a1/a2/a3/a4
ls -al
五、cp命令(復制文件或目錄 )
(9)將主文件夾下的.bashrc復制到/usr下,命名為bashrc1
sudo cp ~/.bashrc /usr/bashrc1
(10)在/tmp下新建目錄test,再復制這個目錄內容到/usr
cd /tmp
mkdir test
sudo cp -r /tmp/test /usr
六、mv命令(移動文件與目錄,或更名)
(11)將上例文件bashrc1移動到目錄/usr/test
sudo mv /usr/bashrc1 /usr/test
(12)將上例test目錄重命名為test2
sudo mv /usr/test /usr/test2
七、rm命令:移除文件或目錄
(13)將上例復制的bashrc1文件刪除
sudo rm /usr/test2/bashrc1
(14)將上例的test2目錄刪除
sudo rm -r /usr/test2
八、cat命令:查看文件內容
(15)查看主文件夾下的.bashrc文件內容
cat ~/.bashrc
九、tac命令:反向列示
(16)反向查看主文件夾下.bashrc文件內容
tac ~/.bashrc
十、more命令:一頁一頁翻動查看
(17)翻頁查看主文件夾下.bashrc文件內容
more ~/.bashrc
十一、head命令:取出前面幾行
(18)查看主文件夾下.bashrc文件內容前20行
head -n 20 ~/.bashrc
(19)查看主文件夾下.bashrc文件內容,后面50行不顯示,只顯示前面幾行
head -n -50 ~/.bashrc
十二、tail命令:取出后面幾行
(20)查看主文件夾下.bashrc文件內容最后20行
tail -n 20 ~/.bashrc
(21) 查看主文件夾下.bashrc文件內容,只列出50行以后的數據
tail -n +50 ~/.bashrc
十三、touch命令:修改文件時間或創建新文件
(22)在/tmp下創建一個空文件hello并查看時間
cd /tmp
touch hello ls -l hello
(23)修改hello文件,將日期調整為5天前
touch -d “5 days ago” hello
十四、chown命令:修改文件所有者權限
(24)將hello文件所有者改為root帳號,并查看屬性
sudo chown root /tmp/hello
ls -l /tmp/hello
十五、find命令:文件查找
(25)找出主文件夾下文件名為.bashrc的文件
find ~ -name .bashrc
十六、tar命令:壓縮命令
(26)在/目錄下新建文件夾test,然后在/目錄下打包成test.tar.gz
sudo mkdir /test
sudo tar -zcv -f /test.tar.gz test
(27)解壓縮到/tmp目錄
sudo tar -zxv -f /test.tar.gz -C /tmp
十七、grep命令:查找字符串
(28)從~/.bashrc文件中查找字符串'examples'
grep -n 'examples' ~/.bashrc
在前面的兩個章節中,我們主要介紹了Linux基本知識和虛擬機的安裝,從當前章節開始,我們一起學習下Linux的基本命令,在當前章節,我們先簡單的學習下一些系統的基本命令,慢慢的由淺入深,在后面的章節中我們將學習其他的命令比如文件操作、備份壓縮等
命令我們可以理解成在Windows中我們常常為了查看ip輸入的ipconfig,在Linux中也有很多的命令,比如操作目錄、文件、網絡、磁盤等等命令
使用者權限:管理員用戶
參數說明:
添加用戶czbk(傳智播客的首拼)執行
我們使用useradd命令創建了一個用戶czbk
useradd 可用來建立用戶帳號。帳號建好之后,再用 passwd 設定帳號的密碼。
執行如下
由上圖我們發現,我們在使用useradd新增用戶的時候,出現了權限不足,也就是說我們使用用戶itcast沒有創建用戶的權限。
我們通過管理員賬號root進行創建,首先我們從控制臺中切換到root
在 密碼的地方輸入我們的root密碼【root】即可進入到root用戶下。
我們在root下繼續創建czbk用戶
以下是useradd常用選項
用戶管理的一項重要內容是用戶口令的管理。用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須為其指定口令后才可以使用
使用者權限:管理員用戶
指定和修改用戶口令的Shell命令是 passwd 。超級用戶可以為自己和其他用戶指定口令,普通用戶只能用它修改自己的口令。命令的格式為:
可使用的選項:
設置當前用戶的口令
此處我們設置密碼和itcast賬號密碼一致,為【Itheima888】
usermod 命令通過修改系統帳戶文件來修改用戶賬戶信息
修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。
使用者權限:管理員用戶
修改已有用戶的信息使用 usermod 命令,其格式如下:
下面命令將用戶czbk用戶名修改成czbk2019
以下是usermod常用選項
假如我們其中一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。
使用者權限:管理員用戶
刪除一個已有的用戶賬號使用 userdel 命令,其格式如下:
-f:強制刪除用戶,即使用戶當前已登錄;
-r:刪除用戶的同時,刪除與用戶相關的所有文件
此命令刪除用戶czbk2019
成功刪除用戶czbk2019
以下是userdel常用選項
引子:
為了方便用戶管理, 提出了 組 的概念, 如下圖所示
比如新建賬戶【張三】,那么它默認對應的組就是張三
一個用戶可以有一個或者多個組
假如說(如上圖),我們在企業級開發過程中,我們有多個組,其中一個開發組對應三個賬戶,張三、李四、王五、如果就像上面提到的,一個用戶默認對應一個組,那么三個賬戶張三、李四、王五就有了三個不同的組,如果大家都操做一個文件,在進行權限分配的時候,就要對不同的三個組進行授權,顯然這樣是不合理的,因為太過繁瑣。
所以,才有了組(新建組)的概念,我們把張三、李四、王五統一放到【開發組】,在對文件授權的時候,我們只對【開發組】進行授權由此,這樣的話【張三、李四、王五】都有相等的權利操作了。
新增一個用戶組(組名可見名知意,符合規范即可),然后將用戶添加到組中
使用者權限:管理員用戶
使用的選項有:
新增用戶組czbk-it
上面的命令向系統中增加了一個新組czbk-it,新組的組標識號是在當前已有的最大組標識號的基礎上加1
以下是groupadd常用選項
使用者權限:管理員用戶
常用的選項有:
上面的命令將組czbk-it的組名修改為czbk-it-2019。
以下是groupmod常用選項
在查詢用戶所屬的用戶組前,我們先增加一個用戶ituser-groups
要查詢一個用戶屬于哪個用戶組,使用groups命令,其格式如下
查詢用戶ituser-groups屬于某個用戶組,執行groups命令
由此可見,ituser-groups用戶屬于用戶組ituser-groups(用戶組默認與用戶名一樣)
使用者權限:管理員用戶
要刪除一個已有的用戶組,使用groupdel命令,其格式如下
刪除czbk-it-2019用戶組
刪除成功
以下是groupdel常用選項
1、創建一個新的組,并添加組ID(需要切換到root用戶)
執行效果如下
2、創建3個用戶(需要切換到root用戶)
3、將上面三個用戶添加到組itbj2020group
我們通過passwd命令將三個用戶添加到組
什么是gpasswd:
gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用于將一個用戶添加到組或者從組中刪除。
語法
將上面的三個用戶使用gpasswd添加到組(需要切換到root用戶)
執行如下
查看用戶組下所有用戶(所有用戶)
執行效果如下(或者直接打開/etc/group文件都可以)
由上圖可知:三個用戶全部都加入到了itbj2020group組。
date 可以用來顯示或設定系統的日期與時間
使用者權限:所有用戶
語法如下:
參數
-d字符串:顯示字符串所指的日期與時間。字符串前后必須加上雙引號;
-s字符串:根據字符串來設置日期與時間。字符串前后必須加上雙引號;
-u:顯示GMT;
--help:在線幫助;
--version:顯示版本信息
1、設置時間
用 -s選項可以設置系統時間,如下:
2、顯示時間
協調世界時,又稱世界統一時間、世界標準時間、國際協調時間。由于英文(CUT)和法文(TUC)的縮寫不同,作為妥協,簡稱UTC。。
(2)GMT
即 格林尼治 平太陽時間,是指格林尼治所在地的標準時間,也是表示地球自轉速率的一種形式
外文名: Universal Time
其他外文名 G.M.T.(Greenwich Mean Time)
(3)CST
北京時間 (中國國家標準時間) 北京時間是中國采用國際時區東八時區的區時作為標準時間 。 北京時間并不是北京(東經116.4°)的地方時間,而是東經120°的地方時間,故東經120度地方時比北京的地方時早約14分半鐘。因為北京處于國際時區劃分中的東八區,同格林尼治時間(世界時)整整相差8小時(即北京時間=世界時+8小時),故命名為“北京時間”。東八區包括的范圍從東經112.5°到東經127.5°,以東經120°為中心線,東西各延伸7.5°,總寬度為15°的區域。 而中國幅員遼闊,東西相跨5個時區(即東五區、東六區、東七區、東八區、東九區5個時區)授時臺必須建在地理中心地帶,從而也就產生了長短波授。“北京時間”與“北京當地時間”是兩個概念, “北京時間”的發播不在北京,而在陜西蒲城(處于東七區)
(4)東八區
東八區( UTC / GMT +08:00)是比 世界協調時間 (UTC)/ 格林尼治時間 (GMT)快8小時的時區,理論上的位置是位于 東經 112.5度至127.5度之間,是東盟標準的其中一個候選時區。當格林尼治標準時間為0:00時,東八區的標準時間為08:00
pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n486" mdtype="fences" style="font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-size: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); border: 1px solid rgb(231, 234, 237); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); position: relative !important; background-position: inherit; background-repeat: inherit;"總結:
上面提到了很多知識:即UTC/GMT/CST/東八區
總結一下就是,北京時間(中國國家標準時間CST)采用東八區區時,即:
協調世界時(UTC)+8 / 格林尼治時間(GMT)+8
也就是說+8后的時間才是北京時間/pre
logname命令用于顯示用戶名稱。
執行logname指令,它會顯示目前用戶的名稱
語法為如下:
參數 :
顯示登錄賬號的信息
su命令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。
使用權限:所有使用者。
語法如下:
變更帳號為 root 并在執行 ls 指令后退出返回原使用者
切換到root
這樣的話,我們就進入到了root用戶下。
id命令用于顯示用戶的ID,以及所屬群組的ID。
id會顯示用戶以及所屬群組的實際與有效ID。若兩個ID相同,則僅顯示實際ID。若僅指定用戶名稱,則顯示目前用戶的ID。
使用者權限:所有用戶
語法
參數說明:
顯示當前用戶信息
執行效果如下
sudo:控制用戶對系統命令的使用權限,root允許的操作。
通過sudo可以提高普通用戶的操作權限
使用者權限:普通用戶
語法如下:
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
參數說明 :
sudo命令使用
指定root用戶執行指令
修改網卡配置文件
比如,在下面的例子中,我們使用普通用戶修改網卡的配置文件,在進行保存的時候,提示我們【無法打開并寫入文件】,那么此時,我們可以通過sudo命令來提升自己的寫入權限
執行:
執行效果如下(保存)
然后點擊回車
執行效果如下(鍵入itcast密碼)
執行保存
top命令用于實時顯示 process 的動態。
使用權限:所有使用者。
顯示進程信息
執行效果如下
顯示完整命令,與top命令不同的就是command屬性像是進行了命令補全
執行效果如下
執行效果如下
Linux ps命令用于顯示當前進程 (process) 的狀態信息
使用者權限:所有用戶
語法如下:
顯示進程信息
顯示指定用戶信息
顯示所有進程信息
Linux kill命令用于刪除執行中的程序或工作(可強制中斷)
使用者權限:所有用戶
語法如下:
參數說明 :
殺死一個進程
強制殺死進程
徹底殺死進程
殺死指定用戶所有進程
1.方法一 過濾出itcast用戶進程
2.方法二,直接殺死
shutdown命令可以用來進行關閉系統,并且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown 也可以用來重開機
使用者權限:管理員用戶
語法如下:
參數說明 :
立即關機
指定1分鐘后關機,1分鐘關機并顯示警告信息
指定1分鐘后重啟,并發出警告信息
reboot命令用于用來重新啟動計算機
使用者權限:管理員、普通(需要驗證)用戶
語法如下:
參數 :
開始重新啟動
重啟效果如下
who命令用于顯示系統中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機、從哪邊連上來的、上線時間、呆滯時間、CPU 使用量、動作等等
使用者權限:所有使用者都可使用。
語法如下:
參數說明 :
顯示當前登錄系統的用戶
顯示明細(標題)信息
由上圖可知,截止到現在只有itcast在線。
引子:
timedatectl是用于控制系統時間和日期。可以用來查詢和更改系統時鐘于設定,同時可以設定和修改時區信息。
在實際開發過程中,系統時間的顯示會和實際出現不同步;我們一般為了校正服務器時間、時區的時候會使用timedatectl命令/pre
使用者權限:所有使用者都可使用,設置時間需要管理員,下面會標注。
幾個常見的概念,進行總結如下:
顯示系統的當前時間和日期,使用命令行中的timedatectl命令
執行效果如下
上圖顯示中國時區
網站欄目:linux實現注入命令 linux注入進程方法總結
轉載來于:http://vcdvsql.cn/article12/hhhsgc.html
成都網站建設公司_創新互聯,為您提供建站公司、網站建設、品牌網站設計、、企業網站制作、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯