Linux
文章平均质量分 53
Strivee_
厚积薄发,天助自助者也!
Stay hungry,stay young!
展开
-
Linux----linux目录结构及基本命令
一、Linux目录结构及各个目录放置的文件内容1) / 根目录 每个文件和目录都从根目录开始。2) /bin 命令,用户二进制文件 即可执行程序存放的地点,包含二进制可执行文件,在单用户模式下,需要使用的常见Linux命令都位于此目录下,系统的所有用户使用的命令都设在这里。3) /etc 系统的配置文件 简...原创 2018-05-03 22:00:51 · 224 阅读 · 0 评论 -
Linux----网络编程(ET模式与LT模式的区别及代码演示)
epoll对文件描述符的操作有两种模式:LT模式和ET模式。 LT模式(普通模式):也叫水平触发。描述符上有数据就绪,如果用户没有处理完,可以反复提醒,当下一轮IO函数执行时会继续提醒用户该描述符上有数据,直到用户将数据读完为止。 ET模式(高效模式):也叫边沿触发。描述符上有数据就绪,如果用户把数据没有处理或没处理完,也只提醒一次,下一轮IO函数执行时不会提醒,除非有新数据...原创 2018-10-27 00:29:19 · 1450 阅读 · 0 评论 -
Linux----网络编程(IO复用之poll系统调用函数)
服务器端ser_poll.c#include <string.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <sys/time.h>#include <assert.h&原创 2018-10-25 00:08:46 · 208 阅读 · 0 评论 -
Linux----网络编程(IO复用服务器多客户端——将键盘输入的内容通过read打印出来,若键盘无输入则输出time out)
服务器ser_key.c#include <string.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <sys/select.h>#include <sys/time.h>原创 2018-10-25 00:23:03 · 307 阅读 · 0 评论 -
Linux----网络编程(IO复用之epoll系统调用函数)
服务器端epoll.c#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h&g原创 2018-10-27 18:50:14 · 622 阅读 · 0 评论 -
Linux----IO框架库libevent的压缩文件及安装步骤
以Red Hat Enterprise Linux 6 - VMware Workstation虚拟机为例一、文件源链接:https://pan.baidu.com/s/1tH8wKl2RekBzv3YKIbqLrA提取码:flua二、安装步骤1、直接将压缩包拖到Linux系统的桌面上,无需解压缩2、在桌面上直接右击鼠标打开终端,当前路径显示为桌面3、输入命令 tar ...原创 2018-11-01 20:11:52 · 257 阅读 · 0 评论 -
Linux----IO框架库libevent的使用(永久事件及非永久性事件的实现)
iolib.c执行此程序时命令为:gcc -o iolib iolib.c -levent#include <stdio.h>#include <string.h>#include <assert.h>#include <signal.h>#include <unistd.h>#include <event.h&...原创 2018-11-01 20:52:49 · 616 阅读 · 0 评论 -
Linux----IO框架库libevent的使用 (加IO函数的框架库实现服务器客户端通信)
一、serlib.c程序为加io函数的框架库实现服务器客户端通信【不完善】不完善体现在:多客户端时,一个客户端断开连接后致使服务器也直接断开,中断了其他客户端与服务器的连接通信。改进版参考以下serlib2.c程序。服务端serlib.c#include <stdio.h>#include <string.h>#include <assert.h...原创 2018-11-01 22:45:02 · 508 阅读 · 0 评论 -
Linux上查看源代码汇编的命令方法
方法 一:使用gcc -S a.c得到a.s,用cat a.s查看;方法二:先gcc -c a.c得到a.o,用objdump -d a.o来反汇编查看里面的汇编代码;方法三:在调试中进入gdb, 用disassemble命令查看。...原创 2019-07-10 09:57:40 · 3641 阅读 · 0 评论 -
【Linux】文件权限的划分——属主,同组用户,其他用户
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;和属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的周详信息时,最左边的一列为文件的访问权限。例一:$ ls -l sobsrc. tgz-rw-r–r– 1 root root 483997 Ju1 l5 17:3l sobsrc. tg...原创 2019-07-15 14:27:17 · 16095 阅读 · 0 评论 -
Linux----网络编程(IO复用中select,poll,epoll之间的区别)
前面学习了select、poll和epoll三组IO复用系统调用,现在从向内核传递文件描述符数、内核实现、检索就绪描述符方式、工作模式和时间复杂度等五个方面比较其中的区别,以明确在实际应用中应该选择使用哪个。由于select与poll的特性相似,所以把它们联系在一起与epoll进行比较。epoll有利于解决描述符数目很多的情况。 1. 向内核传递描述符数 select / po...原创 2018-10-27 00:21:36 · 285 阅读 · 0 评论 -
Linux----网络编程(守护进程相关概念及编程流程)
一、守护进程的相关定义守护进程:也称为精灵进程,运行在后台的一种特殊进程。守护进程独立于控制终端并且周期性的执行某种任务或者等待处理发生的事件。所以守护进程不因为用户、终端或其他的变化而受影响。守护进程的特点: 1. 运行周期长 2.在后台运行 3.不与用户交互...原创 2018-10-25 20:22:31 · 255 阅读 · 0 评论 -
Linux----网络编程(I/O复用之select系统调用)
io_select_ser.c1. #include <string.h>2. #include <assert.h>3. #include <unistd.h>4. #include <stdio.h>5. #include <stdlib.h>6. #include <sys/socket.h>7. #i...原创 2018-10-20 18:33:51 · 320 阅读 · 0 评论 -
Linux----基本命令的使用(vi命令,查看文件内容,显示进程,切换用户等)
一、vi是linux系统上常用的一个文本编辑器,其有三种模式:命令模式、编辑模式(插入模式)、末行模式。命令模式——>编辑模式:“i a o I A O”编辑模式——>命令模式:“ESC”命令模式——>末行模式:“: / ?”(:与/用于搜索) 编辑模式常用操作:i :在当前光标前面插入数据a :在当前光标之后插入数据I :在当前光标行头开始插入...原创 2018-05-06 18:10:02 · 22226 阅读 · 0 评论 -
Linux----linux命令使用(find,grep,管道|,man,runleve,tar,gzip)
1、 find 在指定一个路径,按条件搜索某一个文件如: find /home/stu -name main.c 在/home/stu目录中搜索名为main.c的文件2、 grep 起信息过滤作用,过滤在一个文件中匹配某个字符串,将匹配到的信息输出如: grep "root" passwd 在文件passwd中找到含...原创 2018-05-06 19:12:34 · 839 阅读 · 0 评论 -
Linux----linux程序编译(编译链接过程,gcc使用)
我们很少关注编译链接过程,因为通常的开发环境都是流行的集成开发环境(IDE),如Visual Studio等。这样的IDE一般都将编译和链接的过程一步完成,通常将这种编译和链接合并到一起的过程称为构建(Build)。在Linux下,当我们使用gcc编译main程序时,只需使用最简单的命令——gcc -o main main.c(main为可执行程序的名字,main.c为源文件,源文件可以有多个)一...原创 2018-05-07 14:54:08 · 349 阅读 · 0 评论 -
Linux----网络编程(相关名词概念)
网络编程即编写通过计算机网络与其他程序进行通信的这类程序。 相互通信的网络程序中,一方称为客户程序(client),另一方称为服务器程序(server)。计算机网络(简称网络):是指将地理位置不同的具有独立功能的多台计算机及其外部设备通过通信线路连接起来。 互联网( Internet ):专用名词,也叫因特网,特指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,采用...原创 2018-10-16 00:03:45 · 168 阅读 · 0 评论 -
Linux----网络编程(TCP网络通信服务器客户端编程流程与其循环实现)
一、TCP的服务器客户端编程流程1、服务器 ser.c 1 #include <stdio.h> 2 #include <assert.h> 3 #include <stdlib.h> 4 #include <unistd.h> 5 #include <string.h> 6 #include <sy...原创 2018-10-17 00:54:55 · 1121 阅读 · 0 评论 -
Linux----网络编程(TCP网络通信服务器客户端编程实现多线程)
1、服务器端ser.c1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <assert.h> 5 #include <string.h> 6 #include <sys/socket.h> 7 #...原创 2018-10-17 01:14:48 · 1670 阅读 · 0 评论 -
Linux----网络编程(TCP网络通信客户端服务器编程实现多进程)
1、服务器ser.c 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <assert.h> 5 #include <string.h> 6 #include <sys/socket.h> 7 ...原创 2018-10-17 01:18:38 · 632 阅读 · 0 评论 -
Linux----网络编程(UDP网络通信服务器客户端编程流程)
1、服务器ser.c 1 #include <string.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <unistd.h> 5 #include <assert.h> 6 #include <sys/socket.h> 7 ...原创 2018-10-17 01:23:12 · 769 阅读 · 2 评论 -
Linux----网络编程(HTTP网络通信编码流程)
HTTP网络通信编码流程 短连接:即非持久连接,指客户端和服务器进行一次HTTP请求/响应之后就关闭连接。所以下一次的HTTP请求/响应操作需要重新建立连接。 长连接:即持久连接,指客户端和服务器建立一次连接之后可以在这条连接上进行多次请求/响应操作。长连接可以设置过期时间,也可以不设置。 一、简单输出文本信息,如“你好,秋天!”myhttp.c 1 #inc...原创 2018-10-17 01:44:05 · 1100 阅读 · 1 评论 -
Linux多线程死锁的调试方法
首先此处给出死锁多线程代码示例,便于理解:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h>#include <unistd.h>pthread_mutex_t g_smutex ; void * func(v...转载 2019-07-16 13:54:42 · 1694 阅读 · 0 评论