天天看点

linux系统目录结构首先来看tree的用法tree二、主要参数   

                        linux系统目录结构  

<a href="https://s5.51cto.com/oss/201710/21/3cf3391ad3b0a540286927e2c94ae5e5.png-wh_500x0-wm_3-wmp_4-s_3703067643.png" target="_blank"></a>

<a href="https://s3.51cto.com/oss/201710/21/206536379cb1a93e0b6cde6bc62a50e3.png-wh_500x0-wm_3-wmp_4-s_2617767639.png" target="_blank"></a>

文件目录管理

[root@alex ~]# ls

c  m

[root@alex ~]# list        ls的简写 ,猎取系统的文件或者目录   

[root@alex ~]# ls /                                                ls跟目录  

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

[root@alex ~]# ls /root/          root的家目录

[root@alex ~]# ls /root/.ssh/authorized_keys       家目录下面创建的文件

/root/.ssh/authorized_keys

[root@alex ~]# useradd dabaitu     useradd 创建家目录   

[root@alex ~]# ls /home/                         查看家目录下面的用户  

dabaitu

[root@alex ~]# ls /home/dabaitu    可以在家目录下创建    root是跟目录  普通用户在home下面 

[root@alex ~]# useradd user         

[root@alex ~]# ls /home/

dabaitu  user

[root@alex ~]# ls /home/user     家目录在home  user下面  

root的家目录在/跟下面    普通用户的在home下面     useradd  是创建用户的    ls   是list  缩写 查看文信息的

[root@alex ~]# ls /root/.ssh/authorized_keys                (配置秘钥认证的是路径和文件必须放在。ssh/authorized_keys)

[root@alex ~]# ls /etc/ssh/sshd_config    是ssh/sshd规定的。配置文件在etc下面更改  

[root@alex ~]# yum install -y tree           用yum安装tree   tree 是以树形状列出目录内容  

tree -L

提示: tree: Missing argument to -L option

然后tree -L 1

显示一级目录和文件

tree -L 1 -d  

只显示一级目录

所以我们可以用tree -L 1 -d这个显示该目录下的一级目录

附带 man了一下tree,还是这个解释比较清楚。

TREE(1)                                                                TREE(1)

tree - list contents of directories in a tree-like format.

SYNOPSIS

       tree  [-adfghilnopqrstuvxACDFNS]  [-L  level  [-R]]  [-H  baseHREF] [-T

       title] [-o filename] [--nolinks] [-P pattern] [-I  pattern]  [--inodes]

       [--device] [--noreport] [--dirsfirst] [--version] [--help] [--filelimit

       #] [directory ...]

                                                                                                                                man

所有用户&lt; /pre&gt;

man [[ [-c ] [-t ] [Section] ] | [-k | -f ] ] [-F] [-m] [ -MPath ] [ -r ] [ -a ]Title &lt; /pre&gt;

显示使用 cat 命令的手册信息。

 使用 troff 命令格式化手册信息。如果在超文本信息基中查找到手册页面,则忽略该标志。

 显示关键字数据库中包含与作为最终参数给定的字符匹配的标题的字符串的每一行。     可以输入多个标题,中间用空格隔开。     要使用 -k 标志,root 用户必须以前已输入 catman -w 以建立 /usr/share/man/whatis 文件。

 显示在关键字数据库中仅与作为最终参数给定的命令名相关的项。可以输入多个命令名,中间用空格隔开。     使用该标志仅搜索命令物件。     要使用 -f 标志,root 用户必须以前已输入 catman -w 以建立 /usr/share/man/whatis 文件。

只显示首个匹配项。  

只在 MANPATH 或 -M 中指定的路径中搜索。  

更改 man 命令搜索手册信息的标准位置。路径是用冒号隔开的路径的列表,其中,可以使用以下特殊符号:   %D - 联机帮助页的缺省 AIX? 路径。  %L-与当前语言环境的 LC_MESSAGES 类别相对应的特定于语言环境的目录位置。   %L-与当前 LC_MESSAGES 类别的首 2 个字符相对应的特定于语言环境的目录位置。 

手册信息的远程搜索。如果出于某个原因,远程搜索失败,则 man 将执行本地搜索以获取请求的联机帮助页。  

 显示所有匹配项。

/

home --- 存储普通用户的个人文件

ftp --- 用户所有服务

httpd

samba

user1

user2

bin --- 系统启动时需要的执行文件(二进制)

sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行

proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息

1 --- 进程编号

usr --- 用户目录,存放用户级的文件

bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin

sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序

include ---  存放C/C++头文件的目录

lib --- 固定的程序数据

local --- 本地安装软件保存位置

man --- 手工生成的目录

info --- 信息文档

doc --- 不同包文档信息

tmp

X11R6 ---  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。

X386 --- 功能同X11R6,X11 发行版5 的系统文件

boot --- 引导加载器所需文件,系统所需图片保存于此

lib --- 根文件系统目录下程序和核心模块的公共库

modules --- 可加载模块,系统崩溃后重启所需模块

dev --- 设备文件目录

etc --- 配置文件

skel --- home目录建立,该目录初始化

sysconfig --- 网络,时间,键盘等配置目录

var

file

lib --- 该目录下的文件在系统运行时,会改变

local --- 安装在/usr/local的程序数据,变化的

lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问

log --- 记录日志

run --- 系统运行合法信息

spool --- 打印机、邮件、代理服务器等假脱机目录

catman --- 缓存目录

tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp

lost+found --- 在文件系统修复时恢复的文件

/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11存放与x windows有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found

/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

root@alex ~]# ls /    列出根目录下面的文件   

