linux之文件操作

1.文件操作思维导图2.linux系统目录结构及简单说明linux目录图:root启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home存储普通用户的个人文件

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1. 文件操作思维导图

linux之文件操作

2. linux系统目录结构及简单说明

 linux目录图:

linux之文件操作

  • root — 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。
  • home — 存储普通用户的个人文件
  • ftp — 用户所有服务
  • httpd
  • samba
  • user1
  • user2
  • bin — 系统启动时需要的执行文件(二进制)
  • sbin — 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
  • proc — 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息
  • 1 — 进程编号
  • usr — 用户目录,存放用户级的文件
  • bin — 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin
  • sbin — 系统管理员命令,与用户相关,例如,大部分服务器程序
  • include —  存放C/C++头文件的目录
  • lib — 固定的程序数据
  • local — 本地安装软件保存位置
  • man — 手工生成的目录
  • info — 信息文档
  • doc — 不同包文档信息
  • tmp
  • X11R6 —  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
  • X386 — 功能同X11R6,X11 发行版5 的系统文件
  • boot — 引导加载器所需文件,系统所需图片保存于此
  • lib — 根文件系统目录下程序和核心模块的公共库
  • modules — 可加载模块,系统崩溃后重启所需模块
  • dev — 设备文件目录
  • etc — 配置文件
  • skel — home目录建立,该目录初始化
  • sysconfig — 网络,时间,键盘等配置目录
  • var
  • file
  • lib — 该目录下的文件在系统运行时,会改变
  • local — 安装在/usr/local的程序数据,变化的
  • lock — 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问
  • log — 记录日志
  • run — 系统运行合法信息
  • spool — 打印机、邮件、代理服务器等假脱机目录
  • tmp
  • catman — 缓存目录
  • mnt — 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
  • tmp — 临时文件目录,系统启动后的临时文件存放在/var/tmp
  • lost+found — 在文件系统修复时恢复的文件
 
/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
注:/etc/X11存放与x windows有关的设置。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能”查看”而不能设置和使用。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

3. 其它补充说明

1. open函数oflags参数列表

  (1) O_RDONLY
  (2) O_WRONLY
  (3) O_RDWR
  (4) O_APPEND // 追加
  (5) O_TRUNC // 把文件长度设为0,丢弃已有的内容
  (6) O_CREAT
  (7) O_EXCL // 与O_CREAT一起使用,确保调用者创建文件
         // 主要防止两个程序同时创建同一个文件,如果文件已存在,调用失败

2. open函数的mode参数

  // 当使用O_CREATE标志的open调用来创建文件时,必须使用有3个参数格式的open调用
  S_IRUSE S_IWUSE S_IXUSE
  S_IRGRP S_IWGRP S_IXGRP
  S_IROTH S_IWOTH S_IXOTH
  open(“myfile”, O_CREAT, S_IRUSE|S_IWUSE)

3.TIMEFORMAT

  linux使用TIMEFORMAT变量来重置默认的POSIX时间输出格式,POSIX时间格式不包括CPU使用率。使用time工具对这个程序的运行时间进行测算

4. off_t lseek(int filds, off_t offset, int whence)

  whence取值如下:
  SEEK_SET // 绝对位置
  SEEK_CUR // 相对于当前位置的相对位置
  SEEK_END // 相对于文件尾的相对位置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120116.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cordova declare styleable 错误「建议收藏」

    cordova declare styleable 错误「建议收藏」出现ERROR:InFontFamilyFont,unabletofindattribute可以使用cordovapluginaddcordova-plugin-file-opener2cordova-android-support-gradle-release命令安装支持现在版本的插件解决问题

    2022年7月13日
    20
  • 吞噬星空是鸿蒙三部曲吗,星辰变吞噬星空盘龙三部有什么关系

    吞噬星空是鸿蒙三部曲吗,星辰变吞噬星空盘龙三部有什么关系三部小说之间的关系就说这三部小说都属于鸿蒙三部曲,其中的各个宇宙之间都有一定的联系。《星辰变》是在红袖网上连载的奇幻修真小说,作者是我吃西红柿。小说以一个庞大的修真世界为背景,讲述了主角秦羽不甘于没落、努力修炼跨越先天不足的劣势,一步步踏上强者之路,最终成为鸿蒙掌控者的故事。《吞噬星空》,是一部东方科幻类型的网络小说,小说签约授权首发连载于红袖网。小说已经完本,作者是我吃西红柿。小说主要讲述了地球…

    2022年6月16日
    121
  • 关系模式的函数依赖

    关系模式的函数依赖

    2021年9月14日
    76
  • 简单的有监督学习实例——简单线性回归[通俗易懂]

    简单的有监督学习实例——简单线性回归[通俗易懂]sklearn.linear_model.LinearRegression线性回归https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html首先,要创建一组数据,随机选取一组x数据,然后计算出它在2x-1这条线附近对应的数据,画出其散点图:#演示简单的线性回归i…

    2022年5月28日
    49
  • 什么是ef core_vector嵌套vector

    什么是ef core_vector嵌套vectorEFcore相比EF6,对于DDD的支持更好。比如私有字段的映射,私有数组多对多的映射等等。 EFcore有几个坑需要注意:1.多对多的关系,因为只支持HasOne和Withmany,不支持HasMany。因此必须手动建立多对多的关系表的entity定义类,samplecode如下:classMyContext:DbContext{    pub…

    2025年6月11日
    3
  • Ztree简介

    Ztree简介介绍 zTree 是利用 JQuery 的核心代码 实现一套能完成大部分常用功能的 Tree 插件 兼容 IE FireFox Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成和 Ajax 异步加载两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动 编辑 删除 支持任意更换皮肤 个性化图

    2025年11月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号