linux系统目录结构
文件目录管理
[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的家目录
c m
[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/.ssh/authorized_keys
[root@alex ~]# ls /etc/ssh/sshd_config 是ssh/sshd规定的。配置文件在etc下面更改
[root@alex ~]# yum install -y tree 用yum安装tree tree 是以树形状列出目录内容
首先来看tree的用法
tree
中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
参 数:
-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I<范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P<范本样式> 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
然后看我遇到的情况:
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
使用权限
所有用户< /pre>
语法格式
man [[ [-c ] [-t ] [Section] ] | [-k | -f ] ] [-F] [-m] [ -MPath ] [ -r ] [ -a ]Title < /pre>
二、主要参数
1、-c
显示使用 cat 命令的手册信息。
2、-t
使用 troff 命令格式化手册信息。如果在超文本信息基中查找到手册页面,则忽略该标志。
3、-k
显示关键字数据库中包含与作为最终参数给定的字符匹配的标题的字符串的每一行。 可以输入多个标题,中间用空格隔开。 要使用 -k 标志,root 用户必须以前已输入 catman -w 以建立 /usr/share/man/whatis 文件。
4、-f
显示在关键字数据库中仅与作为最终参数给定的命令名相关的项。可以输入多个命令名,中间用空格隔开。 使用该标志仅搜索命令物件。 要使用 -f 标志,root 用户必须以前已输入 catman -w 以建立 /usr/share/man/whatis 文件。
5、-F
只显示首个匹配项。
6、-m
只在 MANPATH 或 -M 中指定的路径中搜索。
7、-MPath
更改 man 命令搜索手册信息的标准位置。路径是用冒号隔开的路径的列表,其中,可以使用以下特殊符号: %D - 联机帮助页的缺省 AIX? 路径。 %L-与当前语言环境的 LC_MESSAGES 类别相对应的特定于语言环境的目录位置。 %L-与当前 LC_MESSAGES 类别的首 2 个字符相对应的特定于语言环境的目录位置。
8、-r
手册信息的远程搜索。如果出于某个原因,远程搜索失败,则 man 将执行本地搜索以获取请求的联机帮助页。
9、-a
显示所有匹配项。
/
-
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 --- 打印机、邮件、代理服务器等假脱机目录
-
tmp
-
catman --- 缓存目录
-
mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
-
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 => (0x00007ffc69bf3000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f1574dbe000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f1574bb9000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f15749af000)
libc.so.6 => /lib64/libc.so.6 (0x00007f15745ee000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f157438d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f1574188000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1574feb000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f1573f83000)
libpthread.so.0 => /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