
Linux
文章平均质量分 53
小丑快学习
这个作者很懒,什么都没留下…
展开
-
GDB 调试笔记
1.使用方式1.编译的命令中加上 -g 选项gcc -o hello hello.c -gg++ -o hello hello.cpp -g2.GDB的启动方式gdb filename, 其中filename为要调试的目标文件gdb filename core, 当文件运行产生core dump时,可以同时调试程序和core文件,一般需执行ulimit -c unlimited将core 文件设置为无限大。gdb filename pid,指定运行程序的进程ID, 并调试它。原创 2021-04-15 22:02:00 · 444 阅读 · 0 评论 -
Linux UDP常用接口
1、UDP连接方式2.recvfrom和sendto函数例子服务器代码:#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <string.h>#include <arpa/inet.h>int main(int argc, const原创 2021-04-15 15:43:43 · 201 阅读 · 0 评论 -
shutdown 函数的操作
原创 2021-04-15 11:16:08 · 159 阅读 · 0 评论 -
Linux TCP连接常用接口
文章目录网络字节序接口1、网络字节序转换函数:2、字节操纵函数(初始化):3、inet_aton、inet_addr、inet_ntoa4、inet_pton、inet_ntopTCP套接字编程1、TCP连接过程2、socket接口3、connect 函数4、bind函数5、listen函数6、accept函数实例代码网络字节序接口1、网络字节序转换函数:-----------------------2、字节操纵函数(初始化):3、inet_aton、inet_addr、inet_ntoa原创 2021-04-13 16:38:03 · 384 阅读 · 0 评论 -
Linux网络编程 ---TCP的连接的建立
文章目录网络字节序接口1、网络字节序转换函数:2、字节操纵函数(初始化):3、inet_aton、inet_addr、inet_ntoa4、inet_pton、inet_ntopTCP套接字编程1、TCP连接过程2、socket接口3、connect 函数4、bind函数5、listen函数6、accept函数实例代码网络字节序接口1、网络字节序转换函数:-----------------------2、字节操纵函数(初始化):3、inet_aton、inet_addr、inet_ntoa原创 2021-04-13 16:30:14 · 223 阅读 · 0 评论 -
vim和外界的复制与粘贴
vim中使用y/p来进行复制粘贴,但是这是在vim文件中使用的,如果我们想要将我们在网页上看的数据粘贴到vim打开的文件中我们该如何操作呢?想要把系统粘贴板的内容复制到vim打开的文件中只需要如下的操作即可。外界复制到vim打开的文件1.将网页上的数据复制到系统粘贴板,选中内容后,用ctrl+c。2.在vim打开的文件中,首先确保是在一般模式下,不确定什么模式可以多按几次esc确保回到一般模式,之后将光标定位到想要复制文件的地方。然后从键盘输入"+p,这时即可完成粘贴。将vim打开的文件的数据复原创 2021-02-28 15:50:26 · 15221 阅读 · 4 评论 -
常用shell脚本命令
1.findfindfind命令主要用于查找文件,结合相应的选项可以非常全面的完成文件的查找,包括挂号载NFS和samba文件系统的网络文件。find / -name "test" 查找名为test的文件,并输出完整路劲find / -mount -name "test" 查找test文件,但是不查找挂载文件系统find的完整格式find [path] [option] [tests] [action]1. path就是搜索的路径,可以是绝对路劲也可以是相对路径,如“/”,“/home”,原创 2021-02-20 17:22:59 · 355 阅读 · 0 评论 -
vi编辑器实现从一个文件将文字复制到另一个文件中
我们在用vi编辑器时,通常用数字+yy的方式进行复制,其中数字表示行数,但是这样复制的只能在当前打开的文件中进行粘贴,如果想要复制到另一个文件中则需要保存退出打开另一个文件将光标移到想要粘贴的地方进行按p 进行粘贴。其实可以实现多个段落的复制粘贴,我们用一个变量名来存储我们想要复制的一个段落。我们在普通模式下输入命令实现多个段落的复制,然后保存并退出文件,再打开其他文件进行复制粘贴。具体案例以及操作步骤:现在想要把上面的第二个文件补全和第一个一样,我们采用行复制的方式进行补全1.打开第一个文件将原创 2021-02-08 21:38:56 · 3697 阅读 · 0 评论 -
Linux C编程笔记------UDP网络通信协议
1.TCP和UDP的比较TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。TCP的建立连接需要三次握手完成链接的建立,断开连接则需要四次挥手来完成连接的断开,TCP是一种可靠的信息传输方式,他是基于数据流的方式来进行数据的传输的。UDP(User Data Protocol,用户数据报协议)UDP是一个非连接的协议,传输数据之间两端不建立连接,当有数据需要发送时只需要将数据分组并且在数据包中将数据的接受原创 2021-01-11 09:51:37 · 158 阅读 · 0 评论 -
Linux C编程笔记----多路复用之epoll
文章目录1.epoll的相关API1.1 epoll_create1.2 epoll_ctl1.3 epoll_waitepoll因为具有比select、poll更高的效率而被广泛使用,epoll的使用也比他们更加复杂,epoll有效的利用了中断,来阻塞或者唤醒进程的方式有效减少了操作大量文件描述符的开销。1.epoll的相关API#include <sys/epoll.h>int epoll_create(int size);int epoll_ctl(int epfd, int o原创 2021-01-10 11:32:21 · 295 阅读 · 0 评论 -
Linux C网络编程---select、poll。
网络 I/O编程模型: 阻塞 Blocking IO:当数据未准备好时,则阻塞等待,当数据到达时将其唤醒 非阻塞 NoneBlocking IO :用户线程不时的询问数据是否准备好,线程不阻塞。 IO多路复用 IO multiplexing: (1)select方式,进程设置为非阻塞,当数据未准备好时,由select函数阻塞相应的进程, select可以查询多个数据情况 (2)epoll,对select的一种改进 信号方 sign原创 2021-01-08 19:14:20 · 405 阅读 · 0 评论 -
Linux C编程笔记-----两种非阻塞的方式读取文件或终端
Linux编程中有时我们需要读取终端,但是我们又不想我们的程序阻塞。我们需要以非阻塞的方式来打开文件/dev/tty。dev/tty:当前设备终端文件。案例:#include<unistd.h>#include<stdlib.h>#include<fcntl.h>#include<stdio.h>int main(){ int fd,n; char buf[10]; fd=open("/dev/原创 2021-01-08 12:16:06 · 589 阅读 · 0 评论 -
linux 网络编程常用函数总结
消息发送函数: #include <sys/types.h> #include <sys/socket.h> ssize_t send(int sockfd, const void *buf, size_t len, int flags); ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const s原创 2021-01-06 17:32:12 · 2070 阅读 · 0 评论 -
Linux编程笔记---多线程,多线程网络编程
1.线程得属性typedef struct{ //线程得分离状态,当线程处于分离状态时线程结束后将由系统回收其相关资源 int detachstate; //线程调度策略 int schedpolicy; //线程调度参数 struct sched_param schedparam; //线程继承 int inheritsched; //缓冲区警戒 size_t guardsize; //线程堆栈相关信息 i原创 2021-01-03 16:59:13 · 117 阅读 · 0 评论 -
Linux编程入门笔记---多进程网络编程。
多进程编程的一些回忆:1.进程的创建最常用fork();pid_t pid;pid=fork(); if(pid==0){//pid=0表示该进程为子进程 }else if(pid>0){//否则为父进程 }else{//创建进程失败 } 2.进程的回收回收对象:孤儿进程、僵尸进程进程原创 2021-01-01 17:38:38 · 136 阅读 · 0 评论 -
Linux编程笔记--信号捕捉
对Linux信号捕捉的一些笔记:struct sigaction { //信号处理函数 void (*sa_handler)(int); //信号执行的相应的动作 void (*sa_sigaction)(int, siginfo_t *, void *); //信号阻塞集,捕捉信号时将会产生信号的捕捉 sigset_t sa_ma原创 2020-12-31 16:56:57 · 151 阅读 · 0 评论 -
Linux网络编程笔记
Linux网络编程笔记;TCP链接方式的Linux网络编程包括客户端服务端两种方式。客户端的主要流程为:1、 创建套接字2、 连接服务器3、 传送数据4、 断开连接服务器端的主要流程:1、 创建套接字2、 监听3、 等待连接请求4、 数据传送5、 断开连接客户端简单代码:#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>原创 2020-12-31 08:53:51 · 172 阅读 · 0 评论 -
## Samba共享文件,Windows和Linux的文件共享
Samba共享文件安装sambasudo apt install samba启动、重启、停止停止:service smbd stop启动:service smbd start重启:service smbd restart完成配置后一定要重启配置1.配置文件位置 cd / vi /etc/samba.smb.conf2.创建目录 mkdir /home/smb_test mkdir /opt/test3.修改配置文件在这个位置的后面插入配置文件信息(ht原创 2020-12-07 17:29:28 · 86 阅读 · 0 评论 -
NFS的使用
NFS的简单使用1.安装NFS。安装之前需要先更新以下执行命令:sudo apt-get update(1)安装服务器端:sudo apt-get install nfs-kernel-server(2)客户端安装:sudo apt-get install nfs-common2.配置服务器端。(1)配置文件 /ect/exports 依次执行命令: cd / vi /etc/expoets 在文件的末尾加上配置信息。 例如:/nfs/share 1原创 2020-12-06 21:52:55 · 1419 阅读 · 0 评论