初步了解Linux系统的目录一级目录

对于每一个初学Linux系统的初学者来说,了解Linux的目录结构是第一步也是关键一步,下图是Linux系统的树状目录结构

编程之家 jb51.cc

编程之家 jb51.cc

/bin目录:
bin为binary的缩写,主要放置系统的必要执行文件,例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等
/boot目录:
boot是引导程序,内核的存放的目录。此目录包含了在引导过程中所必须的文件,引导程序的相关文件(如:grup、kernel、lilo以及相应的配置文件及Linux操作系统内核相关文件;sbin超级用户可以使用的命令存放目录。存放大多数涉及系统管理命令,如:引导系统的init程序,是超级用户root的可执行命令存放地,普通用户无权限)

[root@linuxprobe Desktop]# ls /boot
config-3.10.0-123.el7.x86_64
grub2
initramfs-0-rescue-c0dfe5671a8c40a7a4eaf2c389476e05.img
initramfs-3.10.0-123.el7.x86_64.img
initramfs-3.10.0-123.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-123.el7.x86_64.gz
System.map-3.10.0-123.el7.x86_64
vmlinuz-0-rescue-c0dfe5671a8c40a7a4eaf2c389476e05
vmlinuz-3.10.0-123.el7.x86_64
[root@linuxprobe Desktop]# 

/dev目录
用于存放设备文件的目录,dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

[linuxprobe@linuxprobe Desktop]$ ls /dev
agpgart          kmsg                rtc0      tty20  tty45  ttyS3
autofs           log                 sda       tty21  tty46  uhid
block            loop-control        sda1      tty22  tty47  uinput
bsg              lp0                 sda2      tty23  tty48  urandom
btrfs-control    lp1                 sg0       tty24  tty49  usbmon0
bus              lp2                 sg1       tty25  tty5   usbmon1
cdrom            lp3                 shm       tty26  tty50  usbmon2
char             mapper              snapshot  tty27  tty51  vcs
console          mcelog              snd       tty28  tty52  vcs1
...

robe@linuxprobe Desktop]$ 

/etc目录
用来存放程序所需的整个文件系统的配置文件

[linuxprobe@linuxprobe Desktop]$ ls /etc
abrt                     httpd                     printcap
adjtime                  idmapd.conf               profile
aliases                  init.d                    profile.d
aliases.db               inittab                   protocols
alsa                     inputrc                   pulse
alternatives             iproute2                  purple
amanda                   ipsec.conf                qemu-ga
anacrontab               ipsec.d                   qemu-kvm
...
[linuxprobe@linuxprobe Desktop]$ 


/e**tc/rc or/etc/rc.d or/etc/rc*.d
  启动、或改变运行级时运行的scripts或scripts的目录.
/etc/passwd
  用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
/etc/fdprm
  软盘参数表.说明不同的软盘格式.用setfdprm 设置.
/etc/fstab
  启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表.linux下,也包括用swapon -a启用的swap区的信息.
/etc/group
  类似/etc/passwd ,但说明的不是用户而是组.
/etc/inittab
  init 的配置文件.
/etc/issue
  getty在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.
/etc/magic
  file 的配置文件.包含不同文件格式的说明,file 基于它猜测文件类型.

/etc/motd
  Message Of TheDay,成功登录后自动输出.内容由系统管理员确定.经常用于通告信息,如计划关机时间的警告.
/etc/mtab
  当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df命令.
/etc/shadow
  在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对root可读.这使破译口令更困难.
/etc/login.defs
  login 命令的配置文件.
/etc/printcap
  类似/etc/termcap ,但针对打印机.语法不同.
/etc/profile , /etc/csh.login ,/etc/csh.cshrc
  登录或启动时Bourne或Cshells执行的文件.这允许系统管理员为所有用户建立全局缺省环境.
/etc/securetty
  确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.
/home目录:
用户的主目录,这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号:
~ :代表当前使用者的家目录,而 ~guest:则代表用户名为guest的家目录。
/lib目录:
系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。

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

/media目录:
media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。

