当前位置:文档之家› 【IT专家】Linux C解析控制台输入命令行参数

【IT专家】Linux C解析控制台输入命令行参数

【IT专家】Linux C解析控制台输入命令行参数

本文由我司收集整编,推荐下载,如有疑问,请与我司联系

Linux C解析控制台输入命令行参数

2014/03/30 0 享到新浪微博腾讯微博收藏5踩顶0Linux C解析控制台输入命令行参数标签:无代码片段(1)[全屏查看所有代码]1.[文件]getopt_long.c~1001B下载(21)01/*02*@Data03*2012-12-2604*05*@Abstract06*Linux控制台运行可执行程序参数解析,在此主要用到了getopt_long函数,07*关于此函数的作用在

baike.baidu/view/906700.htm 用详细介绍08*同时你也可以借助man手册来了解此函数的介绍09*10*/1112#include stdio.h 13#include getopt.h 14#include stdlib.h 1516char*short_opts = hsvo: ;17structoption long_options[] = {18{ help ,no_argument , NULL ,’h’},19{ output , required_argument, NULL ,’o’},20{ size , required_argument , NULL ,’s’},21{ version , no_argument , NULL ,’v’},22{NULL , 0 , NULL , 0}23};24intmain(intargc,char**argv)25{26intopt;27char*l_optarg;28while((opt = getopt_long(argc , argv, short_opts, long_options, NULL)) != -1)29{30switch(opt)31{32case’h’:33printf( --help\n );34break;35case’o’:36l_optarg = optarg;37printf( %s\n , l_optarg);38break;39case’s’:40printf( --size\n );41break;42case’v’:43printf( --version\n );44break;45}46}47return0;48}tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

linux常用命令

新手刚刚接触Linux的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过Linux一段时间后,你就会逐渐了解Linux其实和Windows一样容易掌握。 由于操作和使用环境的陌生,如果要完全熟悉Linux的应用我们首先要解决的问题就是对Linux常用命令的熟练掌握。本章我们就来介绍Linux的常用基本命令。 Linux常用命令 1.Linux命令基础 Linux区分大小写。在命令行(shell)中,可以使用TAB键来自动补全命令。即可以输入命令的前几个字母,然后按TAB键,系统自动补全命令,若不止一个,则显示出所有和输入字母相匹配的命令。 按TAB键时,如果系统只找到一个和输入相匹配的目录或文件,则自动补全;若没有匹配的内容或有多个相匹配的名字,系统将发出警鸣声,再按一下TAB键将列出所有相匹配的内容(如果有的话)以供用户选择。 首先启动Linux。启动完毕后需要进行用户的登录,选择登陆的用户不同自然权限也不一样,其中―系统管理员‖拥有最高权限。 在启动Linux后屏幕出现如下界面显示:Red Hat Linux release 9 (Shrike) Kernel 2.4.20.8 on an i686

login: 输入:root(管理员名)后,计算机显示输口令(password:),输入你的口令即可。当计算机出现一个―#‖提示符时,表明你登录成功! 屏幕显示Linux提示符:[root@localhost root]#_ 这里需要说明的是―Red Hat Linux release 9 (Shrike)‖表示当前使用的操作系统的名称及版本。―2.4.20.8‖表示Linux操作系统的核心版本编号。―i686‖表示该台电脑使用的CPU的等级。 下面我们来介绍常用基本命令 一,注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]#logout

Locust命令行参数详解

Locust命令行参数详解 -h, --help 查看帮助 -H HOST, --host=HOST 被测试的主机地址,格式:http://10.21.32.33 --web-host=WEB_HOST Locust Web 页面的主机地址,默认为本机 -P PORT, --port=PORT, --web-port=PORT 被测试主机端口,默认8089 -f LOCUSTFILE, --locustfile=LOCUSTFILE 指定运行Locust 性能测试文件,默认为: locustfile.py --csv=CSVFILEBASE, --csv-base-name=CSVFILEBASE 以CSV格式存储当前请求测试数据 --master 分布式模式使用,指定当前节点为master 节点 --slave 分布式模式使用,指定当前节点为slave节点 --master-host=MASTER_HOST 分布式模式运行,设置master节点的主机或IP地址,只在与slave节点一起运行时使用,默认为:127.0.0.1 --master-port=MASTER_PORT 分布式模式运行,设置master节点的端口号,只在与slave节点一起运行时使用,默认为:5557。注意,slave节点也将连接到这个端口上的master节点 --master-bind-host=MASTER_BIND_HOST 绑定Locust的主机名,只有使用master参数时可用,默认为* --master-bind-port=MASTER_BIND_PORT 绑定Locust的端口,只有使用master参数时可用,默认为5557。注意Locust将使用这个端口,所以默认情况master节点将绑定到5557和5558

