- 博客(30)
- 收藏
- 关注
原创 Shell部分13
1. 条件判断式if ...;then.... elif... ;then… elif…then… else….then fi2. #!/bin/bash3. #Program:4. # testthe if then elif5. #2016/11/246. #7. 8. PATH=/bin:/sbin:/usr/bin:/us
2016-11-30 19:55:20 227
原创 Shell部分12
1. [] :判断符号2. [ -z “$PATH” ]; echo $? 测试PATH内容是否为空,参数仿照test命令的3. 注意:1)中括号中的两边需要有空格隔开,不然会出错;4. 2)中括号以内的每个组件需要用空格分隔;5. 3)中括号内的变量最好用双引号括起来;6. 4)中括号中的常量以单或双引号括起来。7. [ “$name” == “Zhan
2016-11-29 22:45:21 241
原创 Shell部分11
1. 条件判断命令test2. Test –e /dmtasi && echo “exist”|| echo “No exist” 测试这个文件是否存在,使用判断表达式3. -a参数,表示两个测试条件均成立4. -o参数,表示两个测试条件中任意一个成立即可5. !参数,表示反向状态,取反的意思,!true->false6. #!/bin/bash7. #P
2016-11-28 19:11:16 337
原创 Shell部分10
1. 简单的两个数的相乘shell 脚本:2. #cross two number3. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin4. export PATH5. 6. echo -e "Input two number!"7. read -p "First
2016-11-27 20:53:41 252
原创 Shell部分9
1. Shell Script2. Shell 脚本是纯文本文档,第一行的#!/bin/bash 用于声明,这个文件内的语法使用bash的语法。 其余的#都是注释。 3. *********************************************************************4. 使用touch命令,在shell脚本下创建文件:
2016-11-26 23:25:52 183
原创 Shell部分8
1. awk适用于一行分成多个段,进行处理2. Last –n 5 | awk ‘{print $1 “\t” $3}’ 大括号里面输入命令,做相应操作。$1表示第一列,$3表示第三列。3. 变量名:NF:每一行拥有的字段总数; NR:目前awk所处理的是第几行数据;FS:目前的分隔字符,默认是空格键。 例如:‘{print $1 NR “\t” $3 NF}’4.
2016-11-25 19:56:16 283
原创 Shell部分7
1. Printf2. Printf ‘%s %t %s%t %s%t’ $(cat config.txt) 格式化打印文件内容。3. Date4. Date命令时获得系统中的时间,在shell中使用该命令即可。5. date --date=’2 days ago’ +%Y%m%d ,这样就可以获得前天的时间,这里的’2 days ago’ 不是瞎写的,在da
2016-11-24 18:19:29 210
原创 Shell部分6
1. Sed2. nl 列出文件内容,可以显示行号。3. Sed中的function功能:4. a:新增5. c:替换,后接字符串,替换n行内容。6. d:删除7. i:插入8. p:打印9. s:替换,直接进行替换工作。10. nl file.txt | sed ‘2,5d’ 显示的时候删除file.txt中的2-5行,’2,$d’删除2
2016-11-23 22:44:23 204
原创 Shell部分5
1. 正则表达式:处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。 grep sed awk2. 语系差别:LANG=C时,0 1 2 3.........A B C D ......a b c d .......z;而LANG=zh_CN.UTF-8时,0 1 2 3.......
2016-11-22 19:13:52 244
原创 Shell部分4
1. 通配符:*表示0到无穷多个任意字符;?表示有一个任意字符; []表示一定有括号中字符中的任意一个字符; [-] 表示在一个范围中的字符会出现,例如[0-9]表示0-9之中的数字;[^]表示除开中括号以内的字符,可以存在。例如[^a-z]也就是除开小写字母。2. 数据流重定向 : 1)标准输入:代码0,使用 catfile(覆盖)和 >>(追加)输出到文件或者其他中,如果该文
2016-11-21 21:06:49 210
原创 Shell部分3
1. 命令别名:alias lm=’ls –l| more’,这样,输入lm命令的时候,就有后面的一串命令的作用。可以使用unalias进行取消设置。2. 历史命令:history,显示之前使用过的命令。 History 4 显示最新的四个命令。3. 命令的查找顺序:一般的命令运行顺序可以如下1)以相对/绝对路径执行的命令(/bin/ls),最为优先。 2)由alias别名定
2016-11-20 22:16:07 233
原创 Shell部分2
1. 命令别名:alias lm=’ls –l| more’,这样,输入lm命令的时候,就有后面的一串命令的作用。可以使用unalias进行取消设置。2. 历史命令:history,显示之前使用过的命令。 History 4 显示最新的四个命令。3. 命令的查找顺序:一般的命令运行顺序可以如下1)以相对/绝对路径执行的命令(/bin/ls),最为优先。 2)由alias别名定
2016-11-19 21:11:02 221
原创 Shell部分总结1
1. Shell2. Wc 统计文件中的行或者字或者字符 -l 列出多少行 -w 列出英文单词个数 -m 多少字符3. (管道前的内容) | grep –c ‘hello’ 计算管道前内容中找到的字符串次数,单纯统计 -i 忽略大小写的不同 -n 顺便输出行号4. 变量的定义:直接在命令行中输入 MYNAME=ZTL,就可以设置一个变量名为MYNAME,内容为
2016-11-18 22:30:46 213
原创 Linux下Shell的管道及命令
1. 管道命令: | 管道命令只能执行前一个命令的standard output 而不能接收 standard error output2. Cut:选取命令,切出信息中的一段。-d:后面接分割字符,根据分割字符,分成数段,与-f一起使用,-f指明取出第几段。 -c:以字符的单位取出固定的字符区间。3. Cut使用范例:echo $PATH | cut –d ‘:’ –f 3,5
2016-11-17 22:42:41 730
原创 Linux 下的压缩
1. tar的使用范例 2. tar –jcv –ffile.tar.bz2 + 要被压缩的文件或者目录 说明:-j使用bzip2压缩,-c新建打包文件,-v显示正在处理的文件,-f要被输出成什么文件。3. tar –jtv –ffile.tar.bz2 查看打包文件中有哪些文件。 说明: -t 显示打包文件中有哪些文件4. tar –jxv –ffile.tar.
2016-11-16 21:38:50 207
原创 Linux启动
1. 磁盘2. 主引导分区(Master Boot Record):可以安装引导加载程序的地方,有446byte。3. 分区表(partition table):记录整块硬盘分区的状态,64byte。4. BIOS:是一个韧体,是一个写入到硬件上的一个软件程序。5. 开机流程:1)上电启动BIOS(开机时主动执行的第一个程序); 2)BIOS分析计算机里有哪些存储设备
2016-11-15 19:56:22 276
原创 Linux的目录结构和文件分类
1. Linux的目录结构:2. /bin :存放提供给用户使用的完成基本维护任务的命令。3. /boot :存放Linux启动时使用的一些核心文件。4. /dev:包含所有系统设备文件。5. /etc:包含系统和应用软件的配置文件6. /home:存储普通用户的个人资料。7. /lib :存放基本的共
2016-11-14 23:00:24 514
原创 Linux下一些命令
1. Linux命令2. :20 跳转到20行3. :/abc 往后查找abc4. :?abc 往前查找abc5. 跳转到配对括号上: 光标移动到一个括号上,然后摁下%即可6. :!ls 调用外部命令7. –c : 编译或者汇编8. –E:预处理9. –S:编译10.
2016-11-13 22:22:56 223
原创 Linux下软硬链接
1. 软链接:软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能查看软链接文件的内容了。软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分-->目标文件的路径名)。软件有自己的inode,并
2016-11-12 22:06:05 361
原创 C语言的库的创建
1. 库2. 静态库:ar –rcsvlibXXX.a func1.o func2.o func3.o (- r:在库中插入模块(替换)。当插入的模块名已经在库中存在,则替换同名的模块。 -s :写入一个目标文件到库中 a – XXX.o 在库的最后添加一个新文件 v :显示信息 c:表示只编译,不链接)3. 静态库的使用:gcc main.c –o testMa
2016-11-11 19:57:42 1351
转载 分段与分页存储管理
转载:http://blog.csdn.net/liuyueyue0921/article/details/47451973?locationNum=2&fps=1一. 分页存储管理 1.基本思想 用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实
2016-11-10 23:41:45 515
原创 Linux下的部分正则表达式
1. 正则表达式 grep sed awk2. grep –n ‘hello’main.c 查找其中指定的字符串3. grep –n ‘t[ae]st’regurla.txt 在字符串中查找到test 或者 taste这种单词,匹配不同的单词4. [^g] 就是不允许在相应位置上有g [^a-z]不允许相应位置上有小写字母 ‘!$’查找!在行尾5. nl
2016-11-09 21:30:20 255
原创 Linux TCP协议使用线程实现并发服务器
直接放代码:服务器:#include #include #include #include #include #include #include #define PORTNUM 3333//char send_buf[1024];#if 0void write(void *sock_fd){ int *sock_fd_new =
2016-11-08 21:30:41 304
原创 Linux TCP协议使用进程实现并发服务器
直接放代码:#include #include #include #include #include #include #define PORTNUM 3333int main(){ int sock_fd; int sock_fd_new; struct sockaddr_in my_addr; int addr
2016-11-07 21:34:42 298
原创 Linux UDP网络编程
用户数据报文协议(UDP): UDP 提供不可靠的非连接型传输层服务,它允许在源和目的地之间传送数据,而不必在传送数据之前建立对话。它主要用于那些非连接型的应用程序,如:视频点播UDP流程图:服务器代码:#include #include #include #include #include #include #defi
2016-11-06 21:15:24 264
原创 linux TCP网络编程
网络编程有TCP编程协议,UDP编程协议。下面介绍TCP编程模型:概念:TCP是重要的传输层协议,目的是允许数据同网络上的其他节点进行可靠的交换。它能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输TCP 协议具有严格的内装差错检验算法确保数据的完整性TCP 是面向字节的顺序协议,这意味着包内的每个字节被分配一个顺序编号,并分配给每包一个顺序编号。模型:
2016-11-05 23:27:37 285
原创 树的一些知识点总结
1. 树:节点的度(定义:节点所拥有的子树的棵树,也就是节点下有几个分叉。) 层次(约定根节点所在层次为1) 高度或深度(树中节点的最大层数) 直径长度(为高度-1) 2. 二叉树的性质:1)如果根节点的层次为1,那么二叉树的第i层最多有2^(i - 1)次方个节点; 2)在高度为h的二叉树中,最多有2^h – 1 (h >= 0)个节点; 3)设一棵二叉树的叶子节点的个数为
2016-11-04 21:13:53 3476
原创 不可能的出栈序列--思想
例如:有入栈顺序ABCDE,列出所有不可能的出栈序列。首先列出一些出栈序列,找出其中不可能的序列,观察其中的规律。例如: D B E A C这个就是不可能的。 C A B E D这个也是不可能的。 C D E B A这个就是可以的。通过观察,满足如下规律的是可能的序列:在它后面的,比它先入栈的,需要在此后倒序排列(
2016-11-03 21:33:32 2577
原创 C语言 函数返回值小总结
函数返回值小总结我得出了以下结论:1函数可以返回局部变量,局部变量虽然会被释放但其实返回的是复制。2函数不可以返回局部变量的地址,局部变量被释放了,那它的地址里面的值也没有了。3函数要返回的地址可以把局部变量定义成静态的或者使其变成形参,就可以了。例子:#include #include char test1(){ char a = '
2016-11-03 00:14:43 471
转载 linux多线程
一、线程的特点线程是进程的一个执行流,是CPU调度和分配的基本单位。线程是程序运行的最小单位。线程不会影响到其它线程的运行。比如一个线程崩溃,其它线程正常运行。同一进程内的线程共享进程的地址空间。二、一个线程的组成一个指向当前被执行指令的指令指针一个栈空间一个寄存器值的集合一个私有的数据区三、使用线程的优点同一进程下的多线程共享地址空间,减少的资源的浪费。线程间方便的通信机制。因为线程共享数据空间,
2016-11-01 23:31:16 238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人