首页 > 其他 > 详细

文件管理和IO重定向(一)

时间:2021-01-19 12:25:07      阅读:22      评论:0      收藏:0      [点我收藏+]

文件管理和IO重定向(一)

1、文件系统目录结构

技术分享图片

1.1文件系统的目录结构

  * 文件和目录被组织成一个单根倒置树结构
  * 文件系统从根目录下开始,用 / 表示
  * 跟文件系统(rootfs): root filesystem
  * 标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL,Maill,mail
  * 以.开头的文件为隐藏文件
  * 路径分隔用/
  * 文件最长2255个字节
  * 包括路径在内文件名称最长4095个字节
  * 蓝色-->目录  绿色-->可执行文件  红色-->压缩文件  浅蓝色-->链接文件  灰色-->其他文件
  * 除了斜杠和NUL,所有字符否有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用
  * 每个文件都有两类相关数据:元数据:metadata,即属性,数据:data,即文件内容

Linux的文件系统分层结构:FHS Filesystem Hierarchy Standard

1.2常见的文件系统目录功能

  /boot:引导文件存放曼努鲁,内核文件(vmlinuz)、引导加载器(boot loader,grub)都存放于此目录。
  /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序。
  /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序。
  /lib:启动时程序以来的基本库文件以及内核模块文件(/linb/modules).
  /lib64:专用于x86_64系统上的辅助共享库文件存放位置。
  /etc:配置文件目录
  /home/USERNAME:普通用户家目录。
  /root:管理员的家目录
  /media:便携式移动设备挂载点
  /mnt:临时文件系统挂载点
  /dev:设备文件及特殊文件存储位置
        b:block device,随机访问
        c:character device,线性访问
  /opt:第三方应用程序的安装位置
  /srv:系统上运行的服务用到的数据
  /tmp:临时文件存储位置
  /usr:universal shared,read-only data
        bin:保证系统拥有完整功能而提供的应用程序
        sbin:
        lib:32位使用
        lib64:只存在64位系统
        include:C程序的头文件(header files)
        share:结构化独立的数据,例如doc,man
              local:第三方应用程序的安装位置
                    bin,sbin,lib,lib64,etc,share
  /var:variable data files
        cache:应用程序缓存数据目录
        lib:应用程序状态信息数据
        local:专用于为/usr/local下的应用程序存储可变数据
        lock:锁文件
        log:日志目录文件
        opt:专用于为/opt下的应用程序存储可变数据
        run:运行中的进程相关数据,通常用于存储进程pid文件
        spool:应用程序数据池
        tmp:保存系统两次重启之间产生的临时数据
  /proc:用于输出内核与进程信息相关的虚拟文件系统
  /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
  /selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置

1.3应用程序的组成部分

二进制序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
  库文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
  配置文件:/etc,/etc/DIRECTORY,/usr/local/etc
  帮助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc

1.4CentOS 7以后版本目录结构变化

  /bin和//usr/bin
  /sbin和/usr/sbin
  /lib和/usr/lib
  /lib64和/usr/lib64

eg:

  [root@centos8 ~]# ll -d /bin/ /sbin/ /lib /lib64/ 
  dr-xr-xr-x.  2 root root 40960 Jan 13 08:57 /bin/
  lrwxrwxrwx   1 root root     7 Nov  3 23:22 /lib -> usr/lib
  dr-xr-xr-x. 57 root root 40960 Jan 13 08:57 /lib64/
  dr-xr-xr-x.  2 root root 16384 Dec 24 11:00 /sbin/

  [root@centos6 ~]#ls /bin /sbin /lib /lib64 -ld
  dr-xr-xr-x.  2 root root  4096 Mar 20 09:14 /bin
  dr-xr-xr-x. 11 root root  4096 Dec 12  2018 /lib
  dr-xr-xr-x.  9 root root 12288 Mar 20 09:13 /lib64
  dr-xr-xr-x.  2 root root 12288 Mar 20 09:14 /sbin
  
  root@Ubuntu1804:~# ll /bin /usr/bin -d
  drwxr-xr-x 2 root root  4096 Nov 13 23:10 /bin/
  drwxr-xr-x 2 root root 20480 Jan 13 16:27 /usr/bin/

1.5Linux下的文件类型

  - 普通文件
  d 目录文件directory
  b 块设备文件
  c 字符设备character
  I 符号链接文件link
  p 管道文件pipe
  s 套接字文件socket

eg:

  [root@centos7 ~]# ll /run/
  total 28
  -rw-r--r--  1 root   root      4 Jan 17 05:49 auditd.pid
  drwxr-x---  2 chrony chrony   80 Jan 18 05:36 chrony
  drwxr-xr-x  2 root   root     40 Jan 17 05:49 console
  drwx--x--x  5 root   root    140 Jan 17 06:52 containerd
  -rw-r--r--  1 root   root      4 Jan 17 05:49 crond.pid
  ----------  1 root   root      0 Jan 17 05:49 cron.reboot
  drwx------  2 root   root     40 Jan 17 05:49 cryptsetup
  drwxr-xr-x  2 root   root     60 Jan 17 05:49 dbus
  prw-------  1 root   root      0 Jan 17 05:49 dmeventd-client
  prw-------  1 root   root      0 Jan 17 05:49 dmeventd-server
  drwx------  8 root   root    180 Jan 17 06:52 docker
  -rw-r--r--  1 root   root      4 Jan 17 05:49 docker.pid
  srw-rw----  1 root   docker    0 Jan 17 05:49 docker.sock
  -rw-------  1 root   root      0 Jan 17 05:49 ebtables.lock

文件管理和IO重定向(一)

原文:https://www.cnblogs.com/jason-hua/p/14297169.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!