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

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


咨詢
建站咨詢
