博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2023年3月17日

摘要: inode结构图 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(6) 评论(0) 推荐(0) 编辑

摘要: fcntl详解 int fcntl(int fd, int cmd, ... /* arg */ ); fcntl获取flag void test() { // 获取文件flags标志 int flags = fcntl(fd, F_GETFL); if(flags == -1) { perror( 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(12) 评论(0) 推荐(0) 编辑

摘要: 查看函数定义 光标放在函数上,按shift+k,即可跳到函数man手册 插入 A:由命令行模式进入编辑模式,在当前行尾插入 I:由命令行模式进入编辑模式,在当前行首插入 o:由命令行模式进入编辑模式,在当前行下行位置插入 O:由命令行模式进入编辑模式,在当前行上行位置插入 cc:删除当前行,并由命令 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(17) 评论(0) 推荐(0) 编辑

摘要: 保存 q:退出 q!:强制退出,不保存修改内容 w:保存 wq:保存退出 x:保存退出 ZZ:快速保存退出 搜索替换 :s/old/new/ # 光标所在行的第一个old替换成new :s/old/new/g # 光标所在行的所有old替换成new :m,ns/old/new/ # 第m行至第n行中 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(116) 评论(0) 推荐(0) 编辑

摘要: 可视化分类 ctrl+v // 进入可视化块模式 v // 进入可视化普通模式 V // 进入可视化行模式 可视化的操作 在每行行首插入字符#,方法一 光标移至行首,ctrl+v,然后选中想要插入#的所有行的首列字符 按shift+i,然后输入#,按Esc键即可 在每行末尾插入后缀,方法二 可视化选 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(192) 评论(0) 推荐(0) 编辑

摘要: 进程与程序 1. // 程序:二进制文件,占用磁盘空间 2. // 进程:启动的文件,所有的数据在内存中,需占用更多的系统资源(CPU,物理内存) 进程与并发 1. // 并发: fork 1. // fork函数返回值:>0,为父进程,返回子进程pid,==0,为子进程 2. // getpid: 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(7) 评论(0) 推荐(0) 编辑

摘要: exec话函数概念 1. 功能: 1. // 能让父子进程实现不相干的操作,实现换核不换壳的功能 2. // 能够替换进程地址空间中源代码.txt段,执行一个另外的程序无需创建额外的地址空间 3. // 在一个运行的程序a,在a中调用另外 一个应用程序b 2. 返回值 1. // 如果函数执行成功, 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(5) 评论(0) 推荐(0) 编辑

摘要: 孤儿进程 1. // 父进程死了,子进程还活着,子进程叫孤儿进程 2. // 孤儿被干爹init进程领养,init进程变成了孤儿进程的父进程 3. // 为什么需要父进程?因为释放子进程占用的资源需要父进程 -. 进程结束之后,能够释放用户区空间 -. 释放不了pcb(在内核空间),必须由父进程释放 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(21) 评论(0) 推荐(0) 编辑

摘要: X 阅读全文

posted @ 2023-03-17 09:54 乔55 阅读(4) 评论(0) 推荐(0) 编辑

摘要: truncate int truncate(const char *path, off_t length); int ftruncate(int fd, off_t length); rename int rename(const char *old, const char *new); // 它是 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(26) 评论(0) 推荐(0) 编辑

摘要: chdir int chdir(const char *path); // 改变文件路径,改变应用程序执行时进程所在的路径 int fchdir(int fd); getcdw char *getcwd(char *buf, size_t size); // 相当于linux命令:pwd char 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(42) 评论(0) 推荐(0) 编辑

摘要: EOF 判断指针是否到了文件末尾 若打开文件的形式是文本文件的话,EOF值为-1就表示到了末尾 若打开文件的形式是二进制文件的话,-1值就可能是内容值,不一定代表到了末尾 ```c char ret = fgetc(fp); // 从文件中读一个字符,然后文件指针会跳一个字节 while(ret ! 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(40) 评论(0) 推荐(0) 编辑

摘要: 阻塞与非阻塞概念 普通文件的默认是非阻塞的 终端设备的默认是阻塞的 管道和套接字的默认是阻塞的 产生阻塞的场景:读设备、读网络 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(16) 评论(0) 推荐(0) 编辑

摘要: 常用命令 strace:可以跟踪一个程序在执行时所用到的系统调用:strace ./mytarget od -tcx f.c:查看文件的16进制代码形式 od -tcd f.c:查看文件的10进制代码形式 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(4) 评论(0) 推荐(0) 编辑

摘要: ## linux命令 ```cpp // 改变文件权限 chmod 666 f.c chmod a+x f.c chmod u+x f.c chmod g+x f.c cmode o+x f.c ``` ## chown详解 ```c int chown(const char *path, uid_ 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(22) 评论(0) 推荐(0) 编辑

摘要: ## 链接函数 ```cpp // 基本概念 - 硬链接:其实是目录项的同义词,且不可以给分区、目录建立硬链接 - 符号链接:可以给跨分区、目录建立符号链接 // link函数 - int link(const char *oldpath, const char *newpath); - 为某文件创 阅读全文

posted @ 2023-03-17 09:53 乔55 阅读(13) 评论(0) 推荐(0) 编辑