随笔分类 -  linux

摘要:#include #include #include #include #include #include #include #define ERR_EXIT( m ) \ do \ { \ perror( m ); \ exit( EXIT_FAILURE ); \ ... 阅读全文
posted @ 2019-06-06 14:41 ghostwu 阅读(439) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include #define ERR_EXIT( m ) \ do \ { \ perror( m ); \ exit( EXIT_FAILURE ); \ }while( 0 ) //设置某个文件状态 void s... 阅读全文
posted @ 2019-06-06 14:04 ghostwu 阅读(541) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include #include #include #define ERR_EXIT( m ) \ do\ { \ perror( m ); \ exit( EXIT_FAILURE ); \ }while( 0 )... 阅读全文
posted @ 2019-06-06 09:49 ghostwu 阅读(500) 评论(0) 推荐(0) 编辑
摘要:1,file命令作用,查看文件的类型 2,chown: 改变文件或者目录的用户和用户组 用法:chown [option] [owner]:[group] [file] 注意: >:可以用.代替 >用户和组要真实存在 常用参数: -R,递归修改目录的用户和用户组 把两个字符的 以.html结尾的文件 阅读全文
posted @ 2018-05-08 23:05 ghostwu 阅读(722) 评论(0) 推荐(0) 编辑
摘要:ls命令 作用:列举目录文件信息( list directory content ) 格式:ls [option] [file] 1,命令不跟任何选项与目录,表示列举当前目录的文件信息 2,ls -l 使用长格式列举文件和目录信息 3,-a 列出所有文件,包括隐藏文件,在linux下,用'.'开头的 阅读全文
posted @ 2018-05-01 18:14 ghostwu 阅读(3244) 评论(0) 推荐(0) 编辑
摘要:在linux中,用fork来创建一个子进程,该函数有如下特点: 1)执行一次,返回2次,它在父进程中的返回值是子进程的 PID,在子进程中的返回值是 0。子进程想要获得父进程的 PID 需要调用 getppid 函数。 2)生成的子进程会复制父进程一样的代码和数据 3)父子进程的全局变量和局部变量, 阅读全文
posted @ 2018-01-12 21:11 ghostwu 阅读(413) 评论(0) 推荐(0) 编辑
摘要:truncate的使用非常简单: int truncate(const char *path, off_t length); 参数1:文件名 参数2: 文件需要被调整的大小 length 大于 文件大小, 文件后面会填充空白字节或者空洞 length 小于 文件大小, 文件多出的部分,会被舍弃 源代 阅读全文
posted @ 2018-01-11 16:44 ghostwu 阅读(4711) 评论(0) 推荐(0) 编辑
摘要:所谓原子性操作指的是:内核保证某系统调用中的所有步骤(操作)作为独立操作而一次性加以执行,其间不会被其他进程或线程所中断。 举个通俗点的例子:你和女朋友OOXX的时候,突然来了个电话,势必会打断你们高潮的兴致,最好的办法就是,你们做这事的时候,把通讯设备关机,就能确保,这次的事情很圆满的完成,这就是 阅读全文
posted @ 2018-01-11 12:42 ghostwu 阅读(1849) 评论(0) 推荐(0) 编辑
摘要:这个实例根据命令行参数进行相应的读学操作: 用法: file参数:文件名, 如果不存在会自动创建 r<length>: 如r5, r: 读取操作,表示在当前文件指针后面读取5个字节的内容,以文本形式输出. R<length>:如R5 R:读取操作,表示在当前文件指针后面读取5个字节的内容,以十六进制 阅读全文
posted @ 2018-01-10 22:29 ghostwu 阅读(988) 评论(0) 推荐(0) 编辑
摘要:之前,这篇文章:linux系统编程:自己动手写一个cp命令 已经实现过一个版本。 这里再来一个版本,涉及知识点: linux系统编程:open常用参数详解 Linux系统编程:简单文件IO操作 1 /* 2 * Copyright (C) 2018 . All rights reserved. 3 阅读全文
posted @ 2018-01-10 17:20 ghostwu 阅读(568) 评论(0) 推荐(0) 编辑
摘要:open用于打开一个文件,通过设置不同的flag,可以让进程只读,只写,可读/可写等操作 一、对一个不存在或者存在的文件(test.txt),进行写入操作 1 /* 2 * Copyright (C) 2018 . All rights reserved. 3 * 4 * 文件名称:cp.c 5 * 阅读全文
posted @ 2018-01-10 16:57 ghostwu 阅读(3661) 评论(0) 推荐(0) 编辑
摘要:我的环境是ubuntu16.04 glibc官网:http://www.gnu.org/software/libc/libc.html 方法一、一般来说,涉及到库调用的程序,在链接时候都会链接到glibc,所以,可以用ldd命令来查看 这个就是我的电脑上glibc的路径:/lib/x86_64-li 阅读全文
posted @ 2018-01-10 15:17 ghostwu 阅读(3155) 评论(0) 推荐(0) 编辑
摘要:pwd命令:打印当前的工作目录 我们都知道每个目录下面都有两个特殊的目录( . 和 .. ), .: 当前目录, ..: 上层目录, 每个目录都有一个i节点与之相关联 通过ls -i就可以显示每个文件和目录的inode值,比如下面我用ls -ia显示所有文件的inode 1,当工作在basic目录下 阅读全文
posted @ 2018-01-10 11:00 ghostwu 阅读(670) 评论(0) 推荐(0) 编辑
摘要:ls用于列举目录内容,要实现这个功能,毫无疑问,需要读取目录,涉及到两个api: opendir:DIR *opendir(const char *name), 传文件名,返回一个指针,指向目录序列 readdir:struct dirent *readdir(DIR *dirp), 把opendi 阅读全文
posted @ 2018-01-09 20:54 ghostwu 阅读(4529) 评论(0) 推荐(0) 编辑
摘要:cp命令的基本用法: cp 源文件 目标文件 如果目标文件不存在 就创建, 如果存在就覆盖 实现一个cp命令其实就是读写文件的操作: 对于源文件: 把内容全部读取到缓存中,用到的函数read 对于目标文件: 把缓存中的内容全部写入到目标文件,用到的函数creat 1 /* 2 * Copyright 阅读全文
posted @ 2018-01-08 19:05 ghostwu 阅读(1813) 评论(0) 推荐(0) 编辑
摘要:who命令的作用用于显示当前有哪些用户登录到系统。 这个命令执行的原理是读取了系统上utmp文件中记录的所有登录信息,直接显示出来的 utmp文件在哪里呢? man who的时候,在手册下面有这么一段说明:意思就是不指定文件参数,那么读取的就是/var/run/utmp,到底是不是,验证下 当我指定 阅读全文
posted @ 2018-01-08 16:52 ghostwu 阅读(1881) 评论(1) 推荐(1) 编辑
摘要:什么是socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。其实socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操 阅读全文
posted @ 2018-01-08 12:05 ghostwu 阅读(10088) 评论(0) 推荐(1) 编辑
摘要:字节序:就是数据在内存中的存放顺序,也可称之为端模式。 大端模式和小端模式的定义 1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。 3) 网络字节序:TCP/I 阅读全文
posted @ 2018-01-08 09:45 ghostwu 阅读(1879) 评论(0) 推荐(0) 编辑
摘要:这个技巧来自于我的实际开发碰到的: inet_addr这个函数用于把ip地址转成网络字节序,他的原型:in_addr_t inet_addr(const char *cp); 返回值为一个in_addr_t的类型,很显然这不是一个c语言的标准数据类型,想搞清楚他到底是什么类型,肯定要找到头文件,在l 阅读全文
posted @ 2018-01-07 22:17 ghostwu 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:一个用c语言写的程序把他编译成计算机可执行的文件,一般有4个步骤 1,预处理:这个步骤,主要是包含头文件,展开宏定义 gcc -E helloworld.c -o helloworld.i 2,生成汇编代码 gcc -S helloworld.i -o helloworld.s 3,编译汇编 gcc 阅读全文
posted @ 2018-01-06 12:19 ghostwu 阅读(2069) 评论(0) 推荐(0) 编辑

Copyright ©2017 ghostwu
点击右上角即可分享
微信分享提示