Linux文件管理-目录结构

Linux文件管理-目录结构


几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支,所以该结构又被称为 目录树

windows:一多根的方式组织文件C:\ D:\

Linux:以单根的方式组织文件 /


FHS(目录层次的标准)

FHS全称(Filesystem Hierarchy Standard),中文意思是目录层次标准,是Linux的目录规范标准。
FHS定义了两次规范:

1.“/”目录下的各个目录应该放什么文件数据。
2.针对/usr 和 /var 这两个目录的子目录来定义。

img

Linux系统中也沿用了这种文件结构, 所有目录和文件都在 “根目录"下, 目录名为”/"。FHS(文件系统层次标准)定义了在根目录下的主要目录以及每个目录应该存放什么文件。

img

目录结构

/		整个文件系统的根目录,目录的源头
/bin	存放Linux的二进制文件、命令(普通用户和超级用户都可以执行)
/sbin	存放Linux的二进制文件(只有超级管理员可以执行的命令)
/boot	存放系统启动的引导文件
/etc	存放系统所有的配置文件
/home	普通用户的家目录
/root 	root用户的家目录
/run	存放系统内部正在运行程序的相关文件
/dev	存放设备文件
/tmp	用于存放各种临时文件,是公用的临时文件存储点
/usr	存放第三方软件
/var	存放系统运行时需要改变数据的文件(系统日志等)
/lib	存放库文件的目录(32位)
/lib64	存放库文件的目录(64位)
/opt	存放第三方安装的软件
/mnt	临时挂载的文件目录。比如cdrom,u盘等,直接插入光驱无法使用,要先挂载后使用
/srv	站点的具体数据,由系统提供
/media	存放多媒体的文件
/proc	虚拟文件系统,以目录的形式,将进程的pid号存储下来(系统信息都存放在这个目录下)
/sys	存放和系统有关的文件目录

重点目录

/dev目录

设备文件分为两种:块设备文件(b)和字符设备文件©
设备文件一般存放在/dev目录下,

对常见设备文件作如下说明:

/dev 存放设备文件,比如硬盘,硬盘分区,光驱等
/dev/null 黑洞设备,只进不出,类似于辣鸡回收站
/dev/random 生成随机数的设备
/dev/zero 能远远不断的产生数据,类似于取款机,随时随地取钱
/dev/pts/0 虚拟的Bash Shell终端,提供给远程用户使用,0:一个终端 1:2个终端…

[root@oldboy /]# ls /dev/sda*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3
# sda		系统中的第一块磁盘
# sda1	磁盘中的第一块分区
# sda2	磁盘中的第二块分区
# sda3	磁盘中的第三块分区


# /dev/null	黑洞,可以吸收任何东西
[root@oldboy /]# echo 'asrgarg' > /dev/null
[root@oldboy /]# 

# /dev/zero	可以源源不断的取出数据
# /dev/tty	终端
[root@oldboy /]# tty
/dev/pts/0
# /dev/rundom	随机数设备
/dev/hd[a-t]            #IDE设备
/dev/sd[a-z]            #SCSI设备
/dev/fd[0-7]            #标准软驱
/dev/md[0-31]           #软raid设备
/dev/loop[0-7]          #本地回环设备
/dev/ram[0-15]          #内存
/dev/null               #无限数据接收设备,相当于黑洞
/dev/zero               #无限零资源
/dev/tty[0-63]          #虚拟终端
/dev/ttyS[0-3]          #串口
/dev/lp[0-3]            #并口
/dev/console            #控制台
/dev/fb[0-31]           #framebuffer
/dev/cdrom              #=> /dev/hdc
/dev/modem              #=> /dev/ttyS[0-9]
/dev/pilot              #=> /dev/ttyS[0-9]
/dev/random             #随机数设备
/dev/urandom            #随机数设备

/etc目录

/etc 极其重要,后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg- 网卡配置文件
/etc/hostname 系统主机名配置文件
/etc/resolv.conf dns客户端配置文件
/etc/hosts 本地域名解析配置文件