qaac 2.15命令行参数

qaac 2.15 Usage: qaac [options] infiles.... "-" as infile means stdin. On ADTS/WAV output mode, "-" as outfile means stdout. Main options: --formats Show available AAC formats and exit -a, --abr AAC ABR mode / bitrate -V, --tvbr AAC True VBR mode / quality [0-127] -v, --cvbr AAC Constrained VBR mode / bitrate -c, --cbr AAC CBR mode / bitrate For -a, -v, -c, "0" as bitrate means "highest". Highest bitrate available is automatically chosen. For LC, default is -V90 For HE, default is -v0 --he HE AAC mode (TVBR is not available) -q, --quality AAC encoding Quality [0-2] --adts ADTS output (AAC only) -A, --alac ALAC encoding mode -d Output directory. Default is current working dir. --check Show library versions and exit. -D, --decode Wave output mode. -r, --rate keep: output sampling rate will be same as input if possible. auto: output sampling rate will be automatically chosen by encoder. n: desired output sampling rate in Hz. --lowpass Specify lowpass filter cut-off frequency in Hz. Use this when you want lower cut-off than Apple default. -b, --bits-per-sample Bits per sample of output (for WAV/ALAC only) --no-dither Turn off dither when quantizing to lower bit depth. --gain Adjust gain by f dB. Use negative value to decrese gain, when you want to avoid clipping introduced by DSP. -N, --normalize Normalize (works in two pass. generates HUGE tempfile for large input) --delay <[[hh:]mm:]ss[.ss..]|ns> Specify delay either by time or number of samples. When positive value is given, prepend silence at the begining to achieve delay of specified amount.

Linux常用命令大全.pdf

Linux常用命令学习 1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序 ls -h 以易读大小显示 ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来 实例: (1) 按易读方式按时间反序排序,并显示文件详细信息 ls -lhrt (2) 按大小反序显示文件详细信息 ls -lrS (3)列出当前目录中所有以“t”开头的目录的详细内容 ls -l t* (4) 列出文件绝对路径(不包含隐藏文件) ls | sed "s:^:`pwd`/:" (5) 列出文件绝对路径(包含隐藏文件) find $pwd -maxdepth 1 | xargs ls -ld 2、cd命令 (changeDirectory),命令语法:cd [目录名]。说明:切换当前目录至dirName 实例: (1)进入要目录 cd /

(2)进入"家"目录 cd ~ (3)进入上一次工作路径 cd - (4)把上个命令的参数作为cd参数使用。 cd !$ 3、pwd命令 查看当前工作目录路径 实例: (1)查看当前路径 pwd (2)查看软链接的实际路径 pwd -P 4、mkdir命令 创建文件夹 可用选项: -m: 对新建目录设置存取权限,也可以用chmod命令设置; -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录; 实例: (1)当前工作目录下创建名为t的文件夹 mkdir t (2)在tmp目录下创建路径为test/t1/t的目录,若不存在,则创建 mkdir -p /tmp/test/t1/t 5、rm命令 删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用rm 来删除文件,通常仍可以将该文件恢复原状 rm [选项] 文件… 实例:

fastcopy命令行参数解释

fastcopy命令行参数解释 2011-06-17 16:05 fastcopy是一款复制删除文件的工具,为什么要用它,因为他比系统的复制删除要快,特别是文件超多,超大的情况下. FASTCOPY可以在WINDOWS下使用,也可以在DOS下运行命令 下面是FASTCOPY命令行方式: fastcopy.exe [/参数] file1 file2 ... [/to=dest_dir] 基本参数: /cmd=(noexist_only|diff|update|sync|force_copy|move|delete) noexist_only 复制-如重名,则不复制 diff 复制-如重名,则公复制大小与时间不同的文件 update 复制-如重名,则复制较新的源文件 sync 同步-如重名,则复制大小与时间不同的文件 force_copy 复制-覆盖重名文件 move 移动-覆盖重名文件并强行删除源文件 delete 删除-强行删除指定的文件与目录 /auto_close 拷贝结束后,自动关闭 /force_close 如果拷贝结束后,发生错误,也强行关闭 /open_window 显示Fastcopy窗口界面 /estimate 预测拷贝完成时间 /no_exec 对Fastcopy窗口界面设置参数,但是不执行 /no_confirm_del 当用/delete参数时,不显示确认界面 /error_stop 发生错误时中止动作(在/error_stop=FALSE抑制)

