Linux程序设计知识点整理

上传人:宝路 文档编号:21045315 上传时间:2017-11-23 格式:DOCX 页数:71 大小:4.40MB
返回 下载 相关 举报
Linux程序设计知识点整理_第1页
第1页 / 共71页
Linux程序设计知识点整理_第2页
第2页 / 共71页
Linux程序设计知识点整理_第3页
第3页 / 共71页
Linux程序设计知识点整理_第4页
第4页 / 共71页
Linux程序设计知识点整理_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《Linux程序设计知识点整理》由会员分享,可在线阅读,更多相关《Linux程序设计知识点整理(71页珍藏版)》请在金锄头文库上搜索。

1、Prerequisite一、Linux 命令1、文件操作列出目录内容: ls, dir, vdir创建特殊文件: mkdir, mknod, mkfifo文件操作: cp, mv, rm修改文件属性: chmod, chown, chgrp, touch查找文件: locate, find字符串匹配: grep(egrep)其它: pwd, cd, ar, file, grep, tar, more, less, head, tail, cat2、进程操作ps, kill, jobs, fg, bg, nice3、其它who, whoami, passwd, su, uname, man二、L

2、inux 工具编辑工具:vi, emacs编译、链接:gcc(GNU C Compiler - GNU Compiler Collection)调试:gdbmake 命令版本控制工具:CVS 等三、编程语言1、 High-level Language:C/C+, Java, Fortran2、 ELF binary format:Excutable and Linkable Format(工具接口标准委员会(TIS) 选择了正在发展中的 ELF 体系上不同操作系统之间可移植的二进制文件格式)四、GCC 使用-E: 只对源程序进行预处理(调用 cpp 预处理器)-S: 只对源程序进行预处理、编译

3、-c: 执行预处理、编译、汇编而不链接-o output_file: 指定输出文件名-g: 产生调试工具必需的符号信息-O/On: 在程序编译、链接过程中进行优化处理-Wall: 显示所有的警告信息-Idir: 指定额外的头文件搜索路径-Ldir: 指定额外的库文件搜索路径 -lname: 链接时搜索指定的库文件-DMACRO=DEFN: 定义 MACRO 宏Gcc 过程:预处理、编译、汇编、链接GDB 使用设置断点、监视变量值、单步执行、修改变量值不make不shell中kill执run推quit临print显display打file执step执next列list设break/tbreakm

4、ake -f filename targetnameShell 编程一、 Shell 概述1、 Shell 用户和操作系统之间的接口、作为核外程序而存在2、 Shell 的双重角色1) 、命令解释程序(1 ) Linux 的开机启动过程:加载 BIOS;读取 MBR(Master Boot Record) ;Boot Loader;加载内核;用户层 init 依据 inittab 文件来设定运行等级; init 进程执行 rc.sysinit;启动内核模块;执行不同运行级别的脚本程序;执行/etc/rc.d/rc.local;执行/bin/login 程序,进入登录状态(2 )进程树:进程树是

5、一种进程关系表示方法。由父进程和子进程两部分组成。(3 ) Shell 的工作步骤:打印提示符;得到命令行;解析命令;查找文件;准备参数;执行命令2)独立的程序设计语言解释器(1 ) KISS (Keep It Small and Stupid)(2 ) Reusable tools(3 ) Redirection and pipe二、创建和执行 Shell 程序1、编写脚本文件(注释、退出码( exit 0) )2、执行脚本文件方法 1:$ sh script_file 方法 2:chmod +x script_file (chown, chgrp optionally)./script_f

6、ile方法 3:source script_file, or . script_file1、 在当前 bash 环境下新建一个子 shell 来执行这个脚本,继承父 Shell 的环境变量,用于执行刚修改的初始化文档,2、 这些子 shell(即子进程) 使脚本并行地,有效率地地同时运行脚本内的多个子任务。由于是在子 shell 中执行,脚本设置的变量不会影响当前 shell。3、 source 的程序主体是 bash,脚本中的$0 变量的值是 bash,而且由于作用于当前 bash 环境,脚本中 set 的变量将直接起效三、Shell 程序设计的语法1、变量1、用户变量:(1 )定义:用户在

7、 shell 脚本里定义的变量(2 )赋值和使用:var=valueecho $var(3 ) read 命令:(read -p Enter your name: name)read var 或 readREPLY variable(环境变量 REPLY 中包含输入的所有数据,可以像使用其他变量一样在 shell 脚本中使用环境变量 REPLY,当然,在引用的时候不要忘记$)-s:默读、在输入密码时用的到-t:计时输入,后接等待秒数(4 )引号的用法:双引号作用:$ , ,这些字符的特殊含义还是存在单引号:忽略所有的特殊字符2、用户环境(1 ) .bash_profile, .bash_log

