Linux 系统中文件以及目录的组织方式

在linux 中所有文件及目录都是从最高层“/”开始的,以下所有文件及目录都是从“/”目录往下延伸的。

下面是我在命令行中查找根目录下的目录文件。

​
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  mysql  
opt  proc  root  run  sbin  srv  sys  tmp  usr  var

​

/root  表示超级用户家目录(相当于系统管理员),在linux下分为两种用户一种是root用户,一种是普通用户,在root用户下可以干任何事情,可以删除任何文件,所以要谨慎使用root用户,如果从普通用户切换到root后,要再su回到普通用户。(su 可以切换用户:su root )

[root@localhost /]# cd root
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  
公共  模板  视频  图片  文档  下载  音乐  桌面

/home  表示普通用户家目录(相当于用户自己)。

[root@localhost /]# cd home
[root@localhost home]# ls
panxiang

/bin  放置指令文件/命令(bin 是 Binaries 二进制文件的缩写), 里面存放的一般是可执行的二进制文件

[root@localhost /]# cd bin
[root@localhost bin]# ls   (这里简单举例,就不一一例举了,太多了。)
[                                    gencat                        mmc-tool                             scanimage
a2p                                  gendiff                       mmd                                  scl
ab                                   genisoimage                   mmount                               scl_enabled
abrt-action-analyze-backtrace        genl-ctrl-list                mmove                                scl_source
abrt-action-analyze-c                geoiplookup                   mobj_dump                            

/sbin  放置系统管理员使用的系统管理程序s 就是 Super User 的意思,是 Superuser Binaries超级用户的二进制文件的缩写

[root@localhost /]# cd sbin
[root@localhost sbin]# ls      (简单举例,命令太多。)
abrt-auto-reporting      e2freefrag                 iscsistart         ownership                   sgpio
abrt-configuration       e2fsck                     iscsiuio           packer                      showmount
abrtd                    e2image                    iw                 pam_console_apply           shutdown
abrt-dbus                e2label                    kdump              pam_tally2                  skdump
abrt-harvest-pstoreoops  e2undo                     kexec              pam_timestamp_check         sktest

/boot  放置系统启动文件(是Linux启动时使用的一些核心文件)。

[root@localhost /]# cd boot
[root@localhost boot]# ls
config-3.10.0-514.el7.x86_64                             initramfs-3.10.0-514.el7.x86_64.img       System.map-3.10.0-514.el7.x86_64
grub                                                     initramfs-3.10.0-514.el7.x86_64kdump.img  vmlinuz-0-rescue-9e38e8960ebe4789935676284c358ca4
grub2                                                    initrd-plymouth.img                       vmlinuz-3.10.0-514.el7.x86_64
initramfs-0-rescue-9e38e8960ebe4789935676284c358ca4.img  symvers-3.10.0-514.el7.x86_64.gz

/etc  放置配置文件(存放所有系统管理所需的配置文件和子目录)。

[root@localhost /]# cd etc
[root@localhost etc]# ls              (简单例举)
abrt                       dbus-1                      gssproxy        makedumpfile.conf.sample  profile           speech-dispatcher
adjtime                    dconf                       highlight       man_db.conf               profile.d         ssh
aliases                    default                     host.conf       maven                     protocols         ssl
aliases.db                 depmod.d                    hostname        mime.types                pulse             sssd

/dev  放置设备文件(Device的缩写,存放Linux外部设备)。扩充部分:在Linux下访问设备和访问文件的方式是相同的,这些文件是一个访问这些外部设备的端口。设备文件分为两种块设备文件(b)和字符设备(c),设备文件一般存放在/dev目录下,如下所示

[root@localhost /]# cd dev
[root@localhost dev]# ls
agpgart        cpu_dma_latency  hpet          mcelog              ptmx    snapshot  tty13  tty24  tty35  tty46  tty57  ttyS1    vcs3   vga_arbiter
autofs         crash            hugepages     mem                 pts     snd       tty14  tty25  tty36  tty47  tty58  ttyS2    vcs4   vhci
block          disk             initctl       midi                random  sr0       tty15  tty26  tty37  tty48  tty59  ttyS3    vcs5   vhost-net
bsg            dm-0             input         mqueue              raw     stderr    tty16  tty27  tty38  tty49  tty6   uhid     vcs6   vmci
btrfs-control  dm-1             kmsg          net                 rtc     stdin     tty17  tty28  tty39  tty5   tty60  uinput   vcsa   vsock
bus            dmmidi           log           network_latency     rtc0    stdout    tty18  tty29  tty4   tty50  tty61  urandom  vcsa1  zero
cdrom          dri              loop-control  network_throughput  sda     tty       tty19  tty3   tty40  tty51  tty62  usbmon0  vcsa2
char           fb0              lp0           null                sda1    tty0      tty2   tty30  tty41  tty52  tty63  usbmon1  vcsa3
cl             fd               lp1           nvram               sda2    tty1      tty20  tty31  tty42  tty53  tty7   usbmon2  vcsa4
console        full             lp2           oldmem              sg0     tty10     tty21  tty32  tty43  tty54  tty8   vcs      vcsa5
core           fuse             lp3           port                sg1     tty11     tty22  tty33  tty44  tty55  tty9   vcs1     vcsa6
cpu            hidraw0          mapper        ppp                 shm     tty12     tty23  tty34  tty45  tty56  ttyS0  vcs2     vfio

 /run  临时文件系统(系统重启时,将会被删除)。

[root@localhost /]# cd run
[root@localhost run]# ls
abrt          chronyd.pid  dhclient-ens33.pid  gssproxy.pid   libvirtd.pid  mariadb         pcscd         samba           sshd.pid     tuned
alsactl.pid   console      dmeventd-client     gssproxy.sock  lock          mdadm           plymouth      sepermit        svnserve     udev
atd.pid       crond.pid    dmeventd-server     httpd          log           media           ppp           setrans         sysconfig    udisks2
auditd.pid    cron.reboot  faillock            initramfs      lsm           mount           radvd         setroubleshoot  syslogd.pid  user
avahi-daemon  cups         firewalld           ksmtune.pid    lvm           netreport       rpcbind       sm-notify.pid   systemd      utmp
certmonger    dbus         gdm                 libvirt        lvmetad.pid   NetworkManager  rpcbind.sock  spice-vdagentd  tmpfiles.d   xtables.lock

/tmp  存放临时文件,有可能是由系统或程序产生、也有可能是用户主动放入的临时数据、系统会自动清理(不经常被修改)。

[root@localhost /]# cd tmp
[root@localhost tmp]# ls
ssh-1FDPXCMhcAAa
ssh-87H1HO2uPghC
ssh-K6HsKEMV8M6H
ssh-VLoOp6CpAsOI
systemd-private-6bf25991e8ee4074bfc2e3737413172c-colord.service-3VuBvR
systemd-private-6bf25991e8ee4074bfc2e3737413172c-cups.service-1CzBjU
systemd-private-6bf25991e8ee4074bfc2e3737413172c-rtkit-daemon.service-J3dU1d
systemd-private-6bf25991e8ee4074bfc2e3737413172c-vmtoolsd.service-xNp403
systemd-private-8d4f65c853924d7aabd48cd462946d0b-colord.service-FUpeSO
systemd-private-8d4f65c853924d7aabd48cd462946d0b-cups.service-RruTWD
systemd-private-8d4f65c853924d7aabd48cd462946d0b-rtkit-daemon.service-FcILSX
systemd-private-8d4f65c853924d7aabd48cd462946d0b-vmtoolsd.service-LPrrtv
systemd-private-9343ded1473340dabdca51c3497957c3-colord.service-Pzyv9P
systemd-private-9343ded1473340dabdca51c3497957c3-cups.service-tEZ8vI
systemd-private-9343ded1473340dabdca51c3497957c3-rtkit-daemon.service-mTltdh
systemd-private-9343ded1473340dabdca51c3497957c3-vmtoolsd.service-dzzjKV
systemd-private-f0896ef56688445e8a9593f31e87ffd5-colord.service-VbAFsL
systemd-private-f0896ef56688445e8a9593f31e87ffd5-cups.service-bP2nwH
systemd-private-f0896ef56688445e8a9593f31e87ffd5-rtkit-daemon.service-rddqMq
systemd-private-f0896ef56688445e8a9593f31e87ffd5-vmtoolsd.service-b3RAwO
tracker-extract-files.0
tracker-extract-files.1000

/var  存放不断被扩充经常被修改的文件,系统和程序运行后产生的数据、不对外提供服务、只能用户手动清理(如日志文件,缓存文件,邮件等)。

[root@localhost /]# cd var
[root@localhost var]# ls
account  adm  cache  crash  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  nis  opt  preserve  run  spool  target  tmp  www  yp

/usr  放置系统默认的文件(unix shared resources共享资源的缩写)。扩充部分:Unix操作系统软件资源所放置的目录,所有系统默认的软件都会放到本目录下,类似于Windows下program files。如下所示

[root@localhost /]# cd usr
[root@localhost usr]# ls
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp

 /lib  动态链接共享库(目录里放置着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件)。

[root@localhost /]# cd lib
[root@localhost lib]# ls
alsa      debug      gcc         java-1.7.0   jvm-exports  locale          NetworkManager  sendmail.postfix  tuned
binfmt.d  dracut     grub        java-1.8.0   jvm-private  modprobe.d      polkit-1        sse2              udev
cpp       firewalld  java        java-ext     kbd          modules         python2.7       sysctl.d          udisks2
crda      firmware   java-1.5.0  jvm          kdump        modules-load.d  rpm             systemd           x86_64-redhat-linux6E
cups      games      java-1.6.0  jvm-commmon  kernel       mozilla         sendmail        tmpfiles.d        yum-plugins

/srv  放置本机或本服务器提供的服务或数据(用户主动生产的数据、对外提供服务)。

/sys 系统中的设备组织成层次结构,向用户程序提供详细的内核数据信息。

[root@localhost /]# cd sys
[root@localhost sys]# ls
block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

/mnt  临时挂载(该目录是为了让用户临时挂载别的文件系统的,例如将光驱挂载在 /mnt 上,进入该目录就 可以查看光驱中内容)。

/opt  是给主机安装第三方软件的目录

/proc  放置进程文件。(proc 是 Processes进程的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我 们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们 也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法 ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all)。

[root@localhost /]# cd proc
[root@localhost proc]# ls
1     14    2456  2753  295   3046  3122  3381  394   4705  577  644  7     94         driver       kmsg        pagetypeinfo   timer_list
10    15    2461  2754  2953  3047  3127  3423  395   474   578  646  726   acpi       execdomains  kpagecount  partitions     timer_stats
1007  16    2549  277   2965  3058  3131  3431  396   4819  579  657  7746  asound     fb           kpageflags  sched_debug    tty
1009  17    2554  28    2970  3060  3132  3571  397   498   6    660  7901  buddyinfo  filesystems  loadavg     schedstat      uptime
1010  18    26    283   2975  3065  3134  3575  398   505   606  661  7961  bus        fs           locks       scsi           version
1015  1833  2607  284   2994  3066  3135  3576  399   5067  62   664  7988  cgroups    interrupts   mdstat      self           vmallocinfo
1022  1886  269   2851  3     3082  3138  367   40    512   624  665  8     cmdline    iomem        meminfo     slabinfo       vmstat
1026  19    27    2856  30    3085  3142  368   400   527   625  666  8009  consoles   ioports      misc        softirqs       zoneinfo
1048  2     2729  287   3005  3097  3151  3788  401   572   627  671  8025  cpuinfo    irq          modules     stat
1052  20    274   289   3014  3099  3156  379   402   573   630  675  8049  crypto     kallsyms     mounts      swaps
12    2266  2743  29    3021  3107  3170  38    41    574   632  676  8058  devices    kcore        mpt         sys
1279  2268  2746  291   3038  3112  3173  380   43    575   635  689  8059  diskstats  keys         mtrr        sysrq-trigger
13    2433  275   293   3043  3117  3380  393   4701  576   641  699  9     dma        key-users    net         sysvipc
[root@localhost proc]# 

/media  Linux 系统自动识别的设备(如 U 盘、光驱等,Linux 系统自动识别后把设备挂载到这个目录下)。

/selinux  放置selinux相关的文件(这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙)。

/lost+found  这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

个人笔记,仅供参考!初学Linux望指点!

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Linux文件系统(Root File System,通常简写为root fs)是每个Linux或类Linux操作系统最重要的部分,它是启动后计算机上默认的第一个挂载点。其组织结构相对固定,主要用于存放操作系统的核心组件、系统配置文件、应用程序以及用户数据。 根文件系统组织结构可以概括为以下几个主要层次: 1. **目录** (`/)**: 文件系统的顶层,所有其他路径都是从这里开始的。最常见的是`/bin`(包含基本命令)、`/etc`(系统配置文件)、`/dev`(设备文件)、`/home`(用户家目录)、`/usr`(用户可执行程序和数据)、`/var`(变量数据如日志和临时文件)等。 2. **目录树**(Hierarchical Structure): Linux使用目录树来组织文件,比如`/bin`下有`/bin/bash`(bash shell)、`/usr/bin`通常放二进制应用程序等。 3. **文件类型**: - **普通文件**:存储各种数据,如文本文件、配置文件、脚本等。 - **目录文件**:表示其他文件或子目录的集合。 - **链接文件**:指向其他文件目录的快捷方式。 - **设备文件**:代表硬件设备,如硬盘、网络接口等。 - **符号链接**:软链接,类似于Windows的快捷方式。 - **特殊文件**:如/dev/null(丢弃输入)、/proc(进程信息)等。 4. **文件系统类型**:Linux支持多种文件系统,如ext4、XFS、Btrfs等,它们各有特点但都能在根文件系统找到对应的位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值