# /var/log	系统日志存放的目录
[root@oldboy /]# ls /var/log
anaconda            lastlog               vmware-network.4.log
audit               maillog               vmware-network.5.log
boot.log            messages              vmware-network.6.log
/etc/rc /etc/rc.d   ***** #/etc/rc*.d 启动、或改变运行级时运行的scripts或scripts的目录.
/etc/hosts          ***** #本地域名解析文件
/etc/sysconfig/network  ***** #IP、掩码、网关、主机名配置
/etc/resolv.conf    ***** #DNS服务器配置
/etc/fstab          ***** #开机自动挂载系统,所有分区开机都会自动挂载
/etc/inittab        ***** #设定系统启动时Init进程将把系统设置成什么样的runlevel及加载相关的启动文件配置
/etc/exports        ***** #设置NFS系统用的配置文件路径
/etc/init.d/        ***** #这个目录来存放系统启动脚本
/etc/profile        ***** #全局系统环境配置变量
/etc/csh.login,  /etc/csh.cshrc
/etc/issue          ***** #认证前的输出信息,默认输出版本内核信息
/etc/motd           #设置认证后的输出信息
/etc/mtab           #当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df 命令
/etc/group          ***** #类似/etc/passwd ,但说明的不是用户而是组.
/etc/passwd         ***** #用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
/etc/shadow         ****** #在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读.这使破译口令更困难.
/etc/sudoers        ***** #可以sudo命令的配置文件
/etc/syslog.conf    ***** #系统日志参数配置
/etc/login.defs     #设置用户帐号限制的文件
/etc/securetty      #确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.
/etc/printca        #类似/etc/termcap ,但针对打印机.语法不同.
/etc/shells         #列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.
/etc/xinetd.d       #如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,比如Slackware,有些老的版本也没有。在Redhat Fedora中比较新的版本中存在。
/etc/opt/           #/opt/的配置文件
/etc/X11/           #X_Window系统(版本11)的配置文件
/etc/sgml/          #SGML的配置文件
/etc/xml/           #XML的配置文件
/etc/skel/          ***** #默认创建用户时,把该目录拷贝到家目录下

/proc目录

虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)。

例如:uptime、 network。在Linux中,对应Procfs格式挂载。该目录下文件只能看不能改(包括root)

/proc/meminfo           ***** #查看内存信息
/proc/loadavg           ***** #还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!
/proc/uptime            ***** #就是用 uptime 的时候,会出现的资讯啦!
/proc/cpuinfo           ***** #关于处理器的信息,如类型、厂家、型号和性能等。
/proc/cmdline           #加载 kernel 时所下达的相关参数!查阅此文件,可了解系统是如何启动的!
/proc/filesystems       #目前系统已经加载的文件系统罗!
/proc/interrupts        #目前系统上面的 IRQ 分配状态。
/proc/ioports           #目前系统上面各个装置所配置的 I/O 位址。
/proc/kcore             #这个就是内存的大小啦!好大对吧!但是不要读他啦!
/proc/modules           #目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!
/proc/mounts            #系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!
/proc/swaps             #到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦!
/proc/partitions        #使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔!
/proc/pci               #在 PCI 汇流排上面,每个装置的详细情况!可用 lspci 来查阅!
/proc/version           #核心的版本,就是用 uname -a 显示的内容啦!
/proc/bus/*             #一些汇流排的装置,还有 U盘的装置也记录在此喔!

/usr目录

默认软件都会存于该目录下。用于存储只读用户数据的第二层次;包含绝大多数的用户工具和应用程序。

/usr/X11R6          #存放X-Windows的目录;
/usr/games          #存放着XteamLinux自带的小游戏;
/usr/doc            #Linux技术文档;
/usr/include        #用来存放Linux下开发和编译应用程序所需要的头文件;
/usr/lib            #存放一些常用的动态链接共享库和静态档案库;
/usr/man            #帮助文档所在的目录;
/usr/src            #Linux开放的源代码,就存在这个目录,爱好者们别放过哦;
/usr/bin/           #非必要可执行文件 (在单用户模式中不需要);面向所有用户。
/usr/lib/           #/usr/bin/和/usr/sbin/中二进制文件的库。
/usr/sbin/          #非必要的系统二进制文件,例如:大量网络服务的守护进程。
/usr/share/         #体系结构无关(共享)数据。
/usr/src/           #源代码,例如:内核源代码及其头文件。
/usr/X11R6/         #X Window系统版本 11, Release 6.
/usr/local/         #本地数据的第三层次,具体到本台主机。通常而言有进一步的子目录,例如:bin/、lib/、share/.这是提供给一般用户的/usr目录,在这里安装一般的应用软件;

软链接的目录

/bin --> /usr/bin
/sbin --> /usr/sbin
/lib --> /usr/lib
/lib64 --> /usr/lib64

文件定位

  • 相对路径:不从 / 开始的路径就是相对路径(~ 除外)
  • 绝对路径:从 / 开始的路径就是绝对路径

两个特殊目录

.当前目录相对路径
上级目录相对路径

cd切换目录

# 进入到当前目录的network-scripts下 
[root@oldboy /etc/sysconfig]# cd ./network-scripts/
[root@oldboy /etc/sysconfig/network-scripts]# 

# 进入上一级目录的/etc/sysconfig/network-scripts下
[root@oldboy /]# cd ../etc/sysconfig/network-scripts/
[root@oldboy /etc/sysconfig/network-scripts]# 

# 进入当前用户的家目录
[root@oldboy /etc/sysconfig/network-scripts]# cd ~
[root@oldboy ~]#

#返回上一次所在的目录
[root@oldboy ~]# cd -
/etc/sysconfig/network-scripts
[root@oldboy /etc/sysconfig/network-scripts]# 

# 进入当前用户的家目录
[root@oldboy /etc/sysconfig/network-scripts]# cd
[root@oldboy ~]# 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值