/bufsize=N(MB) 用MB单位来指定缓冲器大小 /speed=(full|autoslow|9-1(90%-10%)|suspend) 速度限制 /log 输出记录文件(fastcopy.log) (在/log=FALSE抑制) /skip_empty_dir 启用过滤,不拷贝空文件夹(在/skip_empty_dir=FALSE抑制) /job=任务名称执行指定的任务 /force_start 在其他的FastCopy拷贝,并且正执行的时候,执行立即也(在/force_start=FALSE抑制) /disk_mode=(auto|same|diff) 指定自动/恒等性/其他HDD方式。(债务不履行声明:) auto) /include="..." 指定Include过滤器 /exclude="..." 指定Exclude过滤器 /overwrite_del 在删除文件之前,删掉方式时,重新取名给重复&,使复原无效(在/overwrite_del=FALSE抑制) /acl 拷贝存取支配清单(ACL)(只NTFS有效)(在/acl=FALSE抑制) /stream 拷贝副其次线流(只NTFS有效)(在/stream=FALSE抑制) /junction 复制junction·mount point(不是属下)junction·mount point自己(/junction=FALSE 拷贝属下) /symlink 用象征性连接(而不是本质)拷贝象征性连接其本身(在/symlink=FALSE 拷贝本质) [/to=dest_dir] 目标磁盘 fastcopy.exe [/options] file1 file2 ... [/to=dest_dir] Please use space character(' ') as separator(not semicolon). If filename contains space character, please enclose with dobule quotation marks. Ex) fastopy.exe C:\Windows "C:\Program Files" /to="D:\Backup Folder\" 使用"做为分隔符 c:\Progra~1\FastCopy\FastCopy.exe /cmd=sync /auto_close /open_window "\\ztsv-xs\e\网络游戏\永恒之塔" /to="e:\games\online\"

linux题库选择及答案

