导航:首页 > 程序命令 > 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的命令行参数相关的资料

热点内容
公文命令范文文号 浏览:736
goprohero5语音命令 浏览:107
有关java的书籍 浏览:165
svn服务器设置地址 浏览:38
网云IOCP服务器mysql 浏览:163
汽车压缩机异响维修 浏览:623
白云飘动特效源码 浏览:831
autojs脚本合集源码 浏览:440
如何配置发件服务器地址 浏览:36
100个选股公式源码 浏览:766
安卓手机截图怎么压缩 浏览:705
股票副图成交金额公式源码大全 浏览:427
服务器状态事件是什么意思 浏览:399
怎么连接到服务器打印机 浏览:537
个人pdf 浏览:202
库博体育app为什么登录不了 浏览:101
网站停掉怎么弄关闭服务器 浏览:996
linux运维平台 浏览:751
华为防火墙命令看端口 浏览:468
app应用分发网站是什么 浏览:853