bin   dev  home  lib64       media  opt   root  sbin  sys  usr

boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var

[root@alex ~]# ls /sbin                                                                  root用户下面用的    而普通用户没有权限用  

[root@alex ~]# ls /bin/                                                                     普通用户用/bin/下面的   

[root@alex ~]# ls /boot/                                                                   系统启动的相关文件  

config-3.10.0-327.el7.x86_64                             initrd-plymouth.img

config-3.10.0-514.26.2.el7.x86_64                        symvers-3.10.0-327.el7.x86_64.gz

grub                                                     symvers-3.10.0-514.26.2.el7.x86_64.gz

grub2                                                    System.map-3.10.0-327.el7.x86_64

initramfs-0-rescue-36dc953195bb4389870d2591ff6bfea5.img  System.map-3.10.0-514.26.2.el7.x86_64

initramfs-3.10.0-327.el7.x86_64.img                      vmlinuz-0-rescue-36dc953195bb4389870d2591ff6bfea5

initramfs-3.10.0-327.el7.x86_64kdump.img                 vmlinuz-3.10.0-327.el7.x86_64

initramfs-3.10.0-514.26.2.el7.x86_64.img                 vmlinuz-3.10.0-514.26.2.el7.x86_64

initramfs-3.10.0-514.26.2.el7.x86_64kdump.img

[root@alex ~]# ls /dev   linux 系统当中特有的设备文件     光盘鼠标键盘 全部的dev下面 

[root@alex ~]# ls /etc/   linux系统的配置文件 

[root@alex ~]# ls /home/       用户家目录的文件  

dabaitu  user  

[root@alex ~]# ls /lib/lib64       存放系统的库文件的   很多命令都会依赖一些库 比如ls就依赖一些库文件 

[root@alex ~]# ldd /bin/ls                        库文件   看看它都依赖那些库   

    linux-vdso.so.1 =&gt;  (0x00007ffc69bf3000)

    libselinux.so.1 =&gt; /lib64/libselinux.so.1 (0x00007f1574dbe000)

    libcap.so.2 =&gt; /lib64/libcap.so.2 (0x00007f1574bb9000)

    libacl.so.1 =&gt; /lib64/libacl.so.1 (0x00007f15749af000)

    libc.so.6 =&gt; /lib64/libc.so.6 (0x00007f15745ee000)

    libpcre.so.1 =&gt; /lib64/libpcre.so.1 (0x00007f157438d000)

    libdl.so.2 =&gt; /lib64/libdl.so.2 (0x00007f1574188000)

    /lib64/ld-linux-x86-64.so.2 (0x00007f1574feb000)

    libattr.so.1 =&gt; /lib64/libattr.so.1 (0x00007f1573f83000)

    libpthread.so.0 =&gt; /lib64/libpthread.so.0 (0x00007f1573d67000)

[root@alex ~]# ls /media              移动存储,系统自动挂载的时候一般会放在/media   固定存储,系统自动挂载一般放在/mnt

[root@alex ~]# ls /mnt                 挂载用的   

[root@alex ~]# ls /opt                 

/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

[root@alex ~]# ls /proc    系统启动的一些进程  文件  

1. /proc目录

Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在/proc下还有三个很重要的目录:net,scsi和sys。 Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。

除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。

[root@alex ~]# ls /root/      root用户的家目录  

[root@alex ~]# ls /run/       一些进程产生的临时文件 

[root@alex ~]# ls /srv/                                         /srv :主要用来存储本机或本服务器提供的服务或数据。

[root@alex ~]# ls /sys/                        系统内核相关的文件   

block  bus  class  dev  devices  firmware  fs  hypervisor  kernel  module  power

[root@alex ~]# ls /tmp/                         系统的临时目录  

[root@alex ~]# ls /usr/            用户的文件会放在usr   

/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。

[root@alex ~]# ls /var/

adm  cache  crash  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  nis  opt  preserve  run  spool  tmp  yp

[root@alex ~]# ls /var/log  

/var :系统产生的不可自动销毁的缓存文件、日志记录。(系统和程序运行后产生的数据、不对外提供服务、只能用户手动清理)(包括mail、数据库文件、日志文件)

[root@alex ~]# ls /usr/bin/  /usr/sbin/  /bin/  /sbin/  /etc/ /var/ /usr/local/    常用 !

本文转自 amenging 51CTO博客,原文链接:http://blog.51cto.com/11335852/1974793

继续阅读