一、选择题 1.在创建Linux分区时,一定要创建(D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SW AP/根分区 2.在Red Hat Linux中,系统默认的(A)用户对整个系统拥有完全的控制权。 A. root B. guest C. administrator D.supervistor. 3. 当登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么( B ) A. NID B. PID C. UID D. CID 4. 下面哪个命令是用来定义shell的全局变量( D ) A. exportfs B. alias C. exports D. export 5. 哪个目录存放用户密码信息( B ) A. /boot B. /etc C. /var D. /dev 6. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。 A. /usr B. /home C. /root D. /etc 7. . 当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于( D )目录。 A. /home B. /bin C. /etc D. /dev 8. 如果要列出一个目录下的所有文件需要使用命令行( C )。 A. ls –l B. ls C. ls –a(所有) D. ls –d 9. 哪个命令可以将普通用户转换成超级用户(D ) A. super B. passwd C. tar D. su 10. 除非特别指定,cp假定要拷贝的文件在下面哪个目录下( D ) A. 用户目录 B. home目录 C. root目录 D. 当前目录 11. 在vi编辑器里,命令"dd"用来删除当前的( A ) A. 行 B. 变量 C. 字 D. 字符 12. 当运行在多用户模式下时,用Ctrl+ALT+F*可以切换多少虚拟用户终端( B ) A. 3 B. 6 C. 1 D. 12 13. Linux启动的第一个进程init启动的第一个脚本程序是( B )。 A./etc/rc.d/init.d B./etc/rc.d/rc.sysinit C./etc/rc.d/rc5.d D./etc/rc.d/rc3.d 14. 按下(A )键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 15. 下面哪个命令用来启动X Window ( C ) A. runx B. Startx C. startX D. xwin 16. 用来分离目录名和文件名的字符是( B ) A. dash (-) B. slash (/) C. period (.) D. asterisk(*) 17. 用"rm -i",系统会提示什么来让你确认( B ) A. 命令行的每个选项 B. 是否真的删除 C. 是否有写的权限 D. 文件的位置 18. 以下哪个命令可以终止一个用户的所有进程( D ) A. skillall B. skill C. kill D. killall 19.在Red Hat Linux 9中,一般用(D )命令来查看网络接口的状态 A. ping B. ipconfig C. winipcfg D ifconfig 20. vi中哪条命令是不保存强制退出( C )(第五章) A. :wq B. :wq! C. :q! D. :quit 21.局域网的网络设备通常有(ABCDE)

source insight解析命令行

安装完SI后,会在安装一个如下的文件 我的文档\Source Insight\c.tom c.tom的功能与C语言中的#define类似。打开这个文件,会看到有很多空格分割的字符串,SI在我们阅读代码时,自自动将空格前的字符串替换为空格后的字符串(仅仅是影响阅读,不影响编译喔)。 举两个例子。 #define AP_DECLARE(type) type AP_DECLARE(int) ap_calc_scoreboard_size(void) { .... } source insight 把AP_DECLARE当作了函数,当想查ap_calc_scoreboard_size的时候总是很麻烦,不能直接跳转. 我的文档\Source Insight\c.tom 加入 AP_DECLARE(type) type 如下的代码如何让SI 识别出f是一个函数? #define EXPORT_CALL(return,functionname) return functionname EXPORT_CALL (int, f1()) 我的文档\Source Insight\c.tom 加入 EXPORT_CALL(return,functionname) return functionname 同时,在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接前后两个参数,把它们变成一个字符串。(c.tom的功能与支持##,不支持#好像) 这个技巧我在阅读zebra的命令行代码时也用到了。 比如下吗一段代码:(DEFUN是一个宏定义,这个文件中有很多这样的DEFUN。不修改c.tom 之前看到的是这样的)

linux及C试题(含答案)

华清远见嵌入式学院《Linux及C》考试题(B卷) 一、选择题(23题,每空2分,共46分) 1.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项(D )。 A.-m B.-d C.-f D.-p 2.任何时候用户需要回到用户主目录时可以使用命令 ( A ) 。 A. cd B. pwd C. path D. cd . 3.将当前目录下的文件shell.sh移动到目录/home/linux下的命令为( B ) 。 A. cp shell.sh /home/linux B. mv shell.sh /home/linux C. ls shell.sh / home/linux/she ll.sh D. mv /root/shell.sh /home/linux/shell.sh 4.下面( C )命令不能用来显示文件的内容。 [A] more [B] less [C] find [D] cat 5./etc/shadow文件中存放( B )。 A.用户账号基本信息 B.用户口令的加密信息 C.用户组信息 D.文件系统信息 6.LINUX所有服务的启动脚本都存放在( B )目录中。 A./etc/rc.d/init.d B./etc/init.d C./etc/rc.d/rc D./etc/rc.d 7.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为(C )。 A.tar -cvf myfile.txt myfile.txt.tar.gz B.tar -zcvf myfile.txt myfile.txt.tar.gz C.tar -zcvf myfile.txt.tar.gz myfile.txt D.tar -cvf myfile.txt.tar.gz myfile.txt 8.以下程序的运行结果为( C ) #include #include int SubCount(char *dest, int count) { strcpy(dest,"555"); count++; return 0; } int main() { int count = 3; char caBuf[8]; SubCount(caBuf,count); printf("%d\n",count);

Linux常用命令详解(配合示例说明,清晰易懂)

Linux常用命令详解 (常用、详细) BISTU 自动化学院 刷碗小工(frisen.imtm) 2010年11月 开源社区,造福大家,版权所有,翻录不究(初次接触Linux命令可能对以下说明有不少疑问,可待看完一遍后再回头细看) (配合Ctrl + F可快速查找你想了解的命令)

索引:(待完善) 文件说明:Linux命令很多,但最常用的80个左右 文档内容充实,用示例说明命令如何使用笔者力求语言简洁,清晰易懂 由于忙于其他事情,改进排版的工作只能搁置了 最后,望此文档能为大家Linux学习之路献微薄之力 一、路径: 执行命令前必须要考虑的一步是命令的路径,若是路径错误或是没有正确的指定,可能导致错误的执行或是找不到该命令。要知道设置的路径,可执行以下命令: 一般而言,本书的命令位于/bin、usr/bin、/sbin、/usr/sbin之中。若读者执行了命令却出现“command not find”或是“命令不存在”的字样,就必须要确定该命令的位置是否在命令的路径中,或是系统上根本没有安装该套件。 二、命令顺序: 若在shell内置的命令/bin以及/usr/bin之下都出现了命令pwd,那当我们执行该命令时,会执行哪一个?答案是第一优先执行shell内置的命令,再执行路径中的设置;因此若有相同名称的命令时,必须要注意顺序设置,或是直接输入完整路径。 三、参数(或称选项)顺序: 一般除了特殊情况,参数是没有顺序的。举例而言,输入“–a –v”与输入“–v –a”以及“–av”的执行效果是相同的。但若该参数后指定了要接的文件或特殊对象,如“–a cmd1 –v cmd2”,则不能任意改变选项顺序。 四、常用参数: 下面所列的是常见的参数(选项)意义: --help,-h 显示帮助信息 --version,-V 显示版本信息 -v 繁琐模式(显示命令完整的执行过程) -i 交谈模式(指定界面) -l 长列表输出格式 -q,-s 安静模式(不显示任何输出或错误信息) -R 递归模式(连同目录下所有文件和子目录一起处理) -z 压缩 五、命令的结合与定向: 命令中除了一般命令外,还有管道(或称途径)(|)与定向(>或>>)。 管道(途径)的用法: “命令一[选项]”| “命令二[选项]”,也就是将“命令一[选项]”的输出结果传到“命令二[选项]”,通过命令二的处理之后才输出到标准输出(屏幕)上。比如“ls /etc”会列出etc下的所有文件,若加上“| less”,也就是“ls /etc | less”,则会将“ls /etc”的结果通过less分页输出。 定向的用法: 将结果定向到命令的输出设备,一般不加文件名意为将结果输出到屏幕,若是在定向后加上文件名,则会将命令的执行结果输出到定向的文件,例如“ls > temp.txt”,就会将ls 的结果输出到文件temp.txt中。“>”与“>>”的差异在于前者是覆盖,而后者是附加。 六、命令中的命令: 许多命令在执行后,会进入该命令的操作模式,如fdisk、pine、top等,进入后我们必须要使用该命令中的命令,才能正确执行;而一般要退出该命令,可以输入exit、q、quit或是按【Ctrl+C】组合

防火墙配置中必备的六个主要命令解析

防火墙配置中必备的六个主要命令解析 防火墙的基本功能,是通过六个命令来完成的。一般情况下,除非有特殊的安全需求,这个六个命令基本上可以搞定防火墙的配置。下面笔者就结合CISCO的防火墙,来谈谈防火墙的基本配置,希望能够给大家一点参考。 第一个命令:interface Interface是防火墙配置中最基本的命令之一,他主要的功能就是开启关闭接口、配置接口的速度、对接口进行命名等等。在买来防火墙的时候,防火墙的各个端都都是关闭的,所以,防火墙买来后,若不进行任何的配置,防止在企业的网络上,则防火墙根本无法工作,而且,还会导致企业网络不同。 1、配置接口速度 在防火墙中,配置接口速度的方法有两种,一种是手工配置,另外一种是自动配置。手工配置就是需要用户手工的指定防火墙接口的通信速度;而自动配置的话,则是指防火墙接口会自动根据所连接的设备,来决定所需要的通信速度。 如:interface ethernet0 auto --为接口配置“自动设置连接速度” Interface ethernet2 100ful --为接口2手工指定连接速度,100MBIT/S。 这里,参数ethernet0或者etnernet2则表示防火墙的接口,而后面的参数表示具体的速度。 笔者建议 在配置接口速度的时候,要注意两个问题。 一是若采用手工指定接口速度的话,则指定的速度必须跟他所连接的设备的速度相同,否则的话,会出现一些意外的错误。如在防火墙上,若连接了一个交换机的话,则交换机的端口速度必须跟防火墙这里设置的速度相匹配。 二是虽然防火墙提供了自动设置接口速度的功能,不过,在实际工作中,作者还是不建议大家采用这个功能。因为这个自动配置接口速度,会影响防火墙的性能。而且,其有时候也会判断失误,给网络造成通信故障。所以,在一般情况下,无论是笔者,还是思科的官方资料,都建议大家采用手工配置接口速度。 2、关闭与开启接口 防火墙上有多个接口,为了安全起见,打开的接口不用的话,则需要及时的进行关闭。一般可用shutdown命令来关闭防火墙的接口。但是这里跟思科的IOS 软件有一个不同,就是如果要打开这个接口的话,则不用采用no shutdown命令。在防火墙的配置命令中,没有这一条。而应该采用不带参数的shutdown命令,来把一个接口设置为管理模式。

Linux基本命令大全

下面我们来介绍常用基本命令 一、注销,关机,重启 注销系统的logout命令 1,Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@localhost root]#logout Red Hat Linuxrelease 9(Shike) Kernel 2.4.20.8 on an i686 Login: ←回到登陆的画面 2,关机或重新启动的shutdown命令 Shutdown命令可以关闭所有程序,依照用户的需要,重新启动或关机。 参数说明如下: λ立即关机:-h 参数让系统立即关机。范例如下: [root@localhost root]#shutdown –h now ←要求系统立即关机 λ指定关机时间:time参数可指定关机的时间;或设置多久时间后运行shutdown命令,范例如下: [root@localhost root]#shutdown now ←立刻关机 [root@localhost root]#shutdown +5 ←5分钟后关机 [root@localhost root]#shutdown 10:30 ←在10:30时关机 关机后自动重启:-rλ参数设置关机后重新启动。范例如下: [root@localhost root]#shutdown -r now ←立刻关闭系统并重启 [root@localhost root]#shutdown -r 23:59 ←指定在23:59时重启动 3,重新启动计算机的reboot命令 顾名思义,reboot命令是用来重新启动系统的。常用的参数如下: λ-f 参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机。 -Iλ参数:在在重新启动之前关闭所有网络接口。 虽然reboot命令有个参数可以使用,但是一般只需要单独运行reboot命令就可以了 二、文件与目录的操作 列出文件列表的ls命令 1,ls(list)命令是非常有用的命令,用来显示当前目录中的文件和子目录列表。配合参数的使用,能以不同的方式显示目录内容。范例如下: ? 显示当前目录的内容: [tony@free tony]$ ls Desktop mail myinstall.log test.txt ←有两个目录及两个文件夹 ? 当运行ls命令时,并不会显示名称以―.‖开头的文件。因此可加上―-a‖参数指定要列出这些文件。范例如下: [tony@free tony]$ ls –a ? 以―-s‖参数显示每个文件所有的空间,并以―-S‖参数指定按所有占用空间的大小排序。范例如下: [tony@free tony]$ ls –s –S 总计36 4 Desktop 4 mail 24 myinstall.log 4 test.txt ? 在ls命令后直接加上欲显示的目录路径,就会列出该目录的内容。范例如下: [tony@free tony]$ ls –l/usr/games 2,切换目录的cd命令

