centos当前目录表示方法_Centos Linux 各目录及每个目录的详细介绍

b9ff2cb7f615ed3879bd4a3566633fde.png

[root@localhost docker]# cat /etc/redhat-release

CentOS Linux release 7.7.1908 (Core)

[root@localhost docker]# ls /

bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var

bin -> usr/bin

存放ls、rm、mv等常用可执行文件。这些命令在单用户维护模式下还能够被操作,可以被全部用户使用。主要存放常用命令ls、ps等

/boot

用于存放Linux系统内核和加载内核所需的文件,一般建立独立分区挂载

/dev

用于存放设备文件。

/etc

存放系统管理和配置文件

/home

普通用户的根目录,是普通用户主目录的基点,比如用户user的主目录就是/home/user

lib -> usr/lib

lib64 -> usr/lib64

存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件。

/lost+found

这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里

/mnt

软驱或光驱默认装载的地方,如通常软驱挂载在/mnt/floppy下,光驱挂载到/mnt/cdrom下。

/opt

额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里。

/proc

虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/root

超级用户(系统管理员)的主目录(特权阶级^o^)

/run

里面存放的是系知统运行时需要的文件, 不能随便删除. 但是重启的时道候应该抛弃. 下次系统回运行时重新生成。 /run是个tmpfs, /var/run是个指向/run的链接, 换句话说他俩是同一个答东西。

sbin -> usr/sbin

这里存放的是root等系统管理员使用的系统级别的管理命令和程序。如:init、reboot等。

/sys

将各种内核子系统,硬件设备和相关设备驱动程序的信息,从内核的设备模型导出到用户空间,进而提供一组虚拟文件。而且你还可以对这些文件进行配置。比如你可以更改MAC地址

/tmp

用于存放各种临时文件,是公用的临时文件存储点。

/usr

用于存放系统应用程序,

/var

用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。

[root@localhost docker]# ls /usr/

bin etc games include lib lib64 libexec local sbin share src tmp

比较重要的目录:

/usr/local 本地系统管理员软件安装目录(安装系统级的应用)。

这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。

/usr/x11r6 存放x window的目录

/usr/bin 存放一些用户命令,是你安装软件时运行的软件脚本

/usr/sbin 存放用户安装的系统管理的必备程式,一般情况下只能root使用,

例如:useradd、 userdel、httpd等一些命令

/usr/doc linux文档

/usr/include linux下开发和编译应用程序所需要的头文件

/usr/lib 常用的动态链接库和软件包的配置文件

/usr/man 帮助文档

/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里

/usr/local/bin 本地增加的命令

/usr/local/lib 本地增加的库

[root@localhost docker]# ls /sys/

block bus class dev devices firmware fs hypervisor kernel module power

/sys/block 该目录下的所有子目录代表着系统中当前被发现的所有块设备。按照功能来说放置在/sys/class下会更合适,但由于历史遗留因素而一直存在于/sys /block,但从linux2.6.22内核开始这部分就已经标记为过去时,只有打开了CONFIG_SYSFS_DEPRECATED配置编译才会有 这个目录存在,并且其中的内容在从linux2.6.26版本开始已经正式移到了/sys/class/block,旧的接口/sys/block为了向后兼容而保留存在,但其中的内容已经变为了指向它们在/sys/devices/中真实设备的符号链接文件。

/sys/bus 该目录下的每个子目录都是kernel支持并且已经注册了的总线类型。这是内核设备按照总线类型分层放置的目录结构,/sys/devices中的所有设备都是连接于某种总线之下的,bus子目录下的每种具体总线之下可以找到每个具体设备的符号链接,一般来说每个子目录(总线类型)下包含两个子目录,一个是 devices,另一个是drivers;其中devices下是这个总线类型下的所有设备,这些设备都是符号链接,它们分别指向真正的设备(/sys/devices/下);而drivers下是所有注册在这个总线上的驱动,每个driver子目录下 是一些可以观察和修改的driver参数。

/sys/class 该目录下包含所有注册在kernel里面的设备类型,这是按照设备功能分类的设备模型,每个设备类型表达具有一种功能的设备。每个设备类型子目录下都是这种设备类型的各种具体设备的符号链接,这些链接指向/sys/devices/下的具体设备。 设备类型和设备并没有一一对应的关系,一个物理设备可能具备多种设备类型;一个设备类型只表达具有一种功能的设备,比如:系统所有输入设备都会出现在/sys/class/input之下,而不论它们是以何种总线连接到系统的。

