![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
liunx
艾听先生
假程序员一枚
展开
-
vim的使用技巧
@1:如何在源代码中不同段落/块间来回跳跃 输入{,前进至上一个段落; 输入},到下一个段落; @2:简单功能进行文件的快速定位 gg 到文件首 gd 到变量声明 gg=G 全篇自动缩进,=G 单行缩进 strl+] 函数原型处 ctrl+t 回 strl+p 自动补全(编辑状态) w(e)移动光标到下一个单词原创 2017-11-20 17:55:09 · 147 阅读 · 0 评论 -
C语言实现进度条彩色变化
【C语言】实现一个变色的进度条原创 2017年03月31日 20:39:30标签: linux/ C语言/ 376 编辑删除实现一个如上的进度条要求1、依次多打印一个'#'2、并后面标注百分比3、还可以进行变色实现进度条(未变色)strip.c[cpp] view plain copy转载 2017-12-04 17:05:25 · 1250 阅读 · 0 评论 -
静态链接库实现
linux命令:vim tax.cgcc -c tax.car cqs libtax.a tar.ocp libtax.a /usr/lib/vim mytax.cvim tax.hgcc -static mytar.c -ltax -o mytax第一步先建立一个.c文件用来存放库函数实现体。第二步生成.o文件(即:编译后的中间文件)第三步将.o文件变成以.a为后缀的静态库文件第四步将原创 2018-03-21 16:48:00 · 364 阅读 · 0 评论 -
动态链接库实现
linux命令:vim add.cgcc -c add.c -o add.ogcc -shared -fPIC addlib.o-o libadd.socp libadd.so /usr/lib/vim mytax.cvim tax.hgcc myadd.c -ladd -o myadd第一步先建立一个.c文件用来存放库函数实现体。第二步生成.o文件(即:编译后的中间文件)第三步将.o原创 2018-03-21 18:59:15 · 288 阅读 · 0 评论 -
文件复制程序
程序:结果:原创 2018-03-21 21:56:55 · 703 阅读 · 0 评论 -
Samba服务器搭建
原博客主链接:https://blog.csdn.net/jiangzunshao/article/details/53040889一、安装SambaSentOS系统亲测1、使用yum工具安装# yum install -y samba samba-client samba-swat2、查看安装状况# rpm -qa | grep samba3、启动Samba服务器# /etc/init.d/sm...转载 2018-04-01 16:08:54 · 224 阅读 · 0 评论 -
【Linux】samba服务器的安装和配置
14472 编辑 ...转载 2018-03-29 16:53:28 · 543 阅读 · 0 评论 -
网络编程之listen的那点屁事
写在前面 我们知道在网络编程中,listen接口是用来建立socket监听的,其参数只有两个。我们就listen展开说明。函数原型 int listen(int sockfd, int backlog);函数作用 当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连接的客户套接字。listen函数把一个未连接的套接字转换成一个...原创 2018-06-12 17:33:21 · 409 阅读 · 0 评论 -
几种常见的操作系统调度策略
一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为...转载 2018-07-08 21:41:50 · 7300 阅读 · 0 评论 -
线程进程面试题(1)
**了解哲学家进餐问题。** 哲学家就餐问题是在计算机科学中的一个经典问题,用来演示在并行计算中多线程同步(Synchronization)时产生的问题。在1971年,著名的计算机科学家艾兹格·迪科斯彻提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被托尼·霍尔重新表述为哲学家就餐问题。这个问题可以用来解释死锁和资源耗尽。**进程状态转换图**1)运行:当...原创 2018-07-08 21:45:00 · 1129 阅读 · 0 评论 -
与http服务器的爱恨
Linux网络编程的步骤1、创建套接字int socket(int domain, int type, int protocol)//作用:创建一个套接字//参数:// domain : 指定通讯协议族,常用的有 :// AF_INET(IPv4通讯)// AF_INET6(IPv6通讯)// AF_LOCAL(本地通讯)// type : 常用的有 ://...原创 2018-07-03 17:07:03 · 131 阅读 · 0 评论 -
Ubuntu防火墙的开启,关闭,端口的打开,查看
1.防火墙的打开sudo ufw enable2.防火墙的重启sudo ufw reload3.打开想要的端口(以9000为例)ufw allow 90004.查看本机端口使用情况ufw status原创 2018-07-04 09:41:58 · 67444 阅读 · 0 评论 -
进程与线程的简单理解
这部分有参考网上的记忆方法,记下来用以复习;一。进程(process)和线程(thread)进程(process)和线程(thread)是操作系统中的基本概念,但是比较抽象,不容易记忆和理解,接下来就一类比的的方式来阐述这些概念,以便于简单易懂。计算机的核心是CPU,它主要工作是计算,时刻在运行,就像一座工厂。在工厂中假设只有一个车间,车间就好比CPU,故单个CPU一次只能执行一个任务。进程就好比...原创 2018-03-13 21:16:29 · 130 阅读 · 0 评论 -
creat系统调用
用处creat函数用来创建一个新的文件函数原型#include<fcntl.h>#include<sys/types.h>#include<sys/stat.h>int creat(const char* pachname,mode_tmode);成功返回为只写打开的文件描述符:失败返回-1文件(文件描述符永远是一个非负整数)。缺点它以只写的方式打开创建的文件,在open函数新版本之前,如果要创原创 2018-03-13 18:16:41 · 1559 阅读 · 0 评论 -
vim的简单配置
vim是从 vi 发展出来的一个文本编辑器。功能丰富,在程序员中被广泛使用,而且可以根据自己需要对其进行配置,下面我们来介绍一些vim的基本配置。 首先将你的Linux切换到超级用户,输入命令 su,输入密码再回车切换到root用户,cd进入当前用户主工作目录,输入vim .vimrc进行vim配置. 以下配置命令选择性加入,不会了可以问百度。建议每一个都自己搞搞来源于百度,当一次备份,功能很原创 2017-11-21 16:32:39 · 346 阅读 · 0 评论 -
gcc编译选项
gcc编译选项2017-09-13 11:55 193人阅读 评论(0)收藏举报分类: Makefile(13) 作者同类文章X目录(?)[+]GCC编译器常用选项高级选项语言标准出错提示优化选项自定义扩展名静态库的创建和使用动态库的创建和使用GCC常用选项3 其他GCC选项转载 2017-12-01 17:22:18 · 399 阅读 · 0 评论 -
makefile初识
Makefile经典教程(掌握这些足够)转载 2012年07月31日 15:28:42标签: makefile/ 编译器/ unix/ include/ shell/ 432908 编辑删除该篇文章为转载,是对原作者系列文章的总汇加上标注。支持原创,请移步陈浩大神博客:http://blog.csdn.net/ha转载 2017-12-01 19:10:53 · 818 阅读 · 0 评论 -
僵尸进程, 孤儿进程
僵尸进程一,定义 当进程退出并且父进程(使用wait()系统调用)没有读取到子进程退出的返回代码时就会产生僵尸进程。僵尸进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。 简单来说就是,在父进程中有一个子进程,该子进程完成父进程交给的任务,子进程完成后会给父进程一个任务结果返回,但父进程一直没有理会。使得子进程很尴尬的挂着,不能释放,一直等父进程查看结果,而原创 2018-01-04 13:37:22 · 278 阅读 · 0 评论 -
fork()函数的简单实践
在Linux 中,创建一个新进程的唯一方法是有某个已存在的进程调用fork()函数,被创建的新进程称为子进程,已存在的进程称为父进程. 1.fork()函数 fork()函数的实质是一个系统调用(和write函数类似),其作用是创建一个新的进程,当一个进程调用它,完成后就出现两个几乎一模一样的进程,其中由fork()创建的新进程被称为子进程,而原来的进程称为父进程.子进程是父进程的一个拷贝,即...原创 2018-03-11 12:33:41 · 212 阅读 · 0 评论 -
cgdb的安装与命令大全
官网:http://cgdb.github.io/安装# wget http://cgdb.me/files/cgdb-0.6.7.tar.gz# tar -zvxf cgdb-0.6.7.tar.gz# cd cgdb-0.6.7# ./configure --prefix=/usr/local# make && make install 使用1:cgdb分为上下两栏,上面...原创 2018-03-17 18:48:18 · 4369 阅读 · 0 评论 -
liunx 命令速查
arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 c...原创 2018-03-12 14:29:57 · 166 阅读 · 0 评论 -
有名管道通信
有名管道通信: 又名fifo文件。学前知识储备 对系统函数open ,read,write会用,有一定的了解。FIFO文件的特性(结合普通文件对比)@1:读取FIFO文件的进程只能以"O_RDONLY"方式打开FIFO文件@2:写FIFO文件的进程只能以“O_WRONLY”f方式打开FIFO文件@3:FIFO文件里面的内容被读取后就消失了,而普通文件的不会函数原型:#include&l...原创 2018-03-22 15:02:54 · 1417 阅读 · 0 评论 -
write系统调用
函数原型:#include<unistd.h>size_t write(int filedes,const char* buf,size_t nbytes);系统调用write的作用是把缓冲区buf里的前nbytes字节写入与文件描述符filedes相关联的文件中去。它的返回值是实际写出的字节数。如果文件面舒服有错误或者底层设备驱动程序对数据块尺寸比较敏感,该返回值就可能小于nbyt...原创 2018-03-12 22:49:38 · 3432 阅读 · 0 评论 -
Linux进程间通信(一)匿名管道方式
pipe管道什么是进程通信进程通信就是两个进程之间进行数据交换,在Linux中有好几种可以进行进程通信的方式,在这篇文章中我们主要介绍最基本的进程通信方式——pipe管道。 进程通信的途径进程之间交换信息的唯一途径就是传送打开的文件。管道(pipe)管道是一种最古老也是最基本的系统IPC形式,所有的Linux系统都提供此种通信机制。但是管道有以下两个局限性:它是半双工的,即数据一个管道上的数据只能原创 2018-03-19 14:49:51 · 276 阅读 · 0 评论 -
常见网络知识面试题
# **常见网络知识面试题** **1. TCP如何建立链接** 建立连接(三次握手)的过程:1.客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的段1。客户端发出段1,SYN位表示连接请求。序号是1000,这个序号在网络通讯中用作临时的地址,每发一个数据字节,这个序号要加1,这样在接收端可以根据序号排出数据包的正确顺序,也可以发现丢包的情况,另外,规定SYN位和FI...原创 2018-07-23 15:25:04 · 2339 阅读 · 0 评论