gcc命令行详解

gcc命令行详解 1、gcc包含的c/c++编译器 gcc、cc、c++、g++ gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译 2、gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序 gcc test.c -o test这样将编译出一个名为test的程序 -o参数用来指定生成程序的名字 3、为什么会出现undefined reference to 'xxxxx'错误? 首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有指定链接程序要用到得库,比如你的程序里用到了一些数学函数,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命令行里加入-lm 4、-l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?-lname,在连接时,装载名字为“libname.a”的函数库:-lm表示连接名为“libm.a”的数学函数库。就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,我们就能用上libtest.so库了(当然要用libtest.so库里的函数,我们还需要与libtest.so配套的头文件) 放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,这时我们只用-l参数的话,链接还是会出错,出错信息大概是:“/usr/bin/ld: cannot find -lxxx”,也就是链接程序ld在那3个目录里找不到libxxx.so,这时另外一个参数-L就派上用场了,比如常用的X11的库,它在/usr/X11R6/lib目录下,我们编译时就要用-L/usr/X11R6/lib -lX11参数,-L参数跟着的是库文件所在的目录名。再比如我们把libtest.so放在/aaa/bbb/ccc目录下,那链接参数就是 -L/aaa/bbb/ccc -ltest 另外,大部分libxxxx.so只是一个链接,以RH9为例,比如libm.so它链接到/lib/libm.s o.x,/lib/libm.so.6又链接到/lib/libm-2.3.2.so, 如果没有这样的链接,还是会出错,因为ld只会找libxxxx.so,所以如果你要用到xxxx 库,而只有libxxxx.so.x或者libxxxx-x.x.x.so,做一个链接就可以了 ln -s libxxxx-x.x.x.so libxxxx.so 手工来写链接参数总是很麻烦的,还好很多库开发包提供了生成链接参数的程序,名字一般叫xxxx-config,一般放在/usr/bin目录下,比如 gtk1.2的链接参数生成程序是gtk-config,执行gtk-config --libs就能得到以下输出"- L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic

