導航:首頁 > 程序命令 > linux的命令行參數

linux的命令行參數

發布時間:2025-01-27 03:00:25

① 如何用命令行設置linux內核參數

Linux設置內核參數的方法

1 內核參數的查看方法
使用「sysctl -a」命令可以查看所有正在使用的內核參數。內核參數比較多(一般多達500項),按照前綴主要分為以下幾大類:net.ipv4、net.ipv6、net.core、vm、fs、dev.parport、dev.cdrom 、dev.raid、kernel等等。相同的linux,安裝的組件和使用的方式不一樣,正在使用的內核參數是不一樣的。
所有的內核參數的說明文檔是放到/usr/src/linux/Documentation/sysctl中的,如果想知道對內核參數的說明,可以到該目錄下查看相應的說明文檔。

2 內核參數的的設置方法

由於Linux的內核參數信息都存在內存中,因此可以通過命令直接修改,並且修改後直接生效。也可以通過文件的方式進行設置。下面就介紹這兩種修改方法。
2.1 命令設置的方式

可以用兩種方法實現。
1、使用「sysctl -w 參數名=值」的方式

假設我們把net.ipv4.ip_forward的值修改為1,使用命令「sysctl -w net.ipv4.ip_forward=1」。
2、修改內核參數對應的proc文件

內核參數位於/proc/sys/之下,參數名稱是以文件所在的路徑,並將「/」以「.」來取代。舉例來說,/proc/sys/net/ip_forward的參數名稱為net.ipv4.ip_forward。

同樣把net.ipv4.ip_forward的值修改為1,使用命令「echo 「1」 > /proc/sys/net/ipv4/ip_forward」。

注意,這里proc文件跟普通的文件不一樣。一般一個文件用echo寫入內容之後,會變成一個文本文件,但echo修改proc文件之後還是個空文件。

② 解析命令行參數的函數

1.全局變數解釋:
optarg: 如果選項帶參數,參數保存在optarg中。如果選項帶可選參數,而實際無參數時,optarg為NULL。

optind:argv數組中下一次需要處理的元素的下標,系統默認初始化此值為1. 0是沒有意義的,argv[0]為程序名,在解析命令行參數中是沒有意義的。getopt正常解析完畢後,optind設置為argv數組中第一個不是選項的元素的下標(一般為0)。

opterr:存儲錯誤耐猛納選項字元.

2. GNU/Linux的命令行選項有兩種類型: 短選項和長選項昌沒 ,前者以 '-' 作為前導符,後者以 '--' 作為前導符。 -n 表示是一個不帶參數的短選項。 --n 表示是一個不帶參數的長選項。現在有一個帶有參數的短選項比如說 -w foo ,那麼它和長選項 --foo 是等價的。

函數聲明:

函數參數:
1.argc:主函數傳遞過來的實參
2.argv:主函數傳遞過來的實參
3.optstring:一個包含選項字元的字元串。 一組短選項組成的字元串

函數調用結果
1.該函數每解析完一個選項,就返回該選項字元。選項字元解析完畢後,調用getopt函數將會返回-1,然後optind設置為argv數組中第一個不是選項的元素的下標。
2. 當調用getopt函數檢測到錯誤時(比如說檢測到的選項字元不在optstring實參中),默認情況下函數返回'?'。 為什麼說是默認呢?因為如果通過optstring實參指明選項帶參數,而實際命令行沒有參數時,getopt返回 ':' 而不是 '?'

關於optstring,還有幾點說明:
1.如果選項帶參數,該選項後接冒號,比如optstring這個實參值為"a:b",指示a帶參數,b沒有參數;

2.如果選項帶可選參數,該選項後接兩個冒號,比如"a::b",表明a可能有參數,也可能沒有;

3.如果optstring的開頭字元為':',表明如果指明選項帶參數,而實際命令行沒有參數時,getopt返回':'而不是'?'(默認情況下返回 '?' ,和無法識別的參數返回一樣);

4.如果optstring的開頭字元為'+',表明一但遇到一個非選項參數,馬上停止掃描,隨後的部分當作參數來解釋;

