linux 学习笔记
lifelikes
这个作者很懒,什么都没留下…
展开
-
使用g++编译.c 文件时,报错 sorry, unimplemented: non-trivial designated initializers not supported
因为黑心老板要我写的工程需要实现一个功能,而我只在网上找到了c++的开源库。为了使用这个库,必须使用g++编译。 而我原来是用c写的。因为c的结构体初始化很方便。问题具体介绍:https://www.cnblogs.com/rohens-hbg/p/11357603.htmlc++是不支持乱序初始化的,想要在声明的时候初始化就必须按结构体里的顺序依次初始化。解决方法也很简单,不能在声明...原创 2019-10-23 10:17:01 · 3875 阅读 · 0 评论 -
编译执行make,提示undefined reference to `XXXXXXXXXXXXXX'
根据以往的经验,一开始就觉得是没找到动态链接库的原因, 只要在gcc命令后添加pkg-config fuse3 zlib --cflags --libs 就可以了。但我是真的蠢,加错地方了,结果从下午3点折腾到晚上8点。 我太难了。正确: 错误:...原创 2019-10-23 10:11:01 · 1333 阅读 · 0 评论 -
vim和gedit写入操作
被无良老师狠狠压榨的写文件系统中,发现了一些以前不会注意过的东西,这里记下来。gedit的保存操作是 新建一个文件,把内容写入这个文件,再将这个文件覆盖掉原文件。vim 是 打开文件的时候会生成一个~临时文件,写回操作时,先将临时文件删除,再按照原地址写回一次。巧了,我写的文件系统对这俩都有bug。...原创 2019-10-19 23:33:46 · 405 阅读 · 0 评论 -
inode和super_block 初步理解 学习笔记
参考资料:https://zhuanlan.zhihu.com/p/79727391Inode,super_block 再探:Inode整体上被分为两种,存在于内存中的inode和存在于磁盘中的inode 内存中的inode 通常是vfs inode VFS inode包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。它是linux管理文件系统的最基本单位,也是文件系...原创 2019-10-14 19:39:42 · 328 阅读 · 0 评论 -
linux文件系统学习笔记 ----- dentry inode 文件的读写过程代码分析
复习dentry相关内容文件目录是一个树形的结构,为了保存这个树形结构 ,需要有一个合理的数据结构。这个数据结构就是dentry,dentry是一个纯粹的内存结构,由文件系统在提供文件访问的过程中在内存中直接建立其中对于文件夹 d_subdirs 存放了其子文件,与给定目录下的所 有文件和子目录相关联的dentry实例,都归入到d_subdirs链表(在目录对应的dentry实例中)。子 ...原创 2019-10-14 14:44:00 · 432 阅读 · 0 评论 -
以模块的方式在内核中注册文件系统的大致代码过程介绍
先放参考代码: myfs.c来自于 https://github.com/ljrkernel/linuxmooc# include <linux/module.h># include <linux/fs.h># include <linux/dcache.h># include <linux/pagemap.h># include <...原创 2019-10-12 16:47:34 · 671 阅读 · 0 评论 -
在ubuntu上使用BusyBox和qemu搭建linux内核调试环境的具体步骤
完成任务: 熟悉了解了如何进行linux内核的调试。基本方法: 使用qemu创建虚拟机,进行调试。所遇问题busybox 出现问题 make install 没有出现_install 文件夹 而是在上级目录生成了install文件夹里会生成的东西。 用这些文件构建的虚拟磁盘无法正常启动虚拟机。 显示无法找到init文件。重新下载busybox后问题得到解决linux内核文件一开...原创 2019-09-29 17:50:09 · 671 阅读 · 0 评论 -
TSL1.3 学习笔记(1)
最初的握手 (EC)DHE handshake客户端会首先向服务器发送 一些加密参数,包括 用于建立会话的秘钥(随机数)新生成的Diffie - Hellman(DH)的keyshares(关键部分?)以及相关联的信息集合。(ClientKeyShare)服务器回复其选择的加密参数,包括 服务器随机数,客户端选择的group (共同组成ServerHello) 还会发送自己生成的DH的key...原创 2019-03-28 22:02:59 · 588 阅读 · 0 评论 -
学习笔记
关于系统用户的创建 useradd 和adduser是有区别。useradd不会创建家目录。adduser更像是人机对话,会一步步引导用户完成新用户的创建ACL (访问控制表)setfacl 可以设置该文件的权限 getfacl 可以读取该文件的权限信息getfacl 读取的文件格式 有一行 mask权限所有文件的权限一定是mask权限的子集。关于用户的切换切换成root 时...原创 2019-03-23 14:21:32 · 160 阅读 · 0 评论 -
linux 学习笔记 Day3
了解了 Shell 是提供用户操作系统的一个接口 ,然后关于shell的内容就再也看不懂了。先战略性放弃。wget [ URL ] 命令 下载文件正规表示法:grep -n ‘the’ regular_express.txt查找 文件 regular_express.txt 中的 the 并打印行号(-n)grep -vn ‘the’ regular_expres...原创 2019-03-18 20:09:27 · 97 阅读 · 0 评论 -
linux学习笔记 day1
linux命令 大小写敏感。Tab 键 按一次是补全命令 按两次是显示所有以 已经书写的字符串为前缀的命令。ctrl + c 停止当前程序ctrl + d 相当于exitman 命令 和 --help 作用差不多linux下 文件权限很重要 使用 ls -al 命令 可以查看所有文件的权限开放情况 如 drwxr-xr-x 4 root ...原创 2019-03-17 14:05:35 · 133 阅读 · 0 评论 -
linux用户权限文件格式初步了解
PS: 感觉自己看的还是太粗了,很多东西都没看太懂。linux下 每个用户都有两个ID 用于识别其身份 和权限 分别为 用户 ID 和 组群ID在 etc/passwd 文件下 存有linux的所有账号信息 格式如下daemon : x:1: 1: daemon: /usr/sbin: /usr/sbin/nologin用户名 早期的密码字段 UID ...原创 2019-03-20 18:58:30 · 127 阅读 · 0 评论 -
day4
ps:vim真难用1.shell scriptshell脚本语言跟直接在命令行里打命令效果差不多。脚本文件后缀为.sh可以使用sh 命令或者source命令执行脚本 两者的区别在于 sh命令执行完后,所有变量会被清除而source不会2. test命令用于检测文件的相关属性 如是否存在等。 用处很大,也很方便。3. [ ](中括号)用于算数比较如 if[条件判断]; then...原创 2019-03-19 15:52:46 · 76 阅读 · 0 评论