c语言中命令行参数argc,argv

main( int argc, char ** argv ) argv:指针的指针 argc:整数 char **argv or char *argv[] or char argv[][] 为了能形象的说明这两个参数的含义,我们先用一个实例来进行讲解: 假设程序的名称为test,当只输入test,则由操作系统传来的参数为: argc = 1,表示只有一程序名称; argc只有一个元素,argv[0]指向输入的程序路径及名称:./ test 当输入test para_1,有一个参数,则由操作系统传来的参数为: argc = 2,表示除了程序名外还有一个参数; argv[0]指向输入的程序路径及名称; argv[1]指向参数para_1字符串 当输入test para_1 para_2 有2个参数,则由操作系统传来的参数为: argc = 3,表示除了程序名外还有两个参数; argv[0]指向输入的程序路径及名称; argv[1]指向参数para_1字符串; argv[2]指向参数para_2字符串; 以此类推……………… void main( int argc, char *argv[] ) char *argv[]: argv是一个指针数组,元素个数是argc,存放的是指向每一个参数

的指针,第一个元素即argv[0]为程序运行的全路径名,从二个元素(argv[1])开始,是每一个参数的名称,最后一个元素为NULL。总的来说,即: * argv: 字符串数组 argv[0] 为程序运行的全路径名 argv[1] 为执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; ... argv[argc]为NULL。 int argc:表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名 main() 参数: Turbo C2.0启动时总是把argc、argv、env(存放环境变量)这三个参数传递给main()函数, 可以在用户程序中说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下的例子: main() main(int argc) main(int argc, char *argv[]) main(int argc, char *argv[], char *env[]) 其中第二种情况是合法的, 但不常见, 因为在程序中很少有只用argc, 而不 用argv[]的情况。 以下提供一样例程序EXAMPLE.EXE, 演示如何在main()函数中使用三个参数: /*program name EXAMPLE.EXE*/ #i nclude