/sys/dev 该目录下存放主次设备号文件,其中分成字符设备、块设备的主次设备号码(major:minor)组成的文件名,该文件是链接文件并且链接到其真实的设备(/sys/devices)。

/sys/devices 该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外即platform devices和system devices。

platform devices一般是挂在芯片内部的高速或者低速总线上的各种控制器和外设,它们能被CPU直接寻址;

system devices不是外设,而是芯片内部的核心结构,比如CPU,timer等,它们一般没有相关的驱动,但是会有一些体系结构相关的代码来配置它们。

/sys/devices是内核对系统中所有设备的分层次表达模型,也是/sys文件系统管理设备的最重要的目录结构。(为什么?因为其他目录基本是分类组织链接文件,实际指向该目录内容)。

/sys/firmware 这里是系统加载固件机制的对用户空间的接口,关于固件有专用于固件加载的一套API,在附录 LDD3 一书中有关于内核支持固件加载机制的更详细的介绍;

/sys/fs 按照设计,该目录是用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。

/sys/hypervisor 该目录是与虚拟化Xen相关的装置。(Xen是一个开放源代码的虚拟机监视器)

/sys/kernel 这个目录下存放的是内核中所有可调整的参数

/sys/module 该目录下有系统中所有的模块信息,不论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件),都可能出现在/sys/module中。即module目录下包含了所有的被载入kernel的模块。

/sys/power 该目录是系统中的电源选项,对正在使用的power子系统的描述。这个目录下有几个属性文件可以用于控制整个机器的电源状态,如可以向其中写入控制命令让机器关机/重启等等。

[root@localhost docker]# ls /proc/

1054 12 14 1555 20 2301 279 3014 323 37 39149

cmdline fb keys misc schedstat sysvipc

consoles filesystems key-users modules scsi timer_list

cpuinfo fs kmsg mounts self timer_stats

crypto interrupts kpagecount mpt slabinfo tty

1acpi devices iomem kpageflags mtrr softirqs uptime

asound diskstats ioports loadavg net stat version

buddyinfo dma irq locks pagetypeinfo swaps vmallocinfo

bus driver kallsyms mdstat partitions sys vmstat

cgroups execdomains kcore meminfo sched_debug sysrq-trigger zoneinfo

/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件。

/proc/cmdline在启动时传递至内核的相关参数信息,这些信息通常由lilo或grub等启动管理工具进行传递;

/proc/buddyinfo 用于诊断内存碎片问题的相关信息文件;

/proc/cpuinfo 处理器的相关信息的文件;

/proc/crypto 系统上已安装的内核使用的密码算法及每个算法的详细信息列表;

/proc/devices 系统已经加载的所有块设备和字符设备的信息,包含主设备号和设备组(与主设备号对应的设备类型)名;

/proc/diskstats 每块磁盘设备的磁盘I/O统计信息列表;(内核2.5.69以后的版本支持此功能)

/proc/dma 每个正在使用且注册的ISA DMA通道的信息列表;

/proc/execdomains 内核当前支持的执行域(每种操作系统独特“个性”)信息列表;

/proc/fb 帧缓冲设备列表文件,包含帧缓冲设备的设备号和相关驱动信息;

/proc/filesystems 当前被内核支持的文件系统类型列表文件,被标示为nodev的文件系统表示不需要块设备的支持;通常mount一个设备时,如果没有指定文件系统类型将通过此文件来决定其所需文件系统的类型;

/proc/interrupts X86或X86_64体系架构系统上每个IRQ相关的中断号列表;多路处理器平台上每个CPU对于每个I/O设备均有自己的中断号;

/proc/iomem每个物理设备上的记忆体(RAM或者ROM)在系统内存中的映射信息;

/proc/ioports 当前正在使用且已经注册过的与物理设备进行通讯的输入-输出端口范围信息列表;如下面所示,第一列表示注册的I/O端口范围,其后表示相关的设备;

/proc/kallsyms 模块管理工具用来动态链接或绑定可装载模块的符号定义,由内核输出;(内核2.5.71以后的版本支持此功能);通常这个文件中的信息量相当大;

