新聞中心
在Linux中,命令行參數(shù)是指在運(yùn)行腳本或可執(zhí)行文件時(shí)在命令行上提供的參數(shù)。這些參數(shù)可以用于將輸入傳遞到腳本或應(yīng)用程序中,從而影響其行為和輸出。本文將介紹。

創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),阜康網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:阜康等地區(qū)。阜康做網(wǎng)站價(jià)格咨詢:18982081108
1. 參數(shù)的基本結(jié)構(gòu)
命令行參數(shù)有兩種基本類型:選項(xiàng)和參數(shù)。選項(xiàng)是以破折號(hào)開始的單個(gè)字母或單詞,通常用于控制應(yīng)用程序的行為。參數(shù)是與選項(xiàng)關(guān)聯(lián)的值。
選項(xiàng)和參數(shù)可以以任何順序出現(xiàn),并且可能存在重復(fù)。例如,以下命令行參數(shù)中包含了兩個(gè)選項(xiàng)和三個(gè)參數(shù):
“`
./my_script.sh -h –verbose input.txt output.txt input.txt
“`
其中,“-h”是一個(gè)短選項(xiàng),“–verbose”是一個(gè)長(zhǎng)選項(xiàng)?!癷nput.txt”和“output.txt”是兩個(gè)參數(shù),而第三個(gè)“input.txt”是另一個(gè)參數(shù)。
2. 獲取選項(xiàng)
在Linux中,可以使用getopt命令來獲取選項(xiàng)。getopt是一個(gè)標(biāo)準(zhǔn)的Linux命令,用于解析命令行參數(shù)。getopt命令的基本語法如下:
“`
getopt [options] [–] optstring [arguments]
“`
其中,optstring是一個(gè)包含所有可用選項(xiàng)的字符串。
例如,以下命令行參數(shù)將會(huì)打印出選項(xiàng)的使用方式:
“`
./my_script.sh -h –verbose input.txt output.txt input.txt
“`
以下是代碼實(shí)現(xiàn):
“`bash
#!/bin/bash
# 解析選項(xiàng)
options=$(getopt -o hv –long help,verbose — “$@”)
if [ $? -ne 0 ]; then
exit 1
fi
eval set — “$options”
while true; do
case “$1” in
-h|–help)
echo “Usage: my_script.sh [-h|–help] [-v|–verbose] input_file output_file”
exit 0
;;
-v|–verbose)
verbose=true
shift
;;
–)
shift
break
;;
*)
break
;;
esac
done
# 打印參數(shù)
echo “Input file: $1”
echo “Output file: $2”
“`
在上述腳本中,getopt命令解析了選項(xiàng)“-h”和“–verbose”。在while循環(huán)中,使用case語句處理每個(gè)選項(xiàng),如果選項(xiàng)存在,則將變量$verbose設(shè)置為true,并將選項(xiàng)從$@變量中移除。–符號(hào)用于分離選項(xiàng)和參數(shù)。
腳本打印出了輸入和輸出文件的參數(shù)。
3. 獲取參數(shù)
要獲取參數(shù),可以使用$1、$2、$3等變量來引用它們。例如,在上面的示例中,參數(shù)“input.txt”可通過$1變量進(jìn)行訪問,參數(shù)“output.txt”可通過$2變量進(jìn)行訪問。
如果需要獲取所有參數(shù),可以使用特殊變量$@。例如,以下腳本將會(huì)打印出傳遞到它的所有參數(shù):
“`bash
#!/bin/bash
for arg in “$@”; do
echo “$arg”
done
“`
在這個(gè)例子中,for循環(huán)迭代所有的參數(shù),并將它們打印出來。$@變量表示所有的參數(shù)。
4. 獲取參數(shù)個(gè)數(shù)
要獲取傳遞給腳本或應(yīng)用程序的參數(shù)的數(shù)量,可以使用特殊變量$#。
例如,以下腳本將會(huì)打印出傳遞給它的參數(shù)數(shù)量:
“`bash
#!/bin/bash
echo “Number of arguments: $#”
“`
在這個(gè)例子中,echo命令將打印出傳遞給腳本的參數(shù)的數(shù)量。$#變量表示參數(shù)的數(shù)量。
5.
在Linux中,獲取命令行參數(shù)是一個(gè)非常常見的任務(wù)。通過使用getopt命令解析選項(xiàng)并將參數(shù)存儲(chǔ)在變量中,可以輕松地訪問它們。使用特殊變量$1、$2、$3等引用單個(gè)參數(shù),使用特殊變量$@引用所有參數(shù),使用特殊變量$#獲得參數(shù)的數(shù)量。
希望本文能夠幫助您更輕松地在Linux中獲取命令行參數(shù),并讓您的工作更加高效和快速。
相關(guān)問題拓展閱讀:
- Linux常用命令
Linux常用命令
就是list的縮寫,通過ls 命令不僅可以查看linux文件夾包含的文件,而且可以查看文件權(quán)限(包括目錄、文件夾、文件權(quán)限)看目錄信息等等
常用參數(shù)搭配:
實(shí)例:
(changeDirectory),命令語法:cd 。說明:切叢滾純換當(dāng)前目錄至dirName
實(shí)例:
查看當(dāng)前工作目錄路徑
實(shí)例:
創(chuàng)建文件夾
實(shí)例:
刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,如果沒有使用- r選項(xiàng),則rm不會(huì)刪除目錄。如果使用rm 來刪除文件,通常仍可以將該文件恢復(fù)原狀
rm 文件…
常用參數(shù)搭配:
實(shí)例:
刪除空目錄,一個(gè)目錄被刪除之前必須是空的。(注意,rm -r dir 命令可以代替rmdir,但是很危險(xiǎn),萬一它突然就不是空的咧?),另外刪除某目錄時(shí)必須具有對(duì)父目錄的寫權(quán)限。
實(shí)例:
rmdir -p watch/avi 刪掉avi目錄,watch目錄就空掉了,那還看什么?所以干脆把watch目錄一起刪掉,眼不見為不凈嘛。
mv命令是move的縮寫,可以用來移動(dòng)文件或者將文件改名,是Linux系統(tǒng)下常用的命令,經(jīng)常用來備份文件或者目錄。
命令功能:
視mv命令中第二個(gè)參數(shù)類型的不同(是目標(biāo)文件還是目標(biāo)目錄),mv命令將文件重命名或?qū)⑵湟浦烈粋€(gè)新的目錄中。當(dāng)?shù)诙€(gè)參數(shù)類型是文件時(shí),mv命令完成文件重命名,此時(shí),源文件只能有一個(gè)(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標(biāo)文件名。當(dāng)?shù)诙€(gè)參數(shù)是已存在的目錄名稱時(shí),源文件或目錄參數(shù)可以有多個(gè),mv命令將各參數(shù)指定的源文件均移至目標(biāo)目錄中。在跨文件系統(tǒng)移動(dòng)文件時(shí),mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
命令參數(shù):
實(shí)例:
將源文件復(fù)制至目標(biāo)文件,或?qū)⒍鄠€(gè)源文件復(fù)制至目標(biāo)目錄。
注意:命令行復(fù)制,如果目標(biāo)文件已經(jīng)存在會(huì)提示是否覆蓋,而在shell腳本中,如果不加-i參數(shù),則不會(huì)提示,而是直接覆蓋!
命令參數(shù):
實(shí)例:
cat主要有三大功能:
命令參數(shù):
實(shí)例:
功能類似于cat, more會(huì)以一頁(yè)一頁(yè)的顯示方便使用者逐頁(yè)閱讀,而最基本的指令就是按空白鍵(space)就往下一頁(yè)顯示,按 b 鍵就會(huì)往回(back)一頁(yè)顯示
命令參數(shù):
常用操作命令:
實(shí)例:
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動(dòng),卻備臘不能向后移動(dòng),而且 less 在查看之前不會(huì)加載整個(gè)文件。
命令參數(shù):
實(shí)例:
head 用來顯示檔滲咐案的開頭至標(biāo)準(zhǔn)輸出中,默認(rèn)head命令打印其相應(yīng)文件的開頭10行。
常用參數(shù):
實(shí)例:
從指定點(diǎn)開始將文件寫到標(biāo)準(zhǔn)輸出。使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,使你看到最新的文件內(nèi)容。
常用參數(shù):
實(shí)例:
用于改變linux系統(tǒng)文件或目錄的訪問權(quán)限。該命令有兩種用法。一種是包含字母和操作符表達(dá)式的文字設(shè)定法;另一種是包含數(shù)字的數(shù)字設(shè)定法。
每一文件或目錄的訪問權(quán)限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執(zhí)行權(quán)限;與屬主同組的用戶的讀、寫和執(zhí)行權(quán)限;系統(tǒng)中其他用戶的讀、寫和執(zhí)行權(quán)限。可使用ls -l test.txt查找。
以文件log2023.log為例:
-rw-r–r– 1 root root 296K:03 log2023.log
之一列共有10個(gè)位置,之一個(gè)字符指定了文件類型。在通常意義上,一個(gè)目錄也是一個(gè)文件。如果之一個(gè)字符是橫線,表示是一個(gè)非目錄的文件。如果是d,表示是一個(gè)目錄。從第二個(gè)字符開始到第十個(gè)共9個(gè)字符,3個(gè)字符一組,分別表示了3組用戶對(duì)文件或者目錄的權(quán)限。權(quán)限字符用橫線代表空許可,r代表只讀,w代表寫,x代表可執(zhí)行。
常用參數(shù):
權(quán)限范圍:
權(quán)限代號(hào):
實(shí)例:
tar命令是類Linux中比價(jià)常用的解壓與壓縮命令。
常用參數(shù):
-c: 建立壓縮檔案
-x:解壓
-t:查看內(nèi)容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個(gè)是獨(dú)立的命令,壓縮解壓都要用到其中一個(gè),可以和別的命令連用但只能用其中一個(gè)。下面的參數(shù)是根據(jù)需要在壓縮或解壓檔案時(shí)可選的。
下面的參數(shù)-f是必須的
常見解壓/壓縮命令
chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID;組可以是組名或者組ID;文件是以空格分開的要改變權(quán)限的文件列表,支持通配符。
常用參數(shù):
實(shí)例:
顯示磁盤空間使用情況。獲取硬盤被占用了多少空間,目前還剩下多少空間等信息,如果沒有文件名被指定,則所有當(dāng)前被掛載的文件系統(tǒng)的可用空間將被顯示。默認(rèn)情況下,磁盤空間將以 1KB 為單位進(jìn)行顯示,除非環(huán)境變量 POSIX_CORRECT 被指定,那樣將以512字節(jié)為單位進(jìn)行顯示。
常用參數(shù):
實(shí)例:
du命令也是查看使用空間的,但是與df命令不同的是,du能看到的文件只是一些當(dāng)前存在的,沒有被刪除的,他計(jì)算的大小就是當(dāng)前他認(rèn)為存在的所有文件大小的累加和。du命令是對(duì)文件和目錄磁盤使用的空間的查看。
常用參數(shù):
實(shí)例:
ln命令用于將一個(gè)文件創(chuàng)建鏈接,鏈接分為軟鏈接和硬鏈接,命令默認(rèn)使用硬鏈接。當(dāng)在不同目錄需要該文件時(shí),就不需要為每一個(gè)目錄創(chuàng)建同樣的文件,通過ln創(chuàng)建的鏈接(link)減少磁盤占用量。
軟鏈接:
硬鏈接:
需要注意:
常用參數(shù):
實(shí)例:
顯示或設(shè)定系統(tǒng)的日期與時(shí)間
命令參數(shù):
實(shí)例:
可以用戶顯示公歷(陽歷)日歷,如只有一個(gè)參數(shù),則表示年份(1-9999),如有兩個(gè)參數(shù),則表示月份和年份。
常用參數(shù):
實(shí)例:
強(qiáng)大的文本搜索命令,grep(Global Regular Expression Print)全局正則表達(dá)式搜索。
grep的工作方式是這樣的,它在一個(gè)或多個(gè)文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到標(biāo)準(zhǔn)輸出,不影響原文件內(nèi)容。
命令格式:
grep pattern file|dir
常用參數(shù):
實(shí)例:
wc(word count)功能為統(tǒng)計(jì)指定的文件中字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果輸出。
命令格式:
wc file..
命令參數(shù):
實(shí)例:
ps(process status),用來查看當(dāng)前運(yùn)行的進(jìn)程狀態(tài),一次性查看,如果需要?jiǎng)討B(tài)連續(xù)結(jié)果使用top。
linux上進(jìn)程有5種狀態(tài):
ps工具標(biāo)識(shí)進(jìn)程的5種狀態(tài)碼:
命令參數(shù):
實(shí)例:
顯示當(dāng)前系統(tǒng)正在執(zhí)行的進(jìn)程的相關(guān)信息,包括進(jìn)程ID、內(nèi)存占用率、CPU占用率等。
常用參數(shù):
發(fā)送指定的信號(hào)到相應(yīng)進(jìn)程。不指定型號(hào)將發(fā)送SIGTERM(15)終止指定進(jìn)程。如果無法終止該程序可用“-KILL” 參數(shù),其發(fā)送的信號(hào)為SIGKILL(9) ,將強(qiáng)制結(jié)束進(jìn)程,使用ps命令或者jobs 命令可以查看進(jìn)程號(hào)。root用戶將影響用戶的進(jìn)程,非root用戶只能影響自己的進(jìn)程。
常用參數(shù):
實(shí)例:
顯示系統(tǒng)內(nèi)存使用情況,包括物理內(nèi)存、交互區(qū)內(nèi)存(swap)和內(nèi)核緩沖區(qū)內(nèi)存。
命令參數(shù):
實(shí)例:
Netstat 是一款命令行工具,可用于列出系統(tǒng)上所有的網(wǎng)絡(luò)套接字連接情況,包括 tcp, udp 以及 unix 套接字,另外它還能列出處于監(jiān)聽狀態(tài)(即等待接入請(qǐng)求)的套接字。如果你想確認(rèn)系統(tǒng)上的 Web 服務(wù)有沒有起來,你可以查看80端口有沒有打開。以上功能使 netstat 成為網(wǎng)管和系統(tǒng)管理員的必備利器。
命令參數(shù):
linux獲取命令行參數(shù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux獲取命令行參數(shù),如何在Linux中獲取命令行參數(shù),Linux常用命令的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章名稱:如何在Linux中獲取命令行參數(shù)(linux獲取命令行參數(shù))
瀏覽路徑:http://www.5511xx.com/article/djoecjj.html


咨詢
建站咨詢