Linux试卷及答案

Linux理论操作测试题 请将下面的题目在电脑上运行后,按照要求填写答案。答案填写在电子试卷的最后答案位置1 选择题 1)下列那一个指令可以在档案中搜寻关键词? (1) ps (2) cat (3) more (4) grep 2)fg 这个指令是指? (1) 前台执行 2) 背后执行 (3) 立即执行 (4) 不要执行 3) bg 这个指令是指? (1) 前台执行 (2) 后台执行 (3) 立即执行 (4) 不要执行 4)at 这个指令是指? (1) 使用者排程程序 (2) 只有root身份才能使用的排程程序 (3) 安装程序 (4) 除错指令 5)如何查看过去的登入记录? (1) last (2) vi /var/log/wtmp (3) who (4) tail /var/log/wmtp 6)下列何者必是Linux 中的执行文件? (1) filename.exe (2) filename.sh (3) filename.bat (4) 执行过 chmod 755 filename 指令之后的 filename 7)进入 X window 的指令为? (1) x (2) start (3) run x

(4) startx 8)/etc 这个目录的主要作用? (1) 存放执行档 (2) 存放函式库 (3) 存放设定档 (4) 存放邮件档 9)/home 这个目录通常的主要作用为? (1) 存放执行档 (2) 存放函式库 (3) 存放设定档 (4) 存放使用者的自家目录 10) cd - 这个指令的用途是? (1) 切换到自家目录 (2) 离线 (3) 回到先前的路径位置 (4) 回到上一层目录 11) cd ~ 这个指令的用途是? (1) 切换到自家目录 (2) 离线 (3) 回到先前的路径位置 (4) 回到上一层目录 12) cd .. 这个指令的用途是? (1) 切换到自家目录 (2) 离线 (3) 回到先前的路径位置 (4) 回到上一层目录 13)通常第一颗IDE硬盘的第一个分割区用下列何者来表示? (1) had (2) hda1 (3) sda (4) sda1 14)下列何者代表第一颗IDE硬盘的第一个logical partition? (1) hda1 (2) hda2 (3) sda1 (4) hda5 15)在 Linux 环境下,用来制作安装开机盘的程序为? (1) rawrite (2) dd (3) fsck (4) fdisk 16)下列那一个档案用来记载服务信道(port)的列表? (1) /etc/hosts (2) /etc/nsorder

C语言编程实战-4-命令行参数(main函数)处理

