
linux
文章平均质量分 80
一笑释青春
学无止境,怎能止步
展开
-
一、Linux--编程基础
1.GCC基本用法:gcc [options][filenames]Options:编译器所需要的编译选项Filenames:要编译的文件名 -o out_filename 定义编译后可执行的文件名,如果没有该选项则会默认产生a.out-c 只编译,不连接成为可执行文件,产生*.o文件-g 产生调试工具(gdb)所需要的必要的符号信息原创 2016-12-03 14:28:24 · 219 阅读 · 0 评论 -
iptables杂谈
一:前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代转载 2016-12-03 09:42:25 · 202 阅读 · 0 评论 -
makefile实例
一个通用Makefile的编写我们在Linux环境下开发程序,少不了要自己编写Makefile,一个稍微大一些的工程下面都会包含很多.c的源文件。如果我们用gcc去一个一个编译每一个源文件的话,效率会低很多,但是如果我们可以写一个Makefile,那么只需要执行一个make就OK了,这样大大提高了开发效率。但是Makefile的语法规则众多,而且缺乏参考资料,对于初学者来说,写起来还是有一转载 2017-04-24 10:07:29 · 347 阅读 · 0 评论 -
Linux简单的目录结构
1.Linux 简单目录结构图:/: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot: 放转载 2017-06-12 23:03:28 · 386 阅读 · 0 评论 -
set
set命令作用 主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式。set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可。 语法 set(选项)(参数) 选项 -a:标示已修改的变量,以供输出至环境变转载 2017-05-24 11:05:53 · 242 阅读 · 0 评论 -
eval
eval 执行以下两个步骤第一次,执行变量替换(若是普通命令则直接执行)第二次,执行替换后的命令串eg:cmd=echo fun=funceval "$cmd $fun"#:func原创 2017-05-23 16:27:20 · 252 阅读 · 0 评论 -
修改目录文件权限/所属用户/用户组
修改目录文件权限:chmod 777 /ftp 改变ftp目录的权限为chmod -R 777 /ftp 改变ftp目录及子目录修改文件所属用户和用户组drwxr-xr-x 4 gamer ftp 4096 Mar 7 16:56 gstoredrwxrwxrwx 10 root ftp 4096 Dec 16 01:3转载 2017-04-20 21:25:07 · 11729 阅读 · 0 评论 -
awk
awk转载 2017-03-30 10:42:40 · 202 阅读 · 0 评论 -
find
find path -option [ -print ] [ -exec -ok command ] {} \; path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式转载 2016-12-08 01:00:22 · 255 阅读 · 0 评论 -
压缩/解压缩命令
1. zipzip -r a.zip ./* #将当前目录下的所有文件和文件夹全部压缩成a.zip文件,-r表示递归压缩子目录下所有文件.2.unzipunzip -o -d /home/sunny myfile.zip#把myfile.zip文件解压到 /home/sunny/-o: 不提示的情况下覆盖文件;-d /home/sunny : 指明将文件转载 2016-12-07 00:19:11 · 308 阅读 · 0 评论 -
C--自定义调试信息
1、fprintf函数原型int fprintf (FILE* stream, const char*format, [argument]);FILE*stream:文件指针 const char* format:输出格式 [argument]:附加参数列表功能:fprintf()函数根据指定的格式(format)向输出流(stream)写入数据2.宏定义#defi原创 2016-12-23 17:08:21 · 328 阅读 · 0 评论 -
算法
1.排序方法1.1 冒泡排序#include void sort(int *a,int len){ int i=0; int j; int t; for(i=0;i { for(j=0;j { if(a[j]>a[j+1])原创 2016-12-03 14:44:37 · 270 阅读 · 0 评论 -
C--字符串操作函数
1.函数名: strcpy 功 能: 拷贝一个字符串到另一个字符串 2.函数名: strcat 功 能: 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')3.函数名: strchr 功 能: 在一个串中查找给定字符的第一个匹配之处\ 4.函数名: strcmp 功 能: 串比较 5.函数名: str转载 2016-12-03 14:43:05 · 1150 阅读 · 0 评论 -
二、Linux--文件I/O、文件和目录
文件描述符本质上非负整数1.open头文件:#include#include#include定义函数:Int open(const char *pathname, int flags);Int open(const char *pathname, int flags, mode_t mode);函数说明:原创 2016-12-03 14:29:39 · 328 阅读 · 0 评论 -
三、Linux--进程
1 fork()头文件#include/*#包含*/#include/*#包含*/函数原型pid_t fork( void);(pid_t 是一个宏定义,其实质是int 被定义在#include中)返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1函数说明 一个现有进程可以调用原创 2016-12-03 14:31:16 · 205 阅读 · 0 评论 -
四、Linux--管道
1无名管道pipo()#includeint pipe(int filedes[2]); 返回值:成功,返回0,否则返回-1。参数数组包含pipe使用的两个文件的描述符。fd[0]:读管道,fd[1]:写管道。功能:创建一个无名管道必须在fork()前调用pipe(),否则子进程不会继承文件描述符。两个进程不共享祖先进程,就不能使用pipe。原创 2016-12-03 14:32:29 · 267 阅读 · 0 评论 -
五、Linux--信号量
1 semget()查看系统当前的信号量:利用ipcs命令显示semaphore arrays ipcrm -s semid 删除“semid”头文件:#include #include #include 函数原型:int semget(key_t key, int nsems, int semflg);功能描述原创 2016-12-03 14:33:31 · 384 阅读 · 0 评论 -
六、Linux--共享存储
1 shmget()#include #include int shmget(key_t key, size_t size, int shmflg) 功能:得到一个共享内存标识符或创建一个共享内存对象并返回共享内存标识符参数key0(IPC_PRIVATE):会建立新共享内存对象//一般应用于父进程和子进程之间大于0原创 2016-12-03 14:34:12 · 517 阅读 · 0 评论 -
七、Linux--共享内存
1 pthread_create()#includeint pthread_create(pthread_t *tidp, const pthread_attr_t *attr,(void*) (*start_rtn)(void*), void *arg );编译链接参数-pthread返回值若线程创建成功,则返回0。原创 2016-12-03 14:35:04 · 244 阅读 · 0 评论 -
八、Linux--高级IO
1.Poll函数的声明:#include int poll(struct pollfd fds[], nfds_t nfds, int timeout);参数说明:fds:是一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符;每当调用这个函数之后,系统不会清空这个数组,操作起来比较方便;特别是对于socket连接原创 2016-12-03 14:35:50 · 192 阅读 · 0 评论 -
C笔记
一、注意问题1、static1)定义在全局变量前,则其他 *.c不能调用该全局变量2)定义在函数前面,则其它*.c不能调用该函数3)定义在局部变量前面,则无论该函数被调用多少次,该局部变量只初始化一次,之后只会保持上一次被调用的值不变。2.局部变量的地址不能被返回3.定义指针在使用前必须要有所指向,即先赋值4.所有指针变量都只占4个字节(原创 2016-12-03 14:39:00 · 245 阅读 · 0 评论 -
C--文件操作
1.FILE * fopen(const char * path,const char * mode);返回值:打开成功返回文件指针,打开失败返回NULLPath:要打开文件的地址Mode:打开模式{r 以只读方式打开文件,该文件必须存在。r+ 以可读写方式打开文件,该文件必须存在。rb+ 读写打开一个二进制文件,允许读写数据,文件必原创 2016-12-03 14:41:30 · 373 阅读 · 0 评论 -
cut 杂谈
cut是以每一行为一个处理对象的,这种机制和sed是一样的。cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?答: cut命令主要是接受三个定位方法: 第一,字节(bytes),用选项-b 第二,字符(characters),用选项-c 第三,域(fields),用选项-f一、-b 1 以“字节”定位,转载 2016-12-03 09:39:14 · 240 阅读 · 0 评论