[linuxprobe@linuxprobe Desktop]$ ls /media
cdrom
[linuxprobe@linuxprobe Desktop]$ ls /media/cdrom
addons  images      Packages                 RPM-GPG-KEY-redhat-release
EFI     isolinux    release-notes            TRANS.TBL
EULA    LiveOS      repodata
GPL     media.repo  RPM-GPG-KEY-redhat-beta
[linuxprobe@linuxprobe Desktop]$ 

/mnt目录:
如果你想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。
/opt目录:
这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。

[linuxprobe@linuxprobe Desktop]$ ls /opt
centos  rh
[linuxprobe@linuxprobe Desktop]$ 

/proc目录:
这个目录本身是一个虚拟文件系统(virtual filesystem)喔。 他放置的资料都是在内存当中,例如系统核心、行程资讯(process)(是进程吗?)、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不占任何硬盘空间。比较重要的档案(目录)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。

[linuxprobe@linuxprobe Desktop]$ ls /proc
1     118   155   197   239   274   3093  55   618  78         diskstats
10    119   156   198   24    275   3096  56   619  79         dma
100   12    157   199   240   2754  31    562  62   8          driver
101   120   158   2     241   2764  3101  563  620  80         execdomains
1013  1208  159   20    242   278   314   564  621  81         fb
1014  121   16    200   243   279   3142  566  622  82         filesystems
1019  122   160   2008  244   28    32    567  623  83         fs
102   123   161   201   245   280   33    569  624  84         interrupts
...
[linuxprobe@linuxprobe Desktop]$ 

/root目录:(普通用户无权限进入)
系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。

[linuxprobe@linuxprobe Desktop]$ ls /root
ls: cannot open directory /root: Permission denied
[linuxprobe@linuxprobe Desktop]$ sudo su
[sudo] password for linuxprobe: 
[root@linuxprobe Desktop]# ls /root
anaconda-ks.cfg  Downloads             nginx-1.8.1         Public
Desktop          initial-setup-ks.cfg  nginx-1.8.1.tar.gz  Templates
Documents        Music                 Pictures            Videos
[root@linuxprobe Desktop]# 

/run目录:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

[root@linuxprobe Desktop]# ls /run
abrt             dmeventd-server  lock         ppp            spice-vdagentd
alsactl.pid      dovecot          log          radvd          sshd.pid
atd.pid          faillock         lsm          rhsm           syslogd.pid
auditd.pid       gdm              lvm          rpcbind.lock   systemd
avahi-daemon     httpd            lvmetad.pid  rpcbind.sock   tmpfiles.d
...
[root@linuxprobe Desktop]#

/sbin目录:
Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。(里面的文件数太多了就不展示了)

/srv目录:
srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了。

/sys目录:
这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录与核心相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录同样不占硬盘容量。

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

/tmp目录:
用于存放各种临时文件,是公用的临时文件存储点

[root@linuxprobe Desktop]# ls /tmp
ssh-7LTG04R9SIaZ        systemd-private-EsaF3D  systemd-private-P0mpwv
ssh-lS0kig3iO9UD        systemd-private-f3jeAB  systemd-private-p9kC25
ssh-r3sEpXMiwnGZ        systemd-private-fqGL4a  systemd-private-Pdp0DR
systemd-private-0ftXos  systemd-private-FSRkYO  systemd-private-PGmaEB
systemd-private-0qQWO2  systemd-private-ft6WLL  systemd-private-PSImbU
...

[root@linuxprobe Desktop]# 

/usr目录:
用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录

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

/var目录:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

[root@linuxprobe Desktop]# ls /var
account  crash  ftp    gopher    local  mail   opt       spool  www
adm      db     games  kerberos  lock   named  preserve  tmp    yp
cache    empty  gdm    lib       log    nis    run       var
[root@linuxprobe Desktop]# 

这些Linux目录的解释是我在查阅了大量的资料,观看教学视频时记录下来的,以及根据自己的一些经验总结出来的,正是因为水平有限,所以想把这些目录整理一下,方便自己更好的查阅,当然我总结的也不是很深入,还有很多要学习的。

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...