命令行(main函数)参数处理 我们在执行某某命令的时候,经常会传入一些参数,告诉程序做不同的处理。如使用gcc编译程序时,我们经常会在后边指定c源码文件,如gcc test.c。我们自己写的程序,如何能够算其它命令一样,能够接收和处理不同的参数呢?答案是肯定的。我们今天来介绍自写程序对命令行参数的处理。 一个标准的C程序,其主函数通常是这样子定义的: int main(int argc,char *argv[]) { //用户代码 return xxx; } main函数有两个参数:argc与agv,前者是一个整数,表示命令行给程序参数的个数,后者是一个字符串数组,用于顺次存放命令行传给程序的参数,通过argc与argv,我们就能实现对命令行参数的处理。 对每一个程序而言,程序的名称总会作为命令行的第一个参数传给它的主函数,那怕命令行中并没有传任何参数。因此,主函数的参数argc最小值为1,argv[0]总是存放命令程序名。因此,假使test是我们程序的名字,如果执行: test 则main函数得到的参数是:argc = 1, argv = {“test”}; 如果执行: test arg1 arg2 则main函数得到的参数是:argc = 3, argv = {“test”, “arg1”, “arg2”}; 如此类推。 通过上面的讲解,我们不难在main函数中实现对命令行参数的代码。我们接下来做一个编程任务: 写一个程序,该程序接收两个参数,这两个参数都是整数,程序中需将这两个整数的和与差计算并输出到屏幕上。假设程序的名称为cal,在命令行执行: cal 10 15 则程序输出: 10 + 15 = 25 10 – 15 = -5 如果输入的参数不合法,则提示参数错误。 代码实现: #include

Linux期末考试复习试题(含答案)

1 Linux期末考试复习题 --completed on Nov 17,2013 by lvlv 一、选择题 1Linux( B ) A. Linux操作系统具有虚拟内存的能力 B. Linux操作系统不是UNIX Linux上程序不适合UNIX平台上运行 C. Linux操作系统不限制应用程序可用内存的大小 D. Linux一时间可以有多个用户使用主机 Linux TCP/IP Unix Linux上完成的程序移植到Unix Linux操作系统是免费软件 他网络操作系统最大的区别。 2Linux交换分区的作用是(C)。 A B C D 3. 如果执行命令 #chmod 746 file.txt A A. rwxr--rw- B. rw-r--r-- C. --xr—rwx D. rwxr--r— 4. Linux光标上下移动来查 C A cat B. more C. less D. menu less具有more more 5. 若一台计算机的内存为8GB C A64GB B. 128GB C. 16GB D. 32GB 解析:交换分区的大小一般为内存的两倍. 6. 在使用mkdir B A-m B. -p C. -f D.-d 7. 为了能够把新建立的文件系统mount B A. 子目录 B. 挂载点 C. 新分区 D. 目录树 8. 文件exer1的访问权限为rw-r--r-- A 2 A chmod a+x, g+w exer1 B chmod 765 exer1 C chmod o+x exer1 D chmod g+w exer1

9. 关闭linux-C A ctrl+alt+del B shutdown -r C halt D reboot ctrl+alt+del A是退出系统会话 10. ( C) 命令可实现重新启动Linux操作系统。 A init 0 B halt C shutdown-r D shutdown-h init1。init 作是立即完成的。init 0命令用于立即将系统运行级别切换为0init 6命令用于将 系统运行级别切换为6 halt shutdown -h. reboot shutdown -r . 11.假设Red Hat Linux操作系统的/usr/bin/paste paste( D ) 命令来诊断问题。 A rpm-Va B rpm -qf /usr/bin/paste C rpm-qa D rpm -vf /usr/bin/paste 12. 在Linux( C )文件对Web服务器端口进行配置。 A metd.conf B lilo.conf C httpd.conf D resolv.conf 13.在Linux/dev/sdb5标识的是(D)。 A1块IDE硬盘上的第5个逻辑分区 B2块IDE硬盘上的第1个逻辑分区 C1块SCSI硬盘上的第5个逻辑分区 D2块SCSI硬盘上的第1个逻辑分区 sdb5sd表示SCSI b5表示第一个逻辑分区。这是因为Linux 的第一个逻辑分区从5Linux主分区命名为1~4 多可以分割为四个主分区。 14.inittab文件存放在( A )录中。 A /etc 15 /boot C /soln D /root 15. 在Linux操作系统中提供了大量的网络route命令用来查看 ( D) 命令也可以完成该项功能。 A. ifconfig -r B. traceroute C. set D. Netsrar -r 16.Linux系统中在下列 ( A ) 文件中指定了网络路由信息。 A/etc/network B/etc/reso1v.conf C/etc/host conf D/etc/hosts 17.Linux中修改文件权限的命令是 ( B) 。 A chown B chmod C change D Chgrp 18.在Linux pwd命令表示 ( C ) 。 3 A B C D 19.如果在Linux rd命令( C )。

相关主题
文本预览
相关文档 最新文档