8、out, .bashrc files.bash_profile: 用户登录时被读取,其中包含的命令被 bash 执行.bashrc: 启动一个新的 shell 时读取并执行.bash_logout: 登录退出时读取执行(2 ) Alias:alias别名=指令名称 ,若不加任何参数,则列出目前所有的别名设置。alias 的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在/etc/profile 或自己的 /.bashrc 中设定指令的别名。Unalias 别名(3 )环境变量:export -fnp变量名称=变量设置值-f 代表变量名称中为函数名称。 -n 删除指定的变量。变量实际

9、上未删除,只是不会输出到后续指令的执行环境中。-p 列出所有的 shell 赋予程序的环境变量。env:显示当前用户的环境变量;set:用 set 命令可以设置各种 shell 选项或者列出 shell 变量-a 标示已修改的变量,以供输出至环境变量。-b 使被中止的后台程序立刻回报执行状态。-C 转向所产生的文件无法覆盖已存在的文件。-d Shell 预设会用杂凑表记忆使用过的指令,以加速指令的执行。-d 参数可取消。-e 若指令传回值不等于 0,则立即退出 shell。-f 取消使用通配符。-h 自动记录函数的所在位置。-H Shell 可利用! 加的方式来执行 history 中记录的指

10、令。-k 指令所给的参数都会被视为此指令的环境变量。-l 记录 for 循环的变量名称。-m 使用监视模式。-n 只读取指令,而不实际执行。-p 启动优先顺序模式。-P 启动-P 参数后,执行指令时,会以实际的文件或目录来取代符号连接。-t 执行完随后的指令,即退出 shell。-u 当执行时使用到未定义过的变量,则显示错误信息。-v 显示 shell 所读取的输入值。-x 执行指令后,会先显示该指令及所下的参数。+ 取消某个 set 曾启动的参数。3、环境变量(Shell 环境提供的变量。通常使用大写字母做名字)4、参数变量和内部变量调用脚本程序时如果带有参数,对应的参数和额外产生的一些变量

11、。2、条件测试1、字符串比较2、算数比较3、与文件有关的条件测试4、逻辑操作5、条件语句(1 )形式:(紧凑形式; (同一行上多个命令的分隔符) )if expression thenstatementselif expression thenstatementselif elsestatementsfi6、 case 语句(1 )形式:case str instr1 | str2) statements;str3 | str4) statements;*) statements;Esac3、重复语句1、 for 语句:适用于对一系列字符串循环处理(1 )形式:for var in listd

12、ostatementsdone例:#!/bin/shfor file in $(ls f*.sh); dolpr $filedoneexit 02、 while 语句(1 )形式:while conditiondostatementsdone3、 until 语句(不推荐使用)(1 )形式:until conditiondostatementsdone4、 Select 语句:生成菜单列表(1 )形式:select item in itemlistdostatementsdone4、命令表业语句块1、命令表(1 )命令组合分号串联:command1 ; command2 ; 条件组合:AND

13、命令表:只有在 & 左边的命令返回真,& 右边的命令才会被执行格式:statement1 & statement2 & statement3 & OR 命令表:只有在 | 左边的命令返回假, | 右边的命令才会被执行。格式:statement1 | statement2 | statement3 | 2、语句块(1 )形式 statement1statement2或 statement1; statement2 ; ; 5、函数(1 )形式function funcname()statementsreturn int(2 )局部变量:局部变量只适用于当前 shell,local 关键字(3 )

14、函数的调用:func para1 para2 6、其他1、杂项命令:break: 从 for/while/until 循环退出continue: 跳到下一个循环继续执行exit n: 以退出码”n”退出脚本运行return: 函数返回export: 将变量导出到 shell,使之成为 shell 的环境变量set: 为 shell 设置参数变量unset: 从环境中删除变量或函数trap: 指定在收到操作系统信号后执行的动作“:”(冒号命令): 空命令“.”(句点命令)或 source: 在当前 shell 中执行命令2、 find 命令(1 )形式:find path options tes

15、ts actionsOptionsTests可以用操作符进行组合测试 :!(-not) ; -a(-and) ; -o(-or)可以用圆括号来强制测试和操作符的优先级,需要用到转义字符例:find . (-name _* -or -newer while2) -type f print-amin、-anewer 、-atime-cmin、-cnewer、-ctime-empty、-gid or -group、-pid-name, -iname-size、-type-ipath, -path路径名符合 p 的文件,ipath 表示忽略大小写actions3、 grep 命令(用于在文件中查找字符

16、串)(1 )形式:grep OPTIONS PATTERN FILES(2 )正则表达式:广泛用于 Linux 和许多其他编程语言中,基本原理都是一样的注:上表中的括号需要使用转移字符,如 grep E a-z10 words2.txt4、捕获命令输出(1 )语法:$(command)command(2 )例:#!/bin/shecho “The current directory is $PWD”echo “The current directory is $(pwd)”exit 05、算数扩展(1 ) expr 命令(支持的 operator 包括)expr argument operator argument(2 ) $()扩展

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号