5.如果optstring的開頭字元為'-',表明如知賀果遇到無選項參數,則把它當作選項1(不是字元Ƈ')的參數

示例:(來源於man文檔)

運行示例:

函數聲明:

函數參數:
longops:指向一個option結構體數組的第一個元素。
longindex:getopt_long的最後一個參數longindex在函數返回時指向被搜索到的選項在longopts數組中的下標。

關於option struct如下:

注意在初始化option struct時: The last element of the array has to be filled with zeros.

函數返回值:
1.如果flag這個實參為null,那麼這個函數返回val的值。 這樣短選項字元解析和長選項解析搭建了橋梁。
2.如果flag這個實參不為null,那麼這個函數返回0
3.選項字元解析完畢後,調用getopt_long函數將會返回-1
4.當調用getopt_long函數檢測到錯誤時(比如說檢測到的選項字元不在longops實參中),默認情況下函數返回'?'

示例:(來源於man 文檔)

運行示例如下:

getopt_long_only類似於getopt_long,但是它把 '-' 開頭的選項當作長選項來處理。如果該選項與長選項不匹配,而與短選項匹配,則可以作為短選項解析。

③ linuxc運行進程中輸入命令行參數linuxc運行

c語言與操作系統有什麼關系?

操作系統是電腦的管家,管理著電腦的各種資源,C語言中申請內存空間,最終還是要通過api向操作系統申請的。

C源程序如果由LINUX平台的編譯器編譯,那麼就可以在LINUX平台上運行,如果在Win平台的編譯器編譯,那就可以在Win平台上運行。C語言只是一種規范,和具體的平台無關

linux下搞c編程有什麼前途?

linux環境下c語言編程普片應用於硬體驅動程序、嵌入式開發、底層開發等場景。用途還是非常大的。linux下學c語言也有利於了解硬體和系統相關知識。

到底怎麼在Linux里編寫c程序啊?

gccfirst.C-ofirst說明:

1>編譯當前目錄下、名字叫做first.C的c源文件;

2>在當前目錄下、生成名字叫first(這個名字可以自己隨便寫、符合linux命名規則就行)的可執行程序;關於運行:用ls-l命令,可以看到當前目錄下有一個綠色的文件、名字叫first,就是剛剛編譯得到的文件;使用命令「./first」既可運行(無雙引號、雙引號是用來說明的);

為什麼linux運行c語言文件會報許可權不夠?

修改許可權可以解決該問題。

可以使用chmod命令修改許可權。

語法:chmodmodefile...

說明:Linux/Unix的檔案調用許可權分為三級:檔案擁有者、群組、其他。利用chmod可以藉以控制檔案如何被他人所調用。

參數:

mode:許可權設定字串,格式如下:...],其中

u表示該檔案的擁有者,g表示與該檔案的擁有者屬於同一個群體(group)者,o表示其他以外的人,a表示這三者皆是。

+表示增加許可權、-表示取消許可權、=表示唯一設定許可權。

r表示可讀取,w表示可寫入,x表示可執行,X表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。

-c:若該檔案許可權確實已經更改,才顯示其更改動作

-f:若該檔案許可權無法被更改也不要顯示錯誤訊息

-v:顯示許可權變更的詳細資料

-R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞回的方式逐個變更)

--help:顯示輔助說明

--version:顯示版本

閱讀全文

與linux的命令行參數相關的資料

熱點內容
汽車壓縮機異響維修 瀏覽:621
白雲飄動特效源碼 瀏覽:829
autojs腳本合集源碼 瀏覽:440
如何配置發件伺服器地址 瀏覽:36
100個選股公式源碼 瀏覽:766
安卓手機截圖怎麼壓縮 瀏覽:705
股票副圖成交金額公式源碼大全 瀏覽:427
伺服器狀態事件是什麼意思 瀏覽:399
怎麼連接到伺服器列印機 瀏覽:537
個人pdf 瀏覽:202
庫博體育app為什麼登錄不了 瀏覽:101
網站停掉怎麼弄關閉伺服器 瀏覽:996
linux運維平台 瀏覽:751
華為防火牆命令看埠 瀏覽:468
app應用分發網站是什麼 瀏覽:853
我的世界有什麼伺服器是可以開掛 瀏覽:376
linux啟動zookeeper命令 瀏覽:81
四川和山東源碼 瀏覽:593
c語言調用系統的命令 瀏覽:673
程序員工作報告 瀏覽:477