1、Linux基础与Linux下C语言编程基础Linux基础与Linux下C语言编程基础Linux基础1 Linux命令如果使用GUI,Linux和Windows没有什么区别。Linux学习应用的一个特点是通过命令行进行使用。登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments)。即Linux中命令格式为:command options arguments /中括号代表是可选的,即有些命令不需要选项也不需要参数选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同。参数是指命令的作用对象。如ls命令,ls或ls .显
2、示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略。我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录。其中“-a” 就是选项,改变了显示的内容,如下图所示:以上简要说明了选项及参数的区别,但具体Linux中哪条命令有哪些选项及参数,需要我们靠经验积累或者查看Linux的帮助了。2 man命令不论学习编程还是Linux命令,掌握帮助文档的使用都是很重要的,是举一反三的重要途径。man是manul的缩写,我们可以通过man man来查看man的帮助,如下图:帮助文档包含:1 Executable programs or shell commands(用户命令
3、帮助) 2 System calls (系统调用帮助) 3 Library calls (库函数调用帮助) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd(配置文件帮助) 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Ker
4、nel routines Non standard 解释一下:1是普通的Linux命令 2是系统调用,操作系统的提供的服务接口 3是库函数, C语言中的函数5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 6是给游戏留的,由各个游戏自己定义 7是附件还有一些变量,比如向environ这种全局变量在这里就有说明 8是系统管理用的命令,这些命令只能由root使用,如ifconfig其中1,2,3是我们学习的重点,区别大家练习一下就知道了,比如printf是C语言的库函数,也是一个Linux命令,大家尝试一下man printf,man 1 printf,man 3 print
5、f,体会一下区别。知道printf 命令也好,printf函数也好,查找帮助文档都很容易。man有一个-k选项用起来非常好,这个选项让你学习命令,编程时有了一个搜索引擎,可以举一反三。 我们通过一个例子来说明,比如数据结构中学过排序(sort),我不知道C语言中有没有完成这个功能的函数,可以通过“man -k sort”来搜索,因为是找C库函数,我们关注带3的,qsort好像是个好选项,如下图:结合后面学习的grep 命令和管道,可以多关键字查找:man -k key1 | grep key2 | grep key3 | .如下图,可以更好的找到qsort:3 cheat 命令man 虽然很重
6、要,但有些命令看了帮助还不会用,初学者需要例子,cheat就是这个身边的小抄。 cheat 命令不是Linux自带的,大家参考这篇文章(英文版)安装,实验楼课程实验系统中已经安装了。cheat是作弊,小抄的意思。cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。使用cheat命令作弊是可以的。:)4 其他核心命令和查找相关的核心命令还有find,locate,grep,whereis,which,其中: find查找一个文件在系统中的什么位置,locate是神速版本的find
7、(Windows下有个Everything工具和locate类似). grep 可以对文件全文检索,支持正则表达式,正则表达式也是一个重要的元知识。 whereis,which告诉你使用的命令工具装在什么地方。上面的命令包括man -k有一个共同特点就是基于“搜索”,学好了可以举一反三,大家重点学习,掌握了他们,其他命令就可以自学了。你用 “man find”, “cheat find”试试。Linux下C语言编程基础1.练习vimtutuor至少一遍;2.使用vim 输入以下代码,联系使用“K”查找帮助文档:3.练习gcc编译运行代码;4.练习gdb调试代码;5.把上述代码中除了main函数外的代码制作成一个静态库math.a和一个共享库math.so;6.编写makefile,让代码编译,上述静态库和共享库的使用自动化。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1