/proc/kcore 系统使用的物理内存,以ELF核心文件(core file)格式存储,其文件大小为已使用的物理内存(RAM)加上4KB;这个文件用来检查内核数据结构的当前状态,因此,通常由GBD通常调试工具使用,但不能使用文件查看命令打开此文件;

/proc/kmsg 此文件用来保存由内核输出的信息,通常由/sbin/klogd或/bin/dmsg等程序使用,不要试图使用查看命令打开此文件;

/proc/loadavg 保存关于CPU和磁盘I/O的负载平均值,其前三列分别表示每1秒钟、每5秒钟及每15秒的负载平均值,类似于uptime命令输出的相关信息;第四列是由斜线隔开的两个数值,前者表示当前正由内核调度的实体(进程和线程)的数目,后者表示系统当前存活的内核调度实体的数目;第五列表示此文件被查看前最近一个由内核创建的进程的PID;

/proc/locks 保存当前由内核锁定的文件的相关信息,包含内核内部的调试数据;每个锁定占据一行,且具有一个惟一的编号;如下输出信息中每行的第二列表示当前锁定使用的锁定类别,POSIX表示目前较新类型的文件锁,由lockf系统调用产生,FLOCK是传统的UNIX文件锁,由flock系统调用产生;第三列也通常由两种类型,ADVISORY表示不允许其他用户锁定此文件,但允许读取,MANDATORY表示此文件锁定期间不允许其他用户任何形式的访问;

/proc/mdstat 保存RAID相关的多块磁盘的当前状态信息;

/proc/meminfo 系统中关于当前内存的利用状况等的信息,常由free命令使用;可以使用文件查看命令直接读取此文件,其内容显示为两列,前者为统计属性,后者为对应的值;

/proc/mounts 在内核2.4.29版本以前,此文件的内容为系统当前挂载的所有文件系统,在2.4.19以后的内核中引进了每个进程使用独立挂载名称空间的方式,此文件则随之变成了指向/proc/self/mounts(每个进程自身挂载名称空间中的所有挂载点列表)文件的符号链接;/proc/self是一个独特的目录,后文中会对此目录进行介绍;

/proc/modules 当前装入内核的所有模块名称列表,可以由lsmod命令使用,也可以直接查看;如下所示,其中第一列表示模块名,第二列表示此模块占用内存空间大小,第三列表示此模块有多少实例被装入,第四列表示此模块依赖于其它哪些模块,第五列表示此模块的装载状态(Live:已经装入;Loading:正在装入;Unloading:正在卸载),第六列表示此模块在内核内存(kernel memory)中的偏移量;

/proc/partitions 块设备每个分区的主设备号(major)和次设备号(minor)等信息,同时包括每个分区所包含的块(block)数目;

/proc/slabinfo 在内核中频繁使用的对象(如inode、dentry等)都有自己的cache,即slab pool,而/proc/slabinfo文件列出了这些对象相关slap的信息;详情可以参见内核文档中slapinfo的手册页;

/proc/stat 实时追踪自系统上次启动以来的多种统计信息;如下所示,其中,

“cpu”行后的八个值分别表示以1/100(jiffies)秒为单位的统计值(包括系统运行于用户模式、低优先级用户模式,运系统模式、空闲模式、I/O等待模式的时间等);

“intr”行给出中断的信息,第一个为自系统启动以来,发生的所有的中断的次数;然后每个数对应一个特定的中断自系统启动以来所发生的次数;

“ctxt”给出了自系统启动以来CPU发生的上下文交换的次数。

“btime”给出了从系统启动到现在为止的时间,单位为秒;

“processes (total_forks) 自系统启动以来所创建的任务的个数目;

“procs_running”:当前运行队列的任务的数目;

“procs_blocked”:当前被阻塞的任务的数目;

/proc/swaps 当前系统上的交换分区及其空间利用信息,如果有多个交换分区的话,则会每个交换分区的信息分别存储于/proc/swap目录中的单独文件中,而其优先级数字越低,被使用到的可能性越大;下面是作者系统中只有一个交换分区时的输出信息;

/proc/uptime 系统上次启动以来的运行时间,如下所示,其第一个数字表示系统运行时间,第二个数字表示系统空闲时间,单位是秒;

/proc/version当前系统运行的内核版本号

/proc/vmstat 当前系统虚拟内存的多种统计数据,信息量可能会比较大,这因系统而有所不同,可读性较好;

/proc/zoneinfo 内存区域(zone)的详细信息